12017-10-10 Release Manager 2 3 * GCC 5.5.0 released. 4 52017-09-13 Jonathan Wakely <jwakely@redhat.com> 6 7 * testsuite/20_util/reference_wrapper/80504.cc: Do not use invalid 8 effective-target. 9 * testsuite/22_locale/conversions/buffer/2.cc: Likewise. 10 * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: Likewise. Fix 11 use of test_container. 12 13 PR libstdc++/81468 14 * include/std/chrono (time_point(const time_point<_Dur2>&)): Add 15 missing constraint from LWG DR 1177. 16 * testsuite/20_util/duration/cons/dr1177.cc: New. 17 * testsuite/20_util/time_point/cons/81468.cc: New. 18 * testsuite/20_util/duration/literals/range.cc: Update dg-error line. 19 20 * doc/doxygen/mainpage.html: Fix broken URLs. 21 22 PR libstdc++/81835 23 * doc/xml/manual/extensions.xml: Replace unstable URL. 24 * doc/html/manual/ext_demangling.html: Regenerate. 25 * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. 26 272017-09-04 Jonathan Wakely <jwakely@redhat.com> 28 29 Backport from mainline 30 2017-08-09 Jonathan Wakely <jwakely@redhat.com> 31 32 PR libstdc++/79820 33 PR libstdc++/81751 34 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): 35 Call fflush on the stream instead of calling sync() while _M_cfile is 36 null. Restore original value of errno. 37 * testsuite/ext/stdio_filebuf/char/79820.cc: New. 38 * testsuite/ext/stdio_filebuf/char/81751.cc: New. 39 40 Backport from mainline 41 2017-07-25 Jonathan Wakely <jwakely@redhat.com> 42 43 PR libstdc++/53984 44 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. 45 * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions 46 during construction. 47 * include/std/istream: Adjust comments for formatted input functions 48 and unformatted input functions. 49 * testsuite/27_io/basic_fstream/53984.cc: New. 50 * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. 51 52 Backport from mainline 53 2017-06-08 Jonathan Wakely <jwakely@redhat.com> 54 55 PR libstdc++/81017 56 * include/std/functional (function::function(function&&)) 57 (function::operator=(function&&)): Add noexcept. 58 * testsuite/20_util/function/assign/move.cc: Check for noexcept. 59 * testsuite/20_util/function/cons/move.cc: Likewise. 60 61 Backport from mainline 62 2017-06-05 Jonathan Wakely <jwakely@redhat.com> 63 64 * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) 65 (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept 66 specifiers as per LWG 2873 and LWG 2942. 67 * testsuite/20_util/owner_less/noexcept.cc: New. 68 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test 69 noexcept guarantees. 70 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. 71 72 Backport from mainline 73 2017-08-31 Jonathan Wakely <jwakely@redhat.com> 74 75 PR c++/82039 76 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): 77 Adjust null pointer constant to avoid warning. 78 79 Backport from mainline 80 2017-08-18 Jonathan Wakely <jwakely@redhat.com> 81 82 PR libstdc++/81891 83 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, 84 size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, 85 const _ExtractKey&, const allocator_type&)): Let destructor do clean 86 up if an exception is thrown. 87 * testsuite/23_containers/unordered_map/cons/81891.cc: New. 88 89 Backport from mainline 90 2017-07-31 Marek Polacek <polacek@redhat.com> 91 92 PR libstdc++/81599 93 * include/bits/stl_stack.h: Fix typo. 94 95 Backport from mainline 96 2017-07-10 Jonathan Wakely <jwakely@redhat.com> 97 98 PR libstdc++/81338 99 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 100 Declare basic_stringbuf to be a friend. 101 * include/bits/sstream.tcc (basic_stringbuf::overflow) 102 [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. 103 * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string 104 length to buffer length. 105 * testsuite/27_io/basic_stringstream/assign/81338.cc: New. 106 1072017-09-01 Jonathan Wakely <jwakely@redhat.com> 108 109 Backport from mainline 110 2016-10-06 Jonathan Wakely <jwakely@redhat.com> 111 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. 125 1262017-06-16 Jonathan Wakely <jwakely@redhat.com> 127 128 * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. 129 * testsuite/22_locale/conversions/buffer/2.cc: New. 130 131 * doc/xml/manual/appendix_contributing.xml: Link to the list of bad 132 names, and link to the test docs and note higher DejaGnu version 133 requirement. 134 * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. 135 * doc/xml/manual/mt_allocator.xml: Likewise. 136 * doc/html/*: Regenerate. 137 138 * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing 139 return statement. 140 1412017-06-07 Jonathan Wakely <jwakely@redhat.com> 142 143 PR libstdc++/81002 144 * include/bits/regex_compiler.h (__compile_nfa): Add template argument 145 list to specify traits type. 146 * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. 147 1482017-05-18 Jonathan Wakely <jwakely@redhat.com> 149 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. 159 160 Backport from mainline 161 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 162 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. 166 167 Backport from mainline 168 2017-04-24 Jonathan Wakely <jwakely@redhat.com> 169 170 PR libstdc++/80504 171 * include/std/functional (ref, cref): Qualify calls. 172 * testsuite/20_util/reference_wrapper/80504.cc: New test. 173 174 Backport from mainline 175 2017-04-19 Jonathan Wakely <jwakely@redhat.com> 176 177 PR libstdc++/80448 178 * include/experimental/bits/fs_dir.h (directory_iterator) 179 (recursive_directory_iterator): Remove noexcept from defaulted 180 constructors. 181 182 Backport from mainline 183 2017-04-03 Jonathan Wakely <jwakely@redhat.com> 184 185 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests 186 that no longer fail. 187 188 Backport from mainline 189 2017-04-03 Jonathan Wakely <jwakely@redhat.com> 190 191 * include/bits/ios_base.h: Correct comment. 192 * testsuite/util/testsuite_hooks.h: Likewise. 193 194 Backport from mainline 195 2017-03-16 Jonathan Wakely <jwakely@redhat.com> 196 197 PR libstdc++/67440 198 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name 199 for GDB 7.6 compatibility, use gdb.Type.unqualified instead. 200 201 Backport from mainline 202 2017-01-17 Jonathan Wakely <jwakely@redhat.com> 203 204 PR libstdc++/69699 205 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the 206 _GLIBCXX__ macro is not useful. Remove redundant date information 207 and link to the GCC release timeline. 208 (abi.versioning.active): Move partial sentence into the previous 209 paragraph. 210 * doc/html/*: Regenerate. 211 212 Backport from mainline 213 2016-12-21 Jonathan Wakely <jwakely@redhat.com> 214 215 PR libstdc++/71444 216 * config/os/mingw32-w64/error_constants.h 217 (address_family_not_supported, address_in_use, address_not_available) 218 (already_connected, connection_aborted, connection_already_in_progress) 219 connection_refused, connection_reset, cross_device_link) 220 (destination_address_required, host_unreachable, message_size) 221 (network_down, network_reset, network_unreachable, no_buffer_space) 222 (no_protocol_option, not_a_socket, not_connected, operation_canceled) 223 (operation_in_progress, operation_not_supported, protocol_error) 224 (protocol_not_supported, too_many_links, too_many_symbolic_link_levels) 225 (value_too_large, wrong_protocol_type): Define. 226 (bad_message, identifier_removed, no_link, no_message_available) 227 (no_message, no_stream_resources, not_a_stream, owner_dead) 228 (state_not_recoverable, stream_timeout, text_file_busy): Define 229 conditionally. 230 * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: 231 Guard test for no_message with _GLIBCXX_HAVE_ENOMSG. 232 233 Backport from mainline 234 2016-11-09 Tim Shen <timshen@google.com> 235 236 PR libstdc++/78236 237 * libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()): 238 Define end() as _M_pregex == nullptr. 239 * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(), 240 regex_iterator::operator++()): Fix operator==() and operator++() to 241 look at null-ness of _M_pregex on both sides. 242 * testsuite/28_regex/regression.cc: New testcase. 243 244 Backport from mainline 245 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 246 247 PR libstdc++/59170 248 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) 249 (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) 250 (StdRbtreeIteratorPrinter.to_string) 251 (StdDequeIteratorPrinter.to_string): Add check for value-initialized 252 iterators. 253 * testsuite/libstdc++-prettyprinters/simple.cc: Test them. 254 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 255 256 Backport from mainline 257 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 258 259 PR libstdc++/59161 260 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) 261 (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) 262 (StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string) 263 (StdDebugIteratorPrinter.to_string): Return string instead of 264 gdb.Value. 265 * testsuite/libstdc++-prettyprinters/59161.cc: New test. 266 267 Backport from mainline 268 2016-10-11 Jonathan Wakely <jwakely@redhat.com> 269 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. 274 2752017-05-17 Jonathan Wakely <jwakely@redhat.com> 276 277 Backport from mainline 278 2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 279 280 PR libstdc++/62045 281 * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp 282 (is_heap): Remove. 283 (push_heap): Remove the wrong checking using is_heap. 284 (make_heap): Remove the assertion using is_heap. 285 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp 286 (modify): Ditto. 287 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after 288 calling make_heap. 289 290 Backport from mainline 291 2017-03-15 Jonathan Wakely <jwakely@redhat.com> 292 293 PR libstdc++/62045 294 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 295 New test. 296 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste 297 error in comment. 298 299 Backport from mainline 300 2015-11-17 Jonathan Wakely <jwakely@redhat.com> 301 302 PR libstdc++/66059 303 * include/std/utility (_Build_index_tuple): Optimise. 304 3052017-03-17 Jonathan Wakely <jwakely@redhat.com> 306 307 Backport from mainline 308 2017-03-17 Jonathan Wakely <jwakely@redhat.com> 309 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. 330 331 Backport from mainline 332 2017-03-16 Jonathan Wakely <jwakely@redhat.com> 333 334 PR libstdc++/79980 335 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. 336 337 PR libstdc++/80041 338 * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) 339 (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to 340 char16_t to work with UTF-16 instead of UTF-8. 341 * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. 342 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. 354 355 PR libstdc++/79980 356 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on 357 error path. 358 * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads 359 for manipulating codecvt_mode values. 360 (read_utf16_bom): Compare input to BOM constants instead of integral 361 constants that depend on endianness. Take mode parameter by 362 reference and adjust it, to distinguish between no BOM present and 363 UTF-16BE BOM present. 364 (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. 365 (surrogates): New enumeration type. 366 (utf16_in, utf16_out): Add surrogates parameter to choose between 367 UTF-16 and UCS2 behaviour. 368 (utf16_span, ucs2_span): Use std::min not std::max. 369 (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. 370 (ucs2_in): Likewise. Adjust calls to read_utf16_bom. 371 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. 372 * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. 373 374 PR libstdc++/79511 375 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff 376 as a surrogate pair. 377 (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness 378 for internal representation. 379 (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. 380 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. 381 3822017-03-14 Jonathan Wakely <jwakely@redhat.com> 383 384 * testsuite/17_intro/names.cc: Undefine macros that clash with 385 identifiers in AIX system headers. 386 3872017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 388 389 PR libstdc++/80034 390 * include/bits/list.tcc (merge(list&&)): Use const for the size_t 391 in the function and in the catch-block, qualify uses of std::distance. 392 (merge(list&&, _StrictWeakOrdering)): Likewise. 393 * testsuite/23_containers/list/operations/80034.cc: New. 394 3952017-03-02 Jonathan Wakely <jwakely@redhat.com> 396 397 PR libstdc++/79789 398 * include/bits/ios_base.h (make_error_code, make_error_condition): 399 Likewise. 400 * include/bits/mask_array.h (mask_array): Likewise. 401 * include/bits/regex.h (regex_token_iterator): Likewise. 402 * include/bits/slice_array.h (slice_array): Likewise. 403 * include/std/memory (undeclare_no_pointers): Likewise. 404 * testsuite/17_intro/names.cc: New test. 405 4062017-02-14 Jonathan Wakely <jwakely@redhat.com> 407 408 Backport from mainline 409 2017-01-20 Jonathan Wakely <jwakely@redhat.com> 410 411 PR libstdc++/69321 412 * include/experimental/any (__any_caster): Avoid instantiating 413 manager function for types that can't be stored in any. 414 * testsuite/experimental/any/misc/any_cast.cc: Test non-copyable type. 415 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 416 417 Backport from mainline 418 2017-01-18 Jonathan Wakely <jwakely@redhat.com> 419 420 PR libstdc++/69301 421 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use 422 aligned buffer instead of default-initialized variable. 423 * testsuite/29_atomics/atomic/69301.cc: New test. 424 * include/ext/pointer.h (_Pointer_adapter::operator++(int)) 425 (_Pointer_adapter::operator--(int)): Likewise. 426 427 Backport from mainline 428 2017-01-16 Jonathan Wakely <jwakely@redhat.com> 429 430 PR libstdc++/78702 431 * include/bits/locale_classes.h (locale::facet::__shim): Change from 432 private to protected. 433 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to 434 make locale::facet::__shim accessible. 435 436 Backport from mainline 437 2017-01-11 Jonathan Wakely <jwakely@redhat.com> 438 439 PR libstdc++/78134 440 * include/bits/stl_map.h (map::lower_bound, map::upper_bound) 441 (map::equal_range): Fix return type of heterogeneous overloads. 442 * include/bits/stl_multimap.h (multimap::lower_bound) 443 (multimap::upper_bound, multimap::equal_range): Likewise. 444 * include/bits/stl_multiset.h (multiset::lower_bound) 445 (multiset::upper_bound, multiset::equal_range): Likewise. 446 * include/bits/stl_set.h (set::lower_bound, set::upper_bound) 447 (set::equal_range): Likewise. 448 * testsuite/23_containers/map/operations/2.cc: Check return types. 449 * testsuite/23_containers/multimap/operations/2.cc: Likewise. 450 * testsuite/23_containers/multiset/operations/2.cc: Likewise. 451 * testsuite/23_containers/set/operations/2.cc: Likewise. 452 453 Backport from mainline 454 2017-01-11 Jonathan Wakely <jwakely@redhat.com> 455 456 PR libstdc++/78273 457 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume 458 the heterogeneous comparison can only find one match. 459 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. 460 * testsuite/23_containers/map/operations/2.cc: Test count works with 461 comparison function that just partitions rather than sorting. 462 * testsuite/23_containers/set/operations/2.cc: Likewise. 463 4642017-02-01 Jonathan Wakely <jwakely@redhat.com> 465 466 PR libstdc++/78346 467 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator 468 not its referent. 469 (_Iter_comp_to_iter): Likewise. 470 * testsuite/25_algorithms/search/78346.cc: New test. 471 472 PR libstdc++/79254 473 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 474 (basic_string::operator=(const basic_string&)): If source object is 475 small just deallocate, otherwise perform new allocation before 476 making any changes. 477 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 478 Test exception-safety of copy assignment when allocator propagates. 479 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 480 Likewise. 481 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make 482 std::swap visible. 483 4842017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 485 486 Merge from mainline 487 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com> 488 489 * doc/xml/faq.xml: Update address of C++ ABI link. 490 * doc/xml/manual/abi.xml: Ditto. 491 4922017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 493 494 Backport from mainline 495 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 496 497 PR libstdc++/78389 498 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. 499 (merge(list&&, _StrictWeakOrdering)): Likewise. 500 * testsuite/23_containers/list/operations/78389.cc: Add 501 better test for the sizes. 502 5032017-01-15 Ville Voutilainen <ville.voutilainen@gmail.com> 504 505 Backport from mainline 506 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> 507 508 PR libstdc++/78389 509 * include/bits/list.tcc (merge(list&&)): 510 Adjust list sizes if the comparator throws. 511 (merge(list&&, _StrictWeakOrdering)): Likewise. 512 * testsuite/23_containers/list/operations/78389.cc: New. 513 5142017-01-09 Jonathan Wakely <jwakely@redhat.com> 515 516 * testsuite/30_threads/thread/cons/lwg2097.cc: Compile with 517 -std=gnu++11. 518 519 * testsuite/25_algorithms/sort/78991.cc: Compile with -std=gnu++14. 520 5212017-01-06 Jonathan Wakely <jwakely@redhat.com> 522 523 Backport from mainline 524 2017-01-03 Jonathan Wakely <jwakely@redhat.com> 525 526 PR libstdc++/78956 527 * include/std/thread (thread(const thread&&)): Add deleted 528 constructor. 529 * testsuite/30_threads/thread/cons/lwg2097.cc: New test. 530 5312017-01-06 Jonathan Wakely <jwakely@redhat.com> 532 533 PR libstdc++/78991 534 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) 535 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) 536 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit. 537 * testsuite/25_algorithms/sort/78991.cc: New test. 538 5392016-12-19 Ville Voutilainen <ville.voutilainen@gmail.com> 540 541 Backport from mainline 542 2016-12-19 Ville Voutilainen <ville.voutilainen@gmail.com> 543 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. 548 5492016-12-13 Jonathan Wakely <jwakely@redhat.com> 550 551 Backport from mainline 552 2016-10-26 Uros Bizjak <ubizjak@gmail.com> 553 554 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h> 555 for PATH_MAX in realpath test. 556 * configure: Regenerate. 557 558 Backport from mainline 559 2016-05-25 Jonathan Wakely <jwakely@redhat.com> 560 561 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. 562 * configure: Regenerate. 563 * config.h.in: Regenerate. 564 5652016-12-12 Jonathan Wakely <jwakely@redhat.com> 566 567 Backport from mainline 568 2016-12-07 Jonathan Wakely <jwakely@redhat.com> 569 570 * testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations. 571 * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test. 572 5732016-12-12 Jonathan Wakely <jwakely@redhat.com> 574 575 Backport from mainline 576 2016-11-22 Jonathan Wakely <jwakely@redhat.com> 577 578 PR libstdc++/78465 579 * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests 580 with preprocessor conditions. 581 5822016-12-12 Jonathan Wakely <jwakely@redhat.com> 583 584 Backport from mainline 585 PR libstdc++/70975 586 PR libstdc++/71337 587 PR libstdc++/78111 588 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): 589 Overload pop (LWG 2706). 590 * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks): 591 Replace with symlink_nofollow (LWG 2720). 592 * include/experimental/bits/fs_ops.h 593 (exists(const path&, error_code&)): Clear error if status is known 594 (LWG 2725). 595 * include/experimental/bits/fs_path.h (__is_path_src) 596 (_S_range_begin, _S_range_end): Overload to treat string_view as a 597 Source object. 598 (path::operator+=, path::compare): Overload for basic_string_view. 599 (path::path(string_type&&)) 600 (path::operator=(string&&), path::assign(string_type&&)): Define 601 construction and assignment from string_type rvalues (LWG 2707). 602 (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from 603 iterator's value_type. 604 (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise. 605 Do not use operation not supported by input iterators. 606 (path::__is_path_iter_src): Add partial specialization for const 607 encoded character types. 608 * src/filesystem/dir.cc (open_dir): Return same value for errors 609 whether ignored or not. 610 (_Dir::advance(error_code*, directory_options)): Return false on 611 error. 612 (directory_iterator(const path&, directory_options, error_code*)): 613 Create end iterator on error (LWG 2723). 614 (recursive_directory_iterator(const path&, directory_options, 615 error_code*)): Likewise. 616 (recursive_directory_iterator::increment): Reset state on error. 617 (recursive_directory_iterator::pop): Define new overload. 618 * src/filesystem/ops.cc (canonical): Set error for non-existent path. 619 (file_time): Take error_code parameter and check for overflow. 620 (close_fd): Remove. 621 (do_copy_file): Report an error if source or destination is not a 622 regular file (LWG 2712). Pass error_code in file_time calls. Just 623 use close(3) instead of close_fd, to prevent retrying on error. 624 Check if _GLIBCXX_USE_FCHMODAT is defined. 625 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case 626 sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to 627 sendfile for offset argument. 628 (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683 629 resolutions. 630 (equivalent): Fix error handling and result when only one file exists. 631 (is_empty): Fix error handling. 632 (last_write_time(const path&, error_code&)): Pass error_code in 633 file_time calls. 634 (last_write_time(const path&, file_time_type, error_code&)): Handle 635 negative times correctly. 636 (permissions(const path&, perms, error_code&)): Handle 637 symlink_nofollow. 638 (read_symlink): Add missing ec.clear(). 639 (status(const path&, error_code&)): Handle EOVERFLOW. 640 (temp_directory_path): Pass error_code argument to other filesystem 641 operations. 642 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 643 Update expected behaviour on error. 644 * testsuite/experimental/filesystem/iterators/pop.cc: New. 645 * testsuite/experimental/filesystem/iterators/ 646 recursive_directory_iterator.cc: Update expected behaviour on error. 647 * testsuite/experimental/filesystem/operations/copy.cc: Update 648 expected behaviour for copying directories with create_symlinks. 649 Verify that error_code arguments are cleared if there's no error. 650 Remove files created by tests. Test copying directories. 651 * testsuite/experimental/filesystem/operations/copy_file.cc: Remove 652 files created by tests. 653 * testsuite/experimental/filesystem/operations/create_symlink.cc: New. 654 * testsuite/experimental/filesystem/operations/equivalent.cc: New. 655 * testsuite/experimental/filesystem/operations/exists.cc: Test 656 overload taking an error_code. 657 * testsuite/experimental/filesystem/operations/is_empty.cc: New. 658 * testsuite/experimental/filesystem/operations/last_write_time.cc: 659 New. 660 * testsuite/experimental/filesystem/operations/permissions.cc: Test 661 overload taking error_code. Test symlink_nofollow on non-symlinks. 662 * testsuite/experimental/filesystem/operations/read_symlink.cc: New. 663 * testsuite/experimental/filesystem/operations/remove_all.cc: New. 664 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 665 Add testcase for inaccessible directory. 666 * testsuite/experimental/filesystem/path/construct/range.cc: Test 667 construction from input iterators with const value types. 668 * testsuite/experimental/filesystem/path/construct/string_view.cc: 669 New. 670 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. 671 6722016-12-07 Ville Voutilainen <ville.voutilainen@gmail.com> 673 674 Backport from mainline 675 2016-12-06 Ville Voutilainen <ville.voutilainen@gmail.com> 676 677 Constrain optional's __constexpr_addressof in its return type 678 and use a constexpr addressof for optional, if available. 679 * include/experimental/optional (__constexpr_addressof): 680 Constrain in the return type instead of in a template parameter. 681 (_Has_addressof_mem) 682 (_Has_addressof_free, _Has_addressof, __constexpr_addressof): 683 Guard with #ifndef __cpp_lib_addressof_constexpr. 684 (operator->()): Use std::__addressof if it's constexpr. 685 6862016-12-06 Aditya Kumar <hiraditya@msn.com> 687 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. 691 6922016-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 693 694 Backport from mainline 695 2016-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 696 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. 703 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. 759 7602016-11-23 Jonathan Wakely <jwakely@redhat.com> 761 762 * testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to 763 C++14 std::rbegin and std::rend. Use dg-options instead of 764 effective-target. 765 7662016-11-22 Uros Bizjak <ubizjak@gmail.com> 767 768 * testsuite/Makefile.am 769 (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection 770 of -j argument. 771 * testsuite/Makefile.in: Regenereate. 772 7732016-11-15 Jonathan Wakely <jwakely@redhat.com> 774 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. 818 8192016-10-20 Jonathan Wakely <jwakely@redhat.com> 820 821 PR libstdc++/78052 822 * include/bits/allocator.h (allocator<void>::construct) 823 (allocator<void>::destroy): Define. 824 * testsuite/20_util/allocator/void.cc: New test. 825 8262016-10-19 Jonathan Wakely <jwakely@redhat.com> 827 828 PR libstdc++/77990 829 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set 830 pointer member after value-initialization of tuple. 831 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors. 832 * testsuite/20_util/unique_ptr/cons/77990.cc: New test. 833 8342016-10-17 Jonathan Wakely <jwakely@redhat.com> 835 836 Backport from mainline: 837 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 838 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. 843 844 Backport from mainline: 845 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 846 847 * doc/xml/manual/appendix_contributing.xml (contrib.organization): 848 Describe other subdirectories and add markup. Remove outdated 849 reference to check-script target. 850 8512016-10-17 Jonathan Wakely <jwakely@redhat.com> 852 853 Backport from mainline: 854 2016-10-13 Jonathan Wakely <jwakely@redhat.com> 855 856 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY 857 instead of assert. 858 8592016-10-17 Jonathan Wakely <jwakely@redhat.com> 860 861 Backport from mainline: 862 2016-10-11 Jonathan Wakely <jwakely@redhat.com> 863 864 * include/experimental/string_view (basic_string_view::_S_compare): 865 Remove redundant const from return type. 866 8672016-10-17 Jonathan Wakely <jwakely@redhat.com> 868 869 Backport from mainline: 870 2016-10-13 Jonathan Wakely <jwakely@redhat.com> 871 872 * include/experimental/functional (boyer_moore_searcher) 873 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers 874 with _GLIBCXX_STD_C. 875 8762016-10-17 Jonathan Wakely <jwakely@redhat.com> 877 878 Backport from mainline: 879 2016-08-22 Jonathan Wakely <jwakely@redhat.com> 880 881 PR libstdc++/77322 882 * doc/xml/manual/intro.xml: Document DR 2062 change. 883 * include/std/functional (function::swap): Add noexcept. 884 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise. 885 * testsuite/20_util/function/77322.cc: New test. 886 8872016-10-17 Jonathan Wakely <jwakely@redhat.com> 888 889 Backport from mainline: 890 2016-08-17 Jonathan Wakely <jwakely@redhat.com> 891 892 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do 893 directive and use effective target instead of dg-options. 894 8952016-10-17 Jonathan Wakely <jwakely@redhat.com> 896 897 Backport from mainline: 898 2016-08-06 Jonathan Wakely <jwakely@redhat.com> 899 900 PR libstdc++/72820 901 * include/std/functional (_Function_base::_Base_manager::_M_clone): 902 Qualify new operator. 903 * testsuite/20_util/function/cons/72820.cc: New test. 904 9052016-10-17 Jonathan Wakely <jwakely@redhat.com> 906 907 PR libstdc++/77994 908 * include/experimental/algorithm (experimental::sample): Convert size 909 argument to iterator difference type. Fix invalid use of input 910 iterator. Defend against overloaded comma operator. 911 9122016-10-05 Jonathan Wakely <jwakely@redhat.com> 913 914 PR libstdc++/70564 915 * include/experimental/functional (_Not_fn): Add second parameter to 916 disambiguate copying from initialization by not_fn. 917 (not_fn): Add second argument to initialization. 918 * testsuite/experimental/functional/not_fn.cc: Copy call wrapper using 919 direct-initialization. Test abstract class. 920 921 PR libstdc++/77864 922 * include/bits/stl_map.h (map::map()): Use nothrow constructibility 923 of comparison function in conditional noexcept. 924 * include/bits/stl_multimap.h (multimap::multimap()): Likewise. 925 * include/bits/stl_multiset.h (multiset::multiset()): Likewise. 926 * include/bits/stl_set.h (set::set()): Likewise. 927 * testsuite/23_containers/map/cons/noexcept_default_construct.cc: 928 New test. 929 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc: 930 Likewise. 931 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc: 932 Likewise. 933 * testsuite/23_containers/set/cons/noexcept_default_construct.cc: 934 Likewise. 935 9362016-10-03 Jonathan Wakely <jwakely@redhat.com> 937 938 PR libstdc++/68323 939 PR libstdc++/77794 940 * config/abi/pre/gnu-versioned-namespace.ver: Add export for 941 __cxa_thread_atexit. 942 * include/Makefile.am: Add <experimental/lfts_config.h> 943 * include/Makefile.in: Regenerate. 944 * src/filesystem/Makefile.in: Likewise. 945 * include.bits/basic_string.h: Fix nesting of versioned namespaces. 946 * include/bits/c++config: Declare versioned namespaces for literals. 947 * include/bits/regex.h (basic_regex, match_results): Add workarounds 948 for PR c++/59256. 949 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. 950 * include/std/chrono: Likewise. 951 * include/std/complex: Likewise. 952 * include/experimental/fs_fwd.h: Declare versioned namespace. 953 * include/experimental/lfts_config.h: Declare versioned namespaces. 954 * include/experimental/algorithm: Include 955 <experimental/lfts_config.h>. 956 * include/experimental/any: Likewise. 957 * include/experimental/chrono: Likewise. 958 * include/experimental/functional: Likewise. 959 * include/experimental/optional: Likewise. 960 * include/experimental/ratio: Likewise. 961 * include/experimental/system_error: Likewise. 962 * include/experimental/tuple: Likewise. 963 * include/experimental/type_traits: Likewise. 964 * include/experimental/string_view: Likewise. Fix nesting of 965 versioned namespaces. 966 * include/experimental/string_view.tcc: Reopen inline namespace for 967 non-inline function definitions. 968 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. 969 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. 970 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. 971 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. 972 9732016-09-28 Jonathan Wakely <jwakely@redhat.com> 974 975 PR libstdc++/77686 976 * include/std/functional (_Any_data): Add may_alias attribute. 977 9782016-09-27 Jonathan Wakely <jwakely@redhat.com> 979 980 * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix 981 lifetime of lock. 982 9832016-09-20 Jonathan Wakely <jwakely@redhat.com> 984 985 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) 986 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. 987 9882016-09-19 Jonathan Wakely <jwakely@redhat.com> 989 990 PR libstdc++/77645 991 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) 992 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of 993 division to int to work with Python 3. 994 9952016-08-23 Jonathan Wakely <jwakely@redhat.com> 996 997 * testsuite/23_containers/map/77334.cc: Use dg-options for C++11. 998 999 PR libstdc++/77334 1000 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions. 1001 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign. 1002 Include _Compare in noexcept. 1003 * testsuite/23_containers/map/77334.cc: New test. 1004 10052016-08-23 Jonathan Wakely <jwakely@redhat.com> 1006 1007 * doc/xml/api.xml: Replace hardcoded links for specific versions with 1008 link to docs for all releases. 1009 * doc/html/*: Regenerate. 1010 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. 1015 10162016-08-06 Jonathan Wakely <jwakely@redhat.com> 1017 1018 Backport from mainline 1019 2016-08-05 Jonathan Wakely <jwakely@redhat.com> 1020 1021 * include/std/functional (function::_Callable): Use lvalue in 1022 result_of expression. 1023 * testsuite/20_util/function/cons/refqual.cc: New test. 1024 1025 Backport from mainline 1026 2016-07-22 Jonathan Wakely <jwakely@redhat.com> 1027 1028 PR libstdc++/71964 1029 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. 1030 * testsuite/23_containers/set/allocator/71964.cc: New test. 1031 1032 Backport from mainline 1033 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 1034 1035 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: 1036 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. 1037 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 1038 Likewise. 1039 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 1040 Likewise. 1041 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: 1042 Likewise. 1043 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 1044 Likewise. 1045 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: 1046 Likewise. 1047 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: 1048 Likewise. 1049 1050 Backport from mainline 1051 2016-01-18 Jonathan Wakely <jwakely@redhat.com> 1052 1053 PR libstdc++/69243 1054 * include/std/functional (_Function_base::_M_not_empty_function): 1055 Change overloads for pointers to take arguments by value. 1056 * testsuite/20_util/function/cons/57465.cc: Add tests for 1057 pointer-to-member cases. 1058 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. 1063 1064 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve 1065 comments. 1066 10672016-08-02 Jonathan Wakely <jwakely@redhat.com> 1068 1069 * testsuite/lib/libstdc++.exp (v3-build_support): Add 1070 -fno-lto to additional flags for compiling libtestc++.a objects. 1071 10722016-07-19 Jonathan Wakely <jwakely@redhat.com> 1073 1074 Backport from mainline 1075 2016-06-06 Jonathan Wakely <jwakely@redhat.com> 1076 1077 PR libstdc++/71320 1078 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): 1079 Add or remove permissions according to perms argument. 1080 * testsuite/experimental/filesystem/operations/permissions.cc: New 1081 test. 1082 10832016-07-12 Jonathan Wakely <jwakely@redhat.com> 1084 1085 Backport from mainline 1086 2015-10-02 Jonathan Wakely <jwakely@redhat.com> 1087 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. 1092 1093 Backport from mainline 1094 2015-09-11 Jonathan Wakely <jwakely@redhat.com> 1095 1096 PR libstdc++/58265 1097 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. 1098 * doc/html/manual/bugs.html: Regenerate. 1099 * include/bits/basic_string.h (basic_string): Implement N4258. Add 1100 correct exception-specifications and propagate allocators correctly. 1101 * include/bits/basic_string.tcc (basic_string::swap): Propagate 1102 allocators correctly. 1103 * include/debug/string (__gnu_debug::basic_string): Add correct 1104 exceptions-specifications and allcoator-extended constructors. 1105 * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. 1106 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 1107 New. 1108 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. 1109 * testsuite/21_strings/basic_string/allocator/char/move.cc: New. 1110 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 1111 New. 1112 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. 1113 * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. 1114 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. 1115 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 1116 New. 1117 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. 1118 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. 1119 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 1120 New. 1121 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. 1122 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. 1123 * testsuite/util/testsuite_allocator.h (tracker_allocator): Define 1124 defaulted assignment operators. 1125 11262016-07-08 Jonathan Wakely <jwakely@redhat.com> 1127 1128 Backport from mainline 1129 2015-06-02 Jonathan Wakely <jwakely@redhat.com> 1130 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. 1136 11372016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com> 1138 1139 Backport from mainline 1140 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com> 1141 1142 PR libstdc++/71313 1143 * src/filesystem/ops.cc (remove_all(const path&, error_code&)): 1144 Call remove_all for children of a directory. 1145 * testsuite/experimental/filesystem/operations/create_directories.cc: 1146 Adjust. 1147 11482016-06-03 Release Manager 1149 1150 * GCC 5.4.0 released. 1151 11522016-05-26 Jonathan Wakely <jwakely@redhat.com> 1153 1154 Backport from mainline 1155 2016-04-24 Jonathan Wakely <jwakely@redhat.com> 1156 1157 PR libstdc++/70762 1158 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use 1159 static counter to return a different path on every call. 1160 1161 * testsuite/experimental/filesystem/path/native/string.cc: Add 1162 dg-require-filesystem-ts directive. 1163 11642016-05-25 Jonathan Wakely <jwakely@redhat.com> 1165 1166 Backport from mainline 1167 2016-04-20 Jonathan Wakely <jwakely@redhat.com> 1168 1169 PR libstdc++/69703 1170 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in, 1171 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations. 1172 1173 Backport from mainline 1174 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 1175 1176 PR libstdc++/69703 1177 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)): 1178 Override endianness bit in mode. 1179 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. 1180 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test 1181 that little_endian mode is ignored. 1182 * testsuite/experimental/filesystem/path/native/string.cc: New test. 1183 11842016-05-25 Jonathan Wakely <jwakely@redhat.com> 1185 1186 Backport from mainline 1187 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1188 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. 1194 11952016-05-25 Jonathan Wakely <jwakely@redhat.com> 1196 1197 Backport from mainline 1198 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1199 1200 PR libstdc++/71038 1201 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. 1202 * testsuite/experimental/filesystem/operations/copy_file.cc: New test. 1203 12042016-05-25 Jonathan Wakely <jwakely@redhat.com> 1205 1206 Backport from mainline 1207 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1208 1209 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): 1210 Overload operator* to move from rvalues. 1211 12122016-05-25 Jonathan Wakely <jwakely@redhat.com> 1213 1214 Backport from mainline 1215 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1216 1217 PR libstdc++/71036 1218 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. 1219 * testsuite/experimental/filesystem/operations/create_directory.cc: 1220 New test. 1221 12222016-05-25 Jonathan Wakely <jwakely@redhat.com> 1223 1224 Backport from mainline 1225 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1226 1227 PR libstdc++/71037 1228 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add 1229 base path to exception. 1230 * testsuite/experimental/filesystem/operations/canonical.cc: Test 1231 paths contained in exception. 1232 12332016-05-25 Jonathan Wakely <jwakely@redhat.com> 1234 1235 Backport from mainline 1236 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 1237 1238 PR libstdc++/71005 1239 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): 1240 New type. 1241 (directory_iterator::operator++(int)): Return proxy. 1242 (recursive_directory_iterator::operator++(int)): Likewise. 1243 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 1244 Test post-increment. 1245 * testsuite/experimental/filesystem/iterators/ 1246 recursive_directory_iterator.cc: Likewise. 1247 12482016-05-25 Jonathan Wakely <jwakely@redhat.com> 1249 1250 Backport from mainline 1251 2016-05-09 Jonathan Wakely <jwakely@redhat.com> 1252 1253 PR libstdc++/71004 1254 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): 1255 Initialize scalar member variables in default constructor. 1256 * testsuite/experimental/filesystem/iterators/ 1257 recursive_directory_iterator.cc: Test default construction. 1258 12592016-05-25 Jonathan Wakely <jwakely@redhat.com> 1260 1261 Backport from mainline 1262 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 1263 1264 PR libstdc++/70609 1265 * src/filesystem/ops.cc (close_fd): New function. 1266 (do_copy_file): Set permissions before copying file contents. Check 1267 result of closing file descriptors. Don't copy streambuf when file 1268 is empty. 1269 (copy(const path&, const path&, copy_options, error_code&)): Use 1270 lstat for source file when copy_symlinks is set. 1271 * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). 1272 12732016-05-25 Jonathan Wakely <jwakely@redhat.com> 1274 1275 Backport from mainline 1276 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 1277 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. 1283 12842016-04-20 Jonathan Wakely <jwakely@redhat.com> 1285 1286 Backport from mainline 1287 2016-01-26 Jonathan Wakely <jwakely@redhat.com> 1288 1289 PR libstdc++/69478 1290 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, 1291 random_access_iterator_tag>): Check is_move_assignable when moving. 1292 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): 1293 Likewise. 1294 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. 1295 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. 1296 * testsuite/25_algorithms/move/69478.cc: New. 1297 * testsuite/25_algorithms/move_backward/69478.cc: New. 1298 1299 Backport from mainline 1300 2016-04-05 Jonathan Wakely <jwakely@redhat.com> 1301 1302 PR libstdc++/70503 1303 * src/c++11/thread.cc (execute_native_thread_routine, 1304 execute_native_thread_routine_compat): Give internal linkage. 1305 * testsuite/30_threads/thread/70503.cc: New test. 1306 1307 Backport from mainline 1308 2016-01-25 Jonathan Wakely <jwakely@redhat.com> 1309 1310 PR libstdc++/69464 1311 * include/Makefile.am: Add new header. 1312 * include/Makefile.in: Regenerate. 1313 * include/bits/random.h (uniform_int_distribution): Move to 1314 bits/uniform_int_dist.h. 1315 * include/bits/random.tcc (uniform_int_distribution::operator(), 1316 uniform_int_distribution::__generate_impl): Likewise. 1317 * include/bits/uniform_int_dist.h: New header. 1318 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include 1319 <bits/uniform_int_dist.h> instead of <random>. 1320 * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 1321 move_iterators/1.cc: Include correct header for uninitialized_copy. 1322 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ 1323 move_iterators/1.cc: Likewise. 1324 * testsuite/25_algorithms/nth_element/58800.cc: Include correct 1325 header for vector. 1326 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. 1327 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>. 1328 13292016-04-06 Eric Botcazou <ebotcazou@adacore.com> 1330 1331 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. 1332 * src/Makefile.in: Regenerate. 1333 13342016-02-24 Jonathan Wakely <jwakely@redhat.com> 1335 1336 PR libstdc++/69939 1337 * include/experimental/tuple (__apply_impl): Qualify get and forward. 1338 13392016-02-16 Tim Shen <timshen@google.com> 1340 1341 Backport from mainline 1342 2016-02-16 Tim Shen <timshen@google.com> 1343 1344 PR libstdc++/69794 1345 * include/bits/regex_scanner.h: Add different special character 1346 sets for grep and egrep regex. 1347 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. 1348 * testsuite/28_regex/regression.cc: Add new testcase. 1349 13502016-02-11 Jonathan Wakely <jwakely@redhat.com> 1351 1352 PR libstdc++/60976 1353 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>): 1354 Define partial specialization. 1355 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and 1356 destroy members to std::allocator explicit specialization. 1357 13582016-02-10 Jonathan Wakely <jwakely@redhat.com> 1359 1360 PR libstdc++/69116 1361 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only 1362 define result_type for types which can be safely used with valarrays. 1363 * testsuite/26_numerics/valarray/69116.cc: New. 1364 13652016-01-18 Jonathan Wakely <jwakely@redhat.com> 1366 1367 PR libstdc++/60637 1368 * include/c_global/cmath (signbit) [__cplusplus < 201103L]: Use 1369 __builtin_signbitf or __builtin_signbitl as appropriate. 1370 * testsuite/26_numerics/headers/cmath/60637.cc: New. 1371 13722016-01-16 H.J. Lu <hongjiu.lu@intel.com> 1373 1374 Backport from mainline 1375 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add 1376 __int128 symbols. 1377 13782016-01-12 Jonathan Wakely <jwakely@redhat.com> 1379 1380 PR libstdc++/69092 1381 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): 1382 Remove _GLIBCXX_NOEXCEPT. 1383 testsuite/21_strings/basic_string/cons/char/69092.cc: New. 1384 1385 PR libstdc++/68995 1386 * include/std/functional (_Function_handler::_M_invoke): Qualify 1387 __callable_functor. 1388 * testsuite/20_util/function/68995.cc: New. 1389 1390 PR libstdc++/69005 1391 PR libstdc++/69222 1392 * include/std/functional (function::_Invoke): Remove, use result_of. 1393 (function::_Callable): Replace alias template with class template 1394 and use partial specialization instead of _NotSelf alias template. 1395 (function(_Functor)): Add "not self" constraint so that _Callable is 1396 not used while type is incomplete. 1397 * testsuite/20_util/function/69222.cc: New. 1398 13992015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> 1400 1401 * include/bits/c++0x_warning.h Remove experimental language. 1402 14032015-12-16 Jonathan Wakely <jwakely@redhat.com> 1404 1405 PR libstdc++/68912 1406 * include/std/functional (_Bind::operator()): Use lvalue functor to 1407 deduce return type. 1408 * testsuite/20_util/bind/68912.cc: New. 1409 1410 PR libstdc++/68921 1411 * src/c++11/futex.cc 1412 (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer 1413 as timeout argument. 1414 14152015-12-15 Tim Shen <timshen@google.com> 1416 1417 Backport from mainline 1418 2015-12-15 Tim Shen <timshen@google.com> 1419 1420 PR libstdc++/68863 1421 * include/bits/regex_executor.tcc (_Executor::_M_lookahead): 1422 Copy the captured content for lookahead, so that the backreferences 1423 inside can refer to them. 1424 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: 1425 New testcase. 1426 14272015-12-11 Jonathan Wakely <jwakely@redhat.com> 1428 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. 1448 14492015-12-08 Jonathan Wakely <jwakely@redhat.com> 1450 1451 * doc/xml/manual/abi.xml: Backport documentation improvements from 1452 mainline. 1453 * doc/xml/manual/configure.xml: Likewise. 1454 * doc/xml/manual/diagnostics.xml: Likewise. 1455 * doc/xml/manual/extensions.xml: Likewise. 1456 * doc/xml/manual/status_cxx2011.xml: Likewise. 1457 * doc/xml/manual/status_cxx2014.xml: Likewise. 1458 * doc/xml/manual/using.xml: Likewise. 1459 * doc/html/*: Regenerate. 1460 14612015-12-04 Jonathan Wakely <jwakely@redhat.com> 1462 1463 PR libstdc++/56383 1464 * testsuite/20_util/enable_shared_from_this/56383.cc: New. 1465 * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make 1466 friend declaration match previous declaration of 1467 __enable_shared_from_this_helper. 1468 * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. 1469 14702015-12-04 Jonathan Wakely <jwakely@redhat.com> 1471 1472 * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition 1473 after __is_encoded_char explicit specializations. 1474 14752015-12-04 Jason Merrill <jason@redhat.com> 1476 1477 * include/bits/c++config: Fix abi_tag in special modes. 1478 14792015-12-04 Release Manager 1480 1481 * GCC 5.3.0 released. 1482 14832015-11-26 Jonathan Wakely <jwakely@redhat.com> 1484 1485 * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to 1486 dg-options and avoid use of uniform-init. 1487 1488 * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to 1489 dg-options and avoid use of uniform-init. 1490 14912015-11-26 David Edelsohn <dje.gcc@gmail.com> 1492 1493 * configure: Regenerate. 1494 14952015-11-25 Jonathan Wakely <jwakely@redhat.com> 1496 1497 Backport from mainline 1498 2015-11-12 Jonathan Wakely <jwakely@redhat.com> 1499 1500 PR libstdc++/56158 1501 * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): 1502 Define enumerators to ensure all values of type int are valid values 1503 of the enumeration type. 1504 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. 1505 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 1506 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 1507 1508 Backport from mainline 1509 2015-09-17 Jonathan Wakely <jwakely@redhat.com> 1510 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. 1514 15152015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1516 1517 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. 1518 * configure.ac: Use it. 1519 * configure: Regenerate. 1520 * config.h.in: Regenerate. 1521 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. 1605 1606 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: 1607 Restrict dg-xfail-if to *-*-solaris2.1[01]*. 1608 16092015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com> 1610 1611 PR libstdc++/68448 1612 * python/hook.in: Call register_libstdcxx_printers. 1613 * python/libstdcxx/v6/__init__.py: Wrap it to 1614 register_libstdcxx_printers. 1615 16162015-11-16 Doug Evans <dje@google.com> 1617 1618 PR libstdc++/67440 1619 * python/libstdcxx/v6/printers.py (find_type): Handle "const" in 1620 type name. 1621 * testsuite/libstdc++-prettyprinters/debug.cc: Add test for 1622 const set<int>. 1623 * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. 1624 * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. 1625 16262015-11-10 Jonathan Wakely <jwakely@redhat.com> 1627 1628 PR libstdc++/68190 1629 * include/bits/stl_multiset.h (multiset::find): Fix return types. 1630 * include/bits/stl_set.h (set::find): Likewise. 1631 * testsuite/23_containers/map/operations/2.cc: Test find return types. 1632 * testsuite/23_containers/multimap/operations/2.cc: Likewise. 1633 * testsuite/23_containers/multiset/operations/2.cc: Likewise. 1634 * testsuite/23_containers/set/operations/2.cc: Likewise. 1635 16362015-10-08 Jonathan Wakely <jwakely@redhat.com> 1637 1638 Backport from mainline 1639 2015-09-17 Jonathan Wakely <jwakely@redhat.com> 1640 1641 PR libstdc++/65913 1642 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), 1643 __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the 1644 immediate pointer value, not a variable. 1645 * include/std/atomic (atomic<T>::is_lock_free()): Likewise. 1646 * testsuite/29_atomics/atomic/65913.cc: New. 1647 16482015-10-07 Jonathan Wakely <jwakely@redhat.com> 1649 1650 Backport Filesystem TS fixes from mainline. 1651 1652 PR libstdc++/67173 1653 PR libstdc++/67747 1654 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION 1655 and PATH_MAX for _GLIBCXX_USE_REALPATH. Remove _GLIBCXX_ prefix 1656 from HAVE_STRUCT_DIRENT_D_TYPE. 1657 * config.h.in: Regenerate. 1658 * configure: Regenerate. 1659 * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] 1660 (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. 1661 * include/experimental/fs_dir.h (operator==, operator==): 1662 Use owner_before instead of pointer equality. 1663 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1664 * include/experimental/fs_path.h (operator==, operator==): 1665 * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] 1666 (path::wstring, path::generic_wstring): Disable. 1667 * src/filesystem/path.cc (path::_S_convert_loc) 1668 [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. 1669 * src/filesystem/Makefile.am: Add cxx11_abi_sources. 1670 * src/filesystem/Makefile.in: Regenerate. 1671 * src/filesystem/cow-dir.cc: New. 1672 * src/filesystem/cow-ops.cc: New. 1673 * src/filesystem/cow-path.cc: New. 1674 * src/filesystem/dir.cc: Define macro for new ABI. 1675 (native_readdir): Remove. 1676 (_Dir::advance): Use readdir instead of native_readdir. 1677 (recursive_directory_iterator(const path&, directory_options, 1678 error_code*)): Use swap instead of reset. 1679 (ErrorCode): Remove. 1680 (_Dir::advance): Change ErrorCode parameter to error_code*, add 1681 directory_options parameter and check it on error. 1682 (opendir): Rename to open_dir to avoid clashing with macro. Change 1683 ErrorCode parameter to error_code*. 1684 (make_shared_dir): Remove. 1685 (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. 1686 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1687 (directory_iterator(const path&, directory_options, error_code*)): 1688 Pass options to _Dir::advance and create non-end iterator on error. 1689 (recursive_directory_iterator(const path&, directory_options, 1690 error_code*)): Clear error_code on ignored error, create non-end 1691 iterator otherwise. 1692 (recursive_directory_iterator::increment): Pass _M_options to 1693 _Dir::advance. 1694 (recursive_directory_iterator::pop): Likewise. 1695 * src/filesystem/ops.cc: Define macro for new ABI. 1696 (canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation. 1697 (is_dot, is_dotdot): Define new helpers. 1698 (create_directories): Fix error handling. 1699 * src/filesystem/path.cc: Define macro for new ABI. 1700 (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. 1701 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 1702 New. 1703 * testsuite/experimental/filesystem/iterators/ 1704 recursive_directory_iterator.cc: New. 1705 * testsuite/experimental/filesystem/operations/canonical.cc: New. 1706 * testsuite/experimental/filesystem/operations/create_directories.cc: 1707 New. 1708 * testsuite/experimental/filesystem/operations/exists.cc: Add more 1709 tests. 1710 * testsuite/experimental/filesystem/operations/absolute.cc: Add test 1711 variables. 1712 * testsuite/experimental/filesystem/operations/copy.cc: Likewise. 1713 * testsuite/experimental/filesystem/operations/current_path.cc: 1714 Likewise. 1715 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. 1716 * testsuite/experimental/filesystem/operations/status.cc: Likewise. 1717 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1718 Likewise. 1719 * testsuite/experimental/filesystem/path/assign/assign.cc: Check for 1720 wchar_t support. 1721 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. 1722 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. 1723 17242015-10-02 Jonathan Wakely <jwakely@redhat.com> 1725 1726 PR libstdc++/65049 1727 * include/bits/char_traits.h (char_traits<char>::compare, 1728 char_traits<char>::find, char_traits<char>::move, 1729 char_traits<char>::copy, char_traits<char>::assign): Check for zero 1730 length. 1731 (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, 1732 char_traits<wchar_t>::move, char_traits<wchar_t>::copy, 1733 char_traits<wchar_t>::assign): Likewise. 1734 (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. 1735 (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. 1736 * include/ext/pod_char_traits.h (char_traits<character<>>::move, 1737 char_traits<character<>>::copy): Likewise. 1738 * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. 1739 * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: 1740 New. 1741 * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: 1742 New. 1743 * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: 1744 New. 1745 1746 PR libstdc++/67707 1747 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize 1748 empty object. 1749 * testsuite/23_containers/deque/allocator/move.cc: Check moved-from 1750 deque. 1751 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 1752 Adjust dg-error line number. 1753 * testsuite/23_containers/deque/requirements/dr438/ 1754 constructor_1_neg.cc: Likewise. 1755 * testsuite/23_containers/deque/requirements/dr438/ 1756 constructor_2_neg.cc: Likewise. 1757 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 1758 Likewise. 1759 1760 PR libstdc++/65142 1761 * src/c++11/random.cc (random_device::_M_getval()): Check read result 1762 and retry after short reads. 1763 17642015-09-03 Jonathan Wakely <jwakely@redhat.com> 1765 1766 * include/std/shared_mutex (shared_timed_mutex::shared_timed_mutex): 1767 Replace throw with __throw_bad_alloc. 1768 1769 PR libstdc++/66998 1770 * include/experimental/functional (_Not_fn): Add exception 1771 specifications and non-deduced return types. 1772 (not_fn): Add exception specification and wrap pointer-to-member. 1773 * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context 1774 and test pointer-to-member. 1775 1776 Backport from mainline 1777 2015-08-27 Jonathan Wakely <jwakely@redhat.com> 1778 1779 PR libstdc++/67374 1780 * include/bits/range_access.h (valarray, begin, end): Declare. 1781 * testsuite/26_numerics/valarray/range_access.cc: Test const 1782 overloads. 1783 * testsuite/26_numerics/valarray/range_access2.cc: New. 1784 1785 Backport from mainline 1786 2015-07-24 Jonathan Wakely <jwakely@redhat.com> 1787 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. 1792 1793 Backport from mainline 1794 2015-07-13 Jonathan Wakely <jwakely@redhat.com> 1795 1796 PR libstdc++/66855 1797 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override 1798 endianness bit in mode. 1799 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. 1800 1801 Backport from mainline 1802 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com> 1803 Michael Hanselmann <public@hansmi.ch> 1804 1805 PR libstdc++/62258 1806 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of 1807 uncaught exceptions. 1808 * testsuite/18_support/exception_ptr/62258.cc: New. 1809 18102015-08-28 Tim Shen <timshen@google.com> 1811 1812 Backport from mainline 1813 2015-08-28 Tim Shen <timshen@google.com> 1814 1815 PR libstdc++/67362 1816 * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): 1817 Always returns ordinary char token if the char isn't 1818 considered a special char. 1819 * testsuite/28_regex/regression.cc: New test file for collecting 1820 regression testcases from, typically, bugzilla. 1821 18222015-08-20 Jonathan Wakely <jwakely@redhat.com> 1823 1824 * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not 1825 libstdc++fs. 1826 * python/Makefile.in: Regenerate. 1827 18282015-08-18 Jonathan Wakely <jwakely@redhat.com> 1829 1830 Backport Filesystem TS from mainline 1831 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS, 1832 GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. 1833 * configure.ac: Use them. 1834 * configure: Regenerate. 1835 * config.h.in: Regenerate. 1836 * include/Makefile.am: Add filesystem headers. Fix order of headers. 1837 * include/Makefile.in: Regenerate. 1838 * include/bits/locale_conv.h (__do_str_codecvt, __str_codecvt_in, 1839 __str_codecvt_out, wstring_convert): Refactor to move all conversion 1840 logic to non-member functions. 1841 * include/bits/quoted_string.h (_Quoted_string, operator<<, 1842 operator>>): Move from <iomanip> to new header. 1843 * include/experimental/filesystem: New. 1844 * include/experimental/fs_dir.h: New. 1845 * include/experimental/fs_fwd.h: New. 1846 * include/experimental/fs_ops.h: New. 1847 * include/experimental/fs_path.h: New. 1848 * include/std/iomanip (_Quoted_string, operator<<, operator>>): Move 1849 to <bits/quoted_string.h>. 1850 * libstdcxx/v6/printers.py (StdExpPathPrinter): Define. 1851 * scripts/testsuite_flags.in: Add filesystem dir to ldflags. 1852 * src/Makefile.am: Add filesystem sub-dir. 1853 * src/Makefile.in: Regenerate. 1854 * src/filesystem/Makefile.am: New. 1855 * src/filesystem/Makefile.in: New. 1856 * src/filesystem/dir.cc: New. 1857 * src/filesystem/ops.cc: New. 1858 * src/filesystem/path.cc: New. 1859 * testsuite/experimental/filesystem/operations/absolute.cc: New. 1860 * testsuite/experimental/filesystem/operations/copy.cc: New. 1861 * testsuite/experimental/filesystem/operations/current_path.cc: New. 1862 * testsuite/experimental/filesystem/operations/exists.cc: New. 1863 * testsuite/experimental/filesystem/operations/file_size.cc: New. 1864 * testsuite/experimental/filesystem/operations/status.cc: New. 1865 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1866 New. 1867 * testsuite/experimental/filesystem/path/append/path.cc: New. 1868 * testsuite/experimental/filesystem/path/assign/assign.cc: New. 1869 * testsuite/experimental/filesystem/path/assign/copy.cc: New. 1870 * testsuite/experimental/filesystem/path/compare/compare.cc: New. 1871 * testsuite/experimental/filesystem/path/compare/path.cc: New. 1872 * testsuite/experimental/filesystem/path/compare/strings.cc: New. 1873 * testsuite/experimental/filesystem/path/concat/path.cc: New. 1874 * testsuite/experimental/filesystem/path/concat/strings.cc: New. 1875 * testsuite/experimental/filesystem/path/construct/copy.cc: New. 1876 * testsuite/experimental/filesystem/path/construct/default.cc: New. 1877 * testsuite/experimental/filesystem/path/construct/locale.cc: New. 1878 * testsuite/experimental/filesystem/path/construct/range.cc: New. 1879 * testsuite/experimental/filesystem/path/decompose/extension.cc: New. 1880 * testsuite/experimental/filesystem/path/decompose/filename.cc: New. 1881 * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 1882 New. 1883 * testsuite/experimental/filesystem/path/decompose/relative_path.cc: 1884 New. 1885 * testsuite/experimental/filesystem/path/decompose/root_directory.cc: 1886 New. 1887 * testsuite/experimental/filesystem/path/decompose/root_name.cc: New. 1888 * testsuite/experimental/filesystem/path/decompose/root_path.cc: New. 1889 * testsuite/experimental/filesystem/path/decompose/stem.cc: New. 1890 * testsuite/experimental/filesystem/path/generic/generic_string.cc: 1891 New. 1892 * testsuite/experimental/filesystem/path/itr/traversal.cc: New. 1893 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. 1894 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: 1895 New. 1896 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: 1897 New. 1898 * testsuite/experimental/filesystem/path/modifiers/ 1899 replace_extension.cc: New. 1900 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: 1901 New. 1902 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. 1903 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: 1904 New. 1905 * testsuite/experimental/filesystem/path/query/empty.cc: New. 1906 * testsuite/experimental/filesystem/path/query/has_extension.cc: New. 1907 * testsuite/experimental/filesystem/path/query/has_filename.cc: New. 1908 * testsuite/experimental/filesystem/path/query/has_parent_path.cc: 1909 New. 1910 * testsuite/experimental/filesystem/path/query/has_relative_path.cc: 1911 New. 1912 * testsuite/experimental/filesystem/path/query/has_root_directory.cc: 1913 New. 1914 * testsuite/experimental/filesystem/path/query/has_root_name.cc: New. 1915 * testsuite/experimental/filesystem/path/query/has_root_path.cc: New. 1916 * testsuite/experimental/filesystem/path/query/has_stem.cc: New. 1917 * testsuite/experimental/filesystem/path/query/is_relative.cc: New. 1918 * testsuite/lib/dg-options.exp (dg-require-filesystem-ts): Define. 1919 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Define. 1920 * testsuite/util/testsuite_fs.h: New. 1921 19222015-08-18 Jonathan Wakely <jwakely@redhat.com> 1923 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. 1936 19372015-07-29 Tim Shen <timshen@google.com> 1938 1939 Backport from mainline 1940 2015-07-29 Tim Shen <timshen@google.com> 1941 1942 PR libstdc++/67015 1943 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, 1944 _BracketMatcher<>::_M_add_collating_element): Change signature 1945 to make checking the and of bracket expression easier. 1946 * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): 1947 Treat '-' as a valid literal if it's at the end of bracket expression. 1948 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: 1949 New testcases. 1950 19512015-07-16 Release Manager 1952 1953 * GCC 5.2.0 released. 1954 19552015-07-02 Jonathan Wakely <jwakely@redhat.com> 1956 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. 1961 1962 * include/bits/locale_conv.h (wstring_convert): Use __cxx11 inline 1963 namespace in new ABI. 1964 (wstring_convert::_M_conv): Handle empty range. 1965 19662015-06-26 Jonathan Wakely <jwakely@redhat.com> 1967 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. 1973 19742015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 1975 1976 PR target/66200 1977 * configure.host (host_cpu): Add aarch64 case. 1978 * config/cpu/aarch64/atomic_word.h: New file. 1979 19802015-06-22 Jonathan Wakely <jwakely@redhat.com> 1981 1982 Backport from mainline 1983 2015-06-16 Jonathan Wakely <jwakely@redhat.com> 1984 1985 PR libstdc++/65393 1986 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr 1987 copies with moves. 1988 1989 Backport from mainline 1990 2015-05-17 François Dumont <fdumont@gcc.gnu.org> 1991 1992 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add 1993 missing constructors. 1994 * include/bits/unordered_set.h (unordered_set, unordered_multiset): 1995 Likewise. 1996 * include/debug/unordered_map (unordered_map, unordered_multimap): Add 1997 missing constructors. 1998 * include/debug/unordered_set (unordered_set, unordered_multiset): 1999 Likewise. 2000 * include/profile/unordered_map (unordered_map, unordered_multimap): Add 2001 missing constructors. 2002 * include/profile/unordered_set (unordered_set, unordered_multiset): 2003 Likewise. 2004 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor 2005 invocations. 2006 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. 2007 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. 2008 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. 2009 20102015-06-22 Jonathan Wakely <jwakely@redhat.com> 2011 2012 Backport from mainline 2013 2015-05-14 Nathan Myers <ncm@cantrip.org> 2014 Jonathan Wakely <jwakely@redhat.com> 2015 2016 PR libstdc++/66055 2017 * include/std/unordered_map (unordered_map, unordered_multimap): Add 2018 missing constructors. 2019 * include/std/unordered_set (unordered_set, unordered_multiset): 2020 Likewise. 2021 * testsuite/23_containers/unordered_map/cons/66055.cc: New. 2022 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. 2023 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. 2024 * testsuite/23_containers/unordered_set/cons/66055.cc: New. 2025 20262015-06-15 Jonathan Wakely <jwakely@redhat.com> 2027 2028 Backport from mainline 2029 2015-06-09 Jonathan Wakely <jwakely@redhat.com> 2030 2031 PR libstdc++/66030 2032 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols 2033 for mingw32. 2034 20352015-06-12 Jonathan Wakely <jwakely@redhat.com> 2036 2037 PR libstdc++/66464 2038 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): 2039 Return 4 not 3. 2040 20412015-06-08 Jonathan Wakely <jwakely@redhat.com> 2042 2043 Backported from mainline 2044 2015-06-01 Jonathan Wakely <jwakely@redhat.com> 2045 2046 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE 2047 environment variable. 2048 2049 PR libstdc++/66354 2050 * include/bits/stl_algobase.h (__fill_a): Check length before calling 2051 memset. 2052 2053 PR libstdc++/66327 2054 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call 2055 memcmp for empty ranges. 2056 (__lexicographical_compare<true>::__lc): Likewise. 2057 2058 Backported from mainline 2059 2015-06-02 Jonathan Wakely <jwakely@redhat.com> 2060 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. 2064 2065 Backported from mainline 2066 2015-04-21 Jonathan Wakely <jwakely@redhat.com> 2067 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. 2073 2074 Backported from mainline 2075 2015-04-20 Jonathan Wakely <jwakely@redhat.com> 2076 2077 * doc/xml/manual/concurrency_extensions.xml: Update documentation 2078 on atomics. 2079 * doc/xml/manual/using.xml: Likewise. Improve markup. 2080 * doc/html/*: Regenerate. 2081 20822015-06-08 Jonathan Wakely <jwakely@redhat.com> 2083 2084 PR libstdc++/66441 2085 * testsuite/22_locale/conversions/string/66441.cc: New. 2086 * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space 2087 in the output string for BOM and complete result. 2088 2089 PR libstdc++/66417 2090 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order 2091 for single UTF-16 units. 2092 * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. 2093 20942015-06-04 Renlin Li <renlin.li@arm.com> 2095 2096 Backported from mainline 2097 2015-06-02 Renlin Li <renlin.li@arm.com> 2098 2099 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. 2100 21012015-05-28 Jonathan Wakely <jwakely@redhat.com> 2102 2103 PR libstdc++/65352 2104 * include/profile/array (array::data): Use _S_ptr. 2105 * include/debug/array (array::data): Likewise. 2106 2107 PR libstdc++/65352 2108 * include/std/array (__array_traits::_S_ptr): New function. 2109 (array::data): Use _S_ptr to avoid creating invalid reference. 2110 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust 2111 dg-error line numbers. 2112 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 2113 likewise. 2114 2115 PR libstdc++/66017 2116 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. 2117 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction 2118 from _Base_ptr. 2119 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. 2120 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. 2121 * include/ext/aligned_buffer.h (__aligned_membuf): New type using 2122 alignment of _Tp as a member subobject, not as a complete object. 2123 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup 2124 _Link_type manually as it might not be in the debug info. 2125 2126 Backported from mainline 2127 2015-05-13 Jonathan Wakely <jwakely@redhat.com> 2128 2129 * include/bits/basic_string.h (basic_string::basic_string()): Make 2130 noexcept conditional on allocator (LWG 2455). 2131 2132 Backported from mainline 2133 2015-05-01 Jonathan Wakely <jwakely@redhat.com> 2134 2135 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. 2136 21372015-05-26 Doug Evans <dje@google.com> 2138 2139 Backported from mainline 2140 2015-04-29 Doug Evans <dje@google.com> 2141 2142 PR libstdc++/65839 2143 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. 2144 Replace all lookups of "bool" with this. 2145 (get_std_size_type): New function. Replace all lookups of std::size_t 2146 with this. 2147 (*Worker): New method get_result_type. 2148 (DequeWorkerBase.__init__): New arg val_type. All callers updated. 2149 (ListWorkerBase.__init__): New arg val_type. All callers updated. 2150 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. 2151 Delete setting of name, enabled. 2152 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers 2153 updated. Delete setting of name. 2154 (UniquePtrMethodsMatcher): Rewrite for consistency with all other 2155 libstdc++ xmethod matchers. 2156 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. 2157 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. 2158 * testsuite/libstdc++-xmethods/deque.cc: Ditto. 2159 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. 2160 * testsuite/libstdc++-xmethods/list.cc: Ditto. 2161 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. 2162 * testsuite/libstdc++-xmethods/vector.cc: Ditto. 2163 21642015-05-26 Doug Evans <dje@google.com> 2165 2166 Backported from mainline 2167 2015-04-29 Doug Evans <dje@google.com> 2168 2169 Use consistent naming for value type attributes. 2170 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype 2171 to _val_type. 2172 (ArraySizeWorker, ArrayEmptyWorker): Ditto. 2173 (ArrayFrontWorker, ArrayBackWorker): Ditto. 2174 (ArrayAtWorker, ArraySubscriptWorker): Ditto. 2175 (DequeWorkerBase): Rename elemtype to val_type. 2176 (ForwardListWorkerBase): Rename _elem_type to _val_type. 2177 (ForwardListFrontWorker): Ditto. And rename elem_address to 2178 val_address. 2179 (ForwardListMethodsMatcher): Rename elem_type to val_type. 2180 (VectorWorkerBase): Rename _elemtype to _val_type. 2181 21822015-05-22 David Edelsohn <dje.gcc@gmail.com> 2183 2184 Backported from mainline 2185 2015-05-21 David Edelsohn <dje.gcc@gmail.com> 2186 2187 PR target/66224 2188 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): 2189 Don't use isync. Use lwsync if available. 2190 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use 2191 powerpc cpu definition. 2192 21932015-05-07 Renlin Li <renlin.li@arm.com> 2194 2195 Backported from mainline 2196 2015-04-22 Renlin Li <renlin.li@arm.com> 2197 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. 2203 22042015-05-04 Jakub Jelinek <jakub@redhat.com> 2205 2206 Backported from mainline 2207 2015-04-28 Marc Glisse <marc.glisse@inria.fr> 2208 2209 PR libstdc++/65883 2210 * include/std/limits (numeric_limits): Add missing unsigned. 2211 22122015-05-02 Jonathan Wakely <jwakely@redhat.com> 2213 2214 * include/experimental/any (_Internal): Check for trivially-copyable 2215 instead of nothrow move constructible. 2216 * testsuite/experimental/any/cons/nontrivial.cc: New. 2217 22182015-04-28 Doug Evans <dje@google.com> 2219 2220 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): 2221 Define to zero. 2222 22232015-04-28 Stephan Bergmann <sbergman@redhat.com> 2224 2225 * include/debug/vector (_Safe_vector::operator=): Add missing returns. 2226 22272015-04-22 Release Manager 2228 2229 * GCC 5.1.0 released. 2230 22312015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2232 2233 * scripts/extract_symvers.pl: Ignore elfdump error output. 2234 22352015-04-14 Hans-Peter Nilsson <hp@axis.com> 2236 2237 * testsuite/29_atomics/atomic/62259.cc: Assert atomic 2238 alignment is larger-equal, not equal, to default alignment. 2239 22402015-04-13 Jonathan Wakely <jwakely@redhat.com> 2241 2242 PR libstdc++/65754 2243 * config/abi/pre/gnu.ver: Export base object constructors for 2244 fstreams. 2245 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 2246 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2247 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 2248 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 2249 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 2250 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2251 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 2252 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 2253 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 2254 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 2255 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. 2256 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 2257 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 2258 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 2259 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 2260 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 2261 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2262 * testsuite/27_io/basic_fstream/cons/base.cc: New. 2263 22642015-04-13 Jonathan Wakely <jwakely@redhat.com> 2265 2266 * doc/xml/manual/evolution.xml: Document changes since 4.5 release. 2267 * doc/html/*: Regenerate. 2268 22692015-04-12 Uros Bizjak <ubizjak@gmail.com> 2270 2271 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2272 22732015-04-10 Andreas Schwab <schwab@linux-m68k.org> 2274 2275 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 2276 2277 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2278 22792015-04-10 Jonathan Wakely <jwakely@redhat.com> 2280 2281 * doc/xml/manual/test.xml: Improve documentation on running a subset 2282 of tests. 2283 * doc/html/manual/test.html: Regenerate. 2284 22852015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2286 2287 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 2288 for GCC 5.1 release. 2289 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 2290 Likewise. 2291 22922015-04-10 Jonathan Wakely <jwakely@redhat.com> 2293 2294 * include/std/shared_mutex (shared_timed_mutex): Add comments to 2295 explain the logic in the non-pthread_rwlock_t version. 2296 (_Mutex): Remove redundant type. 2297 (_M_n_readers): Rename to _S_max_readers. 2298 (_M_write_entered, _M_readers): New convenience functions. 2299 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience 2300 functions. Use predicates with condition variables. Simplify bitwise 2301 operations. 2302 (try_lock_for, try_shared_lock_for): Convert duration to time_point 2303 and call try_lock_until or try_shared_lock_until respectively. 2304 (try_lock_until, try_shared_lock_until): Wait on the condition 2305 variables until the specified time passes. 2306 (unlock): Add Debug Mode assertion. 2307 (unlock_shared): Add Debug Mode assertion. 2308 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. 2309 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. 2317 23182015-04-09 H.J. Lu <hongjiu.lu@intel.com> 2319 2320 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 2321 23222015-04-09 Jonathan Wakely <jwakely@redhat.com> 2323 Richard Henderson <rth@redhat.com> 2324 2325 PR libstdc++/65147 2326 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase 2327 alignment. 2328 * include/std/atomic (atomic): For types with a power of two size set 2329 alignment to at least the size. 2330 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 2331 * testsuite/29_atomics/atomic/65147.cc: New. 2332 * testsuite/29_atomics/atomic_integral/65147.cc: New. 2333 23342015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2335 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. 2339 23402015-04-07 Jakub Jelinek <jakub@redhat.com> 2341 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. 2350 23512015-03-30 Jonathan Wakely <jwakely@redhat.com> 2352 2353 PR libstdc++/65630 2354 * config/abi/pre/gnu.ver: Export operator+ for new strings. 2355 * testsuite/21_strings/basic_string/operators/char/65630.cc: New. 2356 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. 2357 23582015-03-28 Tim Shen <timshen@google.com> 2359 2360 PR libstdc++/65420 2361 * include/bits/regex_constants.h: Use constexpr variables for flags. 2362 * testsuite/28_regex/constants/constexpr.cc: New testcase. 2363 23642015-03-27 Jonathan Wakely <jwakely@redhat.com> 2365 2366 PR libstdc++/65499 2367 * include/std/chrono: Add using-directive for literals to std::chrono. 2368 * testsuite/20_util/duration/literals/65499.cc: New. 2369 23702015-03-26 Jonathan Wakely <jwakely@redhat.com> 2371 2372 PR libstdc++/58038 2373 PR libstdc++/60421 2374 * include/std/thread (this_thread::sleep_for): Check for negative 2375 durations. 2376 (this_thread::sleep_until): Check for times in the past. 2377 * testsuite/30_threads/this_thread/58038.cc: New. 2378 * testsuite/30_threads/this_thread/60421.cc: New. 2379 23802015-03-26 Jonathan Wakely <jwakely@redhat.com> 2381 2382 PR libstdc++/62259 2383 PR libstdc++/65147 2384 * include/std/atomic (atomic<T>): Increase alignment for types with 2385 the same size as one of the integral types. 2386 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 2387 * testsuite/29_atomics/atomic/62259.cc: New. 2388 23892015-03-26 Richard Henderson <rth@redhat.com> 2390 2391 PR libstdc++/65033 2392 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build 2393 a fake pointer indicating type alignment. 2394 (__atomic_base<T *>::is_lock_free): Likewise. 2395 * include/std/atomic (atomic<T>::is_lock_free): Likewise. 2396 23972015-03-25 Alan Lawrence <alan.lawrence@arm.com> 2398 2399 PR libstdc++/33394 2400 * testsuite/21_strings/basic_string/pthread33394.cc: Use 2401 dg-additional-options. 2402 24032015-03-25 Paolo Carlini <paolo.carlini@oracle.com> 2404 2405 PR libstdc++/65543 2406 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert 2407 thinko in r150387. 2408 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): 2409 Likewise. 2410 * testsuite/27_io/rvalue_streams-2.cc: New. 2411 24122015-03-24 Jonathan Wakely <jwakely@redhat.com> 2413 2414 PR libstdc++/33394 2415 * testsuite/21_strings/basic_string/pthread33394.cc: Add test. 2416 24172015-03-23 Jonathan Wakely <jwakely@redhat.com> 2418 2419 PR libstdc++/64967 2420 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. 2421 * configure: Regenerate. 2422 * src/c++11/compatibility-c++0x.cc (error_category), generic_category, 2423 system_category): Use macros for versioned namespace. 2424 * src/c++11/futex.cc: Add missing end macro for versioned namespace. 2425 24262015-03-20 James Greenhalgh <james.greenhalgh@arm.com> 2427 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. 2432 24332015-03-20 Jonathan Wakely <jwakely@redhat.com> 2434 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. 2439 24402015-03-19 Jason Merrill <jason@redhat.com> 2441 2442 * config/locale/gnu/messages_members.cc: Revert abi-tag change. 2443 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. 2444 24452015-03-18 Jonathan Wakely <jwakely@redhat.com> 2446 2447 PR c++/65046 2448 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, 2449 get_catalogs): Add abi-tag. 2450 * include/ext/codecvt_specializations.h (encoding_state, 2451 encoding_char_traits): Likewise. 2452 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. 2453 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, 2454 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, 2455 money_get_shim, money_put_shim, messages_shim): Likewise. 2456 * src/c++11/future.cc (future_error_category::message): Likewise. 2457 * src/c++11/system_error.cc (generic_error_category::message, 2458 system_error_category::message): Likewise. 2459 (__sso_string): Disable -Wabi-tag warnings. 2460 24612015-03-18 Jonathan Wakely <jwakely@redhat.com> 2462 2463 PR libstdc++/13631 2464 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback 2465 implementation for old glibc. Fix whitespace. 2466 24672015-03-18 Jonathan Wakely <jwakely@redhat.com> 2468 Torvald Riegel <triegel@redhat.com> 2469 2470 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. 2471 * config.h.in: Regenerate. 2472 * configure: Regenerate. 2473 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. 2474 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. 2475 (shared_timed_mutex::lock_shared()): Retry on EAGAIN. 2476 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and 2477 EDEADLK. 2478 24792015-03-17 Jonathan Wakely <jwakely@redhat.com> 2480 2481 * libsupc++/nested_exception.h: Do not try to derive from final 2482 classes. 2483 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test 2484 final class. 2485 2486 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of 2487 unused exception variable. 2488 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 2489 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate 2490 test. 2491 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 2492 24932015-03-13 Jonathan Wakely <jwakely@redhat.com> 2494 2495 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. 2496 * configure: Regenerate. 2497 2498 * include/experimental/system_error: Fix include guard. 2499 25002015-03-12 Renlin Li <renlin.li@arm.com> 2501 2502 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for 2503 wrapped target. 2504 25052015-03-10 Tim Shen <timshen@google.com> 2506 2507 PR libstdc++/64441 2508 * include/bits/regex.h (match_results<>::size, 2509 match_results<>::position, match_results<>::str, 2510 match_results<>::operator[], match_results<>::prefix, 2511 match_results<>::suffix, match_results<>::end, 2512 match_results<>::_M_resize, match_results<>::_M_unmatched_sub, 2513 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove 2514 global __unmatched_sub. Add unmatched submatch as part of 2515 match_results. 2516 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, 2517 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. 2518 * testsuite/28_regex/match_results/out_of_range_submatches.cc: 2519 New testcases. 2520 25212015-03-09 Jonathan Wakely <jwakely@redhat.com> 2522 2523 PR libstdc++/64467 2524 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline 2525 for newlib targets. Really fix mixed line-endings this time. 2526 25272015-03-06 Jonathan Wakely <jwakely@redhat.com> 2528 2529 * include/std/future (future_error(error_code)): Construct base 2530 class with error_code's message. 2531 * src/c++11/future.cc (future_error::what()): Do not call c_str() on 2532 temporary string. 2533 25342015-03-05 Jonathan Wakely <jwakely@redhat.com> 2535 2536 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 2537 noconv result. 2538 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. 2539 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. 2540 25412015-03-04 Jonathan Wakely <jwakely@redhat.com> 2542 2543 PR libstdc++/64797 2544 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 2545 incomplete multibyte sequences correctly. 2546 * include/std/codecvt (codecvt_utf8, codecvt_utf16, 2547 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. 2548 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): 2549 Define constants. 2550 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): 2551 Define convenience functions. 2552 (read_utf8_code_point): Return relevant constant to distinguish 2553 incomplete characters from invalid sequences. 2554 (read_utf16_code_point): Likewise. Check for invalid sequences. 2555 (ucs4_in, utf16_in): Use incomplete_mb_character constant. 2556 (utf16_out): Check for invalid sequences. 2557 (utf16_span): Fix condition. 2558 (ucs2_out): Use is_high_surrogate. 2559 (ucs2_in): Use incomplete_mb_character constant and fix condition. 2560 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. 2561 * testsuite/22_locale/conversions/buffer/1.cc: New. 2562 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and 2563 char32_t instead of wchar_t. 2564 * testsuite/22_locale/conversions/string/3.cc: New. 2565 25662015-03-03 Iain Sandoe <iain@codesourcery.com> 2567 2568 PR libstdc++/64883 2569 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check 2570 visibility for Darwin. 2571 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and 2572 also deprecated. 2573 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 2574 25752015-03-02 Jonathan Wakely <jwakely@redhat.com> 2576 2577 PR libstdc++/65279 2578 * include/std/scoped_allocator (__inner_type_impl, 2579 scoped_allocator_adaptor): Add defaulted copy assignment and move 2580 assignment operators. 2581 * testsuite/20_util/scoped_allocator/65279.cc: New. 2582 25832015-03-02 Jonathan Wakely <jwakely@redhat.com> 2584 2585 PR libstdc++/64367 2586 * include/std/stdexcept (__sso_string): Don't use non-static member 2587 in sizeof. 2588 25892015-02-28 Matthias Klose <doko@ubuntu.com> 2590 2591 PR libstdc++/65246 2592 * python/libstdcxx/v6/__init__.py: Use explicit relative imports. 2593 25942015-02-22 Jonathan Wakely <jwakely@redhat.com> 2595 2596 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. 2597 * doc/html/manual/status.html: Regenerate. 2598 25992015-02-20 Jonathan Wakely <jwakely@redhat.com> 2600 2601 PR libstdc++/64695 2602 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new 2603 tuple layout. 2604 2605 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined 2606 behavior. 2607 * doc/html/manual/status.html: Regenerate. 2608 26092015-02-19 Jonathan Wakely <jwakely@redhat.com> 2610 2611 PR libstdc++/58357 2612 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. 2613 * include/bits/stl_algo.h (__rotate, rotate): Likewise. 2614 26152015-02-19 Hans-Peter Nilsson <hp@axis.com> 2616 2617 PR testsuite/65093 2618 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc 2619 (test01): Add explanatory comment. Keep only the bd1 sub-test and 2620 split out bd2, bd3, bd4, and bd5 sub-tests into... 2621 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, 2622 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, 2623 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, 2624 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: 2625 New separate files with the old parts. 2626 26272015-02-18 Jonathan Wakely <jwakely@redhat.com> 2628 2629 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output 2630 surrogate pairs. 2631 (utf16_in): Pass mode argument to write_utf16_code_point. 2632 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to 2633 native byte order. 2634 * testsuite/22_locale/codecvt/char16_t.cc: New. 2635 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. 2636 2637 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. 2638 * testsuite/22_locale/codecvt/char32_t.cc: Likewise. 2639 26402015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 2641 Jonathan Wakely <jwakely@redhat.com> 2642 2643 * testsuite/22_locale/codecvt/char32_t.cc: New. 2644 26452015-02-17 Jonathan Wakely <jwakely@redhat.com> 2646 2647 PR libstdc++/65085 2648 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure 2649 empty string gets null-terminated. 2650 * testsuite/21_strings/basic_string/cons/char/65085.cc: New. 2651 26522015-02-13 Matthew Wahab <matthew.wahab@arm.com> 2653 2654 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix 2655 mixed line-endings introduced in last change. 2656 26572015-02-12 Matthew Wahab <matthew.wahab@arm.com> 2658 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. 2662 26632015-02-04 Matthew Wahab <matthew.wahab@arm.com> 2664 2665 PR libstdc++/64467 2666 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib 2667 special case for '\n'. 2668 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 2669 26702015-02-01 Jonathan Wakely <jwakely@redhat.com> 2671 2672 * src/c++11/futex.cc: Do not define for gthr-single.h targets. 2673 26742015-02-01 Jonathan Wakely <jwakely@redhat.com> 2675 2676 PR libstdc++/64883 2677 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead 2678 of deprecated. 2679 * include/c_std/cstdio (gets): Likewise. 2680 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing 2681 with attributes used in darwin headers. 2682 26832015-01-29 Jakub Jelinek <jakub@redhat.com> 2684 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. 2688 26892015-01-29 H.J. Lu <hongjiu.lu@intel.com> 2690 2691 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 2692 after vtv_cygmin is set. 2693 * configure: Regenerated. 2694 26952015-01-29 Matthias Klose <doko@ubuntu.com> 2696 2697 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 2698 unconditionally. 2699 * configure: Regenerate. 2700 27012015-01-29 Caroline Tice <cmtice@google.com> 2702 2703 Committing VTV Cywin/Ming patch for Patrick Wollgast 2704 * configure: Regenerate. 2705 * libsupc++/Makefile.in: Regenerate. 2706 * src/Makefile.in: Regenerate. 2707 27082015-01-29 Jonathan Wakely <jwakely@redhat.com> 2709 2710 * include/bits/atomic_base.h: Use __always_inline__ instead of 2711 always_inline. 2712 * include/bits/atomic_futex.h: Likewise. 2713 * include/bits/c++config: Use __abi_tag__ instead of abi_tag. 2714 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use 2715 __packed__ instead of packed. 2716 * include/std/shared_mutex: Use __unused__ instead of unused. 2717 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. 2718 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. 2719 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. 2720 27212015-01-28 Caroline Tice <cmtice@google.com> 2722 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. 2732 27332015-01-28 Jonathan Wakely <jwakely@redhat.com> 2734 2735 PR libstdc++/64828 2736 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. 2737 * libsupc++/Makefile.in: Regenerate. 2738 * src/c++11/Makefile.in: Regenerate. 2739 27402015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 2741 2742 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove 2743 check for unsupported. 2744 (v3_target_compile_as_c): Likewise. 2745 27462015-01-28 Richard Biener <rguenther@suse.de> 2747 2748 PR libstdc++/64798 2749 * libsupc++/eh_alloc.cc (struct allocated_entry): Align 2750 data member. 2751 (pool::allocate): Adjust allocation size and alignment to 2752 that change. 2753 (pool::free): Adjust pointer offsetting. 2754 27552015-01-27 Jonathan Wakely <jwakely@redhat.com> 2756 2757 PR libstdc++/64368 2758 * include/std/shared_mutex (shared_timed_mutex::try_lock_for, 2759 shared_timed_mutex::try_lock_until): Only define when POSIX thread 2760 timeouts option is supported. 2761 (shared_timed_mutex::try_shared_lock_for, 2762 shared_timed_mutex::try_shared_lock_until): Likewise. 2763 27642015-01-26 Jonathan Wakely <jwakely@redhat.com> 2765 2766 PR libstdc++/64368 2767 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(), 2768 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping. 2769 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping 2770 and use cache's _M_grouping field. 2771 (__numpunct_fill_cache): Likewise. 2772 (__moneypunct_fill_cache): Improve comments. 2773 27742015-01-26 Jonathan Wakely <jwakely@redhat.com> 2775 2776 * testsuite/23_containers/set/operations/2.cc: Add test for 2777 non-transparent comparison function. 2778 27792015-01-25 Oleg Endo <olegendo@gcc.gnu.org> 2780 2781 PR target/29366 2782 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 2783 Remove SH4A inline asm and lock based implementations and use the 2784 defaults from ext/atomicity.h. 2785 27862015-01-23 Jonathan Wakely <jwakely@redhat.com> 2787 2788 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match 2789 new std::string constructors for byname facets. 2790 27912015-01-22 Richard Biener <rguenther@suse.de> 2792 2793 PR libstdc++/64535 2794 * libsupc++/eh_alloc.cc: Include new. 2795 (bitmask_type): Remove. 2796 (one_buffer): Likewise. 2797 (emergency_buffer): Likewise. 2798 (emergency_used): Likewise. 2799 (dependents_buffer): Likewise. 2800 (dependents_used): Likewise. 2801 (class pool): New custom fixed-size arena, variable size object 2802 allocator. 2803 (emergency_pool): New global. 2804 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. 2805 (__cxxabiv1::__cxa_free_exception): Likewise. 2806 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. 2807 (__cxxabiv1::__cxa_free_dependent_exception): Likewise. 2808 28092015-01-22 Tim Shen <timshen@google.com> 2810 2811 PR libstdc++/64680 2812 * include/bits/regex.h (basic_regex<>::basic_regex, 2813 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the 2814 standard interface. 2815 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. 2816 28172015-01-22 Tim Shen <timshen@google.com> 2818 2819 PR libstdc++/64649 2820 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 2821 regex_traits<>::lookup_classname): Correctly narrow input chars. 2822 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. 2823 28242015-01-21 Jonathan Wakely <jwakely@redhat.com> 2825 2826 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. 2827 28282015-01-21 Jonathan Wakely <jwakely@redhat.com> 2829 2830 * testsuite/29_atomics/atomic/64658.cc: Test stored value. 2831 28322015-01-20 Jonathan Wakely <jwakely@redhat.com> 2833 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. 2837 28382015-01-20 Jonathan Wakely <jwakely@redhat.com> 2839 2840 PR libstdc++/64650 2841 * include/experimental/optional (bad_optional_access): Add default 2842 constructor. 2843 * testsuite/experimental/optional/requirements.cc: Test for default 2844 constructor. 2845 28462015-01-20 Jonathan Wakely <jwakely@redhat.com> 2847 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. 2867 28682015-01-20 Jonathan Wakely <jwakely@redhat.com> 2869 2870 * config/abi/pre/gnu.ver: Export new constructors. 2871 * include/bits/codecvt.h (codecvt_byname): Add string constructor. 2872 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit 2873 specializations and declare explicit instantiations. 2874 * include/bits/locale_classes.h (locale, collate_byname): Add string 2875 constructors. 2876 * include/bits/locale_facets.h (ctype_byname, numpunct_byname): 2877 Likewise. 2878 * include/bits/locale_facets_nonio.h (time_get_byname, 2879 time_put_byname, moneypunct_byname, messages_byname): Likewise. 2880 * src/c++11/codecvt.cc (codecvt_byname<char16_t>, 2881 codecvt_byname<char32_t>): Define explicit instantiations. 2882 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): 2883 Instantiate string constructors. 2884 (ctype_byname): Define string constructor. 2885 * testsuite/22_locale/codecvt_byname/1.cc: New. 2886 * testsuite/22_locale/collate_byname/1.cc: New. 2887 * testsuite/22_locale/ctype_byname/2.cc: New. 2888 * testsuite/22_locale/messages_byname/1.cc: New. 2889 * testsuite/22_locale/moneypunct_byname/1.cc: New. 2890 * testsuite/22_locale/numpunct_byname/1.cc: New. 2891 28922015-01-20 Jonathan Wakely <jwakely@redhat.com> 2893 2894 PR libstdc++/64658 2895 * include/std/atomic (atomic_init): Define. 2896 * testsuite/29_atomics/atomic/64658.cc: New. 2897 28982015-01-19 Tim Shen <timshen@google.com> 2899 2900 PR libstdc++/64649 2901 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 2902 regex_traits<>::lookup_classname): Support forward iterators. 2903 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. 2904 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. 2905 29062015-01-19 Tim Shen <timshen@google.com> 2907 2908 PR libstdc++/64584 2909 PR libstdc++/64585 2910 * include/bits/regex.h (basic_regex<>::basic_regex, 2911 basic_regex<>::assign, basic_regex<>::imbue, 2912 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after 2913 imbuing basic_regex; Make assign() transactional against exception. 2914 * include/bits/regex_compiler.h (__compile_nfa<>): Add back 2915 __compile_nfa SFINAE. 2916 * include/std/regex: Adjust include order to avoid __compile_nfa 2917 forward declaration. 2918 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. 2919 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. 2920 29212015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com> 2922 Jonathan Wakely <jwakely@redhat.com> 2923 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. 2928 29292015-01-18 Jonathan Wakely <jwakely@redhat.com> 2930 2931 PR libstdc++/64646 2932 * include/bits/stl_algo.h (__is_permutation): Also test for reaching 2933 end of the second range. 2934 * testsuite/25_algorithms/is_permutation/64646.cc: New. 2935 29362015-01-18 Jonathan Wakely <jwakely@redhat.com> 2937 2938 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. 2939 * doc/html/manual/status.html: Regenerate. 2940 29412015-01-18 Jonathan Wakely <jwakely@redhat.com> 2942 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. 2946 2947 * src/c++11/futex.cc: Fix order of includes and preprocessor condition. 2948 29492015-01-17 Jonathan Wakely <jwakely@redhat.com> 2950 2951 PR libstdc++/64638 2952 * include/bits/atomic_futex.h: Use appropriate config macros for 2953 availability of std::mutex, std::condition and std::chrono. 2954 29552015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com> 2956 Jonathan Wakely <jwakely@redhat.com> 2957 2958 * doc/xml/manual/status_cxx2011.xml: Update C++11 status. 2959 * doc/html/*: Regenerate. 2960 29612015-01-17 Jonathan Wakely <jwakely@redhat.com> 2962 2963 DR 488 2964 PR libstdc++/58357 2965 * include/bits/algorithmfwd.h (rotate): Return an iterator. 2966 * include/bits/stl_algo.h (rotate, __rotate): Likewise. 2967 * testsuite/25_algorithms/rotate/dr488.cc: New. 2968 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. 2969 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 2970 2.cc: Likewise. 2971 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 2972 pod.cc: Likewise. 2973 29742015-01-17 Jonathan Wakely <jwakely@redhat.com> 2975 2976 PR libstdc++/60940 2977 * include/bits/atomic_base.h: Remove atomic integral typedefs as 2978 synonyms for __atomic_base<int> etc. 2979 * include/std/atomic: Make atomic_int a synonym for atomic<int> and 2980 likewise for all atomic integral types. 2981 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. 2982 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 2983 29842015-01-17 Jonathan Wakely <jwakely@redhat.com> 2985 2986 PR libstdc++/56785 2987 * include/std/tuple (_Tuple_impl): Remove zero-element specialization 2988 and define one-element specialization. 2989 * testsuite/20_util/tuple/56785.cc: New. 2990 29912015-01-17 Jonathan Wakely <jwakely@redhat.com> 2992 2993 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: 2994 Remove unused header. 2995 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: 2996 Likewise. 2997 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 2998 Likewise. 2999 30002015-01-16 Jonathan Wakely <jwakely@redhat.com> 3001 3002 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. 3003 * include/std/locale: Include new header. 3004 * include/Makefile.am: Add it. 3005 * include/Makefile.in: Regenerate. 3006 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. 3007 * testsuite/22_locale/conversions/string/1.cc: New. 3008 * testsuite/22_locale/conversions/string/2.cc: New. 3009 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. 3010 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: 3011 New. 3012 30132015-01-16 Jonathan Wakely <jwakely@redhat.com> 3014 3015 * config/abi/pre/gnu.ver: Export new symbols. 3016 * include/Makefile.am: Add codecvt. 3017 * include/Makefile.in: Regenerate. 3018 * include/std/codecvt: New header. 3019 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, 3020 __codecvt_utf8_utf16_base): Define specializations. 3021 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. 3022 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. 3023 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 3024 New. 3025 30262015-01-16 Torvald Riegel <triegel@redhat.com> 3027 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. 3037 30382015-01-16 Jonathan Wakely <jwakely@redhat.com> 3039 3040 * acinclude.m4: Fix typo in comment. 3041 * configure: Regenerate. 3042 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, 3043 codecvt<char16_t, char, mbstate_t>): Declare specializations. 3044 * include/bits/locale_facets.h: Reserve space for new specializations. 3045 * src/c++11/Makefile.am: Add codecvt.cc. 3046 * src/c++11/Makefile.in: Regenerate. 3047 * src/c++11/codecvt.cc: New. 3048 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc 3049 with -std=gnu++11. 3050 * src/c++98/Makefile.in: Regenerate. 3051 * src/c++98/locale_init.cc: Initialize new codecvt specializations. 3052 * src/c++98/localename.cc: Likewise. 3053 * config/abi/pre/gnu.ver: Exports for new codecvt specializations. 3054 * testsuite/22_locale/codecvt/utf8.cc: New. 3055 * testsuite/22_locale/locale/cons/unicode.cc: Check that new 3056 specializations are installed in locale objects. 3057 30582015-01-16 Torvald Riegel <triegel@redhat.com> 3059 3060 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based 3061 implementation. 3062 30632015-01-13 Jonathan Wakely <jwakely@redhat.com> 3064 3065 PR libstdc++/64571 3066 * config/abi/pre/gnu.ver: Export fstream functions using new string. 3067 30682015-01-12 Jonathan Wakely <jwakely@redhat.com> 3069 3070 PR libstdc++/64560 3071 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check 3072 for RTTI support. 3073 3074 PR libstdc++/64553 3075 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. 3076 30772015-01-10 Thomas Schwinge <thomas@codesourcery.com> 3078 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". 3082 30832015-01-09 Jonathan Wakely <jwakely@redhat.com> 3084 3085 PR libstdc++/64476 3086 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix 3087 is_assignable arguments. 3088 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: 3089 New. 3090 30912015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 3092 3093 * libsupc++/unwind-cxx.h: Revert previous commit. 3094 30952015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 3096 3097 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 3098 30992015-01-09 Tim Shen <timshen@google.com> 3100 3101 PR libstdc++/64239 3102 * include/bits/regex.h (match_results<>::swap): Use std::swap 3103 instead of swap. 3104 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): 3105 Likewise. 3106 * testsuite/28_regex/match_results/swap.cc: New testcase. 3107 31082015-01-08 Jonathan Wakely <jwakely@redhat.com> 3109 3110 PR libstdc++/60132 3111 * include/std/type_traits (has_trivial_default_constructor, 3112 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated 3113 attribute. 3114 * testsuite/20_util/has_trivial_copy_assign/requirements/ 3115 explicit_instantiation.cc: Use -Wno-deprecated. 3116 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: 3117 Likewise. 3118 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. 3119 * testsuite/20_util/has_trivial_copy_constructor/requirements/ 3120 explicit_instantiation.cc: Likewise. 3121 * testsuite/20_util/has_trivial_copy_constructor/requirements/ 3122 typedefs.cc: Likewise. 3123 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. 3124 * testsuite/20_util/has_trivial_default_constructor/requirements/ 3125 explicit_instantiation.c: Likewise. 3126 * testsuite/20_util/has_trivial_default_constructor/requirements/ 3127 typedefs.cc: Likewise. 3128 * testsuite/20_util/has_trivial_default_constructor/value.cc: 3129 Likewise. 3130 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated 3131 trait. 3132 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. 3133 * testsuite/util/testsuite_common_types.h: Likewise. 3134 31352015-01-08 Jonathan Wakely <jwakely@redhat.com> 3136 3137 * include/bits/hashtable_policy.h: Use __bool_constant. 3138 31392015-01-07 Jonathan Wakely <jwakely@redhat.com> 3140 3141 * libsupc++/Makefile.am: Compile del_ops.cc as C++14. 3142 * libsupc++/Makefile.in: Regenerate. 3143 31442015-01-06 Jonathan Wakely <jwakely@redhat.com> 3145 3146 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). 3147 31482015-01-05 Jakub Jelinek <jakub@redhat.com> 3149 3150 Update copyright years. 3151 31522015-01-04 Jonathan Wakely <jwakely@redhat.com> 3153 3154 PR libstdc++/64483 3155 * testsuite/18_support/exception_ptr/64241.cc: Use 3156 dg-require-atomic-builtins. 3157 31582015-01-02 Jonathan Wakely <jwakely@redhat.com> 3159 3160 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright 3161 date. 3162 31632015-01-02 Tim Shen <timshen@google.com> 3164 3165 PR libstdc++/64475 3166 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the 3167 iterator, since the original one shouldn't be mutated. 3168 31692015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 3170 3171 PR libstdc++/64422 3172 * src/c++98/misc-inst.cc (string::erase): Add missing overloads. 3173 (string::insert): Likewise. 3174 (string::replace): Likewise. 3175 (wstring::erase): Likewise. 3176 (wstring::insert): Likewise. 3177 (wstring::replace): Likewise. 3178 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. 3179 31802015-01-02 Jonathan Wakely <jwakely@redhat.com> 3181 3182 PR libstdc++/64468 3183 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. 3184 31852015-01-02 Jonathan Wakely <jwakely@redhat.com> 3186 3187 PR libstdc++/64438 3188 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: 3189 Revert removal of dg-require-string-conversions. 3190 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: 3191 Likewise. 3192 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: 3193 Likewise. 3194 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: 3195 Likewise. 3196 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: 3197 Likewise. 3198 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: 3199 Likewise. 3200 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: 3201 Likewise. 3202 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: 3203 Likewise. 3204 * testsuite/21_strings/basic_string/numeric_conversions/char/ 3205 stoull.cc: Likewise. 3206 * testsuite/21_strings/basic_string/numeric_conversions/char/ 3207 to_string.cc: Likewise. 3208 3209Copyright (C) 2015 Free Software Foundation, Inc. 3210 3211Copying and distribution of this file, with or without modification, 3212are permitted in any medium without royalty provided the copyright 3213notice and this notice are preserved. 3214