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