12018-07-05 François Dumont <fdumont@gcc.gnu.org> 2 3 Backport from mainline 4 2018-07-04 François Dumont <fdumont@gcc.gnu.org> 5 6 PR libstdc++/86272 7 * include/debug/string 8 (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)): 9 Use __glibcxx_check_insert_range. 10 112018-05-14 Jonathan Wakely <jwakely@redhat.com> 12 13 PR libstdc++/67554 14 * include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>) 15 (_Array_copier<_Tp, true>): Do not pass null pointers to memcpy. 16 172018-05-10 Jonathan Wakely <jwakely@redhat.com> 18 19 * doc/xml/manual/debug_mode.xml: Add array and forward_list to list 20 of C++11 containers with Debug Mode support. 21 * doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure. 22 * doc/html/*: Regenerate. 23 242018-05-03 Jonathan Wakely <jwakely@redhat.com> 25 26 PR libstdc++/85632 use uintmax_t for arithmetic 27 * src/filesystem/ops.cc (experimental::filesystem::space): Perform 28 arithmetic in result type. 29 * testsuite/experimental/filesystem/operations/space.cc: New. 30 312018-03-02 Jonathan Wakely <jwakely@redhat.com> 32 33 Backport from mainline 34 2018-03-02 Jonathan Wakely <jwakely@redhat.com> 35 36 PR libstdc++/84671 37 * include/bits/parse_numbers.h (_Number_help): Add partial 38 specialization to handle digit separators. Adjust partial 39 specialization for recursion temrination to require _Pow == 1ULL. 40 * testsuite/20_util/duration/literals/84671.cc: New 41 422018-02-19 Jonathan Wakely <jwakely@redhat.com> 43 44 Backport from mainline 45 2018-02-15 Jonathan Wakely <jwakely@redhat.com> 46 47 PR libstdc++/81797 48 * configure.ac (INCLUDE_DIR_NOTPARALLEL): Define. 49 * configure: Regenerate. 50 * include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when 51 defined. 52 * include/Makefile.in: Regenerate. 53 542018-01-29 Jonathan Wakely <jwakely@redhat.com> 55 56 Backport from mainline 57 2018-01-15 Jonathan Wakely <jwakely@redhat.com> 58 59 PR libstdc++/83833 60 * include/bits/random.h (chi_squared_distribution::param): Update 61 gamma distribution parameter. 62 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New 63 test. 64 652018-01-19 Jonathan Wakely <jwakely@redhat.com> 66 67 Backport from mainline 68 2018-01-16 Jonathan Wakely <jwakely@redhat.com> 69 70 PR libstdc++/83834 71 * config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard 72 pattern with exact match for std::cerr. 73 742018-01-15 Jonathan Wakely <jwakely@redhat.com> 75 76 * python/libstdcxx/v6/printers.py (register_type_printers): Remove 77 printer for experimental::any. Fix printers for experimental::optional 78 and experimental::basic_string_view. 79 80 Backport from mainline 81 2018-01-04 Jonathan Wakely <jwakely@redhat.com> 82 83 PR libstdc++/83626 84 * src/filesystem/ops.cc (remove(const path&, error_code&))): Do not 85 return an error for non-existent paths. Remove unnecessary 86 symlink_status call. 87 (remove_all(const path&)): Fix type of result variable. 88 (remove_all(const path&, error_code&))): Use non-throwing increment 89 for directory iterator. Do not return an error for non-existent paths. 90 * testsuite/experimental/filesystem/operations/remove.cc: New test. 91 * testsuite/experimental/filesystem/operations/remove_all.cc: Fix 92 expected results for non-existent paths. 93 942018-01-05 Jonathan Wakely <jwakely@redhat.com> 95 96 Backport from mainline 97 2017-11-14 Jonathan Wakely <jwakely@redhat.com> 98 99 * include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo. 100 * testsuite/22_locale/conversions/buffer/3.cc: New test. 101 102 Backport from mainline 103 2017-10-19 Jonathan Wakely <jwakely@redhat.com> 104 105 * testsuite/experimental/filesystem/iterators/ 106 recursive_directory_iterator.cc: Ensure that error_code arguments are 107 cleared when required. 108 * testsuite/experimental/filesystem/operations/create_directory.cc: 109 Remove redundant check. 110 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 111 Ensure that error_code argument is cleared when required. 112 113 Backport from mainline 114 2017-12-27 Jonathan Wakely <jwakely@redhat.com> 115 116 PR libstdc++/83600 117 * include/bits/regex.h (match_results::end()): Return valid iterator 118 when not ready. 119 * testsuite/28_regex/match_results/ctors/char/default.cc: Check that 120 unready objects are empty and have equal begin and end iterators. 121 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. 122 123 Backport from mainline 124 2017-12-27 Jonathan Wakely <jwakely@redhat.com> 125 126 PR libstdc++/83598 127 * include/bits/regex.h (basic_regex): Don't modify flags passed to 128 constructors. 129 * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. 130 131 Backport from mainline 132 2017-12-14 Jonathan Wakely <jwakely@redhat.com> 133 134 PR libstdc++/83279 135 * src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not 136 copying entire file. 137 138 Backport from mainline 139 2018-01-04 Jonathan Wakely <jwakely@redhat.com> 140 141 * include/experimental/fs_ops.h (exists(const path&, error_code&))): 142 Only check status_known once. 143 144 Backport from mainline 145 2017-10-25 Jonathan Wakely <jwakely@redhat.com> 146 147 PR libstdc++/79283 148 * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. 149 1502017-12-14 Jonathan Wakely <jwakely@redhat.com> 151 152 PR libstdc++/59568 153 * include/std/complex (operator>>): Only use putback if a character 154 was successfully extracted and only set the value if a number was 155 successfully extracted. 156 * testsuite/26_numerics/complex/inserters_extractors/char/59568.cc: 157 New test. 158 1592017-11-11 John David Anglin <danglin@gcc.gnu.org> 160 161 Backport from mainline 162 2017-08-20 John David Anglin <danglin@gcc.gnu.org> 163 164 PR testsuite/81056 165 * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. 166 1672017-10-25 Jonathan Wakely <jwakely@redhat.com> 168 169 * doc/xml/manual/status_cxx1998.xml: Correct statement about 170 what the doc covers. 171 * doc/xml/manual/status_cxxtr1.xml: Likewise. 172 * doc/xml/manual/status_cxxtr24733.xml: Likewise. 173 * doc/html/*: Regenerate. 174 1752017-10-23 Jonathan Wakely <jwakely@redhat.com> 176 177 Backport from mainline 178 2017-07-18 Jonathan Wakely <jwakely@redhat.com> 179 180 PR libstdc++/81395 181 * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer 182 pointers for write mode after reading. 183 * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. 184 185 Backport from mainline 186 2017-10-19 Jonathan Wakely <jwakely@redhat.com> 187 188 * include/experimental/bits/fs_path.h (path::iterator++(int)) 189 (path::iterator--(int)): Fix for paths with only one component. 190 * testsuite/experimental/filesystem/path/itr/traversal.cc: Test 191 post-increment and post-decrement. 192 1932017-09-20 Jonathan Wakely <jwakely@redhat.com> 194 195 Backport from mainline 196 2017-02-16 Jonathan Wakely <jwakely@redhat.com> 197 198 PR libstdc++/60936 199 * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length 200 written to buffer, not length remaining in buffer. 201 202 Backport from mainline 203 2017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 204 205 * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. 206 2072017-09-18 Jonathan Wakely <jwakely@redhat.com> 208 209 Backport from mainline 210 2017-02-03 Jonathan Wakely <jwakely@redhat.com> 211 212 PR libstdc++/60936 213 * src/c++11/Makefile.am: Add new files. 214 * src/c++11/Makefile.in: Regenerate. 215 * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 216 (operator<<, operator>>, getline): Move explicit instantiations to ... 217 * src/c++11/cow-string-io-inst.cc: ... new file. 218 * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 219 (operator<<, operator>>, getline): Move explicit instantiations to ... 220 * src/c++11/cow-wstring-io-inst.cc: ... new file. 221 * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) 222 (__throw_future_error, __throw_bad_function_call): 223 (__throw_regex_error): Move functions for C++11 exceptions to the 224 files that define the exception types. 225 * src/c++11/functional.cc (__throw_bad_function_call): Move here. 226 * src/c++11/future.cc (__throw_future_error): Likewise. 227 * src/c++11/ios.cc (__throw_ios_failure): Likewise. 228 * src/c++11/regex.cc (__throw_regex_error): Likewise. 229 * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal 230 representation directly instead of calling __int_to_char. 231 * src/c++11/sso_string.cc (__sso_string): New file for definition 232 of __sso_string type. 233 * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 234 explicit instantiations of narrow string I/O functions. 235 * src/c++11/system_error.cc (__throw_system_error): Move here. 236 (__sso_string): Move to new file. 237 * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 238 explicit instantiations of wide string I/O functions. 239 * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) 240 (operator>>, getline): Remove explicit instantiations from here. 241 2422017-09-13 Jonathan Wakely <jwakely@redhat.com> 243 244 PR libstdc++/81468 245 * include/std/chrono (time_point(const time_point<_Dur2>&)): Add 246 missing constraint from LWG DR 1177. 247 * testsuite/20_util/duration/cons/dr1177.cc: New. 248 * testsuite/20_util/time_point/cons/81468.cc: New. 249 * testsuite/20_util/duration/literals/range.cc: Update dg-error line. 250 251 * doc/doxygen/mainpage.html: Fix broken URLs. 252 253 PR libstdc++/81835 254 * doc/xml/manual/extensions.xml: Replace unstable URL. 255 * doc/html/manual/ext_demangling.html: Regenerate. 256 * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. 257 2582017-09-05 Jonathan Wakely <jwakely@redhat.com> 259 260 * testsuite/20_util/owner_less/noexcept.cc: Remove owner_less<void> 261 tests. 262 2632017-09-04 Jonathan Wakely <jwakely@redhat.com> 264 265 Backport from mainline 266 2017-08-09 Jonathan Wakely <jwakely@redhat.com> 267 268 PR libstdc++/79820 269 PR libstdc++/81751 270 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): 271 Call fflush on the stream instead of calling sync() while _M_cfile is 272 null. Restore original value of errno. 273 * testsuite/ext/stdio_filebuf/char/79820.cc: New. 274 * testsuite/ext/stdio_filebuf/char/81751.cc: New. 275 276 Backport from mainline 277 2017-07-25 Jonathan Wakely <jwakely@redhat.com> 278 279 PR libstdc++/53984 280 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. 281 * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions 282 during construction. 283 * include/std/istream: Adjust comments for formatted input functions 284 and unformatted input functions. 285 * testsuite/27_io/basic_fstream/53984.cc: New. 286 * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. 287 288 Backport from mainline 289 2017-06-08 Jonathan Wakely <jwakely@redhat.com> 290 291 PR libstdc++/81017 292 * include/std/functional (function::function(function&&)) 293 (function::operator=(function&&)): Add noexcept. 294 * testsuite/20_util/function/assign/move.cc: Check for noexcept. 295 * testsuite/20_util/function/cons/move.cc: Likewise. 296 297 Backport from mainline 298 2017-06-05 Jonathan Wakely <jwakely@redhat.com> 299 300 * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) 301 (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept 302 specifiers as per LWG 2873 and LWG 2942. 303 * testsuite/20_util/owner_less/noexcept.cc: New. 304 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test 305 noexcept guarantees. 306 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. 307 308 Backport from mainline 309 2017-08-31 Jonathan Wakely <jwakely@redhat.com> 310 311 PR c++/82039 312 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): 313 Adjust null pointer constant to avoid warning. 314 315 Backport from mainline 316 2017-08-18 Jonathan Wakely <jwakely@redhat.com> 317 318 PR libstdc++/81891 319 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, 320 size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, 321 const _ExtractKey&, const allocator_type&)): Let destructor do clean 322 up if an exception is thrown. 323 * testsuite/23_containers/unordered_map/cons/81891.cc: New. 324 325 Backport from mainline 326 2017-07-31 Marek Polacek <polacek@redhat.com> 327 328 PR libstdc++/81599 329 * include/bits/stl_stack.h: Fix typo. 330 331 Backport from mainline 332 2017-07-10 Jonathan Wakely <jwakely@redhat.com> 333 334 PR libstdc++/81338 335 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 336 Declare basic_stringbuf to be a friend. 337 * include/bits/sstream.tcc (basic_stringbuf::overflow) 338 [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. 339 * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string 340 length to buffer length. 341 * testsuite/27_io/basic_stringstream/assign/81338.cc: New. 342 3432017-07-12 Jonathan Wakely <jwakely@redhat.com> 344 345 * testsuite/30_threads/promise/members/at_thread_exit2.cc: Require 346 atomic builtins. 347 3482017-07-11 Jonathan Wakely <jwakely@redhat.com> 349 350 Backport from mainline 351 2017-04-21 Jonathan Wakely <jwakely@redhat.com> 352 353 PR libstdc++/80316 354 * include/std/future (_State_baseV2::_Setter::operator()): Remove 355 _S_check calls that are done after the pointer to the shared state is 356 already dereferenced. 357 (_State_baseV2::_Setter<_Res, void>): Define specialization for void 358 as partial specialization so it can be defined within the definition 359 of _State_baseV2. 360 (_State_baseV2::__setter): Call _S_check. 361 (_State_baseV2::__setter(promise<void>*)): Add overload for use by 362 promise<void>::set_value and promise<void>::set_value_at_thread_exit. 363 (promise<T>, promise<T&>, promise<void>): Make _State a friend. 364 (_State_baseV2::_Setter<void, void>): Remove explicit specialization. 365 (promise<void>::set_value, promise<void>::set_value_at_thread_exit): 366 Use new __setter overload. 367 * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. 368 * testsuite/30_threads/promise/members/set_exception.cc: Test 369 promise<T&> and promise<void> specializations. 370 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 371 Test for no_state error condition. 372 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 373 3742017-07-04 Release Manager 375 376 * GCC 6.4.0 released. 377 3782017-06-16 Jonathan Wakely <jwakely@redhat.com> 379 380 * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. 381 * testsuite/22_locale/conversions/buffer/2.cc: New. 382 383 * doc/xml/manual/appendix_contributing.xml: Link to the list of bad 384 names, and link to the test docs and note higher DejaGnu version 385 requirement. 386 * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. 387 * doc/xml/manual/mt_allocator.xml: Likewise. 388 * doc/html/*: Regenerate. 389 390 * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing 391 return statement. 392 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add 393 missing return statements. 394 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 395 Likewise. 396 3972017-06-07 Jonathan Wakely <jwakely@redhat.com> 398 399 PR libstdc++/81002 400 * include/bits/regex_compiler.h (__compile_nfa): Add template argument 401 list to specify traits type. 402 * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. 403 4042017-05-26 Jonathan Wakely <jwakely@redhat.com> 405 406 Backport from mainline 407 2017-01-20 Joe Seymour <joe.s@somniumtech.com> 408 409 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. 410 * configure: Regenerate. 411 412 Backport from mainline 413 2016-12-06 Felipe Magno de Almeida <felipe@expertisesolutions.com.br> 414 415 * src/c++11/cow-stdexcept.cc: Add special case for 16 bit pointers. 416 4172017-05-18 Jonathan Wakely <jwakely@redhat.com> 418 419 Backport from mainline 420 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 421 422 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/ 423 check_value.cc: Do not add special functions to namespace std in TR1 424 test. 425 426 Backport from mainline 427 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 428 429 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only 430 run for C++11 and later. 431 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: 432 Likewise. 433 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise. 434 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. 435 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise. 436 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise. 437 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: 438 Likewise. 439 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: 440 Likewise. 441 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise. 442 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: 443 Likewise. 444 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: 445 Likewise. 446 * testsuite/special_functions/02_assoc_legendre/check_value.cc: 447 Likewise. 448 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise. 449 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: 450 * testsuite/special_functions/03_beta/check_nan.cc: Likewise. 451 * testsuite/special_functions/03_beta/check_value.cc: Likewise. 452 * testsuite/special_functions/03_beta/compile.cc: Likewise. 453 * testsuite/special_functions/03_beta/compile_2.cc: Likewise. 454 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise. 455 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: 456 Likewise. 457 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise. 458 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise. 459 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise. 460 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: 461 Likewise. 462 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise. 463 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise. 464 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise. 465 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: 466 Likewise. 467 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise. 468 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise. 469 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise. 470 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: 471 Likewise. 472 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise. 473 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise. 474 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise. 475 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise. 476 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: 477 Likewise. 478 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise. 479 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise. 480 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise. 481 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: 482 Likewise. 483 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise. 484 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise. 485 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise. 486 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise. 487 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise. 488 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise. 489 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise. 490 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise. 491 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise. 492 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise. 493 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise. 494 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise. 495 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise. 496 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise. 497 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise. 498 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise. 499 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise. 500 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise. 501 * testsuite/special_functions/14_expint/check_nan.cc: Likewise. 502 * testsuite/special_functions/14_expint/check_value.cc: Likewise. 503 * testsuite/special_functions/14_expint/compile.cc: Likewise. 504 * testsuite/special_functions/14_expint/compile_2.cc: Likewise. 505 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise. 506 * testsuite/special_functions/15_hermite/check_value.cc: Likewise. 507 * testsuite/special_functions/15_hermite/compile.cc: Likewise. 508 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise. 509 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise. 510 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise. 511 * testsuite/special_functions/16_laguerre/compile.cc: Likewise. 512 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise. 513 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise. 514 * testsuite/special_functions/17_legendre/check_value.cc: Likewise. 515 * testsuite/special_functions/17_legendre/compile.cc: Likewise. 516 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise. 517 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise. 518 * testsuite/special_functions/18_riemann_zeta/check_value.cc: 519 Likewise. 520 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise. 521 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise. 522 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise. 523 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise. 524 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise. 525 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise. 526 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise. 527 * testsuite/special_functions/20_sph_legendre/check_value.cc: 528 Likewise. 529 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise. 530 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise. 531 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise. 532 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise. 533 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise. 534 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise. 535 536 Backport from mainline 537 2016-07-31 Jonathan Wakely <jwakely@redhat.com> 538 539 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 540 Adjust dg-prune-output pattern for error in C++98 mode. 541 542 Backport from mainline 543 2016-07-28 Jonathan Wakely <jwakely@redhat.com> 544 545 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 546 Adjust dg-prune-output pattern for error in C++98 mode. 547 * testsuite/23_containers/deque/requirements/dr438/ 548 constructor_1_neg.cc: Likewise. 549 * testsuite/23_containers/deque/requirements/dr438/ 550 constructor_2_neg.cc: Likewise. 551 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 552 Likewise. 553 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 554 Likewise. 555 * testsuite/23_containers/list/requirements/dr438/ 556 constructor_1_neg.cc: Likewise. 557 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 558 Likewise. 559 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 560 Likewise. 561 * testsuite/23_containers/vector/requirements/dr438/ 562 constructor_1_neg.cc: Likewise. 563 * testsuite/23_containers/vector/requirements/dr438/ 564 constructor_2_neg.cc: Likewise. 565 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 566 Likewise. 567 568 Backport from mainline 569 2016-08-01 Jonathan Wakely <jwakely@redhat.com> 570 571 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use 572 C++98-compatible initialization for array. 573 574 Backport from mainline 575 2016-08-01 Jonathan Wakely <jwakely@redhat.com> 576 577 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: 578 Limit test to C++11 and later. 579 580 Backport from mainline 581 2016-08-17 Jonathan Wakely <jwakely@redhat.com> 582 583 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target. 584 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise. 585 * testsuite/27_io/rvalue_streams.cc: Likewise. 586 587 Backport from mainline 588 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 589 590 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if 591 options are present that aren't valid for C. 592 * testsuite/abi/header_cxxabi.c: Likewise. 593 594 Backport from mainline 595 2016-04-18 Jonathan Wakely <jwakely@redhat.com> 596 597 * testsuite/experimental/memory_resource/null_memory_resource.cc: 598 Don't include internal header. 599 * testsuite/experimental/type_erased_allocator/2.cc: Likewise. 600 * testsuite/experimental/type_erased_allocator/uses_allocator.cc: 601 Likewise. Add licence and change to compile-only test. 602 603 Backport from mainline 604 2016-08-01 Jonathan Wakely <jwakely@redhat.com> 605 606 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test 607 supported for C++11 and later. 608 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 609 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 610 611 Backport from mainline 612 2017-03-23 Jonathan Wakely <jwakely@redhat.com> 613 614 * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 615 mode. Fix less-than to define a valid strict weak ordering. 616 617 Backport from mainline 618 2017-04-24 Jonathan Wakely <jwakely@redhat.com> 619 620 PR libstdc++/80504 621 * include/std/functional (ref, cref): Qualify calls. 622 * testsuite/20_util/reference_wrapper/80504.cc: New test. 623 624 Backport from mainline 625 2017-04-24 Jonathan Wakely <jwakely@redhat.com> 626 627 PR libstdc++/80493 628 * include/experimental/optional (optional::swap): Fix exception 629 specification. 630 631 Backport from mainline 632 2017-04-19 Jonathan Wakely <jwakely@redhat.com> 633 634 PR libstdc++/80448 635 * include/experimental/bits/fs_dir.h (directory_iterator) 636 (recursive_directory_iterator): Remove noexcept from defaulted 637 constructors. 638 639 Backport from mainline 640 2017-04-03 Jonathan Wakely <jwakely@redhat.com> 641 642 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests 643 that no longer fail. 644 645 Backport from mainline 646 2017-04-03 Jonathan Wakely <jwakely@redhat.com> 647 648 * include/bits/ios_base.h: Correct comment. 649 * testsuite/util/testsuite_hooks.h: Likewise. 650 651 Backport from mainline 652 2017-03-28 Jonathan Wakely <jwakely@redhat.com> 653 654 PR libstdc++/80137 655 * include/bits/random.tcc (generate_canonical): Use std::nextafter 656 or numeric_limits::epsilon() to reduce out-of-range values. 657 * testsuite/26_numerics/random/uniform_real_distribution/operators/ 658 64351.cc: Verify complexity requirement is met. 659 660 Backport from mainline 661 2017-03-16 Jonathan Wakely <jwakely@redhat.com> 662 663 PR libstdc++/67440 664 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name 665 for GDB 7.6 compatibility, use gdb.Type.unqualified instead. 666 667 Backport from mainline 668 2017-01-17 Jonathan Wakely <jwakely@redhat.com> 669 670 PR libstdc++/69699 671 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the 672 _GLIBCXX__ macro is not useful. Remove redundant date information 673 and link to the GCC release timeline. 674 (abi.versioning.active): Move partial sentence into the previous 675 paragraph. 676 * doc/html/*: Regenerate. 677 678 * doc/xml/manual/abi.xml: Document libstdc++.so.6.0.22 version. 679 680 Backport from mainline 681 2016-12-21 Jonathan Wakely <jwakely@redhat.com> 682 683 PR libstdc++/71444 684 * config/os/mingw32-w64/error_constants.h 685 (address_family_not_supported, address_in_use, address_not_available) 686 (already_connected, connection_aborted, connection_already_in_progress) 687 connection_refused, connection_reset, cross_device_link) 688 (destination_address_required, host_unreachable, message_size) 689 (network_down, network_reset, network_unreachable, no_buffer_space) 690 (no_protocol_option, not_a_socket, not_connected, operation_canceled) 691 (operation_in_progress, operation_not_supported, protocol_error) 692 (protocol_not_supported, too_many_links, too_many_symbolic_link_levels) 693 (value_too_large, wrong_protocol_type): Define. 694 (bad_message, identifier_removed, no_link, no_message_available) 695 (no_message, no_stream_resources, not_a_stream, owner_dead) 696 (state_not_recoverable, stream_timeout, text_file_busy): Define 697 conditionally. 698 * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: 699 Guard test for no_message with _GLIBCXX_HAVE_ENOMSG. 700 701 Backport from mainline 702 2016-11-09 Tim Shen <timshen@google.com> 703 704 PR libstdc++/78236 705 * libstdc++-v3/include/bits/regex.h (regex_iterator::regex_iterator()): 706 Define end() as _M_pregex == nullptr. 707 * libstdc++-v3/include/bits/regex.tcc (regex_iterator::operator==(), 708 regex_iterator::operator++()): Fix operator==() and operator++() to 709 look at null-ness of _M_pregex on both sides. 710 * testsuite/28_regex/regression.cc: New testcase. 711 7122017-05-18 Jonathan Wakely <jwakely@redhat.com> 713 714 * testsuite/libstdc++-prettyprinters/59161.cc: Fix for C++98 mode. 715 7162017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 717 718 Backport from mainline 719 2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 720 721 PR libstdc++/79141 722 * include/bits/stl_pair.h (__nonesuch_no_braces): New. 723 (operator=(typename conditional< 724 __and_<is_copy_assignable<_T1>, 725 is_copy_assignable<_T2>>::value, 726 const pair&, const __nonesuch&>::type)): Change __nonesuch 727 to __nonesuch_no_braces. 728 (operator=(typename conditional< 729 __not_<__and_<is_copy_assignable<_T1>, 730 is_copy_assignable<_T2>>>::value, 731 const pair&, const __nonesuch&>::type)): Likewise. 732 (operator=(typename conditional< 733 __and_<is_move_assignable<_T1>, 734 is_move_assignable<_T2>>::value, 735 pair&&, __nonesuch&&>::type)): Likewise. 736 * testsuite/20_util/pair/79141.cc: New. 737 7382017-03-28 Jonathan Wakely <jwakely@redhat.com> 739 740 PR libstdc++/80137 741 * include/bits/random.tcc (generate_canonical): Use std::nextafter 742 or numeric_limits::epsilon() to reduce out-of-range values. 743 * testsuite/26_numerics/random/uniform_real_distribution/operators/ 744 64351.cc: Verify complexity requirement is met. 745 746 Backport from mainline 747 2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 748 749 PR libstdc++/62045 750 * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp 751 (is_heap): Remove. 752 (push_heap): Remove the wrong checking using is_heap. 753 (make_heap): Remove the assertion using is_heap. 754 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp 755 (modify): Ditto. 756 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after 757 calling make_heap. 758 759 Backport from mainline 760 2017-03-15 Jonathan Wakely <jwakely@redhat.com> 761 762 PR libstdc++/62045 763 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 764 New test. 765 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste 766 error in comment. 767 768 Backport from mainline 769 2017-02-23 Jonathan Wakely <jwakely@redhat.com> 770 771 * include/experimental/iterator: Include <iterator>. 772 * testsuite/experimental/iterator/requirements.cc: Check for contents 773 of <iterator>. 774 7752017-03-17 Jonathan Wakely <jwakely@redhat.com> 776 777 Backport from mainline 778 2017-03-17 Jonathan Wakely <jwakely@redhat.com> 779 780 * src/c++11/codecvt.cc (range): Add non-type template parameter and 781 define oerloaded operators for reading and writing code units. 782 (range<Elem, false>): Define partial specialization for accessing 783 wide characters in potentially unaligned byte ranges. 784 (ucs2_span(const char16_t*, const char16_t*, ...)) 785 (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters 786 to range<const char16_t, false> in order to avoid unaligned reads. 787 (__codecvt_utf16_base<char16_t>::do_out) 788 (__codecvt_utf16_base<char32_t>::do_out) 789 (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for 790 unaligned data to avoid unaligned writes. 791 (__codecvt_utf16_base<char16_t>::do_in) 792 (__codecvt_utf16_base<char32_t>::do_in) 793 (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return 794 error if there are unprocessable trailing bytes. 795 (__codecvt_utf16_base<char16_t>::do_length) 796 (__codecvt_utf16_base<char32_t>::do_length) 797 (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type 798 range<const char16_t, false> to span functions. 799 * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. 800 801 Backport from mainline 802 2017-03-16 Jonathan Wakely <jwakely@redhat.com> 803 804 PR libstdc++/79980 805 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. 806 807 PR libstdc++/80041 808 * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) 809 (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to 810 char16_t to work with UTF-16 instead of UTF-8. 811 * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. 812 813 * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>) 814 (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>) 815 (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>) 816 (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>) 817 (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>) 818 (__codecvt_utf8_utf16_base<char32_t>) 819 (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and 820 do_max_length() return values. 821 * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. 822 * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. 823 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. 824 825 PR libstdc++/79980 826 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on 827 error path. 828 * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads 829 for manipulating codecvt_mode values. 830 (read_utf16_bom): Compare input to BOM constants instead of integral 831 constants that depend on endianness. Take mode parameter by 832 reference and adjust it, to distinguish between no BOM present and 833 UTF-16BE BOM present. 834 (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. 835 (surrogates): New enumeration type. 836 (utf16_in, utf16_out): Add surrogates parameter to choose between 837 UTF-16 and UCS2 behaviour. 838 (utf16_span, ucs2_span): Use std::min not std::max. 839 (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. 840 (ucs2_in): Likewise. Adjust calls to read_utf16_bom. 841 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. 842 * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. 843 844 PR libstdc++/79511 845 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff 846 as a surrogate pair. 847 (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness 848 for internal representation. 849 (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. 850 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. 851 8522017-03-14 Jonathan Wakely <jwakely@redhat.com> 853 854 * testsuite/17_intro/names.cc: Undefine macros that clash with 855 identifiers in AIX system headers. 856 8572017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 858 859 PR libstdc++/80034 860 * include/bits/list.tcc (merge(list&&)): Use const for the size_t 861 in the function and in the catch-block, qualify uses of std::distance. 862 (merge(list&&, _StrictWeakOrdering)): Likewise. 863 * testsuite/23_containers/list/operations/80034.cc: New. 864 8652017-03-10 George Lander <george.lander@arm.com> 866 867 * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define 868 _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. 869 * configure: Regenerate. 870 8712017-03-02 Jonathan Wakely <jwakely@redhat.com> 872 873 PR libstdc++/79789 874 * include/bits/ios_base.h (make_error_code, make_error_condition): 875 Likewise. 876 * include/bits/mask_array.h (mask_array): Likewise. 877 * include/bits/regex.h (regex_token_iterator): Likewise. 878 * include/bits/slice_array.h (slice_array): Likewise. 879 * include/std/memory (undeclare_no_pointers): Likewise. 880 * testsuite/17_intro/names.cc: New test. 881 8822017-02-15 Jonathan Wakely <jwakely@redhat.com> 883 884 PR libstdc++/79114 885 * testsuite/18_support/nested_exception/79114.cc: Add dg-require. 886 887 Backport from mainline 888 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 889 890 PR libstdc++/59170 891 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) 892 (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) 893 (StdRbtreeIteratorPrinter.to_string) 894 (StdDequeIteratorPrinter.to_string): Add check for value-initialized 895 iterators. 896 * testsuite/libstdc++-prettyprinters/simple.cc: Test them. 897 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 898 899 Backport from mainline 900 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 901 902 PR libstdc++/59161 903 * python/libstdcxx/v6/printers.py (StdListIteratorPrinter.to_string) 904 (StdSlistIteratorPrinter.to_string, StdVectorIteratorPrinter.to_string) 905 (StdRbtreeIteratorPrinter.to_string, StdDequeIteratorPrinter.to_string) 906 (StdDebugIteratorPrinter.to_string): Return string instead of 907 gdb.Value. 908 * testsuite/libstdc++-prettyprinters/59161.cc: New test. 909 910 Backport from mainline 911 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 912 913 * python/libstdcxx/v6/printers.py (UniquePointerPrinter.to_string): 914 Remove redundant parentheses. 915 (RbtreeIterator, StdRbtreeIteratorPrinter): Add docstrings. 916 (StdForwardListPrinter.to_string): Remove redundant parentheses. 917 (StdExpOptionalPrinter.to_string): Use string formatting instead of 918 concatenation. 919 (TemplateTypePrinter): Adjust whitespace. 920 921 Backport from mainline 922 2016-12-15 Jonathan Wakely <jwakely@redhat.com> 923 924 * python/libstdcxx/v6/xmethods.py (UniquePtrGetWorker.__init__): Use 925 correct element type for unique_ptr<T[]>. 926 (UniquePtrGetWorker._supports, UniquePtrDerefWorker._supports): New 927 functions to disable unsupported operators for unique_ptr<T[]>. 928 (UniquePtrSubscriptWorker): New worker for operator[]. 929 (UniquePtrMethodsMatcher.__init__): Register UniquePtrSubscriptWorker. 930 (UniquePtrMethodsMatcher.match): Call _supports on the chosen worker. 931 (SharedPtrGetWorker, SharedPtrDerefWorker, SharedPtrSubscriptWorker) 932 (SharedPtrUseCountWorker, SharedPtrUniqueWorker): New workers. 933 (SharedPtrMethodsMatcher): New matcher for shared_ptr. 934 (register_libstdcxx_xmethods): Register SharedPtrMethodsMatcher. 935 * testsuite/libstdc++-xmethods/unique_ptr.cc: Test arrays. 936 * testsuite/libstdc++-xmethods/shared_ptr.cc: New test. 937 9382017-02-14 Jonathan Wakely <jwakely@redhat.com> 939 940 Backport from mainline 941 2017-01-20 Jonathan Wakely <jwakely@redhat.com> 942 943 PR libstdc++/72792 944 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) 945 (__allocator_traits_base::__size_type): Remove. 946 (allocator_traits::_Ptr): New class template to detect const and void 947 pointer types without instantiating pointer_traits::rebind 948 unnecessarily. 949 (allocator_traits::_Diff): Likewise for detecting difference_type. 950 (allocator_traits::_Size): New class template to detect size_type 951 without instantiating make_unsigned unnecessarily. 952 * include/bits/ptr_traits.h (pointer_traits::element_type): Use 953 __detected_or_t instead of __detected_or_t_. 954 * include/std/type_traits (__detected_or_t_): Remove. 955 * testsuite/20_util/allocator_traits/members/pointers.cc: New test. 956 957 Backport from mainline 958 2017-01-20 Jonathan Wakely <jwakely@redhat.com> 959 960 PR libstdc++/72792 961 PR libstdc++/72793 962 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): 963 Replace with class template using void_t. 964 (__alloc_rebind): Define in terms of 965 __allocator_traits_base::__rebind. 966 (allocator_traits): Remove unconditional static_assert for 967 rebind_alloc. 968 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. 969 (pointer_traits::__rebind): Replace with class template using void_t. 970 (pointer_traits::rebind): Define in terms of __rebind. 971 (pointer_traits): Remove unconditional static_assert for rebind. 972 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. 973 * testsuite/20_util/pointer_traits/rebind.cc: New test. 974 975 Backport from mainline 976 2017-01-20 Jonathan Wakely <jwakely@redhat.com> 977 978 PR libstdc++/69321 979 * include/experimental/any (__any_caster): Avoid instantiating 980 manager function for types that can't be stored in any. 981 * testsuite/experimental/any/misc/any_cast.cc: Test non-copyable type. 982 983 Backport from mainline 984 2017-01-18 Jonathan Wakely <jwakely@redhat.com> 985 986 PR libstdc++/69301 987 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use 988 aligned buffer instead of default-initialized variable. 989 * testsuite/29_atomics/atomic/69301.cc: New test. 990 * include/experimental/memory (observer_ptr::release): Use reserved 991 name. 992 * include/ext/pointer.h (_Pointer_adapter::operator++(int)) 993 (_Pointer_adapter::operator--(int)): Likewise. 994 995 Backport from mainline 996 2017-01-17 Jonathan Wakely <jwakely@redhat.com> 997 998 PR libstdc++/79114 999 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead 1000 of remove_reference. 1001 * testsuite/18_support/nested_exception/79114.cc: New test. 1002 1003 Backport from mainline 1004 2017-01-16 Jonathan Wakely <jwakely@redhat.com> 1005 1006 PR libstdc++/78702 1007 * include/bits/locale_classes.h (locale::facet::__shim): Change from 1008 private to protected. 1009 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to 1010 make locale::facet::__shim accessible. 1011 1012 Backport from mainline 1013 2017-01-11 Jonathan Wakely <jwakely@redhat.com> 1014 1015 PR libstdc++/78134 1016 * include/bits/stl_map.h (map::lower_bound, map::upper_bound) 1017 (map::equal_range): Fix return type of heterogeneous overloads. 1018 * include/bits/stl_multimap.h (multimap::lower_bound) 1019 (multimap::upper_bound, multimap::equal_range): Likewise. 1020 * include/bits/stl_multiset.h (multiset::lower_bound) 1021 (multiset::upper_bound, multiset::equal_range): Likewise. 1022 * include/bits/stl_set.h (set::lower_bound, set::upper_bound) 1023 (set::equal_range): Likewise. 1024 * testsuite/23_containers/map/operations/2.cc: Check return types. 1025 * testsuite/23_containers/multimap/operations/2.cc: Likewise. 1026 * testsuite/23_containers/multiset/operations/2.cc: Likewise. 1027 * testsuite/23_containers/set/operations/2.cc: Likewise. 1028 1029 Backport from mainline 1030 2017-01-11 Jonathan Wakely <jwakely@redhat.com> 1031 1032 PR libstdc++/78273 1033 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume 1034 the heterogeneous comparison can only find one match. 1035 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. 1036 * testsuite/23_containers/map/operations/2.cc: Test count works with 1037 comparison function that just partitions rather than sorting. 1038 * testsuite/23_containers/set/operations/2.cc: Likewise. 1039 10402017-02-01 Jonathan Wakely <jwakely@redhat.com> 1041 1042 PR libstdc++/78346 1043 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator 1044 not its referent. 1045 (_Iter_comp_to_iter): Likewise. 1046 * testsuite/25_algorithms/search/78346.cc: New test. 1047 1048 PR libstdc++/79195 1049 * include/experimental/array (make_array): Use common_type<_Dest> 1050 and delay instantiation of common_type until after conditional_t. 1051 Qualify std::forward call. 1052 (to_array): Add exception specification. 1053 * testsuite/experimental/array/make_array.cc: Test argument types 1054 without a common type. 1055 1056 PR libstdc++/79254 1057 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 1058 (basic_string::operator=(const basic_string&)): If source object is 1059 small just deallocate, otherwise perform new allocation before 1060 making any changes. 1061 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 1062 Test exception-safety of copy assignment when allocator propagates. 1063 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 1064 Likewise. 1065 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make 1066 std::swap visible. 1067 10682017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 1069 1070 Backport from mainline 1071 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com> 1072 1073 * doc/xml/faq.xml: Update address of C++ ABI link. 1074 * doc/xml/manual/abi.xml: Ditto. 1075 10762017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 1077 1078 Backport from mainline 1079 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 1080 1081 PR libstdc++/78389 1082 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. 1083 (merge(list&&, _StrictWeakOrdering)): Likewise. 1084 * testsuite/23_containers/list/operations/78389.cc: Add 1085 better test for the sizes. 1086 10872017-01-15 Ville Voutilainen <ville.voutilainen@gmail.com> 1088 1089 Backport from mainline 1090 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> 1091 1092 PR libstdc++/78389 1093 * include/bits/list.tcc (merge(list&&)): 1094 Adjust list sizes if the comparator throws. 1095 (merge(list&&, _StrictWeakOrdering)): Likewise. 1096 * testsuite/23_containers/list/operations/78389.cc: New. 1097 10982017-01-15 Ville Voutilainen <ville.voutilainen@gmail.com> 1099 1100 Backport from mainline 1101 2016-12-19 Ville Voutilainen <ville.voutilainen@gmail.com> 1102 1103 Make the perfect-forwarding constructor of a two-element tuple 1104 sfinae away when the first argument is an allocator_arg. 1105 * include/std/tuple (tuple(_U1&&, _U2&&)): Constrain. 1106 * testsuite/20_util/tuple/cons/allocator_with_any.cc: New. 1107 11082017-01-06 Jonathan Wakely <jwakely@redhat.com> 1109 1110 Backport from mainline 1111 2017-01-03 Jonathan Wakely <jwakely@redhat.com> 1112 1113 PR libstdc++/78956 1114 * include/std/thread (thread(const thread&&)): Add deleted 1115 constructor. 1116 * testsuite/30_threads/thread/cons/lwg2097.cc: New test. 1117 11182017-01-06 Jonathan Wakely <jwakely@redhat.com> 1119 1120 PR libstdc++/78991 1121 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) 1122 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) 1123 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit. 1124 * testsuite/25_algorithms/sort/78991.cc: New test. 1125 11262016-12-21 Release Manager 1127 1128 * GCC 6.3.0 released. 1129 11302016-12-12 Jonathan Wakely <jwakely@redhat.com> 1131 1132 Backport from mainline 1133 2016-10-26 Uros Bizjak <ubizjak@gmail.com> 1134 1135 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Include <limits.h> 1136 for PATH_MAX in realpath test. 1137 * configure: Regenerate. 1138 1139 Backport from mainline 1140 2016-05-25 Jonathan Wakely <jwakely@redhat.com> 1141 1142 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. 1143 * configure: Regenerate. 1144 * config.h.in: Regenerate. 1145 11462016-12-12 Jonathan Wakely <jwakely@redhat.com> 1147 1148 Backport from mainline 1149 2016-12-07 Jonathan Wakely <jwakely@redhat.com> 1150 1151 * testsuite/18_support/headers/new/synopsis.cc: Add C++14 declarations 1152 and use effective-target to do test for C++11 and later. 1153 * testsuite/18_support/headers/new/synopsis_cxx98.cc: New test. 1154 11552016-12-12 Jonathan Wakely <jwakely@redhat.com> 1156 1157 Backport from mainline 1158 2016-11-22 Jonathan Wakely <jwakely@redhat.com> 1159 1160 PR libstdc++/78465 1161 * testsuite/29_atomics/headers/atomic/macros.cc: Replace runtime tests 1162 with preprocessor conditions. 1163 11642016-12-12 Jonathan Wakely <jwakely@redhat.com> 1165 1166 Backport from mainline 1167 2016-10-19 Jonathan Wakely <jwakely@redhat.com> 1168 1169 * include/experimental/bits/shared_ptr.h (experimental::shared_ptr): 1170 Change relevant constructors to call _M_enable_shared_from_this_with. 1171 (experimental::shared_ptr::__efst_base_t) 1172 (experimental::shared_ptr::__has_efst_base): Helpers to detect 1173 accessible and unambiguous enable_shared_from_this bases. 1174 (experimental::shared_ptr::_M_enable_shared_from_this_with): Define. 1175 (experimental::__enable_shared_from_this_helper): Remove overload for 1176 std::experimental::enable_shared_from_this. 1177 (experimental::__expt_enable_shared_from_this_base): Define friend 1178 function to select a std::experimental::enable_shared_from_this base. 1179 * testsuite/experimental/memory/shared_ptr/cons/ 1180 enable_shared_from_this.cc: New test. 1181 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 1182 Adjust expected behaviour for shared_ptr<A[]>. 1183 11842016-12-12 Jonathan Wakely <jwakely@redhat.com> 1185 1186 * testsuite/experimental/filesystem/operations/is_empty.cc: 1187 Remove stray character at end of dg-do directive. 1188 11892016-12-12 Jonathan Wakely <jwakely@redhat.com> 1190 1191 Backport from mainline 1192 PR libstdc++/70975 1193 PR libstdc++/71337 1194 PR libstdc++/78111 1195 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): 1196 Overload pop (LWG 2706). 1197 * include/experimental/bits/fs_fwd.h (perms::resolve_symlinks): 1198 Replace with symlink_nofollow (LWG 2720). 1199 * include/experimental/bits/fs_ops.h 1200 (exists(const path&, error_code&)): Clear error if status is known 1201 (LWG 2725). 1202 * include/experimental/bits/fs_path.h (__is_path_src) 1203 (_S_range_begin, _S_range_end): Overload to treat string_view as a 1204 Source object. 1205 (path::operator+=, path::compare): Overload for basic_string_view. 1206 (path::path(string_type&&)) 1207 (path::operator=(string&&), path::assign(string_type&&)): Define 1208 construction and assignment from string_type rvalues (LWG 2707). 1209 (path::_S_convert<_Iter>(_Iter, _Iter)): Remove cv-qualifiers from 1210 iterator's value_type. 1211 (path::_S_convert<_Iter>(_Iter __first, __null_terminated)): Likewise. 1212 Do not use operation not supported by input iterators. 1213 (path::__is_path_iter_src): Add partial specialization for const 1214 encoded character types. 1215 * src/filesystem/dir.cc (open_dir): Return same value for errors 1216 whether ignored or not. 1217 (_Dir::advance(error_code*, directory_options)): Return false on 1218 error. 1219 (directory_iterator(const path&, directory_options, error_code*)): 1220 Create end iterator on error (LWG 2723). 1221 (recursive_directory_iterator(const path&, directory_options, 1222 error_code*)): Likewise. 1223 (recursive_directory_iterator::increment): Reset state on error. 1224 (recursive_directory_iterator::pop): Define new overload. 1225 * src/filesystem/ops.cc (canonical): Set error for non-existent path. 1226 (file_time): Take error_code parameter and check for overflow. 1227 (close_fd): Remove. 1228 (do_copy_file): Report an error if source or destination is not a 1229 regular file (LWG 2712). Pass error_code in file_time calls. Just 1230 use close(3) instead of close_fd, to prevent retrying on error. 1231 Check if _GLIBCXX_USE_FCHMODAT is defined. 1232 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case 1233 sendfile fails with ENOSYS or EINVAL. Pass non-null pointer to 1234 sendfile for offset argument. 1235 (copy): Update comment to refer to LWG 2681. Implement 2682 and 2683 1236 resolutions. 1237 (equivalent): Fix error handling and result when only one file exists. 1238 (is_empty): Fix error handling. 1239 (last_write_time(const path&, error_code&)): Pass error_code in 1240 file_time calls. 1241 (last_write_time(const path&, file_time_type, error_code&)): Handle 1242 negative times correctly. 1243 (permissions(const path&, perms, error_code&)): Handle 1244 symlink_nofollow. 1245 (read_symlink): Add missing ec.clear(). 1246 (status(const path&, error_code&)): Handle EOVERFLOW. 1247 (temp_directory_path): Pass error_code argument to other filesystem 1248 operations. 1249 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 1250 Update expected behaviour on error. 1251 * testsuite/experimental/filesystem/iterators/pop.cc: New. 1252 * testsuite/experimental/filesystem/iterators/ 1253 recursive_directory_iterator.cc: Update expected behaviour on error. 1254 * testsuite/experimental/filesystem/operations/copy.cc: Update 1255 expected behaviour for copying directories with create_symlinks. 1256 Verify that error_code arguments are cleared if there's no error. 1257 Remove files created by tests. Test copying directories. 1258 * testsuite/experimental/filesystem/operations/copy_file.cc: Remove 1259 files created by tests. 1260 * testsuite/experimental/filesystem/operations/create_symlink.cc: New. 1261 * testsuite/experimental/filesystem/operations/equivalent.cc: New. 1262 * testsuite/experimental/filesystem/operations/exists.cc: Test 1263 overload taking an error_code. 1264 * testsuite/experimental/filesystem/operations/is_empty.cc: New. 1265 * testsuite/experimental/filesystem/operations/last_write_time.cc: 1266 New. 1267 * testsuite/experimental/filesystem/operations/permissions.cc: Test 1268 overload taking error_code. Test symlink_nofollow on non-symlinks. 1269 * testsuite/experimental/filesystem/operations/read_symlink.cc: New. 1270 * testsuite/experimental/filesystem/operations/remove_all.cc: New. 1271 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1272 Add testcase for inaccessible directory. 1273 * testsuite/experimental/filesystem/path/construct/range.cc: Test 1274 construction from input iterators with const value types. 1275 * testsuite/experimental/filesystem/path/construct/string_view.cc: 1276 New. 1277 * testsuite/util/testsuite_fs.h (scoped_file): Define RAII helper. 1278 12792016-12-09 Jonathan Wakely <jwakely@redhat.com> 1280 1281 Backport from mainline 1282 2016-12-08 David Edelsohn <dje.gcc@gmail.com> 1283 1284 * testsuite/25_algorithms/headers/algorithm/ 1285 parallel_algorithm_assert2.cc: Move dg-do run first. 1286 12872016-12-08 Jonathan Wakely <jwakely@redhat.com> 1288 1289 PR libstdc++/71856 1290 * doc/xml/manual/using.xml: Document macro. 1291 * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL] 1292 (__glibcxx_assert): Rename to __glibcxx_assert_impl. 1293 [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl. 1294 * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS] 1295 (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl. 1296 [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as 1297 empty. 1298 * testsuite/25_algorithms/headers/algorithm/ 1299 parallel_algorithm_assert2.cc: New test. 1300 13012016-12-08 Jonathan Wakely <jwakely@redhat.com> 1302 1303 Backport from mainline 1304 2016-11-10 François Dumont <fdumont@gcc.gnu.org> 1305 1306 PR libstdc++/77459 1307 * src/c++11/debug.cc (format_word): Delete. 1308 (print_literal): New. Replace call to print_word for literals. 1309 13102016-12-07 Jonathan Wakely <jwakely@redhat.com> 1311 1312 Backport from mainline 1313 2016-11-13 Jonathan Wakely <jwakely@redhat.com> 1314 1315 PR libstdc++/78326 1316 * include/experimental/memory_resource (memory_resource::_S_max_align): 1317 Change access to protected. 1318 1319 Backport from mainline 1320 2016-10-19 Jonathan Wakely <jwakely@redhat.com> 1321 1322 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 1323 Add tests for valid and invalid conversions. 1324 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: 1325 Likewise. 1326 1327 Backport from mainline 1328 2016-10-19 Jonathan Wakely <jwakely@redhat.com> 1329 1330 * include/experimental/bits/shared_ptr.h 1331 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_Compatible): Just use 1332 is_convertible for non-array specialization. 1333 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::_UniqCompatible): New 1334 constraint for conversions from unique_ptr. 1335 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::__shared_ptr): Constrain. 1336 (__shared_ptr<__libfund_v1<_Tp, false>, _Lp>::reset): Likewise. 1337 (__sp_compatible_v): New variable template for trait. 1338 (__sp_is_constructible): New trait to check shared_ptr constraints. 1339 (__sp_is_constructible_v): New variable template for trait. 1340 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_SafeConv): New 1341 constraint for construction/reset, using __sp_is_constructible_v. 1342 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::_UniqCompatible): New 1343 constraint for conversions from unique_ptr. 1344 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::__shared_ptr): Constrain. 1345 (__shared_ptr<__libfund_v1<_Tp, true>, _Lp>::reset): Likewise. 1346 (shared_ptr::_SafeConv): Constraint for checking constructors. 1347 (shared_ptr(Tp1*), shared_ptr(_Tp1, _Deleter)) 1348 (shared_ptr(_Tp1, _Deleter, _Alloc)): Constrain with _SafeConv. 1349 (shared_ptr(const weak_ptr<_Tp1>&)): Constrain with _Compatible. 1350 (shared_ptr(auto_ptr<_Tp1>&&)): Fix, remove TODO. 1351 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: 1352 Remove tests using invalid conversions. 1353 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor_neg.cc: 1354 New test. 1355 * testsuite/experimental/memory/shared_ptr/cons/torture.cc: New test. 1356 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: Remove 1357 tests using invalid conversions. 1358 * testsuite/experimental/memory/shared_ptr/modifiers/reset_neg.cc: New 1359 test. 1360 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: 1361 Remove tests using invalid conversions. 1362 1363 Backport from mainline 1364 2016-10-18 Jonathan Wakely <jwakely@redhat.com> 1365 1366 * include/experimental/bits/shared_ptr.h: Fix indentation. 1367 1368 Backport from mainline 1369 2016-10-18 Jonathan Wakely <jwakely@redhat.com> 1370 1371 * include/experimental/bits/shared_ptr.h (shared_ptr(shared_ptr&&)): 1372 Remove const from parameter. 1373 (operator<(const shared_ptr<T>&, nullptr_t)): Use correct 1374 specialization of std::less. 1375 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: 1376 Test comparison with nullptr and actually call test functions. 1377 1378 Backport from mainline 1379 2016-10-11 Jonathan Wakely <jwakely@redhat.com> 1380 1381 * doc/xml/manual/intro.xml: Document LWG 2484 status. 1382 * libsupc++/nested_exception.h (_Throw_with_nested_impl) 1383 (_Throw_with_nested_helper): Remove. 1384 (__throw_with_nested_impl): New overloaded functions to implement 1385 throw_with_nested logic. 1386 (throw_with_nested): Call __throw_with_nested_impl. 1387 (_Rethrow_if_nested_impl): Remove 1388 (__rethrow_if_nested_impl): New overloaded functions to implement 1389 rethrow_if_nested logic. 1390 (rethrow_if_nested): Call __rethrow_if_nested_impl. 1391 * testsuite/18_support/nested_exception/rethrow_if_nested.cc: Test 1392 problem cases from LWG 2484. 1393 1394 Backport from mainline 1395 2016-10-11 Jonathan Wakely <jwakely@redhat.com> 1396 1397 * python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary): 1398 Register printer for std::__cxx11::list. 1399 * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): Match 1400 std::__cxx11::list as well as std::list. 1401 1402 Backport from mainline 1403 2016-10-12 Jonathan Wakely <jwakely@redhat.com> 1404 1405 * doc/xml/manual/intro.xml: Document LWG 2442 status. 1406 * include/std/mutex [_GLIBCXX_HAVE_TLS] (__once_call_impl): Remove. 1407 (call_once): Use lambda expression and std::__invoke instead of 1408 __bind_simple and __once_call_impl. 1409 * testsuite/30_threads/call_once/dr2442.cc: New test. 1410 1411 Backport from mainline 1412 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 1413 1414 * include/bits/allocator.h (allocator<T>::is_always_equal): Define. 1415 * testsuite/20_util/allocator/requirements/typedefs.cc: Test for 1416 is_always_equal. 1417 * testsuite/util/testsuite_allocator.h 1418 (uneq_allocator::is_always_equal): Define as false_type. 1419 1420 Backport from mainline 1421 2016-10-06 Jonathan Wakely <jwakely@redhat.com> 1422 1423 * doc/xml/manual/status_cxx2011.xml: Update status. 1424 * include/std/scoped_allocator (__outer_allocator_t, __outermost_type): 1425 New helpers for recursive OUTERMOST. 1426 (__outermost): Use __outermost_type::_S_outermost. 1427 (__do_outermost, scoped_allocator_adaptor::__outermost_type): Remove. 1428 (scoped_allocator_adaptor::__outermost_alloc_traits): Use new 1429 __outermost_type helper. 1430 (scoped_allocator_adaptor::_Constructible): New alias template. 1431 (scoped_allocator_adaptor::scoped_allocator_adaptor<_Outer2>): 1432 Constrain template constructors. 1433 * testsuite/20_util/scoped_allocator/3.cc: New test. 1434 * testsuite/20_util/scoped_allocator/outermost.cc: New test. 1435 1436 Backport from mainline 1437 2016-08-26 Jonathan Wakely <jwakely@redhat.com> 1438 1439 PR libstdc++/51960 1440 * doc/xml/manual/intro.xml: Document DR 2127 change. 1441 * doc/html/*: Regenerate. 1442 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. 1443 (operator++(), operator++(int)): Use injected class name. 1444 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. 1445 1446 Backport from mainline 1447 2016-08-04 Jonathan Wakely <jwakely@redhat.com> 1448 1449 * include/std/functional (_Unwrap): Rename to __inv_unwrap. 1450 (__invfwd): Adjust. 1451 (__invoke_impl): Remove unused template parameters. 1452 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused 1453 parameter. 1454 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc 1455 and test __invoke extension for C++11. 1456 14572016-12-07 Ville Voutilainen <ville.voutilainen@gmail.com> 1458 1459 Backport from mainline 1460 2016-12-06 Ville Voutilainen <ville.voutilainen@gmail.com> 1461 1462 Constrain optional's __constexpr_addressof in its return type 1463 and use a constexpr addressof for optional, if available. 1464 * include/experimental/optional (__constexpr_addressof): 1465 Constrain in the return type instead of in a template parameter. 1466 (_Has_addressof_mem) 1467 (_Has_addressof_free, _Has_addressof, __constexpr_addressof): 1468 Guard with #ifndef __cpp_lib_addressof_constexpr. 1469 (operator->()): Use std::__addressof if it's constexpr. 1470 14712016-12-06 Aditya Kumar <hiraditya@msn.com> 1472 1473 * src/c++11/shared_ptr.cc (_Sp_locker::_Sp_locker(const void* p)): Add 1474 noexcept on constructor. 1475 (_Sp_locker::_Sp_locker(const void* p1, const void* p2)): Same. 1476 14772016-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1478 1479 Backport from mainline 1480 2016-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1481 1482 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Update comments. 1483 (__CORRECT_ISO_CPP11_MATH_H_PROTO): Rename to ... 1484 (__CORRECT_ISO_CPP11_MATH_H_PROTO_FP): ... this. 1485 Add test for C++11 <math.h> integral overloads. 1486 * configure: Regenerate. 1487 * config.h.in: Regenerate. 1488 1489 * include/c_global/cmath [__cplusplus >= 201103L]: Reflect 1490 __CORRECT_ISO_CPP11_MATH_H_PROTO to 1491 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename. 1492 * include/c_global/cmath [_GLIBCXX_USE_C99_MATH && 1493 !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC && __cplusplus >= 201103L] 1494 (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO_INT. 1495 (std::isfinite): Likewise. 1496 (std::isinf): Likewise. 1497 (std::isnan): Likewise. 1498 (std::isnormal): Likewise. 1499 (std::signbit): Likewise. 1500 (std::isgreater): Likewise. 1501 (std::isgreaterequal): Likewise. 1502 (std::isless): Likewise. 1503 (std::islessequal): Likewise. 1504 (std::islessgreater): Likewise. 1505 (std::isunordered): Likewise. 1506 [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1] 1507 (std::acosh): Likewise. 1508 (std::asinh): Likewise. 1509 (std::atanh): Likewise. 1510 (std::cbrt): Likewise. 1511 (std::copysign): Likewise. 1512 (std::erf): Likewise. 1513 (std::erfc): Likewise. 1514 (std::exp2): Likewise. 1515 (std::expm1): Likewise. 1516 (std::fdim): Likewise. 1517 (std::fma): Likewise. 1518 (std::fmax): Likewise. 1519 (std::fmin): Likewise. 1520 (std::hypot): Likewise. 1521 (std::ilogb): Likewise. 1522 (std::lgamma): Likewise. 1523 (std::llrint): Likewise. 1524 (std::llround): Likewise. 1525 (std::log1p): Likewise. 1526 (std::log2): Likewise. 1527 (std::logb): Likewise. 1528 (std::lrint): Likewise. 1529 (std::lround): Likewise. 1530 (std::nearbyint): Likewise. 1531 (std::nextafter): Likewise. 1532 (std::nexttoward): Likewise. 1533 (std::remainder): Likewise. 1534 (std::remquo): Likewise. 1535 (std::rint): Likewise. 1536 (std::round): Likewise. 1537 (std::scalbln): Likewise. 1538 (std::scalbn): Likewise. 1539 (std::tgamma): Likewise. 1540 (std::trunc): Likewise. 1541 * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1 && __cplusplus >= 1542 201103L]: Reflect __CORRECT_ISO_CPP11_MATH_H_PROTO to 1543 __CORRECT_ISO_CPP11_MATH_H_PROTO_FP rename. 1544 15452016-11-23 Jonathan Wakely <jwakely@redhat.com> 1546 1547 * testsuite/24_iterators/reverse_iterator/71771.cc: Replace calls to 1548 C++14 std::rbeing and std::rend. Use dg-options instead of 1549 effective-target. 1550 * testsuite/27_io/headers/cstdio/functions_neg.cc: Use dg-options 1551 instead of effective-target. 1552 * testsuite/experimental/numeric/77801.cc: Likewise. 1553 15542016-11-23 Felix Morgner <felix.morgner@gmail.com> 1555 Jonathan Wakely <jwakely@redhat.com> 1556 1557 PR libstdc++/78490 1558 * include/experimental/propagate_const (propagate_const::operator=): 1559 Add missing return statements. 1560 * testsuite/experimental/propagate_const/assignment/move_neg.cc: 1561 Adjust dg-error line numbers. 1562 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 1563 15642016-11-22 Uros Bizjak <ubizjak@gmail.com> 1565 1566 * testsuite/Makefile.am 1567 (check-DEJAGNU $(check_DEJAGNU_normal_targets)): Fix detection 1568 of -j argument. 1569 * testsuite/Makefile.in: Regenereate. 1570 15712016-11-15 Jonathan Wakely <jwakely@redhat.com> 1572 1573 * testsuite/experimental/any/typedefs.cc: Fix license text. 1574 * testsuite/experimental/array/make_array.cc: Likewise. 1575 * testsuite/experimental/array/neg.cc: Likewise. 1576 * testsuite/experimental/chrono/value.cc: Likewise. 1577 * testsuite/experimental/deque/erasure.cc: Likewise. 1578 * testsuite/experimental/forward_list/erasure.cc: Likewise. 1579 * testsuite/experimental/list/erasure.cc: Likewise. 1580 * testsuite/experimental/map/erasure.cc: Likewise. 1581 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: 1582 Likewise. 1583 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise. 1584 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise. 1585 * testsuite/experimental/memory/observer_ptr/make_observer.cc: 1586 Likewise. 1587 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: 1588 Likewise. 1589 * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise. 1590 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise. 1591 * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise. 1592 * testsuite/experimental/optional/77288.cc: Likewise. 1593 * testsuite/experimental/optional/assignment/1.cc: Likewise. 1594 * testsuite/experimental/optional/assignment/2.cc: Likewise. 1595 * testsuite/experimental/optional/assignment/3.cc: Likewise. 1596 * testsuite/experimental/optional/assignment/4.cc: Likewise. 1597 * testsuite/experimental/optional/assignment/5.cc: Likewise. 1598 * testsuite/experimental/optional/assignment/6.cc: Likewise. 1599 * testsuite/experimental/optional/cons/77727.cc: Likewise. 1600 * testsuite/experimental/optional/cons/move.cc: Likewise. 1601 * testsuite/experimental/optional/cons/value.cc: Likewise. 1602 * testsuite/experimental/optional/cons/value_neg.cc: Likewise. 1603 * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise. 1604 * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise. 1605 * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise. 1606 * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. 1607 * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise. 1608 * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise. 1609 * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise. 1610 * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise. 1611 * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise. 1612 * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise. 1613 * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise. 1614 * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise. 1615 * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise. 1616 * testsuite/experimental/optional/make_optional.cc: Likewise. 1617 * testsuite/experimental/optional/observers/1.cc: Likewise. 1618 * testsuite/experimental/optional/observers/2.cc: Likewise. 1619 * testsuite/experimental/optional/observers/3.cc: Likewise. 1620 * testsuite/experimental/optional/observers/4.cc: Likewise. 1621 * testsuite/experimental/optional/observers/5.cc: Likewise. 1622 * testsuite/experimental/optional/relops/1.cc: Likewise. 1623 * testsuite/experimental/optional/relops/2.cc: Likewise. 1624 * testsuite/experimental/optional/relops/3.cc: Likewise. 1625 * testsuite/experimental/optional/relops/4.cc: Likewise. 1626 * testsuite/experimental/optional/relops/5.cc: Likewise. 1627 * testsuite/experimental/optional/relops/6.cc: Likewise. 1628 * testsuite/experimental/optional/requirements.cc: Likewise. 1629 * testsuite/experimental/optional/swap/1.cc: Likewise. 1630 * testsuite/experimental/optional/typedefs.cc: Likewise. 1631 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. 1632 * testsuite/experimental/propagate_const/assignment/move_neg.cc: 1633 Likewise. 1634 * testsuite/experimental/propagate_const/cons/move.cc: Likewise. 1635 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 1636 * testsuite/experimental/propagate_const/hash/1.cc: Likewise. 1637 * testsuite/experimental/propagate_const/observers/1.cc: Likewise. 1638 * testsuite/experimental/propagate_const/relops/1.cc: Likewise. 1639 * testsuite/experimental/propagate_const/requirements1.cc: Likewise. 1640 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 1641 * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 1642 * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 1643 * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 1644 * testsuite/experimental/propagate_const/swap/1.cc: Likewise. 1645 * testsuite/experimental/propagate_const/typedefs.cc: Likewise. 1646 * testsuite/experimental/random/randint.cc: Likewise. 1647 * testsuite/experimental/ratio/value.cc: Likewise. 1648 * testsuite/experimental/set/erasure.cc: Likewise. 1649 * testsuite/experimental/string/erasure.cc: Likewise. 1650 * testsuite/experimental/string_view/typedefs.cc: Likewise. 1651 * testsuite/experimental/system_error/value.cc: Likewise. 1652 * testsuite/experimental/tuple/tuple_size.cc: Likewise. 1653 * testsuite/experimental/type_traits/value.cc: Likewise. 1654 * testsuite/experimental/unordered_map/erasure.cc: Likewise. 1655 * testsuite/experimental/unordered_set/erasure.cc: Likewise. 1656 * testsuite/experimental/vector/erasure.cc: Likewise. 1657 16582016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com> 1659 1660 Backport from mainline: 1661 1662 2016-10-24 Ville Voutilainen <ville.voutilainen@gmail.com> 1663 Cross-port the latest resolution of LWG2756 and some 1664 bug-fixes to experimental::optional. 1665 PR libstdc++/77288 1666 PR libstdc++/77727 1667 * include/experimental/optional (_Optional_base): 1668 Remove constructors that take a _Tp. 1669 (__is_optional_impl, __is_optional): Remove. 1670 (__converts_from_optional): New. 1671 (optional(_Up&&)): Fix constraints, call base with in_place. 1672 (optional(const optional<_Up>&)): Fix constraints, use emplace. 1673 (optional(optional<_Up>&&)): Likewise. 1674 (operator=(_Up&&)): Fix constraints. 1675 (operator=(const optional<_Up>&)): Likewise. 1676 (operator=(optional<_Up>&&)): Likewise. 1677 (emplace(_Args&&...)): Constrain. 1678 (emplace(initializer_list<_Up>, _Args&&...)): Likewise. 1679 * testsuite/experimental/optional/77288.cc: New. 1680 * testsuite/experimental/optional/assignment/5.cc: Adjust. 1681 * testsuite/experimental/optional/cons/77727.cc: New. 1682 * testsuite/experimental/optional/cons/value.cc: Adjust. 1683 16842016-10-20 Jonathan Wakely <jwakely@redhat.com> 1685 1686 PR libstdc++/78052 1687 * include/bits/allocator.h (allocator<void>::construct) 1688 (allocator<void>::destroy): Define. 1689 * testsuite/20_util/allocator/void.cc: New test. 1690 16912016-10-19 Jonathan Wakely <jwakely@redhat.com> 1692 1693 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests 1694 to new file. 1695 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix 1696 test for incompatible deleters to not also use incompatible types. 1697 Add tests for incompatible array types. 1698 1699 PR libstdc++/77990 1700 * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set 1701 pointer member after value-initialization of tuple. 1702 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors. 1703 * testsuite/20_util/unique_ptr/cons/77990.cc: New test. 1704 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Adjust dg-error. 1705 17062016-10-17 Jonathan Wakely <jwakely@redhat.com> 1707 1708 PR libstdc++/77987 1709 * include/bits/unique_ptr.h (unique_ptr<T[], D>::reset<U>(U)): Copy 1710 value to pointer of the correct type to swap, to support conversions 1711 allowed by LWG 2118 / N4089. 1712 * testsuite/20_util/unique_ptr/assign/assign_neg.cc: Move test for 1713 incompatible deleters from ... 1714 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: ... here. 1715 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Move tests for 1716 incompatible pointers to ... 1717 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: ... here. Move 1718 destructor definition to base class. Test for invalid derived-to-base 1719 conversion. 1720 17212016-10-17 Jonathan Wakely <jwakely@redhat.com> 1722 1723 * testsuite/20_util/function/77322.cc: Remove effective-target from 1724 dg-do directive. 1725 * testsuite/20_util/function/cons/72820.cc: Likewise. 1726 17272016-10-17 Jonathan Wakely <jwakely@redhat.com> 1728 1729 Backport from mainline: 1730 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 1731 1732 * doc/xml/manual/appendix_contributing.xml (contrib.organization): 1733 Replace <literallayout> with nested <variablelist> elements. Update 1734 some more outdated text. 1735 * doc/html/*: Regenerate. 1736 1737 Backport from mainline: 1738 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 1739 1740 * doc/xml/manual/appendix_contributing.xml (contrib.organization): 1741 Describe other subdirectories and add markup. Remove outdated 1742 reference to check-script target. 1743 17442016-10-17 Jonathan Wakely <jwakely@redhat.com> 1745 1746 Backport from mainline: 1747 2016-10-10 Jonathan Wakely <jwakely@redhat.com> 1748 1749 * doc/xml/manual/status_cxx2011.xml: Correct C++11 status. 1750 17512016-10-17 Jonathan Wakely <jwakely@redhat.com> 1752 1753 Backport from mainline: 1754 2016-10-13 Jonathan Wakely <jwakely@redhat.com> 1755 1756 * testsuite/26_numerics/random/default_random_engine.cc: Use VERIFY 1757 instead of assert. 1758 17592016-10-17 Jonathan Wakely <jwakely@redhat.com> 1760 1761 Backport from mainline: 1762 2016-10-11 Jonathan Wakely <jwakely@redhat.com> 1763 1764 * include/experimental/string_view (basic_string_view::_S_compare): 1765 Remove redundant const from return type. 1766 17672016-10-17 Jonathan Wakely <jwakely@redhat.com> 1768 1769 Backport from mainline: 1770 2016-10-13 Jonathan Wakely <jwakely@redhat.com> 1771 1772 * include/experimental/functional (boyer_moore_searcher) 1773 (__boyer_moore_map_base, __boyer_moore_array_base): Qualify containers 1774 with _GLIBCXX_STD_C. 1775 17762016-10-17 Jonathan Wakely <jwakely@redhat.com> 1777 1778 Backport from mainline: 1779 2016-10-13 Jonathan Wakely <jwakely@redhat.com> 1780 1781 * include/experimental/propagate_const (element_type): Qualify 1782 declval. 1783 17842016-10-17 Jonathan Wakely <jwakely@redhat.com> 1785 1786 Backport from mainline: 1787 2016-08-22 Jonathan Wakely <jwakely@redhat.com> 1788 1789 PR libstdc++/77322 1790 * doc/xml/manual/intro.xml: Document DR 2062 change. 1791 * include/std/functional (function::swap): Add noexcept. 1792 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise. 1793 * testsuite/20_util/function/77322.cc: New test. 1794 17952016-10-17 Jonathan Wakely <jwakely@redhat.com> 1796 1797 Backport from mainline: 1798 2016-08-17 Jonathan Wakely <jwakely@redhat.com> 1799 1800 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do 1801 directive and use effective target instead of dg-options. 1802 18032016-10-17 Jonathan Wakely <jwakely@redhat.com> 1804 1805 Backport from mainline: 1806 2016-08-06 Jonathan Wakely <jwakely@redhat.com> 1807 1808 PR libstdc++/72820 1809 * include/std/functional (_Function_base::_Base_manager::_M_clone): 1810 Qualify new operator. 1811 * testsuite/20_util/function/cons/72820.cc: New test. 1812 18132016-10-17 Jonathan Wakely <jwakely@redhat.com> 1814 1815 PR libstdc++/77994 1816 * include/experimental/algorithm (experimental::sample): Convert size 1817 argument to iterator difference type. Fix invalid use of input 1818 iterator. Defend against overloaded comma operator. 1819 18202016-10-05 Jonathan Wakely <jwakely@redhat.com> 1821 1822 PR libstdc++/70101 1823 * include/bits/stl_queue.h (priority_queue): Fix allocator-extended 1824 constructors. 1825 * testsuite/23_containers/priority_queue/allocator.cc: New test. 1826 1827 PR libstdc++/77864 1828 * include/bits/stl_map.h (map::map()): Use nothrow constructibility 1829 of comparison function in conditional noexcept. 1830 * include/bits/stl_multimap.h (multimap::multimap()): Likewise. 1831 * include/bits/stl_multiset.h (multiset::multiset()): Likewise. 1832 * include/bits/stl_set.h (set::set()): Likewise. 1833 * testsuite/23_containers/map/cons/noexcept_default_construct.cc: 1834 New test. 1835 * testsuite/23_containers/multimap/cons/noexcept_default_construct.cc: 1836 Likewise. 1837 * testsuite/23_containers/multiset/cons/noexcept_default_construct.cc: 1838 Likewise. 1839 * testsuite/23_containers/set/cons/noexcept_default_construct.cc: 1840 Likewise. 1841 1842 * include/bits/node_handle.h (_Node_handle): Remove invalid and unused 1843 alias declaration. 1844 1845 PR libstdc++/70564 1846 * include/experimental/functional (_Not_fn): Add second parameter to 1847 disambiguate copying from initialization by not_fn. 1848 (not_fn): Add second argument to initialization. 1849 * testsuite/experimental/functional/not_fn.cc: Copy call wrapper using 1850 direct-initialization. Test abstract class. 1851 18522016-10-03 Jonathan Wakely <jwakely@redhat.com> 1853 1854 PR libstdc++/68323 1855 PR libstdc++/77794 1856 * config/abi/pre/gnu-versioned-namespace.ver: Add exports for 1857 __cxa_thread_atexit and __gnu_cxx::__freeres. 1858 * include/Makefile.am: Add <experimental/bits/lfts_config.h> 1859 * include/Makefile.in: Regenerate. 1860 * include.bits/basic_string.h: Fix nesting of versioned namespaces. 1861 * include/bits/c++config: Declare versioned namespaces for literals. 1862 * include/bits/regex.h (basic_regex, match_results): Add workarounds 1863 for PR c++/59256. 1864 * include/bits/uniform_int_dist.h: Fix nesting of versioned namespace. 1865 * include/std/chrono: Likewise. 1866 * include/std/complex: Likewise. 1867 * include/experimental/bits/fs_fwd.h: Declare versioned namespace. 1868 * include/experimental/bits/lfts_config.h: Declare versioned 1869 namespaces. 1870 * include/experimental/algorithm: Include 1871 <experimental/bits/lfts_config.h>. 1872 * include/experimental/any: Likewise. 1873 * include/experimental/bits/erase_if.h: Likewise. 1874 * include/experimental/chrono: Likewise. 1875 * include/experimental/functional: Likewise. 1876 * include/experimental/memory_resource: Likewise. 1877 * include/experimental/optional: Likewise. 1878 * include/experimental/propagate_const: Likewise. 1879 * include/experimental/random: Likewise. 1880 * include/experimental/ratio: Likewise. 1881 * include/experimental/system_error: Likewise. 1882 * include/experimental/tuple: Likewise. 1883 * include/experimental/type_traits: Likewise. 1884 * include/experimental/utility: Likewise. 1885 * include/experimental/string_view: Likewise. Fix nesting of 1886 versioned namespaces. 1887 * include/experimental/bits/string_view.tcc: Reopen inline namespace 1888 for non-inline function definitions. 1889 * testsuite/17_intro/using_namespace_std_exp_neg.cc: New test. 1890 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error line. 1891 * testsuite/experimental/any/misc/any_cast_neg.cc: Likewise. 1892 * testsuite/experimental/propagate_const/assignment/move_neg.cc: 1893 Likewise. 1894 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 1895 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 1896 * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 1897 * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 1898 * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 1899 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. 1900 19012016-09-30 Jonathan Wakely <jwakely@redhat.com> 1902 1903 PR libstdc++/77795 1904 * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): Use -std=gnu++11 to check 1905 for gets. 1906 * config.h.in: Regenerate. 1907 * configure: Regenerate. 1908 * include/c_global/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Only declare 1909 for C++98 and C++11. 1910 * include/c_std/cstdio [!_GLIBCXX_HAVE_GETS] (gets): Likewise. 1911 * testsuite/27_io/headers/cstdio/functions_neg.cc: New test. 1912 1913 PR libstdc++/77801 1914 * include/experimental/numeric: Include <numeric>. 1915 (__abs): Define. 1916 (gcd, lcm): Use __abs instead of std::abs. 1917 * testsuite/experimental/numeric/77801.cc: New test. 1918 * testsuite/experimental/numeric/gcd.cc: Test unsigned inputs. 1919 * testsuite/experimental/numeric/lcm.cc: Likewise. 1920 19212016-09-28 Jonathan Wakely <jwakely@redhat.com> 1922 1923 PR libstdc++/77686 1924 * include/std/functional (_Any_data): Add may_alias attribute. 1925 19262016-09-27 Jonathan Wakely <jwakely@redhat.com> 1927 1928 * include/debug/safe_iterator.h (_Safe_iterator::operator++()): Fix 1929 lifetime of lock. 1930 19312015-09-27 Sebastian Huber <sebastian.huber@embedded-brains.de> 1932 1933 Backport from mainline 1934 2015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de> 1935 1936 * config/cpu/m68k/atomicity.h: Adjust comment. 1937 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor 1938 explicit atomicity_dir setup via configure.host. 1939 * configure.host (rtems-*): Set atomicity_dir. 1940 * configure: Regenerate. 1941 19422016-09-26 Ville Voutilainen <ville.voutilainen@gmail.com> 1943 1944 Backport from mainline 1945 2016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com> 1946 1947 Implement LWG 2729 for pair. 1948 * include/bits/stl_pair.h (_PCC): New. 1949 (_ConstructiblePair, _ImplicitlyConvertiblePair): 1950 Turn into static member functions of _PCC. 1951 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise. 1952 (_PCCP): New. 1953 (pair(const _T1&, const _T2&)): Adjust. 1954 (_PCCFP): New. 1955 (pair(const pair<_U1, _U2>&)): Adjust. 1956 (pair(_U1&&, const _T2&)): Likewise. 1957 (pair(const _T1&, _U2&&)): Likewise. 1958 (pair(_U1&&, _U2&&)): Likewise. 1959 (pair(pair<_U1, _U2>&&)): Likewise. 1960 (operator=(const pair&)): Make conditionally deleted. 1961 (operator=(pair&&)): Make conditionally suppressed. 1962 (operator=(const pair<_U1, _U2>&)): Constrain. 1963 (operator=(pair<_U1, _U2>&&): Likewise. 1964 * include/std/type_traits (__nonesuch): New. 1965 * testsuite/20_util/pair/traits.cc: New. 1966 19672016-09-20 Jonathan Wakely <jwakely@redhat.com> 1968 1969 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) 1970 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division. 1971 19722016-09-19 Jonathan Wakely <jwakely@redhat.com> 1973 1974 PR libstdc++/77645 1975 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__) 1976 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of 1977 division to int to work with Python 3. 1978 1979 PR libstdc++/77645 1980 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename 1981 argument. 1982 (ListWorkerBase.get_value_from_node): Define new method. 1983 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it. 1984 19852016-08-31 Ville Voutilainen <ville.voutilainen@gmail.com> 1986 1987 PR libstdc++/77395 1988 * include/std/type_traits (is_constructible): Forward-declare... 1989 (__is_base_to_derived_ref): ...and use here. 1990 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. 1991 * testsuite/20_util/is_constructible/77395.cc: New. 1992 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. 1993 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1994 Likewise. 1995 * testsuite/20_util/tuple/77395.cc: New. 1996 19972016-08-30 Jonathan Wakely <jwakely@redhat.com> 1998 1999 Backport from mainline 2000 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 2001 2002 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags. 2003 2004 Backport from mainline 2005 2016-07-27 Jonathan Wakely <jwakely@redhat.com> 2006 2007 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line. 2008 20092016-08-23 Jonathan Wakely <jwakely@redhat.com> 2010 2011 * testsuite/23_containers/map/77334.cc: Use dg-options for C++11. 2012 20132016-08-23 Jonathan Wakely <jwakely@redhat.com> 2014 2015 PR libstdc++/77334 2016 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions. 2017 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign. 2018 * testsuite/23_containers/map/77334.cc: New test. 2019 2020 * doc/xml/api.xml: Replace hardcoded links for specific versions with 2021 link to docs for all releases. 2022 * doc/html/*: Regenerate. 2023 2024 * include/bits/stl_iterator.h 2025 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Constrain 2026 for C++11 and later. 2027 * testsuite/24_iterators/reverse_iterator/71771.cc: New test. 2028 20292016-08-22 Release Manager 2030 2031 * GCC 6.2.0 released. 2032 20332016-08-06 Jonathan Wakely <jwakely@redhat.com> 2034 2035 Backport from mainline 2036 2016-08-05 Jonathan Wakely <jwakely@redhat.com> 2037 2038 * include/std/functional (function::_Callable): Use lvalue in 2039 result_of expression. 2040 * testsuite/20_util/function/cons/refqual.cc: New test. 2041 2042 Backport from mainline 2043 2016-07-22 Jonathan Wakely <jwakely@redhat.com> 2044 2045 PR libstdc++/71964 2046 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator. 2047 * testsuite/23_containers/set/allocator/71964.cc: New test. 2048 2049 Backport from mainline 2050 2016-08-02 Jonathan Wakely <jwakely@redhat.com> 2051 2052 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: 2053 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type. 2054 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 2055 Likewise. 2056 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 2057 Likewise. 2058 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: 2059 Likewise. 2060 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 2061 Likewise. 2062 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: 2063 Likewise. 2064 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: 2065 Likewise. 2066 2067 Backport from mainline 2068 2016-05-04 Jonathan Wakely <jwakely@redhat.com> 2069 2070 PR libstdc++/70940 2071 * include/experimental/memory_resource 2072 (__resource_adaptor_imp::do_allocate): Do not default-construct 2073 rebound allocator. 2074 (__resource_adaptor_imp::do_deallocate): Likewise. Use 2075 allocator_traits to get pointer type. 2076 (__null_memory_resource::do_allocate): Remove unused parameters. 2077 (__null_memory_resource::do_deallocate): Likewise. 2078 (__null_memory_resource::do_is_equal): Likewise. Add return statement. 2079 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ... 2080 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and 2081 move to ... 2082 * testsuite/experimental/memory_resource/1.cc: Here. 2083 * testsuite/experimental/memory_resource/null_memory_resource.cc: New. 2084 * testsuite/experimental/memory_resource/resource_adaptor.cc: New. 2085 2086 Backport from mainline 2087 2016-08-03 Jonathan Wakely <jwakely@redhat.com> 2088 2089 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements): 2090 Define feature-test macro. 2091 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment. 2092 * include/std/type_traits (__cpp_lib_logical_traits): Fix value. 2093 2094 Backport from mainline 2095 2016-08-03 Jonathan Wakely <jwakely@redhat.com> 2096 2097 * include/bits/stl_function.h: Remove commented-out macro. 2098 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup): 2099 Define feature-test macro. 2100 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros. 2101 2102 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve 2103 comments. 2104 2105 * doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to 2106 refer to the release series. 2107 * doc/xml/manual/status_cxx2014.xml: Likewise. Update TS status. 2108 * doc/xml/manual/status_cxx2017.xml: Likewise. 2109 * doc/html/manual/status.html: Regenerate. 2110 2111 * include/experimental/propagate_const (propagate_const::__t): Rename 2112 to _M_t and remove comment. Qualify std::move and std::forward. 2113 * testsuite/experimental/propagate_const/cons/default.cc: Fix test. 2114 21152016-08-02 Jonathan Wakely <jwakely@redhat.com> 2116 2117 * testsuite/lib/libstdc++.exp (v3-build_support): Add 2118 -fno-lto to additional flags for compiling libtestc++.a objects. 2119 21202016-07-29 Jonathan Wakely <jwakely@redhat.com> 2121 2122 * doc/xml/manual/abi.xml: Document 6.0.22 library version. 2123 * doc/html/manual/abi.html: Regenerate. 2124 21252016-07-19 Jonathan Wakely <jwakely@redhat.com> 2126 2127 Backport from mainline 2128 2016-07-14 Jonathan Wakely <jwakely@redhat.com> 2129 2130 * include/experimental/functional: Include <parallel/algorithm> in 2131 Parallel Mode. 2132 2133 Backport from mainline 2134 2016-07-14 Jonathan Wakely <jwakely@redhat.com> 2135 2136 * testsuite/experimental/functional/searchers.cc: Include <algorithm> 2137 for std::search. 2138 2139 PR libstdc++/71856 2140 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. 2141 * include/parallel/balanced_quicksort.h: Include <unistd.h> for sleep. 2142 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): 2143 Do not define here. 2144 2145 Backport from mainline 2146 2016-06-06 Jonathan Wakely <jwakely@redhat.com> 2147 2148 PR libstdc++/71320 2149 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)): 2150 Add or remove permissions according to perms argument. 2151 * testsuite/experimental/filesystem/operations/permissions.cc: New 2152 test. 2153 21542016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com> 2155 2156 Implement LWG 2451, optional<T> should 'forward' T's 2157 implicit conversions. 2158 * include/experimental/optional (__is_optional_impl, __is_optional): 2159 New. 2160 (optional()): Make constexpr and default. 2161 (optional(_Up&&), optional(const optional<_Up>&), 2162 optional(optional<_Up>&& __t): New. 2163 (operator=(_Up&&)): Constrain. 2164 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New. 2165 * testsuite/experimental/optional/cons/value.cc: 2166 Add tests for the functionality added by LWG 2451. 2167 * testsuite/experimental/optional/cons/value_neg.cc: New. 2168 21692016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com> 2170 2171 Implement LWG 2509, 2172 any_cast doesn't work with rvalue reference targets and cannot 2173 move with a value target. 2174 * include/experimental/any (any(_ValueType&&)): Constrain and 2175 add an overload that doesn't forward. 2176 (any_cast(any&&)): Constrain and add an overload that moves. 2177 * testsuite/experimental/any/misc/any_cast.cc: Add tests for 2178 the functionality added by LWG 2509. 2179 21802016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com> 2181 2182 PR libstdc++/71313 2183 * src/filesystem/ops.cc (remove_all(const path&, error_code&)): 2184 Call remove_all for children of a directory. 2185 * testsuite/experimental/filesystem/operations/create_directories.cc: 2186 Adjust. 2187 21882016-06-17 Jonathan Wakely <jwakely@redhat.com> 2189 2190 PR libstdc++/71545 2191 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare): 2192 Remove irreflexive checks. 2193 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range, 2194 binary_search): Likewise. 2195 * testsuite/25_algorithms/equal_range/partitioned.cc: New test. 2196 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test. 2197 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test. 2198 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test. 2199 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container): 2200 Add constructor from array. 2201 22022016-05-26 Jonathan Wakely <jwakely@redhat.com> 2203 2204 Backport from mainline 2205 2016-04-24 Jonathan Wakely <jwakely@redhat.com> 2206 2207 PR libstdc++/70762 2208 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use 2209 static counter to return a different path on every call. 2210 2211 * testsuite/experimental/filesystem/path/native/string.cc: Add 2212 dg-require-filesystem-ts directive. 2213 22142016-05-25 Jonathan Wakely <jwakely@redhat.com> 2215 2216 Backport from mainline 2217 2016-04-20 Jonathan Wakely <jwakely@redhat.com> 2218 2219 PR libstdc++/69703 2220 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in, 2221 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations. 2222 2223 Backport from mainline 2224 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 2225 2226 PR libstdc++/69703 2227 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)): 2228 Override endianness bit in mode. 2229 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test. 2230 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test 2231 that little_endian mode is ignored. 2232 * testsuite/experimental/filesystem/path/native/string.cc: New test. 2233 2234 Backport from mainline 2235 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2236 2237 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept. 2238 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 2239 Test begin and end functions. 2240 * testsuite/experimental/filesystem/iterators/ 2241 recursive_directory_iterator.cc: Likewise. 2242 2243 Backport from mainline 2244 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2245 2246 PR libstdc++/71038 2247 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions. 2248 * testsuite/experimental/filesystem/operations/copy_file.cc: New test. 2249 2250 Backport from mainline 2251 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2252 2253 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): 2254 Overload operator* to move from rvalues. 2255 2256 Backport from mainline 2257 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2258 2259 PR libstdc++/71036 2260 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir. 2261 * testsuite/experimental/filesystem/operations/create_directory.cc: 2262 New test. 2263 2264 Backport from mainline 2265 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2266 2267 PR libstdc++/71037 2268 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add 2269 base path to exception. 2270 * testsuite/experimental/filesystem/operations/canonical.cc: Test 2271 paths contained in exception. 2272 2273 Backport from mainline 2274 2016-05-10 Jonathan Wakely <jwakely@redhat.com> 2275 2276 PR libstdc++/71005 2277 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy): 2278 New type. 2279 (directory_iterator::operator++(int)): Return proxy. 2280 (recursive_directory_iterator::operator++(int)): Likewise. 2281 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 2282 Test post-increment. 2283 * testsuite/experimental/filesystem/iterators/ 2284 recursive_directory_iterator.cc: Likewise. 2285 2286 Backport from mainline 2287 2016-05-09 Jonathan Wakely <jwakely@redhat.com> 2288 2289 PR libstdc++/71004 2290 * include/experimental/bits/fs_dir.h (recursive_directory_iterator): 2291 Initialize scalar member variables in default constructor. 2292 * testsuite/experimental/filesystem/iterators/ 2293 recursive_directory_iterator.cc: Test default construction. 2294 2295 Backport from mainline 2296 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 2297 2298 PR libstdc++/70609 2299 * src/filesystem/ops.cc (close_fd): New function. 2300 (do_copy_file): Set permissions before copying file contents. Check 2301 result of closing file descriptors. Don't copy streambuf when file 2302 is empty. 2303 (copy(const path&, const path&, copy_options, error_code&)): Use 2304 lstat for source file when copy_symlinks is set. 2305 * testsuite/experimental/filesystem/operations/copy.cc: Test copy(). 2306 2307 Backport from mainline 2308 2016-04-19 Jonathan Wakely <jwakely@redhat.com> 2309 2310 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^, 2311 operator~ operator&=, operator|=, operator^=): Add noexcept to 2312 overloaded operators for copy_options, perms and directory_options. 2313 * src/filesystem/ops.cc (make_file_type, make_file_status, 2314 is_not_found_errno, file_time): Add noexcept. 2315 23162016-05-11 Jonathan Wakely <jwakely@redhat.com> 2317 2318 PR libstdc++/71049 2319 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define 2320 exception constructors with __sso_string parameters. 2321 23222016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com> 2323 2324 Avoid endless run-time recursion for copying single-element 2325 tuples where the element type is by-value constructible 2326 from any type. 2327 * include/std/tuple (_NotSameTuple): New. 2328 * include/std/tuple (tuple(_UElements&&...): Use it. 2329 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New. 2330 23312016-04-27 Release Manager 2332 2333 * GCC 6.1.0 released. 2334 23352016-04-19 Jonathan Wakely <jwakely@redhat.com> 2336 2337 * include/bits/random.h: Fix filename in comment. 2338 23392016-04-14 Jason Merrill <jason@redhat.com> 2340 2341 Revert Jonathan's empty ABI change from yesterday. 2342 23432016-04-13 Martin Sebor <msebor@redhat.com> 2344 2345 PR c++/69517 2346 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA 2347 upper bound is positive. 2348 23492016-04-13 Jonathan Wakely <jwakely@redhat.com> 2350 2351 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES, 2352 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define. 2353 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures 2354 of functions taking empty structs by value. Add a template parameter 2355 to overloads without hints. Rename overloads with hints to 2356 _M_emplace_hint. 2357 (_Hashtable::_M_erase(true_type, const_iterator), 2358 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures 2359 by reordering parameters. 2360 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call 2361 _M_emplace_hint instead of _M_emplace. 2362 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc), 2363 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY. 2364 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count, 2365 __shared_ptr): Likewise. 2366 * include/bits/stl_algo.h (replace_if): Likewise. 2367 * include/bits/stl_pair.h (piecewise_construct_t, 2368 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES. 2369 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg, 2370 __uses_alloc0): Likewise. 2371 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise. 2372 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error. 2373 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise. 2374 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 2375 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. 2376 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. 2377 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise. 2378 23792016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net> 2380 2381 Document C++17/TR29124 C++ Special Math Functions. 2382 * include/bits/specfun.h: Add Doxygen markup. 2383 23842016-04-07 Jonathan Wakely <jwakely@redhat.com> 2385 2386 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass. 2387 23882016-04-06 Eric Botcazou <ebotcazou@adacore.com> 2389 2390 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null. 2391 * src/Makefile.in: Regenerate. 2392 23932016-04-05 Jonathan Wakely <jwakely@redhat.com> 2394 2395 PR libstdc++/70554 2396 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test 2397 __atomic_fetch_add for bool. 2398 * configure: Regenerate. 2399 2400 * testsuite/30_threads/thread/70503.cc: Require -static to work. 2401 2402 PR libstdc++/70503 2403 * src/c++11/thread.cc (execute_native_thread_routine, 2404 execute_native_thread_routine_compat): Give internal linkage. 2405 * testsuite/30_threads/thread/70503.cc: New test. 2406 24072016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com> 2408 2409 PR libstdc++/70437 2410 * include/bits/stl_pair.h (_ConstructiblePair, 2411 _ImplicitlyConvertiblePair, _MoveConstructiblePair, 2412 _ImplicitlyMoveConvertiblePair): Add shortcut conditions 2413 for same-type cases. 2414 * testsuite/20_util/pair/70437.cc: New. 2415 24162016-03-24 Jonathan Wakely <jwakely@redhat.com> 2417 2418 PR libstdc++/69945 2419 * config/abi/pre/gnu.ver: Add new symbol. 2420 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define. 2421 * testsuite/18_support/free_eh_pool.cc: New test. 2422 24232016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de> 2424 2425 * include/Makefile.am (install-freestanding-headers): Add 2426 concept_check.h and move.h to the installed headers. 2427 * include/Makefile.in: Regenerated. 2428 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for 2429 freestanding implementations. 2430 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention 2431 that this macro has no effect for freestanding implementations. 2432 * doc/html/manual/using_macros.html: Likewise. 2433 24342016-02-24 Jonathan Wakely <jwakely@redhat.com> 2435 2436 PR libstdc++/69939 2437 * include/experimental/tuple (__apply_impl): Qualify get and forward. 2438 24392016-02-23 Jonathan Wakely <jwakely@redhat.com> 2440 2441 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__. 2442 * doc/html/*: Regenerate. 2443 2444 PR libstdc++/69893 2445 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc, 2446 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint, 2447 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter, 2448 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma, 2449 trunc) [__cplusplus >= 201103L]: Import from namespace std. 2450 (fabs) [__cplusplus < 201103L]: Import from namespace std. 2451 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]: 2452 Likewise. 2453 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global 2454 namespace before including TR1 headers. 2455 * testsuite/tr1/headers/c++200x/math.cc: New test. 2456 24572016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de> 2458 2459 PR libstdc++/69881 2460 * include/c_global/cstdarg: Undefine __need___va_list. 2461 * include/c_global/cstddef: Undefine all kinds of __need_*. 2462 24632016-02-16 Tim Shen <timshen@google.com> 2464 2465 PR libstdc++/69794 2466 * include/bits/regex_scanner.h: Add different special character 2467 sets for grep and egrep regex. 2468 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly. 2469 * testsuite/28_regex/regression.cc: Add new testcase. 2470 24712016-02-08 Jonathan Wakely <jwakely@redhat.com> 2472 2473 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally 2474 added 'constexpr' in previous commit. 2475 * configure: Regenerate. 2476 2477 PR libstdc++/48891 2478 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan 2479 checks for all targets except *-*-solaris2.* and ensure we find the 2480 libc math.h header not our own. 2481 * configure: Regenerate. 2482 24832016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com> 2484 2485 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC): 2486 New file. Copied over from s390-linux-gnu. 2487 24882016-02-04 Jonathan Wakely <jwakely@redhat.com> 2489 2490 PR libstdc++/69626 2491 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions 2492 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB. 2493 * config.h.in: Regenerate. 2494 * configure: Regenerate. 2495 * testsuite/21_strings/c_strings/char/69626.cc: New. 2496 2497 * doc/html/index.html: Regenerate. 2498 2499 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI. 2500 * doc/xml/manual/spine.xml: Update copyright years and author blurb. 2501 * doc/html/*: Regenerate. 2502 25032016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de> 2504 2505 PR libstdc++/69581 2506 * include/c_compatibility/math.h: Move header guards. 2507 * include/c_compatibility/stdlib.h: Likewise. 2508 25092016-01-29 Jonathan Wakely <jwakely@redhat.com> 2510 2511 PR libstdc++/69506 2512 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2513 25142016-01-28 John David Anglin <danglin@gcc.gnu.org> 2515 2516 PR libstdc++/69450 2517 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete 2518 isinf and isnan functions into two independent checks. Check on hpux. 2519 * config.h.in: Regenerate. 2520 * configure: Regenerate. 2521 * include/c_global/cmath (isinf(double), isnan(double)): Use 2522 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN, 2523 respectively. 2524 25252016-01-27 Jakub Jelinek <jakub@redhat.com> 2526 2527 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>. 2528 25292016-01-27 Jonathan Wakely <jwakely@redhat.com> 2530 2531 PR libstdc++/69295 2532 * testsuite/ext/special_functions/hyperg/check_value.cc: Use 2533 -ffp-contract=off, and -ffloat-store to disable excess precision. 2534 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use 2535 -ffp-contract=off. 2536 25372016-01-26 Jonathan Wakely <jwakely@redhat.com> 2538 2539 PR libstdc++/69478 2540 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, 2541 random_access_iterator_tag>): Check is_move_assignable when moving. 2542 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): 2543 Likewise. 2544 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. 2545 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. 2546 * testsuite/25_algorithms/move/69478.cc: New. 2547 * testsuite/25_algorithms/move_backward/69478.cc: new. 2548 25492016-01-26 Andris Pavenis <andris.pavenis@iki.fi> 2550 2551 * include/c_compatibility/stdlib.h: Include wide character related 2552 definitions only when they are available in cstdlib. 2553 25542016-01-25 Jonathan Wakely <jwakely@redhat.com> 2555 2556 PR libstdc++/69464 2557 * include/Makefile.am: Add new header. 2558 * include/Makefile.in: Regenerate. 2559 * include/bits/random.h (uniform_int_distribution): Move to 2560 bits/uniform_int_dist.h. 2561 * include/bits/random.tcc (uniform_int_distribution::operator(), 2562 uniform_int_distribution::__generate_impl): Likewise. 2563 * include/bits/uniform_int_dist.h: New header. 2564 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include 2565 <bits/uniform_int_dist.h> instead of <random>. 2566 * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 2567 move_iterators/1.cc: Include correct header for uninitialized_copy. 2568 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ 2569 move_iterators/1.cc: Likewise. 2570 * testsuite/25_algorithms/nth_element/58800.cc: Include correct 2571 header for vector. 2572 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines. 2573 25742016-01-23 John David Anglin <danglin@gcc.gnu.org> 2575 2576 PR libstdc++/69446 2577 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2578 25792016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net> 2580 2581 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace. 2582 * include/c_compatibility/math.h: Import the TR29124 functions 2583 into the global namespace. 2584 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove 2585 xfail and make compile-only. 2586 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto. 2587 * testsuite/special_functions/03_beta/compile_2.cc: Ditto. 2588 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto. 2589 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto. 2590 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto. 2591 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto. 2592 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto. 2593 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto. 2594 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto. 2595 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto. 2596 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto. 2597 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto. 2598 * testsuite/special_functions/14_expint/compile_2.cc: Ditto. 2599 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto. 2600 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto. 2601 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto. 2602 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto. 2603 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto. 2604 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto. 2605 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto. 2606 26072016-01-22 Jonathan Wakely <jwakely@redhat.com> 2608 2609 PR libstdc++/69116 2610 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only 2611 define result_type for types which can be safely used with valarrays. 2612 * testsuite/26_numerics/valarray/69116.cc: New. 2613 2614 PR libstdc++/69413 2615 * config/os/gnu-linux/os_defines.h: Define 2616 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC. 2617 * include/c_global/cmath (isinf, isnan): Check it. 2618 * doc/xml/manual/internals.xml: Document it. 2619 * doc/html/*: Regenerate. 2620 26212016-01-21 Jonathan Wakely <jwakely@redhat.com> 2622 2623 PR libstdc++/69406 2624 * include/bits/cpp_type_traits.h: Ensure C++ language linkage. 2625 * include/ext/type_traits.h: Likewise. 2626 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros 2627 for presence of C headers. 2628 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust 2629 dg-error line number. 2630 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise. 2631 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise. 2632 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise. 2633 26342016-01-20 Torvald Riegel <triegel@redhat.com> 2635 2636 PR libstdc++/69310 2637 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2638 26392016-01-20 Jonathan Wakely <jwakely@redhat.com> 2640 2641 PR libstdc++/60401 2642 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt, 2643 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, 2644 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint, 2645 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn, 2646 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]: 2647 Add using declarations. 2648 * testsuite/26_numerics/headers/cmath/60401.cc: New. 2649 2650 PR libstdc++/69386 2651 * include/c_global/ccomplex: Ensure C++ language linkage. 2652 * include/c_global/cmath: Likewise. 2653 * include/c_global/cstdlib: Likewise. 2654 * include/c_global/ctgmath: Likewise. 2655 * testsuite/17_intro/headers/c++2011/linkage.cc: New. 2656 26572016-01-19 Jonathan Wakely <jwakely@redhat.com> 2658 2659 PR libstdc++/14608 2660 PR libstdc++/60401 2661 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for 2662 --enable-cheaders=c_global configs. 2663 * include/Makefile.in: Regenerate. 2664 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C 2665 test and allow inclusion from C files. 2666 * include/c_compatibility/stdlib.h: Likewise. Support freestanding. 2667 (at_quick_exit, quick_exit): Add using directives. 2668 * include/c_global/cmath: Use #include_next for math.h. 2669 * include/c_global/cstdlib: Use #include_next for stdlib.h. 2670 * testsuite/26_numerics/headers/cmath/14608.cc: New. 2671 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: 2672 Remove xfail for most targets. 2673 * testsuite/26_numerics/headers/cstdlib/60401.cc: New. 2674 26752016-01-18 Torvald Riegel <triegel@redhat.com> 2676 2677 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New. 2678 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF 2679 and move after its definition. 2680 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override. 2681 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of 2682 __GXX_WEAK__, and only provide transactional clones if 2683 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm 2684 functions. 2685 26862016-01-18 Jonathan Wakely <jwakely@redhat.com> 2687 2688 PR libstdc++/60637 2689 * testsuite/26_numerics/headers/cmath/60637.cc: Add test. 2690 2691 PR libstdc++/69243 2692 * include/std/functional (_Function_base::_M_not_empty_function): 2693 Change overloads for pointers to take arguments by value. 2694 * testsuite/20_util/function/cons/57465.cc: Add tests for 2695 pointer-to-member cases. 2696 2697 PR libstdc++/69340 2698 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): 2699 Use macros for exception handling and fix unused parameter warning. 2700 27012016-01-17 John David Anglin <danglin@gcc.gnu.org> 2702 2703 PR libstdc++/68734 2704 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 2705 27062016-01-17 Torvald Riegel <triegel@redhat.com> 2707 2708 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert. 2709 27102016-01-16 H.J. Lu <hongjiu.lu@intel.com> 2711 2712 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add 2713 __int128 symbols. 2714 27152016-01-15 Jonathan Wakely <jwakely@redhat.com> 2716 2717 PR libstdc++/69293 2718 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add 2719 static assertion that type is constructible from the arguments. 2720 * testsuite/20_util/scoped_allocator/69293_neg.cc: New. 2721 * testsuite/20_util/uses_allocator/69293_neg.cc: New. 2722 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error. 2723 2724 PR libstdc++/69294 2725 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf 2726 and isnan on AIX. Quote variables. 2727 * configure: Regenerate. 2728 27292016-01-15 Torvald Riegel <triegel@redhat.com> 2730 2731 * include/bits/basic_string.h (basic_string): Declare friends. 2732 * include/bits/c++config (_GLIBCXX_TXN_SAFE, 2733 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New. 2734 * include/std/stdexcept (logic_error, domain_error, invalid_argument, 2735 length_error, out_of_range, runtime_error, range_error, 2736 underflow_error, overflow_error): Declare members as transaction-safe. 2737 (logic_error, runtime_error): Declare friend functions. 2738 * libsupc++/exception (exception, bad_exception): Declare members as 2739 transaction-safe. 2740 * src/c++11/cow-stdexcept.cc: Define transactional clones for the 2741 transaction-safe members of exceptions and helper functions. 2742 * libsupc++/eh_exception.cc: Adjust and define transactional clones. 2743 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones. 2744 (CXXABI_1.3.10): New. 2745 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New. 2746 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW. 2747 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING. 2748 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h. 2749 * include/Makefile.in: Regenerate. 2750 * config.h.in: Regenerate. 2751 * configure: Regenerate. 2752 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10. 2753 27542016-01-15 Steve Ellcey <sellcey@imgtec.com> 2755 2756 * include/ext/random.tcc: Use __builtin_isfinite instead of 2757 std::isfinite. 2758 27592016-01-15 Jonathan Wakely <jwakely@redhat.com> 2760 2761 * include/bits/std_mutex.h: Fix Doxygen @file name. 2762 27632016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net> 2764 Jonathan Wakely <jwakely@redhat.com> 2765 Florian Goth <CaptainSifff@gmx.de> 2766 2767 Implement TR29124 C++ special Math Functions. 2768 * include/Makefile.am: Add new headers. 2769 * include/Makefile.in: Regenerate. 2770 * include/bits/specfun.h: New. 2771 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths. 2772 * include/tr1/bessel_function.tcc: Ditto. 2773 * include/tr1/beta_function.tcc: Ditto. 2774 * include/tr1/cmath: Ditto. 2775 * include/tr1/ell_integral.tcc: Ditto. 2776 * include/tr1/exp_integral.tcc: Ditto. 2777 * include/tr1/gamma.tcc: Ditto. 2778 * include/tr1/hypergeometric.tcc: Ditto. 2779 * include/tr1/legendre_function.tcc: Ditto. 2780 * include/tr1/modified_bessel_func.tcc: Ditto. 2781 * include/tr1/poly_hermite.tcc: Ditto. 2782 * include/tr1/poly_laguerre.tcc: Ditto. 2783 * include/tr1/riemann_zeta.tcc: Ditto. 2784 * include/tr1/special_function_util.h: Ditto. 2785 * testsuite/ext/special_functions/conf_hyperg: New. 2786 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New. 2787 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New. 2788 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New. 2789 * testsuite/ext/special_functions/hyperg: New. 2790 * testsuite/ext/special_functions/hyperg/check_nan.cc: New. 2791 * testsuite/ext/special_functions/hyperg/check_value.cc: New. 2792 * testsuite/ext/special_functions/hyperg/compile.cc: New. 2793 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory. 2794 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New. 2795 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New. 2796 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New. 2797 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New. 2798 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New. 2799 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New. 2800 * testsuite/special_functions/02_assoc_legendre/compile.cc: New. 2801 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New. 2802 * testsuite/special_functions/03_beta/check_nan.cc: New. 2803 * testsuite/special_functions/03_beta/check_value.cc: New. 2804 * testsuite/special_functions/03_beta/compile.cc: New. 2805 * testsuite/special_functions/03_beta/compile_2.cc: New. 2806 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New. 2807 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New. 2808 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New. 2809 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New. 2810 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New. 2811 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New. 2812 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New. 2813 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New. 2814 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New. 2815 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New. 2816 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New. 2817 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New. 2818 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New. 2819 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New. 2820 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New. 2821 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New. 2822 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New. 2823 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New. 2824 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New. 2825 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New. 2826 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New. 2827 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New. 2828 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New. 2829 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New. 2830 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New. 2831 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New. 2832 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New. 2833 * testsuite/special_functions/10_cyl_neumann/compile.cc: New. 2834 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New. 2835 * testsuite/special_functions/11_ellint_1/check_nan.cc: New. 2836 * testsuite/special_functions/11_ellint_1/check_value.cc: New. 2837 * testsuite/special_functions/11_ellint_1/compile.cc: New. 2838 * testsuite/special_functions/11_ellint_1/compile_2.cc: New. 2839 * testsuite/special_functions/12_ellint_2/check_nan.cc: New. 2840 * testsuite/special_functions/12_ellint_2/check_value.cc: New. 2841 * testsuite/special_functions/12_ellint_2/compile.cc: New. 2842 * testsuite/special_functions/12_ellint_2/compile_2.cc: New. 2843 * testsuite/special_functions/13_ellint_3/check_nan.cc: New. 2844 * testsuite/special_functions/13_ellint_3/check_value.cc: New. 2845 * testsuite/special_functions/13_ellint_3/compile.cc: New. 2846 * testsuite/special_functions/13_ellint_3/compile_2.cc: New. 2847 * testsuite/special_functions/14_expint/check_nan.cc: New. 2848 * testsuite/special_functions/14_expint/check_value.cc: New. 2849 * testsuite/special_functions/14_expint/compile.cc: New. 2850 * testsuite/special_functions/14_expint/compile_2.cc: New. 2851 * testsuite/special_functions/15_hermite/check_nan.cc: New. 2852 * testsuite/special_functions/15_hermite/check_value.cc: New. 2853 * testsuite/special_functions/15_hermite/compile.cc: New. 2854 * testsuite/special_functions/15_hermite/compile_2.cc: New. 2855 * testsuite/special_functions/16_laguerre/check_nan.cc: New. 2856 * testsuite/special_functions/16_laguerre/check_value.cc: New. 2857 * testsuite/special_functions/16_laguerre/compile.cc: New. 2858 * testsuite/special_functions/16_laguerre/compile_2.cc: New. 2859 * testsuite/special_functions/17_legendre/check_nan.cc: New. 2860 * testsuite/special_functions/17_legendre/check_value.cc: New. 2861 * testsuite/special_functions/17_legendre/compile.cc: New. 2862 * testsuite/special_functions/17_legendre/compile_2.cc: New. 2863 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New. 2864 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New. 2865 * testsuite/special_functions/18_riemann_zeta/compile.cc: New. 2866 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New. 2867 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New. 2868 * testsuite/special_functions/19_sph_bessel/check_value.cc: New. 2869 * testsuite/special_functions/19_sph_bessel/compile.cc: New. 2870 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New. 2871 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New. 2872 * testsuite/special_functions/20_sph_legendre/check_value.cc: New. 2873 * testsuite/special_functions/20_sph_legendre/compile.cc: New. 2874 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New. 2875 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New. 2876 * testsuite/special_functions/21_sph_neumann/check_value.cc: New. 2877 * testsuite/special_functions/21_sph_neumann/compile.cc: New. 2878 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New. 2879 * testsuite/util/specfun_testcase.h: New. 2880 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases. 2881 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto. 2882 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto. 2883 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto. 2884 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto. 2885 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto. 2886 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New. 2887 28882016-01-13 Jonathan Wakely <jwakely@redhat.com> 2889 2890 PR libstdc++/48891 2891 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf 2892 and isnan functions. 2893 * config.h.in: Regenerate. 2894 * configure: Regenerate. 2895 * include/c_global/cmath (isinf(double), isnan(double)) 2896 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive. 2897 * testsuite/26_numerics/headers/cmath/48891.cc: New. 2898 28992016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2900 2901 PR libstdc++/66006 2902 * configure.host (abi_baseline_pair): Use separate baseline for 2903 Solaris 11+ and Solaris 10 with gld. 2904 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file. 2905 * config/abi/post/solaris2.11/baseline_symbols.txt: New file. 2906 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file. 2907 29082016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com> 2909 2910 PR libstdc++/68877 2911 * include/std/type_traits: Following N4511, reimplement __is_swappable 2912 and __is_nothrow_swappable. Move __is_swappable to namespace std, 2913 adjust callers. Use __is_nothrow_swappable in swap. 2914 * include/bits/move.h: Use __is_nothrow_swappable in swap. 2915 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove 2916 __is_swappable related tests. 2917 * testsuite/20_util/is_swappable/value.cc: New. 2918 * testsuite/20_util/is_swappable/requirements/ 2919 explicit_instantiation.cc: New. 2920 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New. 2921 * testsuite/25_algorithms/swap/68877.cc: New. 2922 29232016-01-12 Jonathan Wakely <jwakely@redhat.com> 2924 2925 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases. 2926 2927 PR libstdc++/69005 2928 PR libstdc++/69222 2929 * include/std/functional (function::_Invoke): Remove, use result_of. 2930 (function::_Callable): Replace alias template with class template 2931 and use partial specialization instead of _NotSelf alias template. 2932 (function(_Functor)): Add "not self" constraint so that _Callable is 2933 not used while type is incomplete. 2934 * testsuite/20_util/function/69222.cc: New. 2935 29362016-01-11 Jonathan Wakely <jwakely@redhat.com> 2937 2938 PR libstdc++/60976 2939 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>): 2940 Define partial specialization. 2941 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and 2942 destroy members to std::allocator explicit specialization. 2943 29442016-01-08 Jonathan Wakely <jwakely@redhat.com> 2945 2946 * testsuite/26_numerics/headers/cmath/ 2947 c99_classification_macros_c++.cc: Rename to ... 2948 * testsuite/26_numerics/headers/cmath/ 2949 c99_classification_macros_c++98.cc: Here and add -std=gnu++98. 2950 * testsuite/26_numerics/headers/cmath/ 2951 c99_classification_macros_c++0x.cc: Rename to ... 2952 * testsuite/26_numerics/headers/cmath/ 2953 c99_classification_macros_c++11.cc: Here. 2954 2955 PR libstdc++/69190 2956 * include/bits/uses_allocator.h: Add missing include. 2957 29582016-01-07 Jonathan Wakely <jwakely@redhat.com> 2959 2960 PR libstdc++/69105 2961 PR libstdc++/69106 2962 PR libstdc++/69114 2963 * include/bits/stl_iterator.h (back_insert_iterator, 2964 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324). 2965 * include/bits/uses_allocator.h (__use_alloc): Use __addressof. 2966 * include/std/future (__future::base::_State_baseV2::__setter): 2967 Likewise. 2968 * include/std/scoped_allocator (__outermost): Likewise. 2969 * testsuite/20_util/scoped_allocator/69114.cc: New. 2970 * testsuite/20_util/uses_allocator/69114.cc: New. 2971 * testsuite/30_threads/promise/69106.cc: New. 2972 29732016-01-06 Jonathan Wakely <jwakely@redhat.com> 2974 2975 PR libstdc++/69092 2976 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>): 2977 Remove _GLIBCXX_NOEXCEPT. 2978 testsuite/21_strings/basic_string/cons/char/69092.cc: New. 2979 2980 * include/Makefile.am: Adjust. 2981 * include/Makefile.in: Regenerate. 2982 * include/bits/mutex.h: Rename to bits/std_mutex.h. 2983 * include/std/condition_variable: Adjust include. 2984 * include/std/mutex: Likewise. 2985 29862016-01-04 Jakub Jelinek <jakub@redhat.com> 2987 2988 Update copyright years. 2989 2990Copyright (C) 2016 Free Software Foundation, Inc. 2991 2992Copying and distribution of this file, with or without modification, 2993are permitted in any medium without royalty provided the copyright 2994notice and this notice are preserved. 2995