Update ChangeLog and version files for release
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob79e977d5da1bfe000fb4d48e9e0a3cb85e608ce1
1 2017-10-10  Release Manager
3         * GCC 5.5.0 released.
5 2017-09-13  Jonathan Wakely  <jwakely@redhat.com>
7         * testsuite/20_util/reference_wrapper/80504.cc: Do not use invalid
8         effective-target.
9         * testsuite/22_locale/conversions/buffer/2.cc: Likewise.
10         * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: Likewise. Fix
11         use of test_container.
13         PR libstdc++/81468
14         * include/std/chrono (time_point(const time_point<_Dur2>&)): Add
15         missing constraint from LWG DR 1177.
16         * testsuite/20_util/duration/cons/dr1177.cc: New.
17         * testsuite/20_util/time_point/cons/81468.cc: New.
18         * testsuite/20_util/duration/literals/range.cc: Update dg-error line.
20         * doc/doxygen/mainpage.html: Fix broken URLs.
22         PR libstdc++/81835
23         * doc/xml/manual/extensions.xml: Replace unstable URL.
24         * doc/html/manual/ext_demangling.html: Regenerate.
25         * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL.
27 2017-09-04  Jonathan Wakely  <jwakely@redhat.com>
29         Backport from mainline
30         2017-08-09  Jonathan Wakely  <jwakely@redhat.com>
32         PR libstdc++/79820
33         PR libstdc++/81751
34         * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
35         Call fflush on the stream instead of calling sync() while _M_cfile is
36         null. Restore original value of errno.
37         * testsuite/ext/stdio_filebuf/char/79820.cc: New.
38         * testsuite/ext/stdio_filebuf/char/81751.cc: New.
40         Backport from mainline
41         2017-07-25  Jonathan Wakely  <jwakely@redhat.com>
43         PR libstdc++/53984
44         * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
45         * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
46         during construction.
47         * include/std/istream: Adjust comments for formatted input functions
48         and unformatted input functions.
49         * testsuite/27_io/basic_fstream/53984.cc: New.
50         * testsuite/27_io/basic_istream/sentry/char/53984.cc: New.
52         Backport from mainline
53         2017-06-08  Jonathan Wakely  <jwakely@redhat.com>
55         PR libstdc++/81017
56         * include/std/functional (function::function(function&&))
57         (function::operator=(function&&)): Add noexcept.
58         * testsuite/20_util/function/assign/move.cc: Check for noexcept.
59         * testsuite/20_util/function/cons/move.cc: Likewise.
61         Backport from mainline
62         2017-06-05  Jonathan Wakely  <jwakely@redhat.com>
64         * include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
65         (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
66         specifiers as per LWG 2873 and LWG 2942.
67         * testsuite/20_util/owner_less/noexcept.cc: New.
68         * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
69         noexcept guarantees.
70         * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
72         Backport from mainline
73         2017-08-31  Jonathan Wakely  <jwakely@redhat.com>
75         PR c++/82039
76         * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate):
77         Adjust null pointer constant to avoid warning.
79         Backport from mainline
80         2017-08-18  Jonathan Wakely  <jwakely@redhat.com>
82         PR libstdc++/81891
83         * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
84         size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
85         const _ExtractKey&, const allocator_type&)): Let destructor do clean
86         up if an exception is thrown.
87         * testsuite/23_containers/unordered_map/cons/81891.cc: New.
89         Backport from mainline
90         2017-07-31  Marek Polacek  <polacek@redhat.com>
92         PR libstdc++/81599
93         * include/bits/stl_stack.h: Fix typo.
95         Backport from mainline
96         2017-07-10  Jonathan Wakely  <jwakely@redhat.com>
98         PR libstdc++/81338
99         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
100         Declare basic_stringbuf to be a friend.
101         * include/bits/sstream.tcc (basic_stringbuf::overflow)
102         [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating.
103         * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string
104         length to buffer length.
105         * testsuite/27_io/basic_stringstream/assign/81338.cc: New.
107 2017-09-01  Jonathan Wakely  <jwakely@redhat.com>
109         Backport from mainline
110         2016-10-06  Jonathan Wakely  <jwakely@redhat.com>
112         * doc/xml/manual/status_cxx2011.xml: Update status.
113         * doc/html/manual/status.html: Regenerate.
114         * include/std/scoped_allocator (__outer_allocator_t, __outermost_type):
115         New helpers for recursive OUTERMOST.
116         (__outermost): Use __outermost_type::_S_outermost.
117         (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove.
118         (scoped_allocator_adaptor::__outermost_alloc_traits): Use new
119         __outermost_type helper.
120         (scoped_allocator_adaptor::_Constructible): New alias template.
121         (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>):
122         Constrain template constructors.
123         * testsuite/20_util/scoped_allocator/3.cc: New test.
124         * testsuite/20_util/scoped_allocator/outermost.cc: New test.
126 2017-06-16  Jonathan Wakely  <jwakely@redhat.com>
128         * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
129         * testsuite/22_locale/conversions/buffer/2.cc: New.
131         * doc/xml/manual/appendix_contributing.xml: Link to the list of bad
132         names, and link to the test docs and note higher DejaGnu version
133         requirement.
134         * doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
135         * doc/xml/manual/mt_allocator.xml: Likewise.
136         * doc/html/*: Regenerate.
138         * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
139         return statement.
141 2017-06-07  Jonathan Wakely  <jwakely@redhat.com>
143         PR libstdc++/81002
144         * include/bits/regex_compiler.h (__compile_nfa): Add template argument
145         list to specify traits type.
146         * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
148 2017-05-18  Jonathan Wakely  <jwakely@redhat.com>
150         * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: Replace
151         effective-target with dg-options directive.
152         * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: Likewise.
153         * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: Likewise.
154         * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: Likewise.
155         * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: Likewise.
156         * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: Likewise.
157         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: Likewise.
158         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: Likewise.
160         Backport from mainline
161         2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
163         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
164         options are present that aren't valid for C.
165         * testsuite/abi/header_cxxabi.c: Likewise.
167         Backport from mainline
168         2017-04-24  Jonathan Wakely  <jwakely@redhat.com>
170         PR libstdc++/80504
171         * include/std/functional (ref, cref): Qualify calls.
172         * testsuite/20_util/reference_wrapper/80504.cc: New test.
174         Backport from mainline
175         2017-04-19  Jonathan Wakely  <jwakely@redhat.com>
177         PR libstdc++/80448
178         * include/experimental/bits/fs_dir.h (directory_iterator)
179         (recursive_directory_iterator): Remove noexcept from defaulted
180         constructors.
182         Backport from mainline
183         2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
185         * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
186         that no longer fail.
188         Backport from mainline
189         2017-04-03  Jonathan Wakely  <jwakely@redhat.com>
191         * include/bits/ios_base.h: Correct comment.
192         * testsuite/util/testsuite_hooks.h: Likewise.
194         Backport from mainline
195         2017-03-16  Jonathan Wakely  <jwakely@redhat.com>
197         PR libstdc++/67440
198         * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
199         for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
201         Backport from mainline
202         2017-01-17  Jonathan Wakely  <jwakely@redhat.com>
204         PR libstdc++/69699
205         * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
206         _GLIBCXX__ macro is not useful. Remove redundant date information
207         and link to the GCC release timeline.
208         (abi.versioning.active): Move partial sentence into the previous
209         paragraph.
210         * doc/html/*: Regenerate.
212         Backport from mainline
213         2016-12-21  Jonathan Wakely  <jwakely@redhat.com>
215         PR libstdc++/71444
216         * config/os/mingw32-w64/error_constants.h
217         (address_family_not_supported, address_in_use, address_not_available)
218         (already_connected, connection_aborted, connection_already_in_progress)
219         connection_refused, connection_reset, cross_device_link)
220         (destination_address_required, host_unreachable, message_size)
221         (network_down, network_reset, network_unreachable, no_buffer_space)
222         (no_protocol_option, not_a_socket, not_connected, operation_canceled)
223         (operation_in_progress, operation_not_supported, protocol_error)
224         (protocol_not_supported, too_many_links, too_many_symbolic_link_levels)
225         (value_too_large, wrong_protocol_type): Define.
226         (bad_message, identifier_removed, no_link, no_message_available)
227         (no_message, no_stream_resources, not_a_stream, owner_dead)
228         (state_not_recoverable, stream_timeout, text_file_busy): Define
229         conditionally.
230         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
231         Guard test for no_message with _GLIBCXX_HAVE_ENOMSG.
233         Backport from mainline
234         2016-11-09  Tim Shen  <timshen@google.com>
236         PR libstdc++/78236
237         * libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()):
238         Define end() as _M_pregex == nullptr.
239         * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(),
240         regex_iterator::operator++()): Fix operator==() and operator++() to
241         look at null-ness of _M_pregex on both sides.
242         * testsuite/28_regex/regression.cc: New testcase.
244         Backport from mainline
245         2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
247         PR libstdc++/59170
248         * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
249         (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
250         (StdRbtreeIteratorPrinter.to_string)
251         (StdDequeIteratorPrinter.to_string): Add check for value-initialized
252         iterators.
253         * testsuite/libstdc++-prettyprinters/simple.cc: Test them.
254         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
256         Backport from mainline
257         2016-12-15  Jonathan Wakely  <jwakely@redhat.com>
259         PR libstdc++/59161
260         * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string)
261         (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string)
262         (StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string)
263         (StdDebugIteratorPrinter.to_string): Return string instead of
264         gdb.Value.
265         * testsuite/libstdc++-prettyprinters/59161.cc: New test.
267         Backport from mainline
268         2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
270         * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
271         Register printer for std::__cxx11::list.
272         * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match
273         std::__cxx11::list as well as std::list.
275 2017-05-17  Jonathan Wakely  <jwakely@redhat.com>
277         Backport from mainline
278         2017-03-15  Xi Ruoyao  <ryxi@stu.xidian.edu.cn>
280         PR libstdc++/62045
281         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
282         (is_heap): Remove.
283         (push_heap): Remove the wrong checking using is_heap.
284         (make_heap): Remove the assertion using is_heap.
285         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
286         (modify): Ditto.
287         (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
288         calling make_heap.
290         Backport from mainline
291         2017-03-15  Jonathan Wakely  <jwakely@redhat.com>
293         PR libstdc++/62045
294         * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
295         New test.
296         * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
297         error in comment.
299         Backport from mainline
300         2015-11-17  Jonathan Wakely  <jwakely@redhat.com>
302         PR libstdc++/66059
303         * include/std/utility (_Build_index_tuple): Optimise.
305 2017-03-17  Jonathan Wakely  <jwakely@redhat.com>
307         Backport from mainline
308         2017-03-17  Jonathan Wakely  <jwakely@redhat.com>
310         * src/c++11/codecvt.cc (range): Add non-type template parameter and
311         define oerloaded operators for reading and writing code units.
312         (range<Elem, false>): Define partial specialization for accessing
313         wide characters in potentially unaligned byte ranges.
314         (ucs2_span(const char16_t*, const char16_t*, ...))
315         (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
316         to range<const char16_t, false> in order to avoid unaligned reads.
317         (__codecvt_utf16_base<char16_t>::do_out)
318         (__codecvt_utf16_base<char32_t>::do_out)
319         (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
320         unaligned data to avoid unaligned writes.
321         (__codecvt_utf16_base<char16_t>::do_in)
322         (__codecvt_utf16_base<char32_t>::do_in)
323         (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
324         error if there are unprocessable trailing bytes.
325         (__codecvt_utf16_base<char16_t>::do_length)
326         (__codecvt_utf16_base<char32_t>::do_length)
327         (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
328         range<const char16_t, false> to span functions.
329         * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
331         Backport from mainline
332         2017-03-16  Jonathan Wakely  <jwakely@redhat.com>
334         PR libstdc++/79980
335         * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
337         PR libstdc++/80041
338         * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
339         (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
340         char16_t to work with UTF-16 instead of UTF-8.
341         * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
343         * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
344         (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
345         (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
346         (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
347         (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
348         (__codecvt_utf8_utf16_base<char32_t>)
349         (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
350         do_max_length() return values.
351         * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
352         * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
353         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
355         PR libstdc++/79980
356         * include/bits/locale_conv.h (__do_str_codecvt): Set __count on
357         error path.
358         * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
359         for manipulating codecvt_mode values.
360         (read_utf16_bom): Compare input to BOM constants instead of integral
361         constants that depend on endianness.  Take mode parameter by
362         reference and adjust it, to distinguish between no BOM present and
363         UTF-16BE BOM present.
364         (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
365         (surrogates): New enumeration type.
366         (utf16_in, utf16_out): Add surrogates parameter to choose between
367         UTF-16 and UCS2 behaviour.
368         (utf16_span, ucs2_span): Use std::min not std::max.
369         (ucs2_out): Use std::min not std::max.  Disallow surrogate pairs.
370         (ucs2_in): Likewise. Adjust calls to read_utf16_bom.
371         * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
372         * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
374         PR libstdc++/79511
375         * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
376         as a surrogate pair.
377         (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
378         for internal representation.
379         (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
380         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
382 2017-03-14  Jonathan Wakely  <jwakely@redhat.com>
384         * testsuite/17_intro/names.cc: Undefine macros that clash with
385         identifiers in AIX system headers.
387 2017-03-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
389         PR libstdc++/80034
390         * include/bits/list.tcc (merge(list&&)): Use const for the size_t
391         in the function and in the catch-block, qualify uses of std::distance.
392         (merge(list&&, _StrictWeakOrdering)): Likewise.
393         * testsuite/23_containers/list/operations/80034.cc: New.
395 2017-03-02  Jonathan Wakely  <jwakely@redhat.com>
397         PR libstdc++/79789
398         * include/bits/ios_base.h (make_error_code, make_error_condition):
399         Likewise.
400         * include/bits/mask_array.h (mask_array): Likewise.
401         * include/bits/regex.h (regex_token_iterator): Likewise.
402         * include/bits/slice_array.h (slice_array): Likewise.
403         * include/std/memory (undeclare_no_pointers): Likewise.
404         * testsuite/17_intro/names.cc: New test.
406 2017-02-14  Jonathan Wakely  <jwakely@redhat.com>
408         Backport from mainline
409         2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
411         PR libstdc++/69321
412         * include/experimental/any (__any_caster): Avoid instantiating
413         manager function for types that can't be stored in any.
414         * testsuite/experimental/any/misc/any_cast.cc: Test non-copyable type.
415         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
417         Backport from mainline
418         2017-01-18  Jonathan Wakely  <jwakely@redhat.com>
420         PR libstdc++/69301
421         * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
422         aligned buffer instead of default-initialized variable.
423         * testsuite/29_atomics/atomic/69301.cc: New test.
424         * include/ext/pointer.h (_Pointer_adapter::operator++(int))
425         (_Pointer_adapter::operator--(int)): Likewise.
427         Backport from mainline
428         2017-01-16  Jonathan Wakely  <jwakely@redhat.com>
430         PR libstdc++/78702
431         * include/bits/locale_classes.h (locale::facet::__shim): Change from
432         private to protected.
433         * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
434         make locale::facet::__shim accessible.
436         Backport from mainline
437         2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
439         PR libstdc++/78134
440         * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
441         (map::equal_range): Fix return type of heterogeneous overloads.
442         * include/bits/stl_multimap.h (multimap::lower_bound)
443         (multimap::upper_bound, multimap::equal_range): Likewise.
444         * include/bits/stl_multiset.h (multiset::lower_bound)
445         (multiset::upper_bound, multiset::equal_range): Likewise.
446         * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
447         (set::equal_range): Likewise.
448         * testsuite/23_containers/map/operations/2.cc: Check return types.
449         * testsuite/23_containers/multimap/operations/2.cc: Likewise.
450         * testsuite/23_containers/multiset/operations/2.cc: Likewise.
451         * testsuite/23_containers/set/operations/2.cc: Likewise.
453         Backport from mainline
454         2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
456         PR libstdc++/78273
457         * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
458         the heterogeneous comparison can only find one match.
459         * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
460         * testsuite/23_containers/map/operations/2.cc: Test count works with
461         comparison function that just partitions rather than sorting.
462         * testsuite/23_containers/set/operations/2.cc: Likewise.
464 2017-02-01  Jonathan Wakely  <jwakely@redhat.com>
466         PR libstdc++/78346
467         * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
468         not its referent.
469         (_Iter_comp_to_iter): Likewise.
470         * testsuite/25_algorithms/search/78346.cc: New test.
472         PR libstdc++/79254
473         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
474         (basic_string::operator=(const basic_string&)): If source object is
475         small just deallocate, otherwise perform new allocation before
476         making any changes.
477         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
478         Test exception-safety of copy assignment when allocator propagates.
479         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
480         Likewise.
481         * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
482         std::swap visible.
484 2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
486         Merge from mainline
487         2017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
489         * doc/xml/faq.xml: Update address of C++ ABI link.
490         * doc/xml/manual/abi.xml: Ditto.
491         
492 2017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
494         Backport from mainline
495         2017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
497         PR libstdc++/78389
498         * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
499         (merge(list&&, _StrictWeakOrdering)): Likewise.
500         * testsuite/23_containers/list/operations/78389.cc: Add
501         better test for the sizes.
503 2017-01-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
505         Backport from mainline
506         2017-01-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
508         PR libstdc++/78389
509         * include/bits/list.tcc (merge(list&&)):
510         Adjust list sizes if the comparator throws.
511         (merge(list&&, _StrictWeakOrdering)): Likewise.
512         * testsuite/23_containers/list/operations/78389.cc: New.
514 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
516         * testsuite/30_threads/thread/cons/lwg2097.cc: Compile with
517         -std=gnu++11.
519         * testsuite/25_algorithms/sort/78991.cc: Compile with -std=gnu++14.
521 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
523         Backport from mainline
524         2017-01-03  Jonathan Wakely  <jwakely@redhat.com>
526         PR libstdc++/78956
527         * include/std/thread (thread(const thread&&)): Add deleted
528         constructor.
529         * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
531 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
533         PR libstdc++/78991
534         * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
535         (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
536         (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit.
537         * testsuite/25_algorithms/sort/78991.cc: New test.
539 2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
541         Backport from mainline
542         2016-12-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
544         Make the perfect-forwarding constructor of a two-element tuple
545         sfinae away when the first argument is an allocator_arg.
546         * include/std/tuple (tuple(_U1&&, _U2&&)): Constrain.
547         * testsuite/20_util/tuple/cons/allocator_with_any.cc: New.
549 2016-12-13  Jonathan Wakely  <jwakely@redhat.com>
551         Backport from mainline
552         2016-10-26  Uros Bizjak  <ubizjak@gmail.com>
554         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h>
555         for PATH_MAX in realpath test.
556         * configure: Regenerate.
558         Backport from mainline
559         2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
561         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
562         * configure: Regenerate.
563         * config.h.in: Regenerate.
565 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
567         Backport from mainline
568         2016-12-07  Jonathan Wakely  <jwakely@redhat.com>
570         * testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations.
571         * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test.
573 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
575         Backport from mainline
576         2016-11-22  Jonathan Wakely  <jwakely@redhat.com>
578         PR libstdc++/78465
579         * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests
580         with preprocessor conditions.
582 2016-12-12  Jonathan Wakely  <jwakely@redhat.com>
584         Backport from mainline
585         PR libstdc++/70975
586         PR libstdc++/71337
587         PR libstdc++/78111
588         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
589         Overload pop (LWG 2706).
590         * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks):
591         Replace with symlink_nofollow (LWG 2720).
592         * include/experimental/bits/fs_ops.h
593         (exists(const path&, error_code&)): Clear error if status is known
594         (LWG 2725).
595         * include/experimental/bits/fs_path.h (__is_path_src)
596         (_S_range_begin, _S_range_end): Overload to treat string_view as a
597         Source object.
598         (path::operator+=, path::compare): Overload for basic_string_view.
599         (path::path(string_type&&))
600         (path::operator=(string&&), path::assign(string_type&&)): Define
601         construction and assignment from string_type rvalues (LWG 2707).
602         (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from
603         iterator's value_type.
604         (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise.
605         Do not use operation not supported by input iterators.
606         (path::__is_path_iter_src): Add partial specialization for const
607         encoded character types.
608         * src/filesystem/dir.cc (open_dir): Return same value for errors
609         whether ignored or not.
610         (_Dir::advance(error_code*, directory_options)): Return false on
611         error.
612         (directory_iterator(const path&, directory_options, error_code*)):
613         Create end iterator on error (LWG 2723).
614         (recursive_directory_iterator(const path&, directory_options,
615         error_code*)): Likewise.
616         (recursive_directory_iterator::increment): Reset state on error.
617         (recursive_directory_iterator::pop): Define new overload.
618         * src/filesystem/ops.cc (canonical): Set error for non-existent path.
619         (file_time): Take error_code parameter and check for overflow.
620         (close_fd): Remove.
621         (do_copy_file): Report an error if source or destination is not a
622         regular file (LWG 2712). Pass error_code in file_time calls.  Just
623         use close(3) instead of close_fd, to prevent retrying on error.
624         Check if _GLIBCXX_USE_FCHMODAT is defined.
625         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
626         sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to
627         sendfile for offset argument.
628         (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683
629         resolutions.
630         (equivalent): Fix error handling and result when only one file exists.
631         (is_empty): Fix error handling.
632         (last_write_time(const path&, error_code&)): Pass error_code in
633         file_time calls.
634         (last_write_time(const path&, file_time_type, error_code&)): Handle
635         negative times correctly.
636         (permissions(const path&, perms, error_code&)): Handle
637         symlink_nofollow.
638         (read_symlink): Add missing ec.clear().
639         (status(const path&, error_code&)): Handle EOVERFLOW.
640         (temp_directory_path): Pass error_code argument to other filesystem
641         operations.
642         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
643         Update expected behaviour on error.
644         * testsuite/experimental/filesystem/iterators/pop.cc: New.
645         * testsuite/experimental/filesystem/iterators/
646         recursive_directory_iterator.cc: Update expected behaviour on error.
647         * testsuite/experimental/filesystem/operations/copy.cc: Update
648         expected behaviour for copying directories with create_symlinks.
649         Verify that error_code arguments are cleared if there's no error.
650         Remove files created by tests. Test copying directories.
651         * testsuite/experimental/filesystem/operations/copy_file.cc: Remove
652         files created by tests.
653         * testsuite/experimental/filesystem/operations/create_symlink.cc: New.
654         * testsuite/experimental/filesystem/operations/equivalent.cc: New.
655         * testsuite/experimental/filesystem/operations/exists.cc: Test
656         overload taking an error_code.
657         * testsuite/experimental/filesystem/operations/is_empty.cc: New.
658         * testsuite/experimental/filesystem/operations/last_write_time.cc:
659         New.
660         * testsuite/experimental/filesystem/operations/permissions.cc: Test
661         overload taking error_code. Test symlink_nofollow on non-symlinks.
662         * testsuite/experimental/filesystem/operations/read_symlink.cc: New.
663         * testsuite/experimental/filesystem/operations/remove_all.cc: New.
664         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
665         Add testcase for inaccessible directory.
666         * testsuite/experimental/filesystem/path/construct/range.cc: Test
667         construction from input iterators with const value types.
668         * testsuite/experimental/filesystem/path/construct/string_view.cc:
669         New.
670         * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper.
672 2016-12-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
674         Backport from mainline
675         2016-12-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
677         Constrain optional's __constexpr_addressof in its return type
678         and use a constexpr addressof for optional, if available.
679         * include/experimental/optional (__constexpr_addressof):
680         Constrain in the return type instead of in a template parameter.
681         (_Has_addressof_mem)
682         (_Has_addressof_free, _Has_addressof, __constexpr_addressof):
683         Guard with #ifndef __cpp_lib_addressof_constexpr.
684         (operator->()): Use std::__addressof if it's constexpr.
686 2016-12-06  Aditya Kumar  <hiraditya@msn.com>
688         * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add
689         noexcept on constructor.
690         (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same.
692 2016-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
694         Backport from mainline
695         2016-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
697         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments.
698         (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ...
699         (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this.
700         Add test for C++11 <math.h> integral overloads.
701         * configure: Regenerate.
702         * config.h.in: Regenerate.
704         * include/c_global/cmath [__cplusplus >= 201103L]: Reflect
705         __CORRECT_ISO_CPP11_MATH_H_PROTO to
706         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
707         * include/c_global/cmath [_GLIBCXX_USE_C99_MATH &&
708         !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L]
709         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT.
710         (std::isfinite): Likewise.
711         (std::isinf): Likewise.
712         (std::isnan): Likewise.
713         (std::isnormal): Likewise.
714         (std::signbit): Likewise.
715         (std::isgreater): Likewise.
716         (std::isgreaterequal): Likewise.
717         (std::isless): Likewise.
718         (std::islessequal): Likewise.
719         (std::islessgreater): Likewise.
720         (std::isunordered): Likewise.
721         [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]
722         (std::acosh): Likewise.
723         (std::asinh): Likewise.
724         (std::atanh): Likewise.
725         (std::cbrt): Likewise.
726         (std::copysign): Likewise.
727         (std::erf): Likewise.
728         (std::erfc): Likewise.
729         (std::exp2): Likewise.
730         (std::expm1): Likewise.
731         (std::fdim): Likewise.
732         (std::fma): Likewise.
733         (std::fmax): Likewise.
734         (std::fmin): Likewise.
735         (std::hypot): Likewise.
736         (std::ilogb): Likewise.
737         (std::lgamma): Likewise.
738         (std::llrint): Likewise.
739         (std::llround): Likewise.
740         (std::log1p): Likewise.
741         (std::log2): Likewise.
742         (std::logb): Likewise.
743         (std::lrint): Likewise.
744         (std::lround): Likewise.
745         (std::nearbyint): Likewise.
746         (std::nextafter): Likewise.
747         (std::nexttoward): Likewise.
748         (std::remainder): Likewise.
749         (std::remquo): Likewise.
750         (std::rint): Likewise.
751         (std::round): Likewise.
752         (std::scalbln): Likewise.
753         (std::scalbn): Likewise.
754         (std::tgamma): Likewise.
755         (std::trunc): Likewise.
756         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >=
757         201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to
758         __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename.
760 2016-11-23  Jonathan Wakely  <jwakely@redhat.com>
762         * testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to
763         C++14 std::rbegin and std::rend.  Use dg-options instead of
764         effective-target.
766 2016-11-22  Uros Bizjak  <ubizjak@gmail.com>
768         * testsuite/Makefile.am
769         (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
770         of -j argument.
771         * testsuite/Makefile.in: Regenereate.
773 2016-11-15  Jonathan Wakely  <jwakely@redhat.com>
775         * testsuite/experimental/any/typedefs.cc: Fix license text.
776         * testsuite/experimental/chrono/value.cc: Likewise.
777         * testsuite/experimental/optional/assignment/1.cc: Likewise.
778         * testsuite/experimental/optional/assignment/2.cc: Likewise.
779         * testsuite/experimental/optional/assignment/3.cc: Likewise.
780         * testsuite/experimental/optional/assignment/4.cc: Likewise.
781         * testsuite/experimental/optional/assignment/5.cc: Likewise.
782         * testsuite/experimental/optional/assignment/6.cc: Likewise.
783         * testsuite/experimental/optional/cons/move.cc: Likewise.
784         * testsuite/experimental/optional/cons/value.cc: Likewise.
785         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
786         * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise.
787         * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise.
788         * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise.
789         * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise.
790         * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise.
791         * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise.
792         * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise.
793         * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise.
794         * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise.
795         * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise.
796         * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise.
797         * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise.
798         * testsuite/experimental/optional/make_optional.cc: Likewise.
799         * testsuite/experimental/optional/observers/1.cc: Likewise.
800         * testsuite/experimental/optional/observers/2.cc: Likewise.
801         * testsuite/experimental/optional/observers/3.cc: Likewise.
802         * testsuite/experimental/optional/observers/4.cc: Likewise.
803         * testsuite/experimental/optional/observers/5.cc: Likewise.
804         * testsuite/experimental/optional/relops/1.cc: Likewise.
805         * testsuite/experimental/optional/relops/2.cc: Likewise.
806         * testsuite/experimental/optional/relops/3.cc: Likewise.
807         * testsuite/experimental/optional/relops/4.cc: Likewise.
808         * testsuite/experimental/optional/relops/5.cc: Likewise.
809         * testsuite/experimental/optional/relops/6.cc: Likewise.
810         * testsuite/experimental/optional/requirements.cc: Likewise.
811         * testsuite/experimental/optional/swap/1.cc: Likewise.
812         * testsuite/experimental/optional/typedefs.cc: Likewise.
813         * testsuite/experimental/ratio/value.cc: Likewise.
814         * testsuite/experimental/string_view/typedefs.cc: Likewise.
815         * testsuite/experimental/system_error/value.cc: Likewise.
816         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
817         * testsuite/experimental/type_traits/value.cc: Likewise.
819 2016-10-20  Jonathan Wakely  <jwakely@redhat.com>
821         PR libstdc++/78052
822         * include/bits/allocator.h (allocator<void>::construct)
823         (allocator<void>::destroy): Define.
824         * testsuite/20_util/allocator/void.cc: New test.
826 2016-10-19  Jonathan Wakely  <jwakely@redhat.com>
828         PR libstdc++/77990
829         * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set
830         pointer member after value-initialization of tuple.
831         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors.
832         * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
834 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
836         Backport from mainline:
837         2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
839         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
840         Replace <literallayout> with nested <variablelist> elements. Update
841         some more outdated text.
842         * doc/html/*: Regenerate.
844         Backport from mainline:
845         2016-10-10  Jonathan Wakely  <jwakely@redhat.com>
847         * doc/xml/manual/appendix_contributing.xml (contrib.organization):
848         Describe other subdirectories and add markup. Remove outdated
849         reference to check-script target.
851 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
853         Backport from mainline:
854         2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
856         * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY
857         instead of assert.
859 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
861         Backport from mainline:
862         2016-10-11  Jonathan Wakely  <jwakely@redhat.com>
864         * include/experimental/string_view (basic_string_view::_S_compare):
865         Remove redundant const from return type.
867 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
869         Backport from mainline:
870         2016-10-13  Jonathan Wakely  <jwakely@redhat.com>
872         * include/experimental/functional (boyer_moore_searcher)
873         (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers
874         with _GLIBCXX_STD_C.
876 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
878         Backport from mainline:
879         2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
881         PR libstdc++/77322
882         * doc/xml/manual/intro.xml: Document DR 2062 change.
883         * include/std/functional (function::swap): Add noexcept.
884         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
885         * testsuite/20_util/function/77322.cc: New test.
887 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
889         Backport from mainline:
890         2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
892         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
893         directive and use effective target instead of dg-options.
895 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
897         Backport from mainline:
898         2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
900         PR libstdc++/72820
901         * include/std/functional (_Function_base::_Base_manager::_M_clone):
902         Qualify new operator.
903         * testsuite/20_util/function/cons/72820.cc: New test.
905 2016-10-17  Jonathan Wakely  <jwakely@redhat.com>
907         PR libstdc++/77994
908         * include/experimental/algorithm (experimental::sample): Convert size
909         argument to iterator difference type. Fix invalid use of input
910         iterator. Defend against overloaded comma operator.
912 2016-10-05  Jonathan Wakely  <jwakely@redhat.com>
914         PR libstdc++/70564
915         * include/experimental/functional (_Not_fn): Add second parameter to
916         disambiguate copying from initialization by not_fn.
917         (not_fn): Add second argument to initialization.
918         * testsuite/experimental/functional/not_fn.cc: Copy call wrapper using
919         direct-initialization. Test abstract class.
921         PR libstdc++/77864
922         * include/bits/stl_map.h (map::map()): Use nothrow constructibility
923         of comparison function in conditional noexcept.
924         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
925         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
926         * include/bits/stl_set.h (set::set()): Likewise.
927         * testsuite/23_containers/map/cons/noexcept_default_construct.cc:
928         New test.
929         * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
930         Likewise.
931         * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
932         Likewise.
933         * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
934         Likewise.
936 2016-10-03  Jonathan Wakely  <jwakely@redhat.com>
938         PR libstdc++/68323
939         PR libstdc++/77794
940         * config/abi/pre/gnu-versioned-namespace.ver: Add export for
941         __cxa_thread_atexit.
942         * include/Makefile.am: Add <experimental/lfts_config.h>
943         * include/Makefile.in: Regenerate.
944         * src/filesystem/Makefile.in: Likewise.
945         * include.bits/basic_string.h: Fix nesting of versioned namespaces.
946         * include/bits/c++config: Declare versioned namespaces for literals.
947         * include/bits/regex.h (basic_regex, match_results): Add workarounds
948         for PR c++/59256.
949         * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace.
950         * include/std/chrono: Likewise.
951         * include/std/complex: Likewise.
952         * include/experimental/fs_fwd.h: Declare versioned namespace.
953         * include/experimental/lfts_config.h: Declare versioned namespaces.
954         * include/experimental/algorithm: Include
955         <experimental/lfts_config.h>.
956         * include/experimental/any: Likewise.
957         * include/experimental/chrono: Likewise.
958         * include/experimental/functional: Likewise.
959         * include/experimental/optional: Likewise.
960         * include/experimental/ratio: Likewise.
961         * include/experimental/system_error: Likewise.
962         * include/experimental/tuple: Likewise.
963         * include/experimental/type_traits: Likewise.
964         * include/experimental/string_view: Likewise. Fix nesting of
965         versioned namespaces.
966         * include/experimental/string_view.tcc: Reopen inline namespace for
967         non-inline function definitions.
968         * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test.
969         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line.
970         * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise.
971         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
973 2016-09-28  Jonathan Wakely  <jwakely@redhat.com>
975         PR libstdc++/77686
976         * include/std/functional (_Any_data): Add may_alias attribute.
978 2016-09-27  Jonathan Wakely  <jwakely@redhat.com>
980         * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix
981         lifetime of lock.
983 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
985         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
986         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
988 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
990         PR libstdc++/77645
991         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
992         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
993         division to int to work with Python 3.
995 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
997         * testsuite/23_containers/map/77334.cc: Use dg-options for C++11.
999         PR libstdc++/77334
1000         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
1001         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
1002         Include _Compare in noexcept.
1003         * testsuite/23_containers/map/77334.cc: New test.
1005 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
1007         * doc/xml/api.xml: Replace hardcoded links for specific versions with
1008         link to docs for all releases.
1009         * doc/html/*: Regenerate.
1011         * include/bits/stl_iterator.h
1012         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Constrain
1013         for C++11 and later.
1014         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
1016 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
1018         Backport from mainline
1019         2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
1021         * include/std/functional (function::_Callable): Use lvalue in
1022         result_of expression.
1023         * testsuite/20_util/function/cons/refqual.cc: New test.
1025         Backport from mainline
1026         2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
1028         PR libstdc++/71964
1029         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1030         * testsuite/23_containers/set/allocator/71964.cc: New test.
1032         Backport from mainline
1033         2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
1035         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1036         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1037         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1038         Likewise.
1039         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1040         Likewise.
1041         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1042         Likewise.
1043         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1044         Likewise.
1045         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1046         Likewise.
1047         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1048         Likewise.
1050         Backport from mainline
1051         2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
1053         PR libstdc++/69243
1054         * include/std/functional (_Function_base::_M_not_empty_function):
1055         Change overloads for pointers to take arguments by value.
1056         * testsuite/20_util/function/cons/57465.cc: Add tests for
1057         pointer-to-member cases.
1059         * doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to
1060         refer to the release series.
1061         * doc/xml/manual/status_cxx2014.xml: Likewise.
1062         * doc/html/manual/status.xml: Regenerate.
1064         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1065         comments.
1067 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
1069         * testsuite/lib/libstdc++.exp (v3-build_support): Add
1070         -fno-lto to additional flags for compiling libtestc++.a objects.
1072 2016-07-19  Jonathan Wakely  <jwakely@redhat.com>
1074         Backport from mainline
1075         2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
1077         PR libstdc++/71320
1078         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1079         Add or remove permissions according to perms argument.
1080         * testsuite/experimental/filesystem/operations/permissions.cc: New
1081         test.
1083 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
1085         Backport from mainline
1086         2015-10-02  Jonathan Wakely  <jwakely@redhat.com>
1088         * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
1089         explicit instantiation with check for new ABI.
1090         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1091         Likewise. Use wchar_t as char_type.
1093         Backport from mainline
1094         2015-09-11  Jonathan Wakely  <jwakely@redhat.com>
1096         PR libstdc++/58265
1097         * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
1098         * doc/html/manual/bugs.html: Regenerate.
1099         * include/bits/basic_string.h (basic_string): Implement N4258. Add
1100         correct exception-specifications and propagate allocators correctly.
1101         * include/bits/basic_string.tcc (basic_string::swap): Propagate
1102         allocators correctly.
1103         * include/debug/string (__gnu_debug::basic_string): Add correct
1104         exceptions-specifications and allcoator-extended constructors.
1105         * testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
1106         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1107         New.
1108         * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
1109         * testsuite/21_strings/basic_string/allocator/char/move.cc: New.
1110         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1111         New.
1112         * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
1113         * testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
1114         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
1115         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1116         New.
1117         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
1118         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
1119         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1120         New.
1121         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
1122         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
1123         * testsuite/util/testsuite_allocator.h (tracker_allocator): Define
1124         defaulted assignment operators.
1126 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
1128         Backport from mainline
1129         2015-06-02  Jonathan Wakely  <jwakely@redhat.com>
1131         * doc/html/ext/lwg-active.html: Update to R93.
1132         * doc/html/ext/lwg-closed.html: Likewise.
1133         * doc/html/ext/lwg-defects.html: Likewise.
1134         * doc/html/manual/*: Regenerate.
1135         * doc/xml/manual/intro.xml: Document status of several DRs.
1137 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
1139         Backport from mainline
1140         2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
1142         PR libstdc++/71313
1143         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1144         Call remove_all for children of a directory.
1145         * testsuite/experimental/filesystem/operations/create_directories.cc:
1146         Adjust.
1148 2016-06-03  Release Manager
1150         * GCC 5.4.0 released.
1152 2016-05-26  Jonathan Wakely  <jwakely@redhat.com>
1154         Backport from mainline
1155         2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
1157         PR libstdc++/70762
1158         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1159         static counter to return a different path on every call.
1161         * testsuite/experimental/filesystem/path/native/string.cc: Add
1162         dg-require-filesystem-ts directive.
1164 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1166         Backport from mainline
1167         2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
1169         PR libstdc++/69703
1170         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1171         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1173         Backport from mainline
1174         2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
1176         PR libstdc++/69703
1177         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
1178         Override endianness bit in mode.
1179         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1180         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1181         that little_endian mode is ignored.
1182         * testsuite/experimental/filesystem/path/native/string.cc: New test.
1184 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1186         Backport from mainline
1187         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1189         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1190         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1191         Test begin and end functions.
1192         * testsuite/experimental/filesystem/iterators/
1193         recursive_directory_iterator.cc: Likewise.
1195 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1197         Backport from mainline
1198         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1200         PR libstdc++/71038
1201         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1202         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1204 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1206         Backport from mainline
1207         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1209         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1210         Overload operator* to move from rvalues.
1212 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1214         Backport from mainline
1215         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1217         PR libstdc++/71036
1218         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1219         * testsuite/experimental/filesystem/operations/create_directory.cc:
1220         New test.
1222 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1224         Backport from mainline
1225         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1227         PR libstdc++/71037
1228         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1229         base path to exception.
1230         * testsuite/experimental/filesystem/operations/canonical.cc: Test
1231         paths contained in exception.
1233 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1235         Backport from mainline
1236         2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
1238         PR libstdc++/71005
1239         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1240         New type.
1241         (directory_iterator::operator++(int)): Return proxy.
1242         (recursive_directory_iterator::operator++(int)): Likewise.
1243         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1244         Test post-increment.
1245         * testsuite/experimental/filesystem/iterators/
1246         recursive_directory_iterator.cc: Likewise.
1248 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1250         Backport from mainline
1251         2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
1253         PR libstdc++/71004
1254         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1255         Initialize scalar member variables in default constructor.
1256         * testsuite/experimental/filesystem/iterators/
1257         recursive_directory_iterator.cc: Test default construction.
1259 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1261         Backport from mainline
1262         2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
1264         PR libstdc++/70609
1265         * src/filesystem/ops.cc (close_fd): New function.
1266         (do_copy_file): Set permissions before copying file contents. Check
1267         result of closing file descriptors. Don't copy streambuf when file
1268         is empty.
1269         (copy(const path&, const path&, copy_options, error_code&)): Use
1270         lstat for source file when copy_symlinks is set.
1271         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1273 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
1275         Backport from mainline
1276         2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
1278         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1279         operator~ operator&=, operator|=, operator^=): Add noexcept to
1280         overloaded operators for copy_options, perms and directory_options.
1281         * src/filesystem/ops.cc (make_file_type, make_file_status,
1282         is_not_found_errno, file_time): Add noexcept.
1284 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
1286         Backport from mainline
1287         2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
1289         PR libstdc++/69478
1290         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1291         random_access_iterator_tag>): Check is_move_assignable when moving.
1292         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1293         Likewise.
1294         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1295         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1296         * testsuite/25_algorithms/move/69478.cc: New.
1297         * testsuite/25_algorithms/move_backward/69478.cc: New.
1299         Backport from mainline
1300         2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
1302         PR libstdc++/70503
1303         * src/c++11/thread.cc (execute_native_thread_routine,
1304         execute_native_thread_routine_compat): Give internal linkage.
1305         * testsuite/30_threads/thread/70503.cc: New test.
1307         Backport from mainline
1308         2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
1310         PR libstdc++/69464
1311         * include/Makefile.am: Add new header.
1312         * include/Makefile.in: Regenerate.
1313         * include/bits/random.h (uniform_int_distribution): Move to
1314         bits/uniform_int_dist.h.
1315         * include/bits/random.tcc (uniform_int_distribution::operator(),
1316         uniform_int_distribution::__generate_impl): Likewise.
1317         * include/bits/uniform_int_dist.h: New header.
1318         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1319         <bits/uniform_int_dist.h> instead of <random>.
1320         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1321         move_iterators/1.cc: Include correct header for uninitialized_copy.
1322         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1323         move_iterators/1.cc: Likewise.
1324         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1325         header for vector.
1326         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1327         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1329 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
1331         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1332         * src/Makefile.in: Regenerate.
1334 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
1336         PR libstdc++/69939
1337         * include/experimental/tuple (__apply_impl): Qualify get and forward.
1339 2016-02-16  Tim Shen  <timshen@google.com>
1341         Backport from mainline
1342         2016-02-16  Tim Shen  <timshen@google.com>
1344         PR libstdc++/69794
1345         * include/bits/regex_scanner.h: Add different special character
1346         sets for grep and egrep regex.
1347         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1348         * testsuite/28_regex/regression.cc: Add new testcase.
1350 2016-02-11  Jonathan Wakely  <jwakely@redhat.com>
1352         PR libstdc++/60976
1353         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1354         Define partial specialization.
1355         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1356         destroy members to std::allocator explicit specialization.
1358 2016-02-10  Jonathan Wakely  <jwakely@redhat.com>
1360         PR libstdc++/69116
1361         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1362         define result_type for types which can be safely used with valarrays.
1363         * testsuite/26_numerics/valarray/69116.cc: New.
1365 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
1367         PR libstdc++/60637
1368         * include/c_global/cmath (signbit) [__cplusplus < 201103L]: Use
1369         __builtin_signbitf or __builtin_signbitl as appropriate.
1370         * testsuite/26_numerics/headers/cmath/60637.cc: New.
1372 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1374         Backport from mainline
1375         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1376         __int128 symbols.
1378 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
1380         PR libstdc++/69092
1381         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1382         Remove _GLIBCXX_NOEXCEPT.
1383         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1385         PR libstdc++/68995
1386         * include/std/functional (_Function_handler::_M_invoke): Qualify
1387         __callable_functor.
1388         * testsuite/20_util/function/68995.cc: New.
1390         PR libstdc++/69005
1391         PR libstdc++/69222
1392         * include/std/functional (function::_Invoke): Remove, use result_of.
1393         (function::_Callable): Replace alias template with class template
1394         and use partial specialization instead of _NotSelf alias template.
1395         (function(_Functor)): Add "not self" constraint so that _Callable is
1396         not used while type is incomplete.
1397         * testsuite/20_util/function/69222.cc: New.
1399 2015-12-27  Edward Smith-Rowland  <3dw4rd@verizon.net>
1401         * include/bits/c++0x_warning.h Remove experimental language.
1403 2015-12-16  Jonathan Wakely  <jwakely@redhat.com>
1405         PR libstdc++/68912
1406         * include/std/functional (_Bind::operator()): Use lvalue functor to
1407         deduce return type.
1408         * testsuite/20_util/bind/68912.cc: New.
1410         PR libstdc++/68921
1411         * src/c++11/futex.cc
1412         (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
1413         as timeout argument.
1415 2015-12-15  Tim Shen  <timshen@google.com>
1417         Backport from mainline
1418         2015-12-15  Tim Shen  <timshen@google.com>
1420         PR libstdc++/68863
1421         * include/bits/regex_executor.tcc (_Executor::_M_lookahead):
1422         Copy the captured content for lookahead, so that the backreferences
1423         inside can refer to them.
1424         * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
1425         New testcase.
1427 2015-12-11  Jonathan Wakely  <jwakely@redhat.com>
1429         * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
1430         to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
1431         PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
1432         * include/backward/strstream: Correct @file comment.
1433         * include/bits/forward_list.h: Improve Doxygen comments.
1434         * include/bits/locale_facets_nonio.h: Likewise.
1435         * include/debug/vector (_Safe_vector): Add @brief section to comment.
1436         * include/experimental/fs_fwd.h: Correct @file comment.
1437         * include/experimental/fs_ops.h: Likewise.
1438         * include/experimental/string_view.tcc: Likewise.
1439         * include/experimental/optional: Document experimental status.
1440         * include/experimental/string_view: Correct @file comment.
1441         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
1442         whitespace to avoid Doxygen bug.
1443         * include/std/bitset: Remove redundant @class Doxygen command. Add
1444         parentheses to avoid Doxygen bug.
1445         * include/std/mutex: Improve Doxygen comments.
1446         * include/tr2/dynamic_bitset: Add missing @param documentation.
1447         * scripts/run_doxygen: Rename man pages for std::experimental types.
1449 2015-12-08  Jonathan Wakely  <jwakely@redhat.com>
1451         * doc/xml/manual/abi.xml: Backport documentation improvements from
1452         mainline.
1453         * doc/xml/manual/configure.xml: Likewise.
1454         * doc/xml/manual/diagnostics.xml: Likewise.
1455         * doc/xml/manual/extensions.xml: Likewise.
1456         * doc/xml/manual/status_cxx2011.xml: Likewise.
1457         * doc/xml/manual/status_cxx2014.xml: Likewise.
1458         * doc/xml/manual/using.xml: Likewise.
1459         * doc/html/*: Regenerate.
1461 2015-12-04  Jonathan Wakely  <jwakely@redhat.com>
1463         PR libstdc++/56383
1464         * testsuite/20_util/enable_shared_from_this/56383.cc: New.
1465         * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
1466         friend declaration match previous declaration of
1467         __enable_shared_from_this_helper.
1468         * include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
1470 2015-12-04  Jonathan Wakely  <jwakely@redhat.com>
1472         * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
1473         after __is_encoded_char explicit specializations.
1475 2015-12-04  Jason Merrill  <jason@redhat.com>
1477         * include/bits/c++config: Fix abi_tag in special modes.
1479 2015-12-04  Release Manager
1481         * GCC 5.3.0 released.
1483 2015-11-26  Jonathan Wakely  <jwakely@redhat.com>
1485         * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
1486         dg-options and avoid use of uniform-init.
1488         * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
1489         dg-options and avoid use of uniform-init.
1491 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
1493         * configure: Regenerate.
1495 2015-11-25  Jonathan Wakely  <jwakely@redhat.com>
1497         Backport from mainline
1498         2015-11-12  Jonathan Wakely  <jwakely@redhat.com>
1500         PR libstdc++/56158
1501         * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
1502         Define enumerators to ensure all values of type int are valid values
1503         of the enumeration type.
1504         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
1505         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1506         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1508         Backport from mainline
1509         2015-09-17  Jonathan Wakely  <jwakely@redhat.com>
1511         * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
1512         Do nothing if exceptions are disabled.
1513         * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
1515 2015-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1517         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
1518         * configure.ac: Use it.
1519         * configure: Regenerate.
1520         * config.h.in: Regenerate.
1522         * include/c_global/cmath [__cplusplus >= 201103L]
1523         (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
1524         (std::isfinite): Likewise.
1525         (std::isinf): Likewise.
1526         (std::isnan): Likewise.
1527         (std::isnormal): Likewise.
1528         (std::signbit): Likewise.
1529         (std::isgreater): Likewise.
1530         (std::isgreaterequal): Likewise.
1531         (std::isless): Likewise.
1532         (std::islessequal): Likewise.
1533         (std::islessgreater): Likewise.
1534         (std::isunordered): Likewise.
1535         (std::acosh): Likewise.
1536         (std::asinh): Likewise.
1537         (std::atanh): Likewise.
1538         (std::cbrt): Likewise.
1539         (std::copysign): Likewise.
1540         (std::erf): Likewise.
1541         (std::erfc): Likewise.
1542         (std::exp2): Likewise.
1543         (std::expm1): Likewise.
1544         (std::fdim): Likewise.
1545         (std::fma): Likewise.
1546         (std::fmax): Likewise.
1547         (std::fmin): Likewise.
1548         (std::hypot): Likewise.
1549         (std::ilogb): Likewise.
1550         (std::lgamma): Likewise.
1551         (std::llrint): Likewise.
1552         (std::llround): Likewise.
1553         (std::log1p): Likewise.
1554         (std::log2): Likewise.
1555         (std::logb): Likewise.
1556         (std::lrint): Likewise.
1557         (std::lround): Likewise.
1558         (std::nearbyint): Likewise.
1559         (std::nextafter): Likewise.
1560         (std::nexttoward): Likewise.
1561         (std::remainder): Likewise.
1562         (std::remquo): Likewise.
1563         (std::rint): Likewise.
1564         (std::round): Likewise.
1565         (std::scalbln): Likewise.
1566         (std::scalbn): Likewise.
1567         (std::tgamma): Likewise.
1568         (std::trunc): Likewise.
1569         * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
1570         Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
1571         (std::tr1::asinh): Likewise.
1572         (std::tr1::atanh): Likewise.
1573         (std::tr1::cbrt): Likewise.
1574         (std::tr1::copysign): Likewise.
1575         (std::tr1::erf): Likewise.
1576         (std::tr1::erfc): Likewise.
1577         (std::tr1::exp2): Likewise.
1578         (std::tr1::expm1): Likewise.
1579         (std::tr1::fabs): Likewise.
1580         (std::tr1::fdim): Likewise.
1581         (std::tr1::fma): Likewise.
1582         (std::tr1::fmax): Likewise.
1583         (std::tr1::fmin): Likewise.
1584         (std::tr1::hypot): Likewise.
1585         (std::tr1::ilogb): Likewise.
1586         (std::tr1::lgamma): Likewise.
1587         (std::tr1::llrint): Likewise.
1588         (std::tr1::llround): Likewise.
1589         (std::tr1::log1p): Likewise.
1590         (std::tr1::log2): Likewise.
1591         (std::tr1::logb): Likewise.
1592         (std::tr1::lrint): Likewise.
1593         (std::tr1::lround): Likewise.
1594         (std::tr1::nearbyint): Likewise.
1595         (std::tr1::nextafter): Likewise.
1596         (std::tr1::nexttoward): Likewise.
1597         (std::tr1::remainder): Likewise.
1598         (std::tr1::remquo): Likewise.
1599         (std::tr1::rint): Likewise.
1600         (std::tr1::scalbln): Likewise.
1601         (std::tr1::scalbn): Likewise.
1602         (std::tr1::tgamma): Likewise.
1603         (std::tr1::trunc): Likewise.
1604         (std::tr1::pow): Likewise.
1606         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1607         Restrict dg-xfail-if to *-*-solaris2.1[01]*.
1609 2015-11-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
1611         PR libstdc++/68448
1612         * python/hook.in: Call register_libstdcxx_printers.
1613         * python/libstdcxx/v6/__init__.py: Wrap it to
1614         register_libstdcxx_printers.
1616 2015-11-16  Doug Evans  <dje@google.com>
1618         PR libstdc++/67440
1619         * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
1620         type name.
1621         * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
1622         const set<int>.
1623         * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
1624         * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
1626 2015-11-10  Jonathan Wakely  <jwakely@redhat.com>
1628         PR libstdc++/68190
1629         * include/bits/stl_multiset.h (multiset::find): Fix return types.
1630         * include/bits/stl_set.h (set::find): Likewise.
1631         * testsuite/23_containers/map/operations/2.cc: Test find return types.
1632         * testsuite/23_containers/multimap/operations/2.cc: Likewise.
1633         * testsuite/23_containers/multiset/operations/2.cc: Likewise.
1634         * testsuite/23_containers/set/operations/2.cc: Likewise.
1636 2015-10-08  Jonathan Wakely  <jwakely@redhat.com>
1638         Backport from mainline
1639         2015-09-17  Jonathan Wakely  <jwakely@redhat.com>
1641         PR libstdc++/65913
1642         * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
1643         __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
1644         immediate pointer value, not a variable.
1645         * include/std/atomic (atomic<T>::is_lock_free()): Likewise.
1646         * testsuite/29_atomics/atomic/65913.cc: New.
1648 2015-10-07  Jonathan Wakely  <jwakely@redhat.com>
1650         Backport Filesystem TS fixes from mainline.
1652         PR libstdc++/67173
1653         PR libstdc++/67747
1654         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
1655         and PATH_MAX for _GLIBCXX_USE_REALPATH.  Remove _GLIBCXX_ prefix
1656         from HAVE_STRUCT_DIRENT_D_TYPE.
1657         * config.h.in: Regenerate.
1658         * configure: Regenerate.
1659         * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
1660         (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
1661         * include/experimental/fs_dir.h (operator==, operator==):
1662         Use owner_before instead of pointer equality.
1663         (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1664         * include/experimental/fs_path.h (operator==, operator==):
1665         * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
1666         (path::wstring, path::generic_wstring): Disable.
1667         * src/filesystem/path.cc (path::_S_convert_loc)
1668         [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
1669         * src/filesystem/Makefile.am: Add cxx11_abi_sources.
1670         * src/filesystem/Makefile.in: Regenerate.
1671         * src/filesystem/cow-dir.cc: New.
1672         * src/filesystem/cow-ops.cc: New.
1673         * src/filesystem/cow-path.cc: New.
1674         * src/filesystem/dir.cc: Define macro for new ABI.
1675         (native_readdir): Remove.
1676         (_Dir::advance): Use readdir instead of native_readdir.
1677         (recursive_directory_iterator(const path&, directory_options,
1678         error_code*)): Use swap instead of reset.
1679         (ErrorCode): Remove.
1680         (_Dir::advance): Change ErrorCode parameter to error_code*, add
1681         directory_options parameter and check it on error.
1682         (opendir): Rename to open_dir to avoid clashing with macro. Change
1683         ErrorCode parameter to error_code*.
1684         (make_shared_dir): Remove.
1685         (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
1686         (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1687         (directory_iterator(const path&, directory_options, error_code*)):
1688         Pass options to _Dir::advance and create non-end iterator on error.
1689         (recursive_directory_iterator(const path&, directory_options,
1690         error_code*)): Clear error_code on ignored error, create non-end
1691         iterator otherwise.
1692         (recursive_directory_iterator::increment): Pass _M_options to
1693         _Dir::advance.
1694         (recursive_directory_iterator::pop): Likewise.
1695         * src/filesystem/ops.cc: Define macro for new ABI.
1696         (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation.
1697         (is_dot, is_dotdot): Define new helpers.
1698         (create_directories): Fix error handling.
1699         * src/filesystem/path.cc: Define macro for new ABI.
1700         (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
1701         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1702         New.
1703         * testsuite/experimental/filesystem/iterators/
1704         recursive_directory_iterator.cc: New.
1705         * testsuite/experimental/filesystem/operations/canonical.cc: New.
1706         * testsuite/experimental/filesystem/operations/create_directories.cc:
1707         New.
1708         * testsuite/experimental/filesystem/operations/exists.cc: Add more
1709         tests.
1710         * testsuite/experimental/filesystem/operations/absolute.cc: Add test
1711         variables.
1712         * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1713         * testsuite/experimental/filesystem/operations/current_path.cc:
1714         Likewise.
1715         * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
1716         * testsuite/experimental/filesystem/operations/status.cc: Likewise.
1717         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1718         Likewise.
1719         * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
1720         wchar_t support.
1721         * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
1722         * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
1724 2015-10-02  Jonathan Wakely  <jwakely@redhat.com>
1726         PR libstdc++/65049
1727         * include/bits/char_traits.h (char_traits<char>::compare,
1728         char_traits<char>::find, char_traits<char>::move,
1729         char_traits<char>::copy, char_traits<char>::assign): Check for zero
1730         length.
1731         (char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
1732         char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
1733         char_traits<wchar_t>::assign): Likewise.
1734         (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
1735         (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
1736         * include/ext/pod_char_traits.h (char_traits<character<>>::move,
1737         char_traits<character<>>::copy): Likewise.
1738         * testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
1739         * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
1740         New.
1741         * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
1742         New.
1743         * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
1744         New.
1746         PR libstdc++/67707
1747         * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
1748         empty object.
1749         * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
1750         deque.
1751         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1752         Adjust dg-error line number.
1753         * testsuite/23_containers/deque/requirements/dr438/
1754         constructor_1_neg.cc: Likewise.
1755         * testsuite/23_containers/deque/requirements/dr438/
1756         constructor_2_neg.cc: Likewise.
1757         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1758         Likewise.
1760         PR libstdc++/65142
1761         * src/c++11/random.cc (random_device::_M_getval()): Check read result
1762         and retry after short reads.
1764 2015-09-03  Jonathan Wakely  <jwakely@redhat.com>
1766         * include/std/shared_mutex (shared_timed_mutex::shared_timed_mutex):
1767         Replace throw with __throw_bad_alloc.
1769         PR libstdc++/66998
1770         * include/experimental/functional (_Not_fn): Add exception
1771         specifications and non-deduced return types.
1772         (not_fn): Add exception specification and wrap pointer-to-member.
1773         * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
1774         and test pointer-to-member.
1776         Backport from mainline
1777         2015-08-27  Jonathan Wakely  <jwakely@redhat.com>
1779         PR libstdc++/67374
1780         * include/bits/range_access.h (valarray, begin, end): Declare.
1781         * testsuite/26_numerics/valarray/range_access.cc: Test const
1782         overloads.
1783         * testsuite/26_numerics/valarray/range_access2.cc: New.
1785         Backport from mainline
1786         2015-07-24  Jonathan Wakely  <jwakely@redhat.com>
1788         * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
1789         (_M_load_and_test_until): Whitespace.
1790         (_M_load_and_test): Value-initialize the unused durations.
1791         (_M_load_when_equal): Add missing return value.
1793         Backport from mainline
1794         2015-07-13  Jonathan Wakely  <jwakely@redhat.com>
1796         PR libstdc++/66855
1797         * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
1798         endianness bit in mode.
1799         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
1801         Backport from mainline
1802         2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
1803                     Michael Hanselmann  <public@hansmi.ch>
1805         PR libstdc++/62258
1806         * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
1807         uncaught exceptions.
1808         * testsuite/18_support/exception_ptr/62258.cc: New.
1810 2015-08-28  Tim Shen  <timshen@google.com>
1812         Backport from mainline
1813         2015-08-28  Tim Shen  <timshen@google.com>
1815         PR libstdc++/67362
1816         * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
1817         Always returns ordinary char token if the char isn't
1818         considered a special char.
1819         * testsuite/28_regex/regression.cc: New test file for collecting
1820         regression testcases from, typically, bugzilla.
1822 2015-08-20  Jonathan Wakely  <jwakely@redhat.com>
1824         * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
1825         libstdc++fs.
1826         * python/Makefile.in: Regenerate.
1828 2015-08-18  Jonathan Wakely  <jwakely@redhat.com>
1830         Backport Filesystem TS from mainline
1831         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS,
1832         GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
1833         * configure.ac: Use them.
1834         * configure: Regenerate.
1835         * config.h.in: Regenerate.
1836         * include/Makefile.am: Add filesystem headers. Fix order of headers.
1837         * include/Makefile.in: Regenerate.
1838         * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in,
1839         __str_codecvt_out, wstring_convert): Refactor to move all conversion
1840         logic to non-member functions.
1841         * include/bits/quoted_string.h (_Quoted_string, operator<<,
1842         operator>>): Move from <iomanip> to new header.
1843         * include/experimental/filesystem: New.
1844         * include/experimental/fs_dir.h: New.
1845         * include/experimental/fs_fwd.h: New.
1846         * include/experimental/fs_ops.h: New.
1847         * include/experimental/fs_path.h: New.
1848         * include/std/iomanip (_Quoted_string, operator<<, operator>>): Move
1849         to <bits/quoted_string.h>.
1850         * libstdcxx/v6/printers.py (StdExpPathPrinter): Define.
1851         * scripts/testsuite_flags.in: Add filesystem dir to ldflags.
1852         * src/Makefile.am: Add filesystem sub-dir.
1853         * src/Makefile.in: Regenerate.
1854         * src/filesystem/Makefile.am: New.
1855         * src/filesystem/Makefile.in: New.
1856         * src/filesystem/dir.cc: New.
1857         * src/filesystem/ops.cc: New.
1858         * src/filesystem/path.cc: New.
1859         * testsuite/experimental/filesystem/operations/absolute.cc: New.
1860         * testsuite/experimental/filesystem/operations/copy.cc: New.
1861         * testsuite/experimental/filesystem/operations/current_path.cc: New.
1862         * testsuite/experimental/filesystem/operations/exists.cc: New.
1863         * testsuite/experimental/filesystem/operations/file_size.cc: New.
1864         * testsuite/experimental/filesystem/operations/status.cc: New.
1865         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1866         New.
1867         * testsuite/experimental/filesystem/path/append/path.cc: New.
1868         * testsuite/experimental/filesystem/path/assign/assign.cc: New.
1869         * testsuite/experimental/filesystem/path/assign/copy.cc: New.
1870         * testsuite/experimental/filesystem/path/compare/compare.cc: New.
1871         * testsuite/experimental/filesystem/path/compare/path.cc: New.
1872         * testsuite/experimental/filesystem/path/compare/strings.cc: New.
1873         * testsuite/experimental/filesystem/path/concat/path.cc: New.
1874         * testsuite/experimental/filesystem/path/concat/strings.cc: New.
1875         * testsuite/experimental/filesystem/path/construct/copy.cc: New.
1876         * testsuite/experimental/filesystem/path/construct/default.cc: New.
1877         * testsuite/experimental/filesystem/path/construct/locale.cc: New.
1878         * testsuite/experimental/filesystem/path/construct/range.cc: New.
1879         * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
1880         * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
1881         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1882         New.
1883         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1884         New.
1885         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
1886         New.
1887         * testsuite/experimental/filesystem/path/decompose/root_name.cc: New.
1888         * testsuite/experimental/filesystem/path/decompose/root_path.cc: New.
1889         * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
1890         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
1891         New.
1892         * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
1893         * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
1894         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
1895         New.
1896         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1897         New.
1898         * testsuite/experimental/filesystem/path/modifiers/
1899         replace_extension.cc: New.
1900         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1901         New.
1902         * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
1903         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
1904         New.
1905         * testsuite/experimental/filesystem/path/query/empty.cc: New.
1906         * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
1907         * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
1908         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1909         New.
1910         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1911         New.
1912         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1913         New.
1914         * testsuite/experimental/filesystem/path/query/has_root_name.cc: New.
1915         * testsuite/experimental/filesystem/path/query/has_root_path.cc: New.
1916         * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
1917         * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
1918         * testsuite/lib/dg-options.exp (dg-require-filesystem-ts): Define.
1919         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Define.
1920         * testsuite/util/testsuite_fs.h: New.
1922 2015-08-18  Jonathan Wakely  <jwakely@redhat.com>
1924         * Makefile.in: Regenerate with automake-1.11.6.
1925         * aclocal.m4: Likewise.
1926         * configure: Likewise.
1927         * doc/Makefile.in: Likewise.
1928         * include/Makefile.in: Likewise.
1929         * libsupc++/Makefile.in: Likewise.
1930         * po/Makefile.in: Likewise.
1931         * python/Makefile.in: Likewise.
1932         * src/Makefile.in: Likewise.
1933         * src/c++11/Makefile.in: Likewise.
1934         * src/c++98/Makefile.in: Likewise.
1935         * testsuite/Makefile.in: Likewise.
1937 2015-07-29  Tim Shen  <timshen@google.com>
1939         Backport from mainline
1940         2015-07-29  Tim Shen  <timshen@google.com>
1942         PR libstdc++/67015
1943         * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
1944         _BracketMatcher<>::_M_add_collating_element): Change signature
1945         to make checking the and of bracket expression easier.
1946         * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
1947         Treat '-' as a valid literal if it's at the end of bracket expression.
1948         * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
1949         New testcases.
1951 2015-07-16  Release Manager
1953         * GCC 5.2.0 released.
1955 2015-07-02  Jonathan Wakely  <jwakely@redhat.com>
1957         * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
1958         --with-default-libstdcxx-abi
1959         * configure: Regenerate.
1960         * doc/xml/manual/configure.xml: Document valid arguments.
1962         * include/bits/locale_conv.h (wstring_convert): Use __cxx11 inline
1963         namespace in new ABI.
1964         (wstring_convert::_M_conv): Handle empty range.
1966 2015-06-26  Jonathan Wakely  <jwakely@redhat.com>
1968         * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
1969         * include/bits/stl_map.h (map::map()): Likewise.
1970         * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
1971         * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
1972         * include/bits/stl_set.h (set::set()): Likewise.
1974 2015-06-24  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1976         PR target/66200
1977         * configure.host (host_cpu): Add aarch64 case.
1978         * config/cpu/aarch64/atomic_word.h: New file.
1980 2015-06-22  Jonathan Wakely  <jwakely@redhat.com>
1982         Backport from mainline
1983         2015-06-16  Jonathan Wakely  <jwakely@redhat.com>
1985         PR libstdc++/65393
1986         * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
1987         copies with moves.
1989         Backport from mainline
1990         2015-05-17  François Dumont  <fdumont@gcc.gnu.org>
1992         * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
1993         missing constructors.
1994         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1995         Likewise.
1996         * include/debug/unordered_map (unordered_map, unordered_multimap): Add
1997         missing constructors.
1998         * include/debug/unordered_set (unordered_set, unordered_multiset):
1999         Likewise.
2000         * include/profile/unordered_map (unordered_map, unordered_multimap): Add
2001         missing constructors.
2002         * include/profile/unordered_set (unordered_set, unordered_multiset):
2003         Likewise.
2004         * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
2005         invocations.
2006         * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
2007         * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
2008         * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
2010 2015-06-22  Jonathan Wakely  <jwakely@redhat.com>
2012         Backport from mainline
2013         2015-05-14  Nathan Myers  <ncm@cantrip.org>
2014             Jonathan Wakely  <jwakely@redhat.com>
2016         PR libstdc++/66055
2017         * include/std/unordered_map (unordered_map, unordered_multimap): Add
2018         missing constructors.
2019         * include/std/unordered_set (unordered_set, unordered_multiset):
2020         Likewise.
2021         * testsuite/23_containers/unordered_map/cons/66055.cc: New.
2022         * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
2023         * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
2024         * testsuite/23_containers/unordered_set/cons/66055.cc: New.
2026 2015-06-15  Jonathan Wakely  <jwakely@redhat.com>
2028         Backport from mainline
2029         2015-06-09  Jonathan Wakely  <jwakely@redhat.com>
2031         PR libstdc++/66030
2032         * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
2033         for mingw32.
2035 2015-06-12  Jonathan Wakely  <jwakely@redhat.com>
2037         PR libstdc++/66464
2038         * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
2039         Return 4 not 3.
2041 2015-06-08  Jonathan Wakely  <jwakely@redhat.com>
2043         Backported from mainline
2044         2015-06-01  Jonathan Wakely  <jwakely@redhat.com>
2046         * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
2047         environment variable.
2049         PR libstdc++/66354
2050         * include/bits/stl_algobase.h (__fill_a): Check length before calling
2051         memset.
2053         PR libstdc++/66327
2054         * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
2055         memcmp for empty ranges.
2056         (__lexicographical_compare<true>::__lc): Likewise.
2058         Backported from mainline
2059         2015-06-02  Jonathan Wakely  <jwakely@redhat.com>
2061         * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
2062         * doc/xml/manual/evolution.xml: Fix typos.
2063         * doc/html/manual/*: Regenerate.
2065         Backported from mainline
2066         2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
2068         * doc/xml/manual/configure.xml: Update descriptions of options
2069         affecting dual ABI and add cross-references.
2070         * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
2071         * doc/xml/manual/using.xml: Document ABI transition.
2072         * doc/html/*: Regenerate.
2074         Backported from mainline
2075         2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
2077         * doc/xml/manual/concurrency_extensions.xml: Update documentation
2078         on atomics.
2079         * doc/xml/manual/using.xml: Likewise. Improve markup.
2080         * doc/html/*: Regenerate.
2082 2015-06-08  Jonathan Wakely  <jwakely@redhat.com>
2084         PR libstdc++/66441
2085         * testsuite/22_locale/conversions/string/66441.cc: New.
2086         * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
2087         in the output string for BOM and complete result.
2089         PR libstdc++/66417
2090         * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
2091         for single UTF-16 units.
2092         * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
2094 2015-06-04  Renlin Li  <renlin.li@arm.com>
2096         Backported from mainline
2097         2015-06-02  Renlin Li  <renlin.li@arm.com>
2099         * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
2101 2015-05-28  Jonathan Wakely  <jwakely@redhat.com>
2103         PR libstdc++/65352
2104         * include/profile/array (array::data): Use _S_ptr.
2105         * include/debug/array (array::data): Likewise.
2107         PR libstdc++/65352
2108         * include/std/array (__array_traits::_S_ptr): New function.
2109         (array::data): Use _S_ptr to avoid creating invalid reference.
2110         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2111         dg-error line numbers.
2112         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2113         likewise.
2115         PR libstdc++/66017
2116         * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
2117         (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
2118         from _Base_ptr.
2119         (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
2120         (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
2121         * include/ext/aligned_buffer.h (__aligned_membuf): New type using
2122         alignment of _Tp as a member subobject, not as a complete object.
2123         * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
2124         _Link_type manually as it might not be in the debug info.
2126         Backported from mainline
2127         2015-05-13  Jonathan Wakely  <jwakely@redhat.com>
2129         * include/bits/basic_string.h (basic_string::basic_string()): Make
2130         noexcept conditional on allocator (LWG 2455).
2132         Backported from mainline
2133         2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
2135         * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
2137 2015-05-26  Doug Evans  <dje@google.com>
2139         Backported from mainline
2140         2015-04-29  Doug Evans  <dje@google.com>
2142         PR libstdc++/65839
2143         * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
2144         Replace all lookups of "bool" with this.
2145         (get_std_size_type): New function.  Replace all lookups of std::size_t
2146         with this.
2147         (*Worker): New method get_result_type.
2148         (DequeWorkerBase.__init__): New arg val_type.  All callers updated.
2149         (ListWorkerBase.__init__): New arg val_type.  All callers updated.
2150         (UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
2151         Delete setting of name, enabled.
2152         (UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
2153         updated.  Delete setting of name.
2154         (UniquePtrMethodsMatcher): Rewrite for consistency with all other
2155         libstdc++ xmethod matchers.
2156         * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
2157         * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
2158         * testsuite/libstdc++-xmethods/deque.cc: Ditto.
2159         * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
2160         * testsuite/libstdc++-xmethods/list.cc: Ditto.
2161         * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
2162         * testsuite/libstdc++-xmethods/vector.cc: Ditto.
2164 2015-05-26  Doug Evans  <dje@google.com>
2166         Backported from mainline
2167         2015-04-29  Doug Evans  <dje@google.com>
2169         Use consistent naming for value type attributes.
2170         * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
2171         to _val_type.
2172         (ArraySizeWorker, ArrayEmptyWorker): Ditto.
2173         (ArrayFrontWorker, ArrayBackWorker): Ditto.
2174         (ArrayAtWorker, ArraySubscriptWorker): Ditto.
2175         (DequeWorkerBase): Rename elemtype to val_type.
2176         (ForwardListWorkerBase): Rename _elem_type to _val_type.
2177         (ForwardListFrontWorker): Ditto.  And rename elem_address to
2178         val_address.
2179         (ForwardListMethodsMatcher): Rename elem_type to val_type.
2180         (VectorWorkerBase): Rename _elemtype to _val_type.
2182 2015-05-22  David Edelsohn  <dje.gcc@gmail.com>
2184         Backported from mainline
2185         2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
2187         PR target/66224
2188         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
2189         Don't use isync. Use lwsync if available.
2190         * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
2191         powerpc cpu definition.
2193 2015-05-07  Renlin Li  <renlin.li@arm.com>
2195         Backported from mainline
2196         2015-04-22  Renlin Li  <renlin.li@arm.com>
2198         * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
2199         * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
2200         * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
2201         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
2202         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
2204 2015-05-04  Jakub Jelinek  <jakub@redhat.com>
2206         Backported from mainline
2207         2015-04-28  Marc Glisse  <marc.glisse@inria.fr>
2209         PR libstdc++/65883
2210         * include/std/limits (numeric_limits): Add missing unsigned.
2212 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
2214         * include/experimental/any (_Internal): Check for trivially-copyable
2215         instead of nothrow move constructible.
2216         * testsuite/experimental/any/cons/nontrivial.cc: New.
2218 2015-04-28  Doug Evans  <dje@google.com>
2220         * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
2221         Define to zero.
2223 2015-04-28  Stephan Bergmann  <sbergman@redhat.com>
2225         * include/debug/vector (_Safe_vector::operator=): Add missing returns.
2227 2015-04-22  Release Manager
2229         * GCC 5.1.0 released.
2231 2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2233         * scripts/extract_symvers.pl: Ignore elfdump error output.
2235 2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
2237         * testsuite/29_atomics/atomic/62259.cc: Assert atomic
2238         alignment is larger-equal, not equal, to default alignment.
2240 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
2242         PR libstdc++/65754
2243         * config/abi/pre/gnu.ver: Export base object constructors for
2244         fstreams.
2245         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2246         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2247         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2248         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2249         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2250         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2251         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
2252         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2253         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2254         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2255         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
2256         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
2257         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2258         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2259         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2260         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2261         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
2262         * testsuite/27_io/basic_fstream/cons/base.cc: New.
2264 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
2266         * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
2267         * doc/html/*: Regenerate.
2269 2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
2271         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
2273 2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
2275         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2277         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
2279 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
2281         * doc/xml/manual/test.xml: Improve documentation on running a subset
2282         of tests.
2283         * doc/html/manual/test.html: Regenerate.
2285 2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
2287         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
2288         for GCC 5.1 release.
2289         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2290         Likewise.
2292 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
2294         * include/std/shared_mutex (shared_timed_mutex): Add comments to
2295         explain the logic in the non-pthread_rwlock_t version.
2296         (_Mutex): Remove redundant type.
2297         (_M_n_readers): Rename to _S_max_readers.
2298         (_M_write_entered, _M_readers): New convenience functions.
2299         (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
2300         functions. Use predicates with condition variables. Simplify bitwise
2301         operations.
2302         (try_lock_for, try_shared_lock_for): Convert duration to time_point
2303         and call try_lock_until or try_shared_lock_until respectively.
2304         (try_lock_until, try_shared_lock_until): Wait on the condition
2305         variables until the specified time passes.
2306         (unlock): Add Debug Mode assertion.
2307         (unlock_shared): Add Debug Mode assertion.
2308         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
2310         * include/std/shared_mutex (shared_timed_mutex): Only use
2311         pthread_rwlock_t when the POSIX Timeouts option is supported.
2312         * testsuite/30_threads/shared_lock/cons/5.cc: Remove
2313         dg-require-gthreads-timed.
2314         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
2315         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
2316         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
2318 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
2320         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
2322 2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
2323             Richard Henderson  <rth@redhat.com>
2325         PR libstdc++/65147
2326         * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
2327         alignment.
2328         * include/std/atomic (atomic): For types with a power of two size set
2329         alignment to at least the size.
2330         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2331         * testsuite/29_atomics/atomic/65147.cc: New.
2332         * testsuite/29_atomics/atomic_integral/65147.cc: New.
2334 2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2336         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
2337         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2338         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2340 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
2342         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2343         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
2344         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2345         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
2346         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
2347         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2348         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
2349         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2351 2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
2353         PR libstdc++/65630
2354         * config/abi/pre/gnu.ver: Export operator+ for new strings.
2355         * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
2356         * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
2358 2015-03-28  Tim Shen  <timshen@google.com>
2360         PR libstdc++/65420
2361         * include/bits/regex_constants.h: Use constexpr variables for flags.
2362         * testsuite/28_regex/constants/constexpr.cc: New testcase.
2364 2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
2366         PR libstdc++/65499
2367         * include/std/chrono: Add using-directive for literals to std::chrono.
2368         * testsuite/20_util/duration/literals/65499.cc: New.
2370 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
2372         PR libstdc++/58038
2373         PR libstdc++/60421
2374         * include/std/thread (this_thread::sleep_for): Check for negative
2375         durations.
2376         (this_thread::sleep_until): Check for times in the past.
2377         * testsuite/30_threads/this_thread/58038.cc: New.
2378         * testsuite/30_threads/this_thread/60421.cc: New.
2380 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
2382         PR libstdc++/62259
2383         PR libstdc++/65147
2384         * include/std/atomic (atomic<T>): Increase alignment for types with
2385         the same size as one of the integral types.
2386         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2387         * testsuite/29_atomics/atomic/62259.cc: New.
2389 2015-03-26  Richard Henderson  <rth@redhat.com>
2391         PR libstdc++/65033
2392         * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
2393         a fake pointer indicating type alignment.
2394         (__atomic_base<T *>::is_lock_free): Likewise.
2395         * include/std/atomic (atomic<T>::is_lock_free): Likewise.
2397 2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
2399         PR libstdc++/33394
2400         * testsuite/21_strings/basic_string/pthread33394.cc: Use
2401         dg-additional-options.
2403 2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
2405         PR libstdc++/65543
2406         * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
2407         thinko in r150387.
2408         * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
2409         Likewise.
2410         * testsuite/27_io/rvalue_streams-2.cc: New.
2412 2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
2414         PR libstdc++/33394
2415         * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
2417 2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
2419         PR libstdc++/64967
2420         * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
2421         * configure: Regenerate.
2422         * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
2423         system_category): Use macros for versioned namespace.
2424         * src/c++11/futex.cc: Add missing end macro for versioned namespace.
2426 2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
2428         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
2429         test for unused for ARM.
2430         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
2431         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
2433 2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
2435         * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
2436         * include/ext/codecvt_specializations.h (encoding_state,
2437         encoding_char_traits): Remove abi-tag and use inline namespace.
2438         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
2440 2015-03-19  Jason Merrill  <jason@redhat.com>
2442         * config/locale/gnu/messages_members.cc: Revert abi-tag change.
2443         * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
2445 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
2447         PR c++/65046
2448         * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
2449         get_catalogs): Add abi-tag.
2450         * include/ext/codecvt_specializations.h (encoding_state,
2451         encoding_char_traits): Likewise.
2452         * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
2453         * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
2454         numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
2455         money_get_shim, money_put_shim, messages_shim): Likewise.
2456         * src/c++11/future.cc (future_error_category::message): Likewise.
2457         * src/c++11/system_error.cc (generic_error_category::message,
2458         system_error_category::message): Likewise.
2459         (__sso_string): Disable -Wabi-tag warnings.
2461 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
2463         PR libstdc++/13631
2464         * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
2465         implementation for old glibc. Fix whitespace.
2467 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
2468             Torvald Riegel  <triegel@redhat.com>
2470         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
2471         * config.h.in: Regenerate.
2472         * configure: Regenerate.
2473         * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
2474         (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
2475         (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
2476         (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
2477         EDEADLK.
2479 2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
2481         * libsupc++/nested_exception.h: Do not try to derive from final
2482         classes.
2483         * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
2484         final class.
2486         * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
2487         unused exception variable.
2488         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2489         * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
2490         test.
2491         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2493 2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
2495         * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
2496         * configure: Regenerate.
2498         * include/experimental/system_error: Fix include guard.
2500 2015-03-12  Renlin Li  <renlin.li@arm.com>
2502         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
2503         wrapped target.
2505 2015-03-10  Tim Shen  <timshen@google.com>
2507         PR libstdc++/64441
2508         * include/bits/regex.h (match_results<>::size,
2509         match_results<>::position, match_results<>::str,
2510         match_results<>::operator[], match_results<>::prefix,
2511         match_results<>::suffix, match_results<>::end,
2512         match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
2513         match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
2514         global __unmatched_sub. Add unmatched submatch as part of
2515         match_results.
2516         * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
2517         regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
2518         * testsuite/28_regex/match_results/out_of_range_submatches.cc:
2519         New testcases.
2521 2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
2523         PR libstdc++/64467
2524         * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
2525         for newlib targets. Really fix mixed line-endings this time.
2527 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
2529         * include/std/future (future_error(error_code)): Construct base
2530         class with error_code's message.
2531         * src/c++11/future.cc (future_error::what()): Do not call c_str() on
2532         temporary string.
2534 2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
2536         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
2537         noconv result.
2538         * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
2539         * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
2541 2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
2543         PR libstdc++/64797
2544         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
2545         incomplete multibyte sequences correctly.
2546         * include/std/codecvt (codecvt_utf8, codecvt_utf16,
2547         codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
2548         * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
2549         Define constants.
2550         (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
2551         Define convenience functions.
2552         (read_utf8_code_point): Return relevant constant to distinguish
2553         incomplete characters from invalid sequences.
2554         (read_utf16_code_point): Likewise. Check for invalid sequences.
2555         (ucs4_in, utf16_in): Use incomplete_mb_character constant.
2556         (utf16_out): Check for invalid sequences.
2557         (utf16_span): Fix condition.
2558         (ucs2_out): Use is_high_surrogate.
2559         (ucs2_in): Use incomplete_mb_character constant and fix condition.
2560         * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
2561         * testsuite/22_locale/conversions/buffer/1.cc: New.
2562         * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
2563         char32_t instead of wchar_t.
2564         * testsuite/22_locale/conversions/string/3.cc: New.
2566 2015-03-03  Iain Sandoe  <iain@codesourcery.com>
2568         PR libstdc++/64883
2569         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
2570         visibility for Darwin.
2571         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
2572         also deprecated.
2573         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
2575 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
2577         PR libstdc++/65279
2578         * include/std/scoped_allocator (__inner_type_impl,
2579         scoped_allocator_adaptor): Add defaulted copy assignment and move
2580         assignment operators.
2581         * testsuite/20_util/scoped_allocator/65279.cc: New.
2583 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
2585         PR libstdc++/64367
2586         * include/std/stdexcept (__sso_string): Don't use non-static member
2587         in sizeof.
2589 2015-02-28  Matthias Klose  <doko@ubuntu.com>
2591         PR libstdc++/65246
2592         * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
2594 2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
2596         * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
2597         * doc/html/manual/status.html: Regenerate.
2599 2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
2601         PR libstdc++/64695
2602         * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
2603         tuple layout.
2605         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
2606         behavior.
2607         * doc/html/manual/status.html: Regenerate.
2609 2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
2611         PR libstdc++/58357
2612         * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
2613         * include/bits/stl_algo.h (__rotate, rotate): Likewise.
2615 2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
2617         PR testsuite/65093
2618         * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
2619         (test01): Add explanatory comment.  Keep only the bd1 sub-test and
2620         split out bd2, bd3, bd4, and bd5 sub-tests into...
2621         * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
2622         testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
2623         testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
2624         testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
2625         New separate files with the old parts.
2627 2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
2629         * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
2630         surrogate pairs.
2631         (utf16_in): Pass mode argument to write_utf16_code_point.
2632         (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
2633         native byte order.
2634         * testsuite/22_locale/codecvt/char16_t.cc: New.
2635         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
2637         * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
2638         * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
2640 2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
2641             Jonathan Wakely  <jwakely@redhat.com>
2643         * testsuite/22_locale/codecvt/char32_t.cc: New.
2645 2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
2647         PR libstdc++/65085
2648         * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
2649         empty string gets null-terminated.
2650         * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
2652 2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
2654         * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
2655         mixed line-endings introduced in last change.
2657 2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
2659         * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
2660         for __NEWLIB__ macro with a dejagnu set macro.
2661         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2663 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
2665         PR libstdc++/64467
2666         * testsuite/28_regex/traits/char/isctype.cc (test01):   Add newlib
2667         special case for '\n'.
2668         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2670 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
2672         * src/c++11/futex.cc: Do not define for gthr-single.h targets.
2674 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
2676         PR libstdc++/64883
2677         * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
2678         of deprecated.
2679         * include/c_std/cstdio (gets): Likewise.
2680         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
2681         with attributes used in darwin headers.
2683 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
2685         * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
2686         $vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
2687         * configure: Regenerated.
2689 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
2691         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2692         after vtv_cygmin is set.
2693         * configure: Regenerated.
2695 2015-01-29  Matthias Klose  <doko@ubuntu.com>
2697         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2698         unconditionally.
2699         * configure: Regenerate.
2701 2015-01-29  Caroline Tice  <cmtice@google.com>
2703         Committing VTV Cywin/Ming patch for Patrick Wollgast
2704         * configure: Regenerate.
2705         * libsupc++/Makefile.in: Regenerate.
2706         * src/Makefile.in: Regenerate.
2708 2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
2710         * include/bits/atomic_base.h: Use __always_inline__ instead of
2711         always_inline.
2712         * include/bits/atomic_futex.h: Likewise.
2713         * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
2714         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
2715         __packed__ instead of packed.
2716         * include/std/shared_mutex: Use __unused__ instead of unused.
2717         * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
2718         * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
2719         * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
2721 2015-01-28  Caroline Tice  <cmtice@google.com>
2723         Committing VTV Cywin/Ming patch for Patrick Wollgast
2724         * acinclude.m4: Define VTV_CYGMIN.
2725         * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
2726         and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
2727         * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
2728         for Cygwin and MinGW.
2729         * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
2730         VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
2731         libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
2733 2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
2735         PR libstdc++/64828
2736         * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
2737         * libsupc++/Makefile.in: Regenerate.
2738         * src/c++11/Makefile.in: Regenerate.
2740 2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2742         * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
2743         check for unsupported.
2744         (v3_target_compile_as_c): Likewise.
2746 2015-01-28  Richard Biener  <rguenther@suse.de>
2748         PR libstdc++/64798
2749         * libsupc++/eh_alloc.cc (struct allocated_entry): Align
2750         data member.
2751         (pool::allocate): Adjust allocation size and alignment to
2752         that change.
2753         (pool::free): Adjust pointer offsetting.
2755 2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
2757         PR libstdc++/64368
2758         * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
2759         shared_timed_mutex::try_lock_until): Only define when POSIX thread
2760         timeouts option is supported.
2761         (shared_timed_mutex::try_shared_lock_for,
2762         shared_timed_mutex::try_shared_lock_until): Likewise.
2764 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
2766         PR libstdc++/64368
2767         * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
2768         numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
2769         * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
2770         and use cache's _M_grouping field.
2771         (__numpunct_fill_cache): Likewise.
2772         (__moneypunct_fill_cache): Improve comments.
2774 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
2776         * testsuite/23_containers/set/operations/2.cc: Add test for
2777         non-transparent comparison function.
2779 2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
2781         PR target/29366
2782         * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 
2783         Remove SH4A inline asm and lock based implementations and use the
2784         defaults from ext/atomicity.h.
2786 2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
2788         * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
2789         new std::string constructors for byname facets.
2791 2015-01-22  Richard Biener  <rguenther@suse.de>
2793         PR libstdc++/64535
2794         * libsupc++/eh_alloc.cc: Include new.
2795         (bitmask_type): Remove.
2796         (one_buffer): Likewise.
2797         (emergency_buffer): Likewise.
2798         (emergency_used): Likewise.
2799         (dependents_buffer): Likewise.
2800         (dependents_used): Likewise.
2801         (class pool): New custom fixed-size arena, variable size object
2802         allocator.
2803         (emergency_pool): New global.
2804         (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
2805         (__cxxabiv1::__cxa_free_exception): Likewise.
2806         (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
2807         (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
2809 2015-01-22  Tim Shen  <timshen@google.com>
2811         PR libstdc++/64680
2812         * include/bits/regex.h (basic_regex<>::basic_regex,
2813         basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
2814         standard interface.
2815         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
2817 2015-01-22  Tim Shen  <timshen@google.com>
2819         PR libstdc++/64649
2820         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2821         regex_traits<>::lookup_classname): Correctly narrow input chars.
2822         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
2824 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
2826         * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
2828 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
2830         * testsuite/29_atomics/atomic/64658.cc: Test stored value.
2832 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2834         * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
2835         * doc/xml/manual/status_cxx2014.xml: Update status.
2836         * doc/html/manual/status.html: Regenerate.
2838 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2840         PR libstdc++/64650
2841         * include/experimental/optional (bad_optional_access): Add default
2842         constructor.
2843         * testsuite/experimental/optional/requirements.cc: Test for default
2844         constructor.
2846 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2848         * include/bits/stl_map.h (map::find<>, map::count<>,
2849         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
2850         member function templates to perform heterogeneous lookup.
2851         * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
2852         multimap::lower_bound<>, multimap::upper_bound<>,
2853         multimap::equal_range<>): Likewise.
2854         * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
2855         multiset::lower_bound<>, multiset::upper_bound<>,
2856         multiset::equal_range<>): Likewise.
2857         * include/bits/stl_set.h (set::find<>, set::count<>,
2858         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2859         * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
2860         _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
2861         _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
2862         _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
2863         * testsuite/23_containers/map/operations/2.cc: New.
2864         * testsuite/23_containers/multimap/operations/2.cc: New.
2865         * testsuite/23_containers/multiset/operations/2.cc: New.
2866         * testsuite/23_containers/set/operations/2.cc: New.
2868 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2870         * config/abi/pre/gnu.ver: Export new constructors.
2871         * include/bits/codecvt.h (codecvt_byname): Add string constructor.
2872         (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
2873         specializations and declare explicit instantiations.
2874         * include/bits/locale_classes.h (locale, collate_byname): Add string
2875         constructors.
2876         * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
2877         Likewise.
2878         * include/bits/locale_facets_nonio.h (time_get_byname,
2879         time_put_byname, moneypunct_byname, messages_byname): Likewise.
2880         * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
2881         codecvt_byname<char32_t>): Define explicit instantiations.
2882         * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
2883         Instantiate string constructors.
2884         (ctype_byname): Define string constructor.
2885         * testsuite/22_locale/codecvt_byname/1.cc: New.
2886         * testsuite/22_locale/collate_byname/1.cc: New.
2887         * testsuite/22_locale/ctype_byname/2.cc: New.
2888         * testsuite/22_locale/messages_byname/1.cc: New.
2889         * testsuite/22_locale/moneypunct_byname/1.cc: New.
2890         * testsuite/22_locale/numpunct_byname/1.cc: New.
2892 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
2894         PR libstdc++/64658
2895         * include/std/atomic (atomic_init): Define.
2896         * testsuite/29_atomics/atomic/64658.cc: New.
2898 2015-01-19  Tim Shen  <timshen@google.com>
2900         PR libstdc++/64649
2901         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2902         regex_traits<>::lookup_classname): Support forward iterators.
2903         * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
2904         * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
2906 2015-01-19  Tim Shen  <timshen@google.com>
2908         PR libstdc++/64584
2909         PR libstdc++/64585
2910         * include/bits/regex.h (basic_regex<>::basic_regex,
2911         basic_regex<>::assign, basic_regex<>::imbue,
2912         basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
2913         imbuing basic_regex; Make assign() transactional against exception.
2914         * include/bits/regex_compiler.h (__compile_nfa<>): Add back
2915         __compile_nfa SFINAE.
2916         * include/std/regex: Adjust include order to avoid __compile_nfa
2917         forward declaration.
2918         * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
2919         * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
2921 2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
2922             Jonathan Wakely  <jwakely@redhat.com>
2924         * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
2925         on overloads for arrays.
2926         (cbegin, cend, rbegin, rend, crbegin, crend): New.
2927         * testsuite/24_iterators/range_access_cpp14.cc: New.
2929 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2931         PR libstdc++/64646
2932         * include/bits/stl_algo.h (__is_permutation): Also test for reaching
2933         end of the second range.
2934         * testsuite/25_algorithms/is_permutation/64646.cc: New.
2936 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2938         * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
2939         * doc/html/manual/status.html: Regenerate.
2941 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
2943         * include/bits/atomic_futex.h: Use mutex and condition_variable when
2944         atomic int is not lock-free. Make member variables private.
2945         * src/c++11/futex.cc: Likewise.
2947         * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
2949 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2951         PR libstdc++/64638
2952         * include/bits/atomic_futex.h: Use appropriate config macros for
2953         availability of std::mutex, std::condition and std::chrono.
2955 2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
2956             Jonathan Wakely  <jwakely@redhat.com>
2958         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
2959         * doc/html/*: Regenerate.
2961 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2963         DR 488
2964         PR libstdc++/58357
2965         * include/bits/algorithmfwd.h (rotate): Return an iterator.
2966         * include/bits/stl_algo.h (rotate, __rotate): Likewise.
2967         * testsuite/25_algorithms/rotate/dr488.cc: New.
2968         * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
2969         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2970         2.cc: Likewise.
2971         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2972         pod.cc: Likewise.
2974 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2976         PR libstdc++/60940
2977         * include/bits/atomic_base.h: Remove atomic integral typedefs as
2978         synonyms for __atomic_base<int> etc.
2979         * include/std/atomic: Make atomic_int a synonym for atomic<int> and
2980         likewise for all atomic integral types.
2981         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
2982         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2984 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2986         PR libstdc++/56785
2987         * include/std/tuple (_Tuple_impl): Remove zero-element specialization
2988         and define one-element specialization.
2989         * testsuite/20_util/tuple/56785.cc: New.
2991 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
2993         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
2994         Remove unused header.
2995         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2996         Likewise.
2997         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2998         Likewise.
3000 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
3002         * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
3003         * include/std/locale: Include new header.
3004         * include/Makefile.am: Add it.
3005         * include/Makefile.in: Regenerate.
3006         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
3007         * testsuite/22_locale/conversions/string/1.cc: New.
3008         * testsuite/22_locale/conversions/string/2.cc: New.
3009         * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
3010         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
3011         New.
3013 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
3015         * config/abi/pre/gnu.ver: Export new symbols.
3016         * include/Makefile.am: Add codecvt.
3017         * include/Makefile.in: Regenerate.
3018         * include/std/codecvt: New header.
3019         * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
3020         __codecvt_utf8_utf16_base): Define specializations.
3021         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
3022         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
3023         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
3024         New.
3026 2015-01-16  Torvald Riegel  <triegel@redhat.com>
3028         * src/c++11/futex.cc: New file.
3029         * include/bits/atomic_futex.h: New file.
3030         * include/std/future (__future_base::_State_baseV2): Use
3031         atomic_futex_unsigned instead of mutex+condvar.
3032         * src/c++11/futex.cc: Likewise.
3033         * include/Makefile.am: Add atomic_futex.h.
3034         * include/Makefile.in: Likewise.
3035         * src/c++11/Makefile.am: Add futex.cc.
3036         * src/c++11/Makefile.in: Likewise.
3038 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
3040         * acinclude.m4: Fix typo in comment.
3041         * configure: Regenerate.
3042         * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
3043         codecvt<char16_t, char, mbstate_t>): Declare specializations.
3044         * include/bits/locale_facets.h: Reserve space for new specializations.
3045         * src/c++11/Makefile.am: Add codecvt.cc.
3046         * src/c++11/Makefile.in: Regenerate.
3047         * src/c++11/codecvt.cc: New.
3048         * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
3049         with -std=gnu++11.
3050         * src/c++98/Makefile.in: Regenerate.
3051         * src/c++98/locale_init.cc: Initialize new codecvt specializations.
3052         * src/c++98/localename.cc: Likewise.
3053         * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
3054         * testsuite/22_locale/codecvt/utf8.cc: New.
3055         * testsuite/22_locale/locale/cons/unicode.cc: Check that new
3056         specializations are installed in locale objects.
3058 2015-01-16  Torvald Riegel  <triegel@redhat.com>
3060         * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
3061         implementation.
3063 2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
3065         PR libstdc++/64571
3066         * config/abi/pre/gnu.ver: Export fstream functions using new string.
3068 2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
3070         PR libstdc++/64560
3071         * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
3072         for RTTI support.
3074         PR libstdc++/64553
3075         * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
3077 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
3079         * doc/xml/manual/parallel_mode.xml: Update for libgomp being
3080         renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
3081         Multi Processing Runtime Library".
3083 2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
3085         PR libstdc++/64476
3086         * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
3087         is_assignable arguments.
3088         * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
3089         New.
3091 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
3093         * libsupc++/unwind-cxx.h: Revert previous commit.
3095 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
3097         * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
3099 2015-01-09  Tim Shen  <timshen@google.com>
3101         PR libstdc++/64239
3102         * include/bits/regex.h (match_results<>::swap): Use std::swap
3103         instead of swap.
3104         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
3105         Likewise.
3106         * testsuite/28_regex/match_results/swap.cc: New testcase.
3108 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
3110         PR libstdc++/60132
3111         * include/std/type_traits (has_trivial_default_constructor,
3112         has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
3113         attribute.
3114         * testsuite/20_util/has_trivial_copy_assign/requirements/
3115         explicit_instantiation.cc: Use -Wno-deprecated.
3116         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
3117         Likewise.
3118         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
3119         * testsuite/20_util/has_trivial_copy_constructor/requirements/
3120         explicit_instantiation.cc: Likewise.
3121         * testsuite/20_util/has_trivial_copy_constructor/requirements/
3122         typedefs.cc: Likewise.
3123         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
3124         * testsuite/20_util/has_trivial_default_constructor/requirements/
3125         explicit_instantiation.c: Likewise.
3126         * testsuite/20_util/has_trivial_default_constructor/requirements/
3127         typedefs.cc: Likewise.
3128         * testsuite/20_util/has_trivial_default_constructor/value.cc:
3129         Likewise.
3130         * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
3131         trait.
3132         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
3133         * testsuite/util/testsuite_common_types.h: Likewise.
3135 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
3137         * include/bits/hashtable_policy.h: Use __bool_constant.
3139 2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
3141         * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
3142         * libsupc++/Makefile.in: Regenerate.
3144 2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
3146         * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
3148 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
3150         Update copyright years.
3152 2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
3154         PR libstdc++/64483
3155         * testsuite/18_support/exception_ptr/64241.cc: Use
3156         dg-require-atomic-builtins.
3158 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
3160         * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
3161         date.
3163 2015-01-02  Tim Shen  <timshen@google.com>
3165         PR libstdc++/64475
3166         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
3167         iterator, since the original one shouldn't be mutated.
3169 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3171         PR libstdc++/64422
3172         * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
3173         (string::insert): Likewise.
3174         (string::replace): Likewise.
3175         (wstring::erase): Likewise.
3176         (wstring::insert): Likewise.
3177         (wstring::replace): Likewise.
3178         * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
3180 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
3182         PR libstdc++/64468
3183         * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
3185 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
3187         PR libstdc++/64438
3188         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
3189         Revert removal of dg-require-string-conversions.
3190         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3191         Likewise.
3192         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3193         Likewise.
3194         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3195         Likewise.
3196         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3197         Likewise.
3198         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
3199         Likewise.
3200         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
3201         Likewise.
3202         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3203         Likewise.
3204         * testsuite/21_strings/basic_string/numeric_conversions/char/
3205         stoull.cc: Likewise.
3206         * testsuite/21_strings/basic_string/numeric_conversions/char/
3207         to_string.cc: Likewise.
3209 Copyright (C) 2015 Free Software Foundation, Inc.
3211 Copying and distribution of this file, with or without modification,
3212 are permitted in any medium without royalty provided the copyright
3213 notice and this notice are preserved.