1 2017-10-10 Release Manager
5 2017-09-13 Jonathan Wakely <jwakely@redhat.com>
7 * testsuite/20_util/reference_wrapper/80504.cc: Do not use invalid
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.
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.
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>
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>
44 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
45 * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
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>
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
70 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
72 Backport from mainline
73 2017-08-31 Jonathan Wakely <jwakely@redhat.com>
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>
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>
93 * include/bits/stl_stack.h: Fix typo.
95 Backport from mainline
96 2017-07-10 Jonathan Wakely <jwakely@redhat.com>
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
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
141 2017-06-07 Jonathan Wakely <jwakely@redhat.com>
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>
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>
178 * include/experimental/bits/fs_dir.h (directory_iterator)
179 (recursive_directory_iterator): Remove noexcept from defaulted
182 Backport from mainline
183 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
185 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
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>
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>
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
210 * doc/html/*: Regenerate.
212 Backport from mainline
213 2016-12-21 Jonathan Wakely <jwakely@redhat.com>
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
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>
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>
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
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>
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
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>
281 * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp
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
287 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
290 Backport from mainline
291 2017-03-15 Jonathan Wakely <jwakely@redhat.com>
294 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
296 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
299 Backport from mainline
300 2015-11-17 Jonathan Wakely <jwakely@redhat.com>
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>
335 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
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.
356 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on
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.
375 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
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>
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>
398 * include/bits/ios_base.h (make_error_code, make_error_condition):
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>
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>
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>
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>
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>
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>
467 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
469 (_Iter_comp_to_iter): Likewise.
470 * testsuite/25_algorithms/search/78346.cc: New test.
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
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:
481 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
484 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
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.
492 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
494 Backport from mainline
495 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
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>
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
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>
527 * include/std/thread (thread(const thread&&)): Add deleted
529 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
531 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
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>
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
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
595 * include/experimental/bits/fs_path.h (__is_path_src)
596 (_S_range_begin, _S_range_end): Overload to treat string_view as a
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
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.
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
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
634 (last_write_time(const path&, file_time_type, error_code&)): Handle
635 negative times correctly.
636 (permissions(const path&, perms, error_code&)): Handle
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
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:
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:
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.
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
766 2016-11-22 Uros Bizjak <ubizjak@gmail.com>
768 * testsuite/Makefile.am
769 (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection
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>
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>
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
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
876 2016-10-17 Jonathan Wakely <jwakely@redhat.com>
878 Backport from mainline:
879 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
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>
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>
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>
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.
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:
929 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
931 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
933 * testsuite/23_containers/set/cons/noexcept_default_construct.cc:
936 2016-10-03 Jonathan Wakely <jwakely@redhat.com>
940 * config/abi/pre/gnu-versioned-namespace.ver: Add export for
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
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>
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
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>
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.
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>
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:
1039 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1041 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1043 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1045 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1047 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1050 Backport from mainline
1051 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
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
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>
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
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>
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:
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:
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:
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:
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>
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:
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>
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>
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>
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>
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>
1218 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1219 * testsuite/experimental/filesystem/operations/create_directory.cc:
1222 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1224 Backport from mainline
1225 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
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>
1239 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
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>
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>
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
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>
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>):
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>
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>
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
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>
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>
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>
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>
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>
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
1378 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
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.
1386 * include/std/functional (_Function_handler::_M_invoke): Qualify
1388 * testsuite/20_util/function/68995.cc: New.
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>
1406 * include/std/functional (_Bind::operator()): Use lvalue functor to
1408 * testsuite/20_util/bind/68912.cc: New.
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>
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:
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
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>
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>
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>
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>
1619 * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
1621 * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
1623 * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
1624 * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
1626 2015-11-10 Jonathan Wakely <jwakely@redhat.com>
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>
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.
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
1692 (recursive_directory_iterator::increment): Pass _M_options to
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:
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:
1708 * testsuite/experimental/filesystem/operations/exists.cc: Add more
1710 * testsuite/experimental/filesystem/operations/absolute.cc: Add test
1712 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1713 * testsuite/experimental/filesystem/operations/current_path.cc:
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:
1719 * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
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>
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
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:
1741 * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
1743 * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
1747 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
1749 * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
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:
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.
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>
1780 * include/bits/range_access.h (valarray, begin, end): Declare.
1781 * testsuite/26_numerics/valarray/range_access.cc: Test const
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>
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>
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>
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
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:
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:
1883 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1885 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
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:
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:
1896 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1898 * testsuite/experimental/filesystem/path/modifiers/
1899 replace_extension.cc: New.
1900 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1902 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
1903 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
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:
1910 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1912 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
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>
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:
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>
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>
1986 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
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):
1996 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
1997 missing constructors.
1998 * include/debug/unordered_set (unordered_set, unordered_multiset):
2000 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
2001 missing constructors.
2002 * include/profile/unordered_set (unordered_set, unordered_multiset):
2004 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
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>
2017 * include/std/unordered_map (unordered_map, unordered_multimap): Add
2018 missing constructors.
2019 * include/std/unordered_set (unordered_set, unordered_multiset):
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>
2032 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
2035 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
2038 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
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.
2050 * include/bits/stl_algobase.h (__fill_a): Check length before calling
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
2079 * doc/xml/manual/using.xml: Likewise. Improve markup.
2080 * doc/html/*: Regenerate.
2082 2015-06-08 Jonathan Wakely <jwakely@redhat.com>
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.
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>
2104 * include/profile/array (array::data): Use _S_ptr.
2105 * include/debug/array (array::data): Likewise.
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:
2116 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
2117 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
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>
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
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
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
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>
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>
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):
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>
2243 * config/abi/pre/gnu.ver: Export base object constructors for
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
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:
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
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>
2326 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
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>
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>
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>
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>
2374 * include/std/thread (this_thread::sleep_for): Check for negative
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>
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>
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>
2400 * testsuite/21_strings/basic_string/pthread33394.cc: Use
2401 dg-additional-options.
2403 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
2406 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
2408 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
2410 * testsuite/27_io/rvalue_streams-2.cc: New.
2412 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
2415 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
2417 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
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>
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>
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
2479 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
2481 * libsupc++/nested_exception.h: Do not try to derive from final
2483 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
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
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
2505 2015-03-10 Tim Shen <timshen@google.com>
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
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:
2521 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
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
2534 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
2536 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
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>
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):
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>
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
2573 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
2575 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
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>
2586 * include/std/stdexcept (__sso_string): Don't use non-static member
2589 2015-02-28 Matthias Klose <doko@ubuntu.com>
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>
2602 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
2605 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
2607 * doc/html/manual/status.html: Regenerate.
2609 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
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>
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
2631 (utf16_in): Pass mode argument to write_utf16_code_point.
2632 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
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>
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>
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>
2677 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
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
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
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>
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>
2749 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
2751 (pool::allocate): Adjust allocation size and alignment to
2753 (pool::free): Adjust pointer offsetting.
2755 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
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>
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>
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>
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
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>
2812 * include/bits/regex.h (basic_regex<>::basic_regex,
2813 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
2815 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
2817 2015-01-22 Tim Shen <timshen@google.com>
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>
2841 * include/experimental/optional (bad_optional_access): Add default
2843 * testsuite/experimental/optional/requirements.cc: Test for default
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
2876 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
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>
2895 * include/std/atomic (atomic_init): Define.
2896 * testsuite/29_atomics/atomic/64658.cc: New.
2898 2015-01-19 Tim Shen <timshen@google.com>
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>
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>
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>
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>
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/
2971 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2974 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
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>
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:
2997 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
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:
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:
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
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
3063 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
3066 * config/abi/pre/gnu.ver: Export fstream functions using new string.
3068 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
3071 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
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>
3086 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
3087 is_assignable arguments.
3088 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
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>
3102 * include/bits/regex.h (match_results<>::swap): Use std::swap
3104 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
3106 * testsuite/28_regex/match_results/swap.cc: New testcase.
3108 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
3111 * include/std/type_traits (has_trivial_default_constructor,
3112 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
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:
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:
3130 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
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>
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
3163 2015-01-02 Tim Shen <timshen@google.com>
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>
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>
3183 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
3185 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
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:
3192 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3194 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3196 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3198 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
3200 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
3202 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
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.