12017-12-27 Jonathan Wakely <jwakely@redhat.com> 2 3 PR libstdc++/83600 4 * include/bits/regex.h (match_results::end()): Return valid iterator 5 when not ready. 6 * testsuite/28_regex/match_results/ctors/char/default.cc: Check that 7 unready objects are empty and have equal begin and end iterators. 8 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise. 9 10 PR libstdc++/83598 11 * include/bits/regex.h (basic_regex): Don't modify flags passed to 12 constructors. 13 * testsuite/28_regex/basic_regex/ctors/83598.cc: New test. 14 15 PR libstdc++/83538 16 * doc/xml/manual/intro.xml: Document LWG 2306 change. 17 * include/bits/regex.h (match_results::reference): Change to 18 non-const reference. 19 * testsuite/28_regex/match_results/typedefs.cc: Check types are 20 correct. 21 222017-12-24 Michele Pezzutti <mpezz@tiscali.it> 23 24 PR libstdc++/83237 25 * include/bits/random.tcc (poisson_distribution<>::operator()): 26 Fix __x = 1 case - see updated Errata of Devroye's treatise. 27 * testsuite/26_numerics/random/poisson_distribution/operators/ 28 values.cc: Add test. 29 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error 30 line number. 31 322017-12-24 Jonathan Wakely <jwakely@redhat.com> 33 34 PR libstdc++/83450 35 * testsuite/21_strings/basic_string/pthread18185.cc: Add return 36 statement. 37 382017-12-20 François Dumont <fdumont@gcc.gnu.org> 39 40 PR libstdc++/82522 41 * include/debug/map.h (map::insert(value_type&&)) 42 (map::insert(const_iterator, value_type&&)): Add overload for rvalues. 43 * include/debug/multimap.h (multimap::insert(value_type&&)) 44 (multimap::insert(const_iterator, value_type&&)): Likewise. 45 * include/debug/unordered_map (unordered_map::insert(value_type&&)) 46 (unordered_map::insert(const_iterator, value_type&&)) 47 (unordered_multimap::insert(value_type&&)) 48 (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. 49 * testsuite/23_containers/map/modifiers/insert/dr2354.cc (test02): New. 50 * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc (test02): 51 New. 52 * testsuite/23_containers/unordered_map/insert/dr2354.cc (test02): New. 53 * testsuite/23_containers/unordered_multimap/insert/dr2354.cc (test02): 54 New. 55 562017-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 57 58 * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check 59 __ARM_BIG_ENDIAN instead of __AARCH64EB__. 60 612017-12-18 François Dumont <fdumont@gcc.gnu.org> 62 63 PR libstdc++/80761 64 * include/debug/map.h 65 (std::__debug::map<>::insert_return_type): Define using 66 _Node_insert_return. 67 * include/debug/set.h (std::__debug::set<>::insert_return_type): 68 Likewise. 69 * include/debug/unordered_map: 70 (std::__debug::unordered_map<>::insert_return_type): Likewise. 71 * include/debug/unordered_set: 72 (std::__debug::unordered_set<>::insert_return_type): Likewise. 73 742017-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 75 76 PR libstdc++/68430 77 * testsuite/20_util/is_constructible/68430.cc: New. 78 792017-12-16 Martin Sebor <msebor@redhat.com> 80 81 PR tree-optimization/83239 82 * include/bits/vector.tcc (vector::_M_default_append): Assert 83 invariant to generate better code. 84 852017-12-14 Jonathan Wakely <jwakely@redhat.com> 86 87 PR libstdc++/83279 88 * src/filesystem/std-ops.cc (do_copy_file): Handle sendfile not 89 copying entire file. 90 91 PR libstdc++/68519 92 * include/std/condition_variable (condition_variable::wait_for): 93 Convert duration to native clock's duration before addition. 94 * testsuite/30_threads/condition_variable/members/68519.cc: New test. 95 96 PR libstdc++/83427 97 * include/bits/refwrap.h (_Maybe_unary_or_binary_function): Move here 98 from <bits/std_function.h>. 99 (_Mem_fn_traits_base, _Mem_fn_traits): Move here, from <functional>. 100 (_Weak_result_type_impl, _Reference_wrapper_base): Deduce noexcept 101 for function types. Remove partial specializations for member 102 functions. 103 (_Weak_result_type_impl): Remove unused partial specializations for 104 non-referenceable function types and for references to functions. 105 (_Weak_result_type_memfun, _Reference_wrapper_base_memfun): New 106 helpers to handle member functions via _Mem_fn_traits. 107 (_Weak_result_type, reference_wrapper): Derive from new helpers. 108 * include/bits/std_function.h (_Maybe_unary_or_binary_function): Move 109 to <bits/refwrap.h>. 110 * include/std/functional (_Pack, _AllConvertible, _NotSame): Remove. 111 (_Mem_fn_traits_base, _Mem_fn_traits): Move to <bits/refwrap.h>. 112 * testsuite/20_util/bind/83427.cc: New test. 113 * testsuite/20_util/bind/refqual.cc: Add noexcept to functions and 114 check for weak result types. 115 * testsuite/20_util/reference_wrapper/83427.cc: New test. 116 117 * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: 118 Add tests using noskipws. 119 120 * testsuite/26_numerics/complex/dr2714.cc: Move to ... 121 * testsuite/26_numerics/complex/inserters_extractors/char/dr2714.cc: 122 ... Here. Remove duplicate header and dg-options. Check first invalid 123 character gets putback. Remove wchar_t test. 124 1252017-12-13 Jonathan Wakely <jwakely@redhat.com> 126 127 PR libstdc++/59568 128 * include/std/complex (operator>>): Implement proposed resolution to 129 LWG 2714. Use putback if and only if a character has been successfully 130 extracted but isn't a delimiter. Use ctype::widen and traits::eq when 131 testing if extracted characters match delimiters. 132 * testsuite/26_numerics/complex/dr2714.cc: New test. 133 1342017-12-12 Jonathan Wakely <jwakely@redhat.com> 135 136 PR libstdc++/83395 137 * include/std/type_traits (__is_invocable_impl): Remove partial 138 specialization for INVOKE<void> and restore is_void<R> check in 139 primary template. 140 (__is_nt_invocable_impl): Likewise. 141 * testsuite/20_util/is_invocable/83395.cc: New test. 142 * testsuite/20_util/is_nothrow_invocable/83395.cc: New test. 143 1442017-12-07 David Edelsohn <dje.gcc@gmail.com> 145 146 PR libstdc++/83120 147 * testsuite/ext/special_functions/hyperg/check_value.cc: Add 148 -ffp-contract=off. Add -ffloat-store for m68* and ia32. 149 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/check_value.cc: Same. 150 1512017-12-07 Martin Sebor <msebor@redhat.com> 152 153 PR c/81544 154 * include/ext/mt_allocator.h (_M_destroy_thread_key): Remove 155 attribute const. 156 1572017-12-05 Jason Merrill <jason@redhat.com> 158 Jonathan Wakely <jwakely@redhat.com> 159 160 * include/bits/fs_fwd.h (copy, copy_file): Remove noexcept. 161 (permissions): Add noexcept. 162 * include/bits/fs_ops.h (permissions): Add noexcept. 163 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Add 164 _GLIBCXX_NOTHROW. 165 1662017-12-04 Jonathan Wakely <jwakely@redhat.com> 167 168 * include/bits/regex_compiler.tcc: Use C-style comment to work around 169 PR preprocessor/61638. 170 (__INSERT_REGEX_MATCHER): Replace GNU extension with __VA_ARGS__. 171 172 * config/io/basic_file_stdio.h (__basic_file): Remove name of unused 173 parameter. 174 * include/bits/boost_concept_check.h: Add pragmas to disable 175 -Wunused-local-typedef warnings. 176 * include/bits/codecvt.h (codecvt_byname<char16_t, char, mbstate_t>) 177 (codecvt_byname<char32_t, char, mbstate_t>): Remove name of unused 178 parameter. 179 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday) 180 (time_get::do_get_monthname, time_get::do_get_year): Remove unused 181 variables. 182 * include/std/bitset (_Base_bitset<0>::_M_getword): Remove name of 183 unused parameter. 184 * include/std/streambuf (_IsUnused): Define. 185 (basic_streambuf::imbue, basic_streambuf::pbackfail) 186 (basic_streambuf::overflow): Add macro to unused parameters. 187 * testsuite/24_iterators/operations/prev_neg.cc: Adjust dg-error. 188 1892017-12-01 Jonathan Wakely <jwakely@redhat.com> 190 191 * include/experimental/string_view (basic_string_view::_S_compare): 192 Use value-init so narrowing conversions are not ill-formed. 193 * include/std/string_view (basic_string_view::_S_compare): Likewise. 194 195 * include/bits/basic_string.h (operator""s): Add pragmas to disable 196 -Wliteral-suffix warnings. 197 * include/experimental/string_view (operator""sv): Likewise. 198 * include/std/chrono (operator""h, operator""min, operator""s) 199 (operator""ms, operator""us, operator""ns): Likewise. 200 * include/std/complex (operator""if, operator""i, operator""il): 201 Likewise. 202 * include/std/string_view (operator""sv): Likewise. 203 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. 204 205 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add 206 fallthrough comment. 207 208 * include/bits/node_handle.h (_Node_handle_common::operator=) 209 (_Node_handle_common::_M_swap): Add braces around debug assertions. 210 211 * include/ext/ropeimpl.h (rope::_S_dump): Use const char*. 212 213 * libsupc++/nested_exception.h (__throw_with_nested_impl): Add 214 noreturn attribute. 215 216 * include/bits/regex_executor.tcc (_Executor::_M_rep_once_more): 217 Remove semi-colon after function body. 218 * include/bits/uniform_int_dist.h (_Power_of_2): Likewise. 219 220 * include/tr1/modified_bessel_func.tcc (__airy): Use value-init not 221 list-init. 222 223 * include/std/type_traits (integral_constant): Make member functions 224 noexcept (LWG 2346). 225 * include/std/utility (integer_sequence): Likewise. 226 2272017-11-30 Jonathan Wakely <jwakely@redhat.com> 228 229 PR libstdc++/65927 230 * include/bits/locale_facets_nonio.h (__timepunct::_M_am_pm_format): 231 Remove statement with no effect. 232 2332017-11-30 Glen Joseph Fernandes <glenjofe@gmail.com> 234 235 * include/bits/ptr_traits.h (__to_address, to_address): Move static 236 assertion. 237 * testsuite/20_util/to_address/1_neg.cc: New test. 238 2392017-11-30 Jonathan Wakely <jwakely@redhat.com> 240 241 PR libstdc++/83226 242 * include/bits/node_handle.h (_Node_handle::__pointer): Avoid forming 243 pointer-to-reference types. 244 * testsuite/23_containers/map/modifiers/insert/83226.cc: New test. 245 2462017-11-29 John David Anglin <danglin@gcc.gnu.org> 247 248 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. 249 2502017-11-29 David Malcolm <dmalcolm@redhat.com> 251 252 * testsuite/20_util/duration/literals/range.cc: Update expected 253 line of a static_assert failure. 254 2552017-11-28 Glen Joseph Fernandes <glenjofe@gmail.com> 256 257 * include/bits/ptr_traits.h (to_address): Implement to_address. 258 * testsuite/20_util/to_address/1.cc: New test. 259 2602017-11-27 Stephan Bergmann <sbergman@redhat.com> 261 262 * include/std/string_view (basic_string_view::find_first_of): Add 263 missing noexcept. 264 265 * include/bits/unordered_map.h (unordered_map): Fix deduction guide. 266 * include/debug/unordered_map (unordered_map): Likewise. 267 2682017-11-23 Jonathan Wakely <jwakely@redhat.com> 269 270 * libsupc++/new (launder): Add nodiscard attribute. 271 * testsuite/18_support/launder/nodiscard.cc: New test. 272 273 * include/bits/fs_path.h (path::empty): Add nodiscard attribute. 274 * include/bits/range_access.h (empty): Likewise. 275 * include/std/string_view (basic_string_view::empty): Likewise. 276 * testsuite/21_strings/basic_string_view/capacity/empty_neg.cc: New 277 test. 278 * testsuite/24_iterators/range_access_cpp17_neg.cc: New test. 279 * testsuite/27_io/filesystem/path/query/empty_neg.cc: New test. 280 281 PR libstdc++/83134 282 * include/std/type_traits (__not_): Explicitly convert to bool. 283 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 284 * testsuite/20_util/logical_traits/83134.cc: New test. 285 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust 286 dg-error. 287 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 288 Likewise. 289 2902017-11-22 Jonathan Wakely <jwakely@redhat.com> 291 292 PR go/83102 293 * include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for 294 comparison object pre-C++17. 295 2962017-11-21 Jonathan Wakely <jwakely@redhat.com> 297 298 PR libstdc++/48101 299 * include/bits/allocator.h (allocator<const _Tp>) 300 (allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial 301 specializations. 302 * include/bits/forward_list.h (forward_list): Add static assertions. 303 * include/bits/hashtable.h (__cache_default): Use 304 __is_nothrow_invocable instead of __is_noexcept_hash. 305 (_Hashtable): Add static assertions. 306 * include/bits/hashtable_policy.h (__is_noexcept_hash): Remove. 307 * include/bits/stl_deque.h (deque): Add static assertions. 308 * include/bits/stl_function.h (_Identity<const _Tp>): Add partial 309 specialization. 310 * include/bits/stl_list.h (list): Add static assertions. 311 * include/bits/stl_map.h (map): Likewise. 312 * include/bits/stl_multimap.h (multimap): Likewise. 313 * include/bits/stl_multiset.h (multiset): Likewise. 314 * include/bits/stl_set.h (set): Likewise. 315 * include/bits/stl_tree.h (_Rb_tree): Likewise. 316 * include/bits/stl_vector.h (vector): Likewise. 317 * include/bits/unordered_map.h (unordered_map, unordered_multimap): 318 Use typename instead of class in template-parameter-list and remove 319 spaces. 320 * include/bits/unordered_set.h (unordered_set, unordered_multiset): 321 Likewise. 322 * testsuite/23_containers/deque/48101-2_neg.cc: New test. 323 * testsuite/23_containers/deque/48101_neg.cc: New test. 324 * testsuite/23_containers/forward_list/48101-2_neg.cc: New test. 325 * testsuite/23_containers/forward_list/48101_neg.cc: New test. 326 * testsuite/23_containers/list/48101-2_neg.cc: New test. 327 * testsuite/23_containers/list/48101_neg.cc: New test. 328 * testsuite/23_containers/map/48101-2_neg.cc: New test. 329 * testsuite/23_containers/map/48101_neg.cc: New test. 330 * testsuite/23_containers/map/operations/31440.cc: Fix comparison 331 object to have const-qualified call operator. 332 * testsuite/23_containers/multimap/48101-2_neg.cc: New test. 333 * testsuite/23_containers/multimap/48101_neg.cc: New test. 334 * testsuite/23_containers/multiset/48101-2_neg.cc: New test. 335 * testsuite/23_containers/multiset/48101_neg.cc: New test. 336 * testsuite/23_containers/set/48101-2_neg.cc: New test. 337 * testsuite/23_containers/set/48101_neg.cc: New test. 338 * testsuite/23_containers/unordered_map/48101-2_neg.cc: New test. 339 * testsuite/23_containers/unordered_map/48101_neg.cc: New test. 340 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test. 341 * testsuite/23_containers/unordered_multimap/48101_neg.cc: New test. 342 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test. 343 * testsuite/23_containers/unordered_multiset/48101_neg.cc: New test. 344 * testsuite/23_containers/unordered_set/48101-2_neg.cc: New test. 345 * testsuite/23_containers/unordered_set/48101_neg.cc: New test. 346 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust 347 dg-error line number. 348 * testsuite/23_containers/vector/48101-2_neg.cc: New test. 349 * testsuite/23_containers/vector/48101_neg.cc: New test. 350 3512017-11-21 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> 352 353 * doc/xml/manual/using.xml (manual.intro.using.macros): Move 354 variablelist element at the end of its list. 355 3562017-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de> 357 358 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add rtems*. 359 (GLIBCXX_ENABLE_FILESYSTEM_TS): Likewise. 360 * configure: Regenerate. 361 3622017-11-20 François Dumont <fdumont@gcc.gnu.org> 363 364 * include/bits/streambuf_iterator.h (istreambuf_iterator<>): Declare 365 std::advance for istreambuf_iterator of char types to be friend. 366 (std::advance(istreambuf_iterator&, _Distance)): New overload. 367 * include/std/streambuf (basic_streambuf<>): Declare std::advance for 368 istreambuf_iterator of char types to be friend. 369 * testsuite/22_locale/money_get/get/char/9.cc: Have 370 istreambuf_iterator created on the fly when calling money_get<>::get. 371 * testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise. 372 * testsuite/24_iterators/istreambuf_iterator/debug/1_neg.cc: New. 373 * testsuite/24_iterators/istreambuf_iterator/debug/2_neg.cc: New. 374 * testsuite/25_algorithms/advance/istreambuf_iterators/char/1.cc: New. 375 * testsuite/25_algorithms/advance/istreambuf_iterators/char/1_neg.cc: 376 New. 377 * testsuite/25_algorithms/advance/istreambuf_iterators/char/2.cc: New. 378 * testsuite/25_algorithms/advance/istreambuf_iterators/char/2_neg.cc: 379 New. 380 * testsuite/25_algorithms/advance/istreambuf_iterators/char/3_neg.cc: 381 New. 382 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1.cc: 383 New. 384 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/1_neg.cc: 385 New. 386 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2.cc: 387 New. 388 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/2_neg.cc: 389 New. 390 * testsuite/25_algorithms/advance/istreambuf_iterators/wchar_t/3_neg.cc: 391 New. 392 * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc: Leverage 393 on std::advance overload. 394 * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: 395 Likewise. 396 3972017-11-20 Jonathan Wakely <jwakely@redhat.com> 398 399 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Fix 400 duplicate dg-options directive. 401 * testsuite/tr1/5_numerical_facilities/special_functions/ 402 20_riemann_zeta/check_value_neg.cc: Likewise. 403 4042017-11-20 Ville Voutilainen <ville.voutilainen@gmail.com> 405 406 Implement LWG 2353 407 * include/bits/stl_iterator_base_funcs.h (next): 408 Use InputIterator instead of ForwardIterator. 409 * testsuite/24_iterators/operations/lwg2353.cc: New. 410 * testsuite/24_iterators/operations/next_neg.cc: Remove. 411 4122017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> 413 414 PR libstdc++/pr66689 - comp_ellint_3 and ellint_3 return garbage values 415 * include/tr1/ell_integral.tcc: Correct the nu sign convention 416 in ellint_3 and comp_ellint_3. 417 * testsuite/tr1/5_numerical_facilities/special_functions/ 418 06_comp_ellint_3/check_value.cc: Regen with correct values. 419 * testsuite/tr1/5_numerical_facilities/special_functions/ 420 14_ellint_3/check_value.cc: Ditto. 421 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: Ditto. 422 * testsuite/special_functions/13_ellint_3/check_value.cc: Ditto. 423 * testsuite/tr1/5_numerical_facilities/special_functions/ 424 01_assoc_laguerre/check_value.cc: Regen. 425 * testsuite/tr1/5_numerical_facilities/special_functions/ 426 02_assoc_legendre/check_value.cc: Regen. 427 * testsuite/tr1/5_numerical_facilities/special_functions/ 428 03_beta/check_value.cc: Regen. 429 * testsuite/tr1/5_numerical_facilities/special_functions/ 430 04_comp_ellint_1/check_value.cc: Regen. 431 * testsuite/tr1/5_numerical_facilities/special_functions/ 432 05_comp_ellint_2/check_value.cc: Regen. 433 * testsuite/tr1/5_numerical_facilities/special_functions/ 434 07_conf_hyperg/check_value.cc: Regen. 435 * testsuite/tr1/5_numerical_facilities/special_functions/ 436 08_cyl_bessel_i/check_value.cc: Regen. 437 * testsuite/tr1/5_numerical_facilities/special_functions/ 438 09_cyl_bessel_j/check_value.cc: Regen. 439 * testsuite/tr1/5_numerical_facilities/special_functions/ 440 10_cyl_bessel_k/check_value.cc: Regen. 441 * testsuite/tr1/5_numerical_facilities/special_functions/ 442 11_cyl_neumann/check_value.cc: Regen. 443 * testsuite/tr1/5_numerical_facilities/special_functions/ 444 12_ellint_1/check_value.cc: Regen. 445 * testsuite/tr1/5_numerical_facilities/special_functions/ 446 13_ellint_2/check_value.cc: Regen. 447 * testsuite/tr1/5_numerical_facilities/special_functions/ 448 15_expint/check_value_neg.cc: Regen. 449 * testsuite/tr1/5_numerical_facilities/special_functions/ 450 16_hermite/check_value.cc: Regen. 451 * testsuite/tr1/5_numerical_facilities/special_functions/ 452 17_hyperg/check_value.cc: Regen. 453 * testsuite/tr1/5_numerical_facilities/special_functions/ 454 18_laguerre/check_value.cc: Regen. 455 * testsuite/tr1/5_numerical_facilities/special_functions/ 456 19_legendre/check_value.cc: Regen. 457 * testsuite/tr1/5_numerical_facilities/special_functions/ 458 20_riemann_zeta/check_value_neg.cc: Regen. 459 * testsuite/tr1/5_numerical_facilities/special_functions/ 460 21_sph_bessel/check_value.cc: Regen. 461 * testsuite/tr1/5_numerical_facilities/special_functions/ 462 22_sph_legendre/check_value.cc: Regen. 463 * testsuite/tr1/5_numerical_facilities/special_functions/ 464 23_sph_neumann/check_value.cc: Regen. 465 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: Regen. 466 * testsuite/ext/special_functions/hyperg/check_value.cc: Regen. 467 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: Regen. 468 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Regen. 469 * testsuite/special_functions/03_beta/check_value.cc: Regen. 470 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: Regen. 471 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: Regen. 472 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: Regen. 473 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Regen. 474 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: Regen. 475 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Regen. 476 * testsuite/special_functions/11_ellint_1/check_value.cc: Regen. 477 * testsuite/special_functions/12_ellint_2/check_value.cc: Regen. 478 * testsuite/special_functions/14_expint/check_value.cc: Regen. 479 * testsuite/special_functions/15_hermite/check_value.cc: Regen. 480 * testsuite/special_functions/16_laguerre/check_value.cc: Regen. 481 * testsuite/special_functions/17_legendre/check_value.cc: Regen. 482 * testsuite/special_functions/18_riemann_zeta/check_value.cc: Regen. 483 * testsuite/special_functions/19_sph_bessel/check_value.cc: Regen. 484 * testsuite/special_functions/20_sph_legendre/check_value.cc: Regen. 485 * testsuite/special_functions/21_sph_neumann/check_value.cc: Regen. 486 * testsuite/tr1/5_numerical_facilities/special_functions/ 487 06_comp_ellint_3/pr66689.cc: New. 488 * testsuite/tr1/5_numerical_facilities/special_functions/ 489 14_ellint_3/pr66689.cc: New. 490 * testsuite/special_functions/06_comp_ellint_3/pr66689.cc: New. 491 * testsuite/special_functions/13_ellint_3/pr66689.cc: New. 492 4932017-11-18 Edward Smith-Rowland <3dw4rd@verizon.net> 494 Expose Airy functions as an extenaion. 495 * include/bits/specfun.h: Expose airy_ai and airy_bi. 496 * include/tr1/modified_bessel_func.tcc: Treat NaN and inf arg, return. 497 * testsuite/ext/special_functions/airy_ai/check_nan.cc: New. 498 * testsuite/ext/special_functions/airy_ai/check_value.cc: New. 499 * testsuite/ext/special_functions/airy_ai/compile.cc: New. 500 * testsuite/ext/special_functions/airy_bi/check_nan.cc: New. 501 * testsuite/ext/special_functions/airy_bi/check_value.cc: New. 502 * testsuite/ext/special_functions/airy_bi/compile.cc: New. 503 5042017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com> 505 506 * acinclude.m4: Add cet.m4. 507 * configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS, 508 EXTRA_CXX_FLAGS. 509 * libsupc++/Makefile.am: Use Add EXTRA_CFLAGS. 510 * Makefile.in: Regenerate. 511 * configure: Likewise. 512 * doc/Makefile.in: Likewise. 513 * include/Makefile.in: Likewise. 514 * libsupc++/Makefile.in: Likewise. 515 * po/Makefile.in: Likewise. 516 * python/Makefile.in: Likewise. 517 * src/Makefile.in: Likewise. 518 * src/c++11/Makefile.in: Likewise. 519 * src/c++98/Makefile.in: Likewise. 520 * src/filesystem/Makefile.in: Likewise. 521 * testsuite/Makefile.in: Likewise. 522 5232017-11-17 Jonathan Wakely <jwakely@redhat.com> 524 525 PR libstdc++/83025 526 * include/std/fstream (basic_filebuf::_If_path): Move to 527 namespace-scope and rename to _If_fs_path. 528 (basic_filebuf::open): Use new name. 529 (basic_ifstream(_Path, ios::openmode)) 530 (basic_ifstream::open(_Path, ios::openmode)) 531 (basic_ofstream(_Path, ios::openmode)) 532 (basic_ofstream::open(_Path, ios::openmode)) 533 (basic_fstream(_Path, ios::openmode)) 534 (basic_fstream::open(_Path, ios::openmode)): Use _If_fs_path. 535 * testsuite/27_io/basic_filebuf/open/char/path.cc: Test with filename 536 as non-const char*. 537 * testsuite/27_io/basic_fstream/cons/char/path.cc: Likewise. 538 * testsuite/27_io/basic_fstream/open/char/path.cc: Likewise. 539 * testsuite/27_io/basic_ifstream/cons/char/path.cc: Likewise. 540 * testsuite/27_io/basic_ifstream/open/char/path.cc: Likewise. 541 * testsuite/27_io/basic_ofstream/cons/char/path.cc: Likewise. 542 * testsuite/27_io/basic_ofstream/open/char/path.cc: Likewise. 543 544 5452017-11-17 Marc Glisse <marc.glisse@inria.fr> 546 547 * include/bits/vector.tcc (vector::_M_realloc_insert): Cache old 548 values before the allocation. 549 5502017-11-16 Jonathan Wakely <jwakely@redhat.com> 551 552 * include/std/future (shared_future): Add noexcept to copy constructor 553 and copy-assignment operator (LWG 2799). 554 5552017-11-15 Ville Voutilainen <ville.voutilainen@gmail.com> 556 557 Fix gcd breakage. 558 * include/std/numeric (gcd): Use remove_cv_t, not remove_cv. 559 5602017-11-15 Jonathan Wakely <jwakely@redhat.com> 561 562 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: Leave 563 error_code unset. 564 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 565 Check for past-the-end before dereferencing. 566 * testsuite/experimental/filesystem/iterators/ 567 recursive_directory_iterator.cc: Likewise. 568 569 * include/bits/range_access.h (size, empty, data): Add conditional 570 noexcept to generic overloads. 571 5722017-11-14 Ville Voutilainen <ville.voutilainen@gmail.com> 573 574 Implement LWG 2733 and LWG 2759 575 * include/experimental/numeric (gcd): Reject cv-qualified bool. 576 (lcm): Likewise. 577 * include/std/numeric (gcd): Likewise. 578 (lcm): Likewise. 579 * testsuite/26_numerics/gcd/gcd_neg.cc: Add tests and adjust. 580 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 581 5822017-11-14 Jonathan Wakely <jwakely@redhat.com> 583 584 * include/bits/locale_conv.h (wbuffer_convert::_M_conv_get): Fix typo. 585 * testsuite/22_locale/conversions/buffer/3.cc: New test. 586 5872017-11-10 Jonathan Wakely <jwakely@redhat.com> 588 589 * testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept. 590 591 PR libstdc++/82917 592 * include/std/fstream (basic_ifstream::open, basic_ofstream::open) 593 (basic_fstream::open): Fix missing return. 594 5952017-11-07 Jonathan Wakely <jwakely@redhat.com> 596 597 * src/filesystem/ops-common.h (make_file_type) [S_ISSOCK]: Only use 598 S_ISSOCK when defined. 599 6002017-11-06 François Dumont <fdumont@gcc.gnu.org> 601 602 * testsuite/libstdc++-prettyprinters/tr1.cc: Compile with -O0. 603 6042017-11-06 Martin Liska <mliska@suse.cz> 605 606 * testsuite/27_io/basic_fstream/cons/char/path.cc (main): 607 Return a value for functions with non-void return type, 608 or change type to void, or add -Wno-return-type for test. 609 * testsuite/27_io/basic_ifstream/cons/char/path.cc (main): 610 Likewise. 611 * testsuite/27_io/basic_ofstream/open/char/path.cc (main): 612 Likewise. 613 6142017-11-06 Paolo Carlini <paolo.carlini@oracle.com> 615 616 * testsuite/20_util/optional/cons/deduction.cc: Avoid -Wreturn-type 617 warnings. 618 * testsuite/20_util/pair/cons/deduction.cc: Likewise. 619 * testsuite/20_util/pair/traits.cc: Likewise. 620 * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 621 * testsuite/20_util/variant/compile.cc: Likewise. 622 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 623 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 624 Likewise. 625 6262017-11-05 Gerald Pfeifer <gerald@pfeifer.com> 627 628 * doc/xml/manual/abi.xml: Move docs.oracle.com references to https. 629 6302017-11-03 Jonathan Wakely <jwakely@redhat.com> 631 632 * include/std/type_traits (endian): Define new enumeration type. 633 * testsuite/20_util/endian/1.cc: New test. 634 635 * include/bits/node_handle.h (_Node_insert_return::get): Remove, as 636 per P0508R0. 637 6382017-11-01 François Dumont <fdumont@gcc.gnu.org> 639 640 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter.__init__): Strip 641 typename versioned namespace before the substitution. 642 (StdExpOptionalPrinter.__init__): Likewise. 643 (StdVariantPrinter.__init__): Likewise. 644 (Printer.add_version): Inject versioned namespace after std or 645 __gnu_cxx. 646 (build_libstdcxx_dictionary): Adapt add_version usages, always pass 647 namespace first and symbol second. 648 6492017-11-01 Jonathan Wakely <jwakely@redhat.com> 650 651 PR libstdc++/82777 652 * src/filesystem/std-path.cc (path::lexically_normal): Remove dot-dot 653 elements correctly. 654 * testsuite/27_io/filesystem/path/generation/normal.cc: Add testcase. 655 * testsuite/util/testsuite_fs.h (compare_paths): Improve exception 656 text. 657 6582017-10-30 Jonathan Wakely <jwakely@redhat.com> 659 660 * include/Makefile.am (stamp-bits-sup): Do not create broken symlink 661 to stamp-bits. 662 * include/Makefile.in: Regenerate. 663 664 * include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream): 665 Remove outdated comments about calling c_str() to create a file stream 666 from a std::string. 667 (basic_ofstream::basic_ofstream, basic_ofstream::open): Remove 668 redundant ios_mode::trunc bits from default arguments and comments. 669 670 * doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly. 671 672 * include/bits/hashtable_policy.h: Include <tuple>. 673 * include/std/unordered_map: Only include <bits/stl_pair.h> instead 674 of <utility> and <tuple>. 675 * include/std/unordered_set: Likewise. 676 6772017-10-30 Ville Voutilainen <ville.voutilainen@gmail.com> 678 679 Implement LWG 2485 680 * include/debug/array (get(const array<_Tp, _Nm>&&)): New. 681 * include/std/array (get(const array<_Tp, _Nm>&&)): Likewise. 682 * include/std/tuple (get(const tuple<_Elements...>&&)): Likewise. 683 (get(const tuple<_Types...>&&)): Likewise. 684 * include/std/utility 685 (__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)): 686 Likewise. 687 (get(const std::pair<_Tp1, _Tp2>&&)): Likewise. 688 (get(const pair<_Tp, _Up>&&)): Likewise. 689 (get(const pair<_Up, _Tp>&&)): Likewise. 690 * testsuite/20_util/pair/astuple/get.cc: Add tests for 691 new overloads. 692 * testsuite/20_util/pair/astuple/get_by_type.cc: Likewise. 693 * testsuite/20_util/tuple/element_access/get2.cc: Likewise. 694 * testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise. 695 * testsuite/23_containers/array/tuple_interface/get.cc: Likewise. 696 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: 697 Adjust. 698 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 699 Likewise. 700 7012017-10-27 Jonathan Wakely <jwakely@redhat.com> 702 703 * include/bits/node_handle.h (_Node_insert_return::get): Avoid 704 use of std::tie and std::get. 705 706 * include/Makefile.am: Put headers in alphabetical order. 707 * include/Makefile.in: Regenerate. 708 709 * include/bits/fs_dir.h (directory_iterator): Remove noexcept from 710 constructors and increment member (LWG 3013). 711 (recursive_directory_iterator): Likewise. 712 * include/bits/fs_ops.h (copy, copy_file, create_directories) 713 (is_empty, remove_all): Remove noexcept (LWG 3013 and LWG 3014). 714 * src/filesystem/std-dir.cc (directory_iterator::increment) 715 (recursive_directory_iterator::increment): Remove noexcept. 716 * src/filesystem/std-ops.cc (copy, copy_file, create_directories) 717 (is_empty, remove_all): Remove noexcept 718 719 * include/bits/fs_dir.h (file_status): Make default constructor 720 non-explicit (LWG 2787). 721 * testsuite/27_io/filesystem/file_status/1.cc: New test. 722 * testsuite/experimental/filesystem/file_status/1.cc: New test. 723 724 * include/std/fstream (basic_filebuf::_If_path): New SFINAE helper. 725 (basic_filebuf::open<Path>(const Path&, const ios_base::openmode&)) 726 (basic_ifstream<Path>(const Path&, const ios_base::openmode&)) 727 (basic_ifstream::open<Path>(const Path&, const ios_base::openmode&)) 728 (basic_ofstream<Path>(const Path&, const ios_base::openmode&)) 729 (basic_ofstream::open<Path>(const Path&, const ios_base::openmode&)) 730 (basic_fstream<Path>(const Path&, const ios_base::openmode&)) 731 (basic_fstream::open<Path>(const Path&, const ios_base::openmode&)): 732 New constructors and member functions. 733 * testsuite/27_io/basic_filebuf/open/char/path.cc: New test. 734 * testsuite/27_io/basic_fstream/cons/char/path.cc: New test. 735 * testsuite/27_io/basic_fstream/open/char/path.cc: New test. 736 * testsuite/27_io/basic_ifstream/cons/char/path.cc: New test. 737 * testsuite/27_io/basic_ifstream/open/char/path.cc: New test. 738 * testsuite/27_io/basic_ofstream/cons/char/path.cc: New test. 739 * testsuite/27_io/basic_ofstream/open/char/path.cc: New test. 740 741 * include/bits/fs_path.h (path::format): Define new enumeration type. 742 (path(string_type&&), path<Source>(const Source&)) 743 (path<InputIterator>(InputIterator, InputIterator)) 744 (path<Source>(const Source&, const locale&)) 745 (path<InputIterator>(InputIterator, InputIterator, const locale&)): 746 Add format parameter. 747 * testsuite/27_io/filesystem/path/construct/format.cc: New test. 748 749 * include/bits/stl_algo.h (__find_if_not_n, generate_n): Cast to void 750 to ensure overloaded comma not used. 751 * include/bits/stl_algobase.h (__fill_n_a, equal): Likewise. 752 * include/bits/stl_uninitialized.h (__uninitialized_fill_n) 753 (__uninitialized_fill_n_a, __uninitialized_default_n_1) 754 (__uninitialized_default_n_a, __uninitialized_copy_n) 755 (__uninitialized_copy_n_pair): Likewise 756 * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: 757 Use test iterator wrappers with overloaded comma operator. 758 * testsuite/25_algorithms/fill_n/1.cc: Likewise. 759 * testsuite/25_algorithms/generate_n/1.cc: New test. 760 * testsuite/25_algorithms/stable_partition/1.cc: New test. 761 * testsuite/util/testsuite_iterators.h (operator,): Add deleted 762 non-member comma operator with iterator wrappers as right operand. 763 7642017-10-26 Ville Voutilainen <ville.voutilainen@gmail.com> 765 766 Deduction guides for associative containers, debug mode deduction 767 guide fixes. 768 * include/bits/stl_iterator.h (__iter_key_t) 769 (__iter_val_t, __iter_to_alloc_t): New. 770 * include/bits/stl_map.h: Add deduction guides. 771 * include/bits/stl_multimap.h: Likewise. 772 * include/bits/stl_multiset.h: Likewise. 773 * include/bits/stl_set.h: Likewise. 774 * include/bits/unordered_map.h: Likewise. 775 * include/bits/unordered_set.h: Likewise. 776 * include/debug/deque: Likewise. 777 * include/debug/forward_list: Likewise. 778 * include/debug/list: Likewise. 779 * include/debug/map.h: Likewise. 780 * include/debug/multimap.h: Likewise. 781 * include/debug/multiset.h: Likewise. 782 * include/debug/set.h: Likewise. 783 * include/debug/unordered_map: Likewise. 784 * include/debug/unordered_set: Likewise. 785 * include/debug/vector: Likewise. 786 * testsuite/23_containers/map/cons/deduction.cc: New. 787 * testsuite/23_containers/multimap/cons/deduction.cc: Likewise. 788 * testsuite/23_containers/multiset/cons/deduction.cc: Likewise. 789 * testsuite/23_containers/set/cons/deduction.cc: Likewise. 790 * testsuite/23_containers/unordered_map/cons/deduction.cc: Likewise. 791 * testsuite/23_containers/unordered_multimap/cons/deduction.cc: 792 Likewise. 793 * testsuite/23_containers/unordered_multiset/cons/deduction.cc: 794 Likewise. 795 * testsuite/23_containers/unordered_set/cons/deduction.cc: Likewise. 796 7972017-10-25 Jonathan Wakely <jwakely@redhat.com> 798 799 * doc/xml/manual/status_cxx2017.xml: Update C++17 status, and 800 information on feature-test macros. 801 * doc/html/*: Regenerate. 802 803 PR libstdc++/82716 804 * include/std/array (tuple_size, tuple_element): Change class-key 805 from class to struct, to avoid annoying Clang warnings. 806 807 PR libstdc++/79283 808 * src/filesystem/ops.cc (read_symlink): Handle st_size being zero. 809 * src/filesystem/std-ops.cc (read_symlink): Likewise. 810 (do_copy_file) [!NEED_DO_COPY_FILE]: Avoid multiple definitions. 811 812 * src/filesystem/std-path.cc (path::lexically_normal): Add missing 813 step to algorithm, for removing dot-dot elements after root-directory. 814 * testsuite/27_io/filesystem/operations/canonical.cc: Use 815 compare_paths for more exhaustive checks. 816 * testsuite/27_io/filesystem/operations/proximate.cc: Likewise. 817 * testsuite/27_io/filesystem/path/append/path.cc: Likewise. 818 * testsuite/27_io/filesystem/path/concat/path.cc: Likewise. 819 * testsuite/27_io/filesystem/path/concat/strings.cc: Fix comment. 820 * testsuite/27_io/filesystem/path/construct/locale.cc: Likewise. 821 * testsuite/27_io/filesystem/path/decompose/root_directory.cc: 822 Likewise. 823 * testsuite/27_io/filesystem/path/generation/normal.cc: Use 824 compare_paths for more exhaustive checks. Add extra testcases. 825 * testsuite/27_io/filesystem/path/generation/proximate.cc: Use 826 compare_paths for more exhaustive checks. 827 * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise. 828 * testsuite/27_io/filesystem/path/generic/generic_string.cc: Remove 829 unused header. 830 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: Fix 831 comment. 832 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: Use 833 compare_paths for more exhaustive checks. 834 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: 835 Likewise. 836 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: 837 Likewise. 838 * testsuite/util/testsuite_fs.h (compare_paths): Also compare native 839 strings. 840 841 PR libstdc++/82706 842 * testsuite/27_io/filesystem/operations/permissions.cc: Fix test. 843 8442017-10-24 François Dumont <fdumont@gcc.gnu.org> 845 846 * testsuite/lib/libstdc++.exp (check_v3_target_normal_mode): Add 847 c++config.h include. 848 (check_v3_target_normal_namespace): New. 849 * testsuite/lib/dg-options.exp (dg-require-normal-namespace): New. 850 * testsuite/18_support/headers/limits/synopsis.cc: Add latter. 851 * testsuite/20_util/from_chars/requirements.cc: Likewise. 852 * testsuite/20_util/headers/functional/synopsis.cc: Likewise. 853 * testsuite/20_util/headers/memory/synopsis.cc: Likewise. 854 * testsuite/20_util/headers/utility/synopsis.cc: Likewise. 855 * testsuite/20_util/to_chars/requirements.cc: Likewise. 856 * testsuite/21_strings/headers/string/synopsis.cc: Likewise. 857 * testsuite/22_locale/headers/locale/synopsis.cc: Likewise. 858 * testsuite/23_containers/headers/bitset/synopsis.cc: Likewise. 859 * testsuite/23_containers/headers/deque/synopsis.cc: Likewise. 860 * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise. 861 * testsuite/23_containers/headers/list/synopsis.cc: Likewise. 862 * testsuite/23_containers/headers/map/synopsis.cc: Likewise. 863 * testsuite/23_containers/headers/queue/synopsis.cc: Likewise. 864 * testsuite/23_containers/headers/set/synopsis.cc: Likewise. 865 * testsuite/23_containers/headers/stack/synopsis.cc: Likewise. 866 * testsuite/23_containers/headers/vector/synopsis.cc: Likewise. 867 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Likewise. 868 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: Likewise. 869 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: Likewise. 870 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. 871 * testsuite/24_iterators/headers/iterator/synopsis.cc: Likewise. 872 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: Likewise. 873 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: Likewise. 874 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: Likewise. 875 * testsuite/26_numerics/complex/abi_tag.cc: Likewise. 876 * testsuite/26_numerics/headers/complex/synopsis.cc: Likewise. 877 * testsuite/26_numerics/headers/valarray/synopsis.cc: Likewise. 878 * testsuite/27_io/headers/fstream/synopsis.cc: Likewise. 879 * testsuite/27_io/headers/ios/synopsis.cc: Likewise. 880 * testsuite/27_io/headers/istream/synopsis.cc: Likewise. 881 * testsuite/27_io/headers/ostream/synopsis.cc: Likewise. 882 * testsuite/27_io/headers/sstream/synopsis.cc: Likewise. 883 * testsuite/27_io/headers/streambuf/synopsis.cc: Likewise. 884 8852017-10-24 Jonathan Wakely <jwakely@redhat.com> 886 887 * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Ignore 888 -Wattribute-alias warnings. 889 * src/c++11/istream-inst.cc: Likewise. 890 * src/c++11/locale-inst.cc: Likewise. 891 * src/c++11/ostream-inst.cc: Likewise. 892 * src/c++11/wlocale-inst.cc: Likewise. 893 * src/c++98/hash-long-double-tr1-aux.cc: Likewise. 894 895 * include/bits/string_view.tcc (find_first_of, find_last_of) 896 (find_first_not_of, find_last_not_of): Add noexcept. 897 * include/std/string_view (basic_string_view(const _CharT*)) 898 (basic_string_view(const _CharT*, size_type)) 899 (front, back, remove_prefix, remove_suffix, find, rfind) 900 (find_first_of, find_first_not_of): Add noexcept. 901 (at(size_type), _S_compare(size_type, size_type)): Replace conditional 902 expressions with if statements. 903 (copy(_CharT*, size_type, size_type), substr(size_type, size_type)): 904 Use _M_check for length checks. 905 (compare(basic_string_view)): Reformat. 906 (_M_check(size_type, const char)): Add noexcept(false). 907 (_M_limit(size_type, size_type)): Use noexcept not _GLIBCXX_NOEXCEPT. 908 909 PR libstdc++/82685 910 * include/experimental/string_view (operator""sv): Add noexcept. 911 * include/std/string_view (operator""sv): Likewise. 912 9132017-10-23 Jonathan Wakely <jwakely@redhat.com> 914 915 * include/Makefile.am: Add new headers for C++17 filesystem library. 916 * include/Makefile.in: Regenerate. 917 * include/bits/fs_dir.h: New header, based on Filesystem TS code in 918 include/experimental/bits directory. 919 * include/bits/fs_fwd.h: Likewise. 920 * include/bits/fs_ops.h: Likewise. 921 * include/bits/fs_path.h: Likewise. 922 * include/experimental/bits/fs_dir.h: Rename Doxygen group. 923 * include/experimental/bits/fs_fwd.h: Likewise. 924 * include/experimental/bits/fs_ops.h: Likewise. 925 * include/experimental/bits/fs_path.h: Likewise. 926 * include/experimental/filesystem (filesystem_error::_M_gen_what): 927 Remove inline definition. 928 * include/precompiled/stdc++.h: Add <filesystem> to precompiled 929 header. 930 * include/std/filesystem: New header. 931 * python/libstdcxx/v6/printers.py: Enable printer for std::filesystem 932 paths. 933 * src/filesystem/Makefile.am: Add new files. Compile as C++17. 934 * src/filesystem/Makefile.in: Regenerate. 935 * src/filesystem/cow-dir.cc: Update comment. 936 * src/filesystem/cow-ops.cc: Likewise. 937 * src/filesystem/cow-path.cc: Likewise. 938 * src/filesystem/cow-std-dir.cc: New file. 939 * src/filesystem/cow-std-ops.cc: New file. 940 * src/filesystem/cow-std-path.cc: New file. 941 * src/filesystem/dir-common.h (_Dir_base, get_file_type): New header 942 for common code. 943 * src/filesystem/dir.cc (_Dir): Derive from _Dir_base. 944 (open_dir): Move to _Dir_base constructor. 945 (get_file_type): Move to dir-common.h. 946 (recurse): Move to _Dir_base::should_recurse. 947 * src/filesystem/ops-common.h: New header for common code. 948 * src/filesystem/ops.cc (is_set, make_file_type, make_file_status) 949 (is_not_found_errno, file_time, do_copy_file): Move to ops-common.h. 950 * src/filesystem/path.cc (filesystem_error::_M_gen_what): Define. 951 * src/filesystem/std-dir.cc: New file, based on Filesystem TS code. 952 * src/filesystem/std-ops.cc: Likewise. 953 * src/filesystem/std-dir.cc: Likewise. 954 * testsuite/27_io/filesystem/iterators/directory_iterator.cc: New 955 test. 956 * testsuite/27_io/filesystem/iterators/pop.cc: New test. 957 * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc: 958 New test. 959 * testsuite/27_io/filesystem/operations/absolute.cc: New test. 960 * testsuite/27_io/filesystem/operations/canonical.cc: New test. 961 * testsuite/27_io/filesystem/operations/copy.cc: New test. 962 * testsuite/27_io/filesystem/operations/copy_file.cc: New test. 963 * testsuite/27_io/filesystem/operations/create_directories.cc: New 964 test. 965 * testsuite/27_io/filesystem/operations/create_directory.cc: New test. 966 * testsuite/27_io/filesystem/operations/create_symlink.cc: New test. 967 * testsuite/27_io/filesystem/operations/current_path.cc: New test. 968 * testsuite/27_io/filesystem/operations/equivalent.cc: New test. 969 * testsuite/27_io/filesystem/operations/exists.cc: New test. 970 * testsuite/27_io/filesystem/operations/file_size.cc: New test. 971 * testsuite/27_io/filesystem/operations/is_empty.cc: New test. 972 * testsuite/27_io/filesystem/operations/last_write_time.cc: New test. 973 * testsuite/27_io/filesystem/operations/permissions.cc: New test. 974 * testsuite/27_io/filesystem/operations/proximate.cc: New test. 975 * testsuite/27_io/filesystem/operations/read_symlink.cc: New test. 976 * testsuite/27_io/filesystem/operations/relative.cc: New test. 977 * testsuite/27_io/filesystem/operations/remove_all.cc: New test. 978 * testsuite/27_io/filesystem/operations/space.cc: New test. 979 * testsuite/27_io/filesystem/operations/status.cc: New test. 980 * testsuite/27_io/filesystem/operations/symlink_status.cc: New test. 981 * testsuite/27_io/filesystem/operations/temp_directory_path.cc: New 982 test. 983 * testsuite/27_io/filesystem/operations/weakly_canonical.cc: New test. 984 * testsuite/27_io/filesystem/path/append/path.cc: New test. 985 * testsuite/27_io/filesystem/path/assign/assign.cc: New test. 986 * testsuite/27_io/filesystem/path/assign/copy.cc: New test. 987 * testsuite/27_io/filesystem/path/compare/compare.cc: New test. 988 * testsuite/27_io/filesystem/path/compare/path.cc: New test. 989 * testsuite/27_io/filesystem/path/compare/strings.cc: New test. 990 * testsuite/27_io/filesystem/path/concat/path.cc: New test. 991 * testsuite/27_io/filesystem/path/concat/strings.cc: New test. 992 * testsuite/27_io/filesystem/path/construct/copy.cc: New test. 993 * testsuite/27_io/filesystem/path/construct/default.cc: New test. 994 * testsuite/27_io/filesystem/path/construct/locale.cc: New test. 995 * testsuite/27_io/filesystem/path/construct/range.cc: New test. 996 * testsuite/27_io/filesystem/path/construct/string_view.cc: New test. 997 * testsuite/27_io/filesystem/path/decompose/extension.cc: New test. 998 * testsuite/27_io/filesystem/path/decompose/filename.cc: New test. 999 * testsuite/27_io/filesystem/path/decompose/parent_path.cc: New test. 1000 * testsuite/27_io/filesystem/path/decompose/relative_path.cc: New 1001 test. 1002 * testsuite/27_io/filesystem/path/decompose/root_directory.cc: New 1003 test. 1004 * testsuite/27_io/filesystem/path/decompose/root_name.cc: New test. 1005 * testsuite/27_io/filesystem/path/decompose/root_path.cc: New test. 1006 * testsuite/27_io/filesystem/path/decompose/stem.cc: New test. 1007 * testsuite/27_io/filesystem/path/generation/normal.cc: New test. 1008 * testsuite/27_io/filesystem/path/generation/proximate.cc: New test. 1009 * testsuite/27_io/filesystem/path/generation/relative.cc: New test. 1010 * testsuite/27_io/filesystem/path/generic/generic_string.cc: New test. 1011 * testsuite/27_io/filesystem/path/itr/traversal.cc: New test. 1012 * testsuite/27_io/filesystem/path/modifiers/clear.cc: New test. 1013 * testsuite/27_io/filesystem/path/modifiers/make_preferred.cc: New 1014 test. 1015 * testsuite/27_io/filesystem/path/modifiers/remove_filename.cc: New 1016 test. 1017 * testsuite/27_io/filesystem/path/modifiers/replace_extension.cc: New 1018 test. 1019 * testsuite/27_io/filesystem/path/modifiers/replace_filename.cc: New 1020 test. 1021 * testsuite/27_io/filesystem/path/modifiers/swap.cc: New test. 1022 * testsuite/27_io/filesystem/path/native/string.cc: New test. 1023 * testsuite/27_io/filesystem/path/nonmember/hash_value.cc: New test. 1024 * testsuite/27_io/filesystem/path/query/empty.cc: New test. 1025 * testsuite/27_io/filesystem/path/query/has_extension.cc: New test. 1026 * testsuite/27_io/filesystem/path/query/has_filename.cc: New test. 1027 * testsuite/27_io/filesystem/path/query/has_parent_path.cc: New test. 1028 * testsuite/27_io/filesystem/path/query/has_relative_path.cc: New 1029 test. 1030 * testsuite/27_io/filesystem/path/query/has_root_directory.cc: New 1031 test. 1032 * testsuite/27_io/filesystem/path/query/has_root_name.cc: New test. 1033 * testsuite/27_io/filesystem/path/query/has_root_path.cc: New test. 1034 * testsuite/27_io/filesystem/path/query/has_stem.cc: New test. 1035 * testsuite/27_io/filesystem/path/query/is_relative.cc: New test. 1036 * testsuite/experimental/filesystem/path/construct/string_view.cc: 1037 Define USE_FILESYSTEM_TS. 1038 * testsuite/util/testsuite_fs.h: Allow use with C++17 paths as well 1039 as Filesystem TS. 1040 1041 PR libstdc++/82644 1042 * doc/xml/manual/intro.xml: Include new section. 1043 * doc/xml/manual/status_cxxis29124.xml: New section on IS 29124 1044 status. 1045 * include/bits/specfun.h [__STRICT_ANSI__] (hyperg, hypergf, hypergl) 1046 (conf_hyperg, conf_hypergf, conf_hypergl): Don't declare. 1047 * include/c_compatibility/math.h: Import special functions into 1048 global namespace for C++17. 1049 * testsuite/26_numerics/headers/cmath/82644.cc: New test. 1050 * testsuite/26_numerics/headers/cmath/functions_global_c++17.cc: New 1051 test. 1052 10532017-10-21 Jonathan Wakely <jwakely@redhat.com> 1054 1055 * testsuite/experimental/filesystem/path/itr/traversal.cc: Do not 1056 increment past-the-end iterators. 1057 10582017-10-20 Jonathan Wakely <jwakely@redhat.com> 1059 1060 * include/std/chrono (__cpp_lib_chrono): Update macro value to 1061 indicate support for P0505R0. 1062 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Check 1063 for updated macro. 1064 1065 * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. 1066 * testsuite/18_support/byte/requirements.cc: Check macro. 1067 10682017-10-19 Jonathan Wakely <jwakely@redhat.com> 1069 1070 * testsuite/experimental/filesystem/iterators/ 1071 recursive_directory_iterator.cc: Ensure that error_code arguments are 1072 cleared when required. 1073 * testsuite/experimental/filesystem/operations/create_directory.cc: 1074 Remove redundant check. 1075 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1076 Ensure that error_code argument is cleared when required. 1077 1078 * include/experimental/bits/fs_path.h (path::iterator++(int)) 1079 (path::iterator--(int)): Fix for paths with only one component. 1080 * testsuite/experimental/filesystem/path/itr/traversal.cc: Test 1081 post-increment and post-decrement. 1082 1083 * doc/xml/manual/status_cxx2017.xml: Update references to C++17 1084 section numbers. 1085 1086 * testsuite/decimal/conversion-to-integral.cc: Use predefined macro 1087 instead of non-standard glibc one. 1088 10892017-10-16 François Dumont <fdumont@gcc.gnu.org> 1090 1091 PR libstdc++/82558 1092 * include/bits/stl_bvector.h (fill): Add iterator offset check. 1093 * testsuite/23_containers/vector/bool/82558.cc: New. 1094 10952017-10-13 Jonathan Wakely <jwakely@redhat.com> 1096 1097 PR libstdc++/82522 1098 * doc/xml/manual/intro.xml: Document LWG 2354 changes. 1099 * include/bits/stl_map.h (map::insert(value_type&&)) 1100 (map::insert(const_iterator, value_type&&)): Add overload for rvalues. 1101 * include/bits/stl_multimap.h (multimap::insert(value_type&&)) 1102 (multimap::insert(const_iterator, value_type&&)): Likewise. 1103 * include/bits/unordered_map.h (unordered_map::insert(value_type&&)) 1104 (unordered_map::insert(const_iterator, value_type&&)) 1105 (unordered_multimap::insert(value_type&&)) 1106 (unordered_multimap::insert(const_iterator, value_type&&)): Likewise. 1107 * testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test. 1108 * testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New 1109 test. 1110 * testsuite/23_containers/unordered_map/insert/dr2354.cc: New test. 1111 * testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New 1112 test. 1113 1114 PR libstdc++/82481 1115 * include/std/mutex (call_once): Suppress clang-tidy warnings about 1116 dangling references. 1117 11182017-10-10 Jonathan Wakely <jwakely@redhat.com> 1119 1120 * include/bits/streambuf_iterator.h (istreambuf_iterator::equal): 1121 Update comment about NAD issue. 1122 1123 PR libstdc++/59087 1124 PR libstdc++/82417 1125 * include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do 1126 not include C library's <complex.h>. 1127 * testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__. 1128 * testsuite/26_numerics/headers/complex.h/std_c++11.h: New test. 1129 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test. 1130 * testsuite/26_numerics/headers/complex.h/std_c++98.h: New test. 1131 11322017-10-05 Jonathan Wakely <jwakely@redhat.com> 1133 1134 * testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions. 1135 11362017-10-04 Petr Ovtchenkov <ptr@void-ptr.info> 1137 François Dumont <fdumont@gcc.gnu.org> 1138 1139 * include/bits/streambuf_iterator.h 1140 (istreambuf_iterator<>::operator*()): Do not capture iterator state 1141 in Debug assertion. 1142 (istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check. 1143 (istreambuf_iterator<>::operator++(int)): Likewise. 1144 (istreambuf_iterator<>::_M_get()): Remove _M_c assignment. 1145 (istreambuf_iterator<>::_S_is_eof()): New. 1146 (istreambuf_iterator<>::_M_at_eof()): Adapt, use latter. 1147 (find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)): 1148 Return an iterator with _M_c set to eof to capture streambuf state 1149 on evaluation. 1150 (testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks. 1151 11522017-10-03 Jakub Jelinek <jakub@redhat.com> 1153 1154 * include/std/charconv (__unsigned_least_t): Fix number of closing >s for 1155 !_GLIBCXX_USE_INT128. 1156 11572017-10-02 Jonathan Wakely <jwakely@redhat.com> 1158 1159 * include/Makefile.am: Add new <charconv> header. 1160 * include/Makefile.in: Regenerate. 1161 * include/precompiled/stdc++.h: Include <charconv>. 1162 * include/std/charconv: New file. 1163 (to_chars_result, to_chars, from_chars_result, from_chars): Define. 1164 * testsuite/20_util/from_chars/1.cc: New test. 1165 * testsuite/20_util/from_chars/1_neg.cc: New test. 1166 * testsuite/20_util/from_chars/2.cc: New test. 1167 * testsuite/20_util/from_chars/requirements.cc: New test. 1168 * testsuite/20_util/to_chars/1.cc: New test. 1169 * testsuite/20_util/to_chars/1_neg.cc: New test. 1170 * testsuite/20_util/to_chars/2.cc: New test. 1171 * testsuite/20_util/to_chars/requirements.cc: New test. 1172 11732017-09-27 François Dumont <fdumont@gcc.gnu.org> 1174 1175 * testsuite/22_locale/money_get/get/char/22131.cc: Make test less 1176 istreambuf_iterator implementation dependent. 1177 * testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise. 1178 11792017-09-25 Uros Bizjak <ubizjak@gmail.com> 1180 1181 PR c/81854 1182 * src/c++98/complex_io.cc (_GLIBCXX_LDBL_COMPAT): Declare alias 1183 target as a C++ function with no prototype. 1184 11852017-09-21 Jonathan Wakely <jwakely@redhat.com> 1186 1187 * testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and 1188 expected results when using predicate defining reverse order. 1189 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. 1190 11912017-09-20 Jonathan Wakely <jwakely@redhat.com> 1192 1193 PR libstdc++/79162 1194 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1195 (basic_string::_If_sv): Remove from the overload set when the 1196 argument is derived from basic_string. 1197 1198 PR libstdc++/79162 1199 * include/bits/basic_string.h (basic_string::_If_sv): Remove from the 1200 overload set when the argument is derived from basic_string. 1201 * testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New 1202 test. 1203 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc: 1204 New test. 1205 1206 * testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do 1207 and dg-options directives. Fix invalid test. 1208 1209 PR libstdc++/81469 1210 * libsupc++/exception (uncaught_exception): Deprecate for C++17. 1211 * testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated. 1212 * testsuite/18_support/uncaught_exception/14026.cc: Likewise. 1213 1214 * include/bits/c++config (_GLIBCXX17_DEPRECATED): Define. 1215 * include/bits/functional_hash.h (__hash_base::result_type) 1216 (__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED. 1217 * include/std/optional (hash<optional<T>>::result_type) 1218 (hash<optional<T>>::argument_type): Add deprecated attribute. 1219 (__is_fast_hash<hash<optional<T>>>): Add partial specialization. 1220 * include/std/variant (hash<variant<Types...>>::result_type) 1221 (hash<variant<Types...>>::argument_type): Add deprecated attribute. 1222 (__is_fast_hash<hash<variant<Types...>>>): Add partial specialization. 1223 1224 * libsupc++/exception_ptr.h (copy_exception): Remove deprecated 1225 non-standard function. 1226 1227 PR libstdc++/82262 1228 * include/std/optional (__optional_hash_call_base): Add template 1229 parameter for remove_const_t<_Tp> and use it consistently. 1230 * testsuite/20_util/optional/hash.cc: Test optional<const T>. 1231 12322017-09-19 Jonathan Wakely <jwakely@redhat.com> 1233 1234 PR libstdc++/71500 1235 * include/bits/regex_executor.tcc 1236 (_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use 1237 std::__equal4 instead of C++14 4-iterator overloads of std::equal. 1238 * include/bits/stl_algobase.h (__equal4): New functions implementing 1239 4-iterator overloads of std::equal for use in C++11. 1240 (equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)): 1241 Move function bodies to new __equal4 functions. 1242 * testsuite/28_regex/simple_c++11.cc: New. 1243 1244 PR libstdc++/82254 1245 * include/std/type_traits (__is_invocable): Add partial specialization 1246 for INVOKE<void> case and remove is_void<R> check from partial 1247 specialization for INVOKE<R> case. 1248 (__is_nt_invocable_impl): New helper for is_nothrow_invocable_r. 1249 (is_nothrow_invocable_r): Use __is_nt_invocable_impl. 1250 * testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for 1251 conversions that can throw or fail to convert. Use static assert 1252 strings to explain negative results. 1253 * testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use 1254 is_nothrow_constructible in is_nt_invocable_conv. 1255 12562017-09-18 Jonathan Wakely <jwakely@redhat.com> 1257 1258 PR libstdc++/81468 1259 * testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and 1260 improve static assertion messages. 1261 1262 * include/std/utility (_Itup_cat, _Make_integer_sequence): Remove. 1263 (_Build_index_tuple, make_integer_sequence): Use built-in to generate 1264 pack expansion. 1265 1266 PR libstdc++/71187 1267 * include/std/type_traits (__declval): New function to deduce return 1268 type of declval. 1269 (__declval_protector::_delegate): Remove. 1270 (declval): Use __declval instead of add_rvalue_reference and 1271 __declval_protector::__delegate. 1272 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 1273 lineno. 1274 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 1275 Likewise. 1276 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1277 Likewise. 1278 12792017-09-15 Jakub Jelinek <jakub@redhat.com> 1280 1281 * testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or 1282 -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead 1283 of c++1z and c++17_only instead of c++1z_only. Adjust expected 1284 diagnostics and comments refering to 1z to 17. 1285 * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. 1286 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. 1287 * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. 1288 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. 1289 * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: 1290 Likewise. 1291 * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. 1292 * testsuite/18_support/launder/1.cc (test02): Likewise. 1293 * testsuite/18_support/launder/requirements_neg.cc: Likewise. 1294 * testsuite/18_support/launder/requirements.cc: Likewise. 1295 * testsuite/18_support/byte/requirements.cc: Likewise. 1296 * testsuite/18_support/byte/ops.cc: Likewise. 1297 * testsuite/18_support/byte/global_neg.cc: Likewise. 1298 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 1299 Likewise. 1300 * testsuite/27_io/types/4.cc: Likewise. 1301 * testsuite/25_algorithms/sample/81221.cc: Likewise. 1302 * testsuite/25_algorithms/sample/1.cc: Likewise. 1303 * testsuite/25_algorithms/sample/2.cc: Likewise. 1304 * testsuite/25_algorithms/search/searcher.cc: Likewise. 1305 * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. 1306 * testsuite/experimental/filesystem/path/construct/string_view.cc: 1307 Likewise. 1308 * testsuite/24_iterators/range_access_cpp17.cc: Likewise. 1309 * testsuite/24_iterators/container_access.cc: Likewise. 1310 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. 1311 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. 1312 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. 1313 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. 1314 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. 1315 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. 1316 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. 1317 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. 1318 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. 1319 * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. 1320 * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. 1321 * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. 1322 * testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise. 1323 * testsuite/20_util/pair/cons/deduction.cc: Likewise. 1324 * testsuite/20_util/variant/deduction.cc: Likewise. 1325 * testsuite/20_util/tuple/78939.cc: Likewise. 1326 * testsuite/20_util/tuple/cons/deduction.cc: Likewise. 1327 * testsuite/20_util/void_t/1.cc: Likewise. 1328 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. 1329 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. 1330 * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. 1331 * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. 1332 * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: 1333 Likewise. 1334 * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: 1335 Likewise. 1336 * testsuite/20_util/has_unique_object_representations/value.cc: 1337 Likewise. 1338 * testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise. 1339 * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. 1340 * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. 1341 * testsuite/20_util/function/cons/deduction.cc: Likewise. 1342 * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: 1343 Likewise. 1344 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. 1345 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 1346 Likewise. 1347 * testsuite/20_util/is_aggregate/value.cc: Likewise. 1348 * testsuite/26_numerics/lcm/1.cc: Likewise. 1349 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 1350 * testsuite/26_numerics/gcd/1.cc: Likewise. 1351 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 1352 * testsuite/26_numerics/valarray/deduction.cc: Likewise. 1353 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. 1354 * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. 1355 * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: 1356 Likewise. 1357 * testsuite/23_containers/array/cons/deduction.cc: Likewise. 1358 * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. 1359 * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: 1360 Likewise. 1361 * testsuite/23_containers/deque/cons/deduction.cc: Likewise. 1362 * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: 1363 Likewise. 1364 * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: 1365 Likewise. 1366 * testsuite/23_containers/list/cons/deduction.cc: Likewise. 1367 * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: 1368 Likewise. 1369 * testsuite/23_containers/forward_list/cons/deduction.cc: Likewise. 1370 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise. 1371 * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: 1372 Likewise. 1373 * testsuite/23_containers/vector/cons/deduction.cc: Likewise. 1374 * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: 1375 Likewise. 1376 * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. 1377 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise. 1378 * testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise. 1379 * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. 1380 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 1381 Likewise. 1382 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise. 1383 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 1384 Likewise. 1385 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 1386 Likewise. 1387 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 1388 Likewise. 1389 * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: 1390 Likewise. 1391 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: 1392 Likewise. 1393 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: 1394 Likewise. 1395 13962017-09-13 Jonathan Wakely <jwakely@redhat.com> 1397 1398 PR libstdc++/81468 1399 * include/std/chrono (__enable_if_is_duration) 1400 (__disable_if_is_duration): New alias templates to simplify SFINAE. 1401 (duration_cast, floor, ceil): Use __enable_if_is_duration. 1402 (duration::__is_float, duration::__is_harmonic): New alias templates 1403 to simplify SFINAE. 1404 (duration::duration(const _Rep2&)): Use _Require, __is_float and 1405 __is_harmonic. 1406 (duration::duration(const duration<_Rep2, _Period2>&)): Likewise. 1407 (__common_rep_type): Remove, replace with ... 1408 (__common_rep_t): New alias template. 1409 (operator*, operator/, operator%): Use __common_rep_t and 1410 __disable_if_is_duration. 1411 (time_point::time_point(const time_point<clock, _Dur2>&)): Add missing 1412 constraint from LWG DR 1177. 1413 * testsuite/20_util/duration/cons/dr1177.cc: New. 1414 * testsuite/20_util/duration/literals/range.cc: Update dg-error line. 1415 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. 1416 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. 1417 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. 1418 * testsuite/20_util/time_point/cons/81468.cc: New. 1419 1420 * doc/doxygen/mainpage.html: Fix broken URLs. 1421 1422 PR libstdc++/81835 1423 * doc/xml/manual/extensions.xml: Replace unstable URL. 1424 * doc/html/manual/ext_demangling.html: Regenerate. 1425 * libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL. 1426 1427 * include/bits/allocated_ptr.h (__allocated_ptr::get): Use 1428 __to_address. 1429 (__allocated_ptr::_S_raw_ptr): Remove. 1430 * include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use 1431 __to_address. 1432 * include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise. 1433 * include/bits/ptr_traits.h (__to_address): Define new function 1434 template. 1435 * include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address. 1436 (__shared_ptr::_S_raw_ptr): Remove. 1437 * include/bits/stl_vector.h [__cplusplus >= 201103L] 1438 (vector::_M_data_ptr): Use __to_address. 1439 [__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference 1440 possibly invalid pointers. 1441 * include/ext/alloc_traits.h (__alloc_traits::construct) 1442 (__alloc_traits::destroy): Use __to_address. 1443 14442017-09-12 Jonathan Wakely <jwakely@redhat.com> 1445 1446 PR libstdc++/79433 1447 * include/Makefile.am: Remove <bits/c++14_warning.h>. 1448 * include/Makefile.in: Regenerate. 1449 * include/bits/c++14_warning.h: Remove. 1450 * include/experimental/algorithm: Do not include <c++14_warning.h>. 1451 * include/experimental/any: Likewise. 1452 * include/experimental/array: Likewise. 1453 * include/experimental/bits/erase_if.h: Likewise. 1454 * include/experimental/bits/lfts_config.h: Likewise. 1455 * include/experimental/bits/shared_ptr.h: Likewise. 1456 * include/experimental/bits/string_view.tcc: Likewise. 1457 * include/experimental/chrono: Likewise. 1458 * include/experimental/deque: Likewise. 1459 * include/experimental/filesystem: Do not include <c++0x_warning.h>. 1460 * include/experimental/forward_list: Do not include <c++14_warning.h>. 1461 * include/experimental/functional: Likewise. 1462 * include/experimental/iterator: Likewise. 1463 * include/experimental/list: Likewise. 1464 * include/experimental/map: Likewise. 1465 * include/experimental/memory: Likewise. 1466 * include/experimental/numeric: Likewise. 1467 * include/experimental/optional: Likewise. 1468 * include/experimental/propagate_const: Likewise. 1469 * include/experimental/ratio: Likewise. 1470 * include/experimental/regex: Likewise. 1471 * include/experimental/set: Likewise. 1472 * include/experimental/string: Likewise. 1473 * include/experimental/string_view: Likewise. 1474 * include/experimental/system_error: Likewise. 1475 * include/experimental/tuple: Likewise. 1476 * include/experimental/type_traits: Likewise. 1477 * include/experimental/unordered_map: Likewise. 1478 * include/experimental/unordered_set: Likewise. 1479 * include/experimental/vector: Likewise. 1480 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error 1481 line number. 1482 * testsuite/experimental/array/neg.cc: Likewise. 1483 * testsuite/experimental/propagate_const/assignment/move_neg.cc: 1484 Likewise. 1485 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 1486 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 1487 * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 1488 * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 1489 * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 1490 1491 PR libstdc++/79433 1492 * doc/xml/manual/status_cxx2017.xml: Update feature-test macros. 1493 * doc/html/*: Regenerate. 1494 * include/Makefile.am: Remove <bits/c++17_warning.h>. 1495 * include/Makefile.in: Regenerate. 1496 * include/bits/c++17_warning.h: Remove. 1497 * include/bits/string_view.tcc: Do not include <bits/c++17_warning.h> 1498 for pre-C++17 modes. 1499 * include/std/any: Likewise. 1500 (__cpp_lib_any): Define. 1501 * include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new 1502 SD-6 draft. 1503 * include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6 1504 draft. 1505 * include/std/optional: Do not include <bits/c++17_warning.h>. 1506 (__cpp_lib_optional): Define. 1507 * include/std/shared_mutex: Do not include <bits/c++14_warning.h>. 1508 * include/std/string_view: Do not include <bits/c++17_warning.h>. 1509 (__cpp_lib_string_view): Define. 1510 * include/std/variant: Do not include <bits/c++17_warning.h>. 1511 (__cpp_lib_variant): Define. 1512 * testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line 1513 numbers. 1514 * testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm. 1515 * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line 1516 numbers. 1517 * testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm. 1518 * testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line 1519 numbers. 1520 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust 1521 expected value of __cpp_lib_scoped_lock. 1522 1523 PR libstdc++/70483 1524 * include/experimental/bits/string_view.tcc (basic_string_view::find) 1525 (basic_string_view::rfind, basic_string_view::find_first_of) 1526 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1527 (basic_string_view::find_last_not_of): Add constexpr specifier. 1528 * include/experimental/string_view (basic_string_view::remove_prefix) 1529 (basic_string_view::remove_suffix, basic_string_view::swap) 1530 (basic_string_view::compare, basic_string_view::find) 1531 (basic_string_view::rfind, basic_string_view::find_first_of) 1532 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1533 (basic_string_view::find_last_not_of, operator==, operator!=) 1534 (operator<, operator>, operator<=, operator>=): Likewise. 1535 * testsuite/experimental/string_view/operations/compare/char/70483.cc: 1536 New. 1537 15382017-09-11 Jonathan Wakely <jwakely@redhat.com> 1539 1540 PR libstdc++/70483 1541 * include/bits/string_view.tcc (basic_string_view::find) 1542 (basic_string_view::rfind, basic_string_view::find_first_of) 1543 (basic_string_view::find_last_of, basic_string_view::find_first_not_of) 1544 (basic_string_view::find_last_not_of): Add constexpr specifier. 1545 * include/std/string_view (basic_string_view::operator=) 1546 (basic_string_view::rbegin, basic_string_view::rend) 1547 (basic_string_view::crbegin, basic_string_view::crend) 1548 (basic_string_view::remove_prefix, basic_string_view::remove_suffix) 1549 (basic_string_view::swap, basic_string_view::compare) 1550 (basic_string_view::find, basic_string_view::rfind) 1551 (basic_string_view::find_first_of, basic_string_view::find_last_of) 1552 (basic_string_view::find_first_not_of) 1553 (basic_string_view::find_last_not_of, basic_string_view::_M_check) 1554 (basic_string_view::_M_limit, operator==, operator!=, operator<) 1555 (operator>, operator<=, operator>=): Likewise. 1556 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ 1557 char/1.cc: Repeat tests in constexpr context. 1558 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ 1559 wchar_t/1.cc: Likewise. 1560 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ 1561 char/1.cc: Likewise. 1562 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ 1563 wchar_t/1.cc: Likewise. 1564 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: 1565 Likewise. 1566 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: 1567 Likewise. 1568 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: 1569 Likewise. 1570 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: 1571 Likewise. 1572 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: 1573 Likewise. 1574 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: 1575 Likewise. 1576 * testsuite/21_strings/basic_string_view/operators/char/2.cc: 1577 Likewise. 1578 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: 1579 Likewise. 1580 * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test 1581 cbegin, cend, rbegin, rend, crbegin and crend. 1582 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: 1583 Likewise. 1584 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: 1585 Remove trailing whitespace. 1586 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1587 1.cc: Likewise. 1588 * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: 1589 New. 1590 * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: 1591 New. 1592 * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: 1593 New. 1594 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1595 2.cc: New. 1596 15972017-09-11 Tim Shen <timshen@google.com> 1598 1599 PR libstdc++/71500 1600 * include/bits/regex_executor.tcc: Support icase in regex_traits<...> 1601 for back reference matches. 1602 * testsuite/28_regex/regression.cc: Test case. 1603 16042017-09-11 Jonathan Wakely <jwakely@redhat.com> 1605 1606 * testsuite/21_strings/basic_string/lwg2946.cc: Adjust for 1607 compatibility with old COW std::string. 1608 16092017-09-09 Gerald Pfeifer <gerald@pfeifer.com> 1610 1611 * doc/xml/manual/allocator.xml: Adjust link for Hoard. 1612 * doc/html/manual/memory.html: Regenerate. 1613 16142017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com> 1615 1616 PR libstdc++/79162 1617 Implement LWG 2946, LWG 2758's resolution missed further corrections 1618 * include/bits/basic_string.h (basic_string::compare): Add missing 1619 required noexcept specifications. 1620 (basic_string): Introduce internal _S_to_string_view and __sv_wrapper 1621 for implicit string_view conversion. 1622 (basic_string::basic_string): Fix explicit string_view conversion by 1623 implicit conversion using _S_to_string_view and __sv_wrapper. 1624 (basic_string): Introduce internal basic_string(__sv_wrapper, Alloc) 1625 constructor. 1626 (basic_string): Fix operator=(T) template by operator=(const T&) 1627 template for uncopyable types (PR 79162). 1628 (basic_string::operator+=, basic_string::append, basic_string::assign) 1629 (basic_string::insert, basic_string::replace, basic_string::find) 1630 (basic_string::rfind, basic_string::find_first_of) 1631 (basic_string::find_last_of, basic_string::find_first_not_of) 1632 (basic_string::find_last_not_of, basic_string::compare): Replace 1633 __sv_type argument by template const T& (LWG 2946) and correct 1634 documentation describing __sv_type argument. 1635 (basic_string::find, basic_string::rfind, basic_string::find_first_of) 1636 (basic_string::find_last_of, basic_string::find_first_not_of) 1637 (basic_string::find_last_not_of, basic_string::compare): Replace 1638 unconditional noexcept specification by conditional noexcept 1639 specification to partially balance the removal of noexcept by LWG 2946. 1640 * testsuite/21_strings/basic_string/79162.cc: New. 1641 * testsuite/21_strings/basic_string/lwg2946.cc: New. 1642 16432017-08-31 Jonathan Wakely <jwakely@redhat.com> 1644 1645 PR c++/82039 1646 * include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate): 1647 Adjust null pointer constant to avoid warning. 1648 16492017-08-24 François Dumont <fdumont@gcc.gnu.org> 1650 1651 * include/bits/stl_list.h 1652 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove. 1653 (_List_impl(_Node_alloc_type&&, _List_impl&&)): New. 1654 (_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter. 1655 [!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)): 1656 Remove. 1657 (_List_base(_Node_alloc_type&&)): New. 1658 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove. 1659 [!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove. 1660 (list<>::_M_node_count): New. 1661 (list<>::size()): Adapt to call latter. 1662 (list<>::_S_distance(const_iterator, const_iterator)): New. 1663 (list<>::splice(iterator, list&, const_iterator, const_iterator)): 1664 Adapt to call latter. 1665 (list(list&&, const allocator_type&, true_type)): New. 1666 (list(list&&, const allocator_type&, false_type)): New. 1667 (list(list&&, const allocator_type&)): Adapt to call latters. 1668 16692017-08-21 Jonathan Wakely <jwakely@redhat.com> 1670 1671 PR libstdc++/81912 1672 * include/bits/stl_iterator_base_types.h (__iterator_category): Add 1673 constexpr for C++11 and later. 1674 * testsuite/24_iterators/container_access.cc: Add target selector. 1675 * testsuite/24_iterators/range_access.cc: Fix clause number in 1676 comment. 1677 * testsuite/24_iterators/range_access_cpp14.cc: Likewise. 1678 * testsuite/24_iterators/range_access_cpp17.cc: New. 1679 16802017-08-21 Richard Biener <rguenther@suse.de> 1681 1682 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all 1683 tests with -flto as well if supported. 1684 16852017-08-20 Martin Sebor <msebor@redhat.com> 1686 1687 PR c/81854 1688 * src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias 1689 target as a C++ function with no prototype. 1690 (_GLIBCXX_3_4_5_SYMVER): Ditto. 1691 16922017-08-20 John David Anglin <danglin@gcc.gnu.org> 1693 1694 PR testsuite/81056 1695 * testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__. 1696 16972017-08-18 Jonathan Wakely <jwakely@redhat.com> 1698 1699 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove 1700 __value_alloc_type and __value_alloc_traits typedefs. 1701 (_ReuseOrAllocNode::operator()): Call construct and destroy on the 1702 node allocator. 1703 (_Hashtable_alloc): Simplify __value_alloc_traits typedef. 1704 (_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call 1705 construct on the node allocator. 1706 (_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call 1707 destroy on the node allocator. 1708 1709 PR libstdc++/81891 1710 * include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator, 1711 size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, 1712 const _ExtractKey&, const allocator_type&)): Let destructor do clean 1713 up if an exception is thrown. 1714 * testsuite/23_containers/unordered_map/cons/81891.cc: New. 1715 17162017-08-11 Jonathan Wakely <jwakely@redhat.com> 1717 1718 PR libstdc++/81808 1719 * testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets 1720 that allow opening a directory as a FILE and reading from it. 1721 17222017-08-09 Jonathan Wakely <jwakely@redhat.com> 1723 1724 * include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP): 1725 Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use 1726 __is_identifier to set it. 1727 17282017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com> 1729 1730 * include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use 1731 __is_identifier instead of __has_builtin. 1732 17332017-08-09 Jonathan Wakely <jwakely@redhat.com> 1734 1735 PR libstdc++/79820 1736 PR libstdc++/81751 1737 * config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)): 1738 Call fflush on the stream instead of calling sync() while _M_cfile is 1739 null. Restore original value of errno. 1740 * testsuite/ext/stdio_filebuf/char/79820.cc: New. 1741 * testsuite/ext/stdio_filebuf/char/81751.cc: New. 1742 17432017-07-31 Marek Polacek <polacek@redhat.com> 1744 1745 PR libstdc++/81599 1746 * include/bits/stl_stack.h: Fix typo. 1747 17482017-07-26 Jonathan Wakely <jwakely@redhat.com> 1749 1750 * testsuite/27_io/basic_fstream/53984.cc: Fix test. 1751 17522017-07-26 Paolo Carlini <paolo.carlini@oracle.com> 1753 1754 * testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require 1755 directive. 1756 17572017-07-25 Jonathan Wakely <jwakely@redhat.com> 1758 1759 PR libstdc++/53984 1760 * include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment. 1761 * include/bits/istream.tcc (basic_istream::sentry): Handle exceptions 1762 during construction. 1763 * include/std/istream: Adjust comments for formatted input functions 1764 and unformatted input functions. 1765 * testsuite/27_io/basic_fstream/53984.cc: New. 1766 * testsuite/27_io/basic_istream/sentry/char/53984.cc: New. 1767 1768 * include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode) 1769 (ios_base::seek_dir): Remove for C++17. 1770 * include/std/streambuf (basic_streambuf::stossc): Remove for C++17. 1771 Add deprecated attribute for C++11 and C++14. 1772 * testsuite/27_io/types/1.cc: Don't run for C++17 and later. 1773 * testsuite/27_io/types/4.cc: New. 1774 17752017-07-23 Michael Collison <michael.collison@arm.com> 1776 1777 Add optimized implementation of mersenne twister for aarch64 1778 * config/cpu/aarch64/opt/ext/opt_random.h: New file. 1779 (__arch64_recursion): New function. 1780 (__aarch64_lsr_128): New function. 1781 (__aarch64_lsl_128): New function. 1782 (operator==): New function. 1783 (simd_fast_mersenne_twister_engine): Implement 1784 method _M_gen_rand. 1785 * config/cpu/aarch64/opt/bits/opt_random.h: New file. 1786 * include/ext/random: (simd_fast_mersenne_twister_engine): 1787 add _M_state private array. 1788 17892017-07-23 François Dumont <fdumont@gcc.gnu.org> 1790 1791 PR libstdc++/81064 1792 * include/bits/algorithmfwd.h: Reorganize versioned namespace. 1793 * include/bits/basic_string.h: Likewise. 1794 * include/bits/c++config: Likewise. 1795 * include/bits/deque.tcc: Likewise. 1796 * include/bits/forward_list.h: Likewise. 1797 * include/bits/forward_list.tcc: Likewise. 1798 * include/bits/hashtable_policy.h: Likewise. 1799 * include/bits/list.tcc: Likewise. 1800 * include/bits/move.h: Likewise. 1801 * include/bits/quoted_string.h: Likewise. 1802 * include/bits/random.h: Likewise. 1803 * include/bits/random.tcc: Likewise. 1804 * include/bits/regex.h: Likewise. 1805 * include/bits/regex.tcc: Likewise. 1806 * include/bits/regex_automaton.h: Likewise. 1807 * include/bits/regex_automaton.tcc: Likewise. 1808 * include/bits/regex_compiler.h: Likewise. 1809 * include/bits/regex_compiler.tcc: Likewise. 1810 * include/bits/regex_constants.h: Likewise. 1811 * include/bits/regex_error.h: Likewise. 1812 * include/bits/regex_executor.h: Likewise. 1813 * include/bits/regex_executor.tcc: Likewise. 1814 * include/bits/regex_scanner.h: Likewise. 1815 * include/bits/regex_scanner.tcc: Likewise. 1816 * include/bits/specfun.h: Likewise. 1817 * include/bits/stl_algo.h: Likewise. 1818 * include/bits/stl_algobase.h: Likewise. 1819 * include/bits/stl_bvector.h: Likewise. 1820 * include/bits/stl_deque.h: Likewise. 1821 * include/bits/stl_iterator.h: Likewise. 1822 * include/bits/stl_iterator_base_funcs.h: Likewise. 1823 * include/bits/stl_list.h: Likewise. 1824 * include/bits/stl_map.h: Likewise. 1825 * include/bits/stl_multimap.h: Likewise. 1826 * include/bits/stl_multiset.h: Likewise. 1827 * include/bits/stl_relops.h: Likewise. 1828 * include/bits/stl_set.h: Likewise. 1829 * include/bits/stl_vector.h: Likewise. 1830 * include/bits/uniform_int_dist.h: Likewise. 1831 * include/bits/unordered_map.h: Likewise. 1832 * include/bits/unordered_set.h: Likewise. 1833 * include/bits/vector.tcc: Likewise. 1834 * include/c_global/cmath: Likewise. 1835 * include/c_std/cmath: Likewise. 1836 * include/decimal/decimal: Likewise. 1837 * include/decimal/decimal.h: Likewise. 1838 * include/experimental/algorithm: Likewise. 1839 * include/experimental/any: Likewise. 1840 * include/experimental/array: Likewise. 1841 * include/experimental/bits/erase_if.h: Likewise. 1842 * include/experimental/bits/fs_dir.h: Likewise. 1843 * include/experimental/bits/fs_fwd.h: Likewise. 1844 * include/experimental/bits/fs_ops.h: Likewise. 1845 * include/experimental/bits/fs_path.h: Likewise. 1846 * include/experimental/bits/lfts_config.h: Likewise. 1847 * include/experimental/bits/shared_ptr.h: Likewise. 1848 * include/experimental/bits/string_view.tcc: Likewise. 1849 * include/experimental/chrono: Likewise. 1850 * include/experimental/deque: Likewise. 1851 * include/experimental/filesystem: Likewise. 1852 * include/experimental/forward_list: Likewise. 1853 * include/experimental/functional: Likewise. 1854 * include/experimental/iterator: Likewise. 1855 * include/experimental/list: Likewise. 1856 * include/experimental/map: Likewise. 1857 * include/experimental/memory: Likewise. 1858 * include/experimental/memory_resource: Likewise. 1859 * include/experimental/numeric: Likewise. 1860 * include/experimental/optional: Likewise. 1861 * include/experimental/propagate_const: Likewise. 1862 * include/experimental/random: Likewise. 1863 * include/experimental/ratio: Likewise. 1864 * include/experimental/regex: Likewise. 1865 * include/experimental/set: Likewise. 1866 * include/experimental/source_location: Likewise. 1867 * include/experimental/string: Likewise. 1868 * include/experimental/string_view: Likewise. 1869 * include/experimental/system_error: Likewise. 1870 * include/experimental/tuple: Likewise. 1871 * include/experimental/type_traits: Likewise. 1872 * include/experimental/unordered_map: Likewise. 1873 * include/experimental/unordered_set: Likewise. 1874 * include/experimental/utility: Likewise. 1875 * include/experimental/vector: Likewise. 1876 * include/ext/bitmap_allocator.h: Likewise. 1877 * include/ext/codecvt_specializations.h: Likewise. 1878 * include/ext/rope: Likewise. 1879 * include/ext/typelist.h: Likewise. 1880 * include/std/chrono: Likewise. 1881 * include/std/complex: Likewise. 1882 * include/std/functional: Likewise. 1883 * include/std/numeric: Likewise. 1884 * include/std/string_view: Likewise. 1885 * include/std/thread: Likewise. 1886 * include/std/variant: Likewise. 1887 * include/tr1/array: Likewise. 1888 * include/tr1/bessel_function.tcc: Likewise. 1889 * include/tr1/beta_function.tcc: Likewise. 1890 * include/tr1/cmath: Likewise. 1891 * include/tr1/complex: Likewise. 1892 * include/tr1/ell_integral.tcc: Likewise. 1893 * include/tr1/exp_integral.tcc: Likewise. 1894 * include/tr1/functional: Likewise. 1895 * include/tr1/functional_hash.h: Likewise. 1896 * include/tr1/gamma.tcc: Likewise. 1897 * include/tr1/hashtable.h: Likewise. 1898 * include/tr1/hashtable_policy.h: Likewise. 1899 * include/tr1/hypergeometric.tcc: Likewise. 1900 * include/tr1/legendre_function.tcc: Likewise. 1901 * include/tr1/modified_bessel_func.tcc: Likewise. 1902 * include/tr1/poly_hermite.tcc: Likewise. 1903 * include/tr1/poly_laguerre.tcc: Likewise. 1904 * include/tr1/random.h: Likewise. 1905 * include/tr1/random.tcc: Likewise. 1906 * include/tr1/regex: Likewise. 1907 * include/tr1/riemann_zeta.tcc: Likewise. 1908 * include/tr1/shared_ptr.h: Likewise. 1909 * include/tr1/special_function_util.h: Likewise. 1910 * include/tr1/tuple: Likewise. 1911 * include/tr1/type_traits: Likewise. 1912 * include/tr1/unordered_map.h: Likewise. 1913 * include/tr1/unordered_set.h: Likewise. 1914 * include/tr1/utility: Likewise. 1915 * include/tr2/bool_set: Likewise. 1916 * include/tr2/bool_set.tcc: Likewise. 1917 * include/tr2/dynamic_bitset: Likewise. 1918 * include/tr2/dynamic_bitset.tcc: Likewise. 1919 * include/tr2/ratio: Likewise. 1920 * include/tr2/type_traits: Likewise. 1921 * src/c++11/chrono.cc: Likewise. 1922 * src/c++11/compatibility-c++0x.cc: Likewise. 1923 * src/c++11/compatibility-chrono.cc: Likewise. 1924 * src/c++11/cxx11-shim_facets.cc: Likewise. 1925 * src/c++11/hashtable_c++0x.cc: Likewise. 1926 * src/c++11/placeholders.cc: Likewise. 1927 * src/c++11/thread.cc: Likewise. 1928 * src/c++98/bitmap_allocator.cc: Likewise. 1929 * src/c++98/hashtable_tr1.cc: Likewise. 1930 * src/c++98/list.cc: Likewise. 1931 * src/shared/hashtable-aux.cc: Likewise. 1932 * testsuite/20_util/duration/literals/range.cc: Adapt line number. 1933 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. 1934 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. 1935 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. 1936 * testsuite/20_util/forward/c_neg.cc: Likewise. 1937 * testsuite/20_util/forward/f_neg.cc: Likewise. 1938 * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. 1939 * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. 1940 * testsuite/26_numerics/random/pr60037-neg.cc: Likewise. 1941 * python/libstdcxx/v6/printers.py: Adapt. 1942 19432017-07-20 Jonathan Wakely <jwakely@redhat.com> 1944 1945 * config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__] 1946 (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. 1947 * config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__] 1948 (_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define. 1949 * doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro. 1950 * include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR] 1951 (_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit) 1952 (_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT) 1953 (_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW) 1954 (_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC): 1955 Define annotation helper types and macros. 1956 (vector::~vector, vector::push_back, vector::pop_back) 1957 (vector::_M_erase_at_end): Add annotations. 1958 * include/bits/vector.tcc (vector::reserve, vector::emplace_back) 1959 (vector::insert, vector::_M_erase, vector::operator=) 1960 (vector::_M_fill_assign, vector::_M_assign_aux) 1961 (vector::_M_insert_rval, vector::_M_emplace_aux) 1962 (vector::_M_insert_aux, vector::_M_realloc_insert) 1963 (vector::_M_fill_insert, vector::_M_default_append) 1964 (vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate. 1965 19662017-07-19 Jonathan Wakely <jwakely@redhat.com> 1967 1968 PR libstdc++/81476 1969 * include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>): 1970 Only insert elements one-by-one when inserting at the end. 1971 * testsuite/performance/23_containers/insert/81476.cc: New. 1972 19732017-07-19 Volker Reichelt <v.reichelt@netcologne.de> 1974 1975 * libsupc++/new (bad_array_new_length): Remove redundant 1976 semicolon after in-class member function definition. 1977 * include/bits/locale_facets.h (ctype_byname, num_put): Likewise. 1978 * include/bits/locale_facets_nonio.h (time_put_byname): Likewise. 1979 * include/bits/random.h (mersenne_twister_engine): Likewise. 1980 * include/tr1/random.h (mersenne_twister): Likewise 1981 * include/ext/random (simd_fast_mersenne_twister_engine): Likewise. 1982 * include/ext/rope (char_producer, _Rope_char_consumer, 1983 _Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator): 1984 Likewise. 1985 * include/ext/ropeimpl.h (_Rope_flatten_char_consumer, 1986 _Rope_insert_char_consumer): Likewise. 1987 19882017-07-19 Jonathan Wakely <jwakely@redhat.com> 1989 1990 * include/bits/fstream.tcc (basic_filebuf::xsgetn) 1991 (basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation. 1992 1993 * testsuite/util/testsuite_iterators.h: Fix indentation. 1994 1995 * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require. 1996 19972017-07-18 Jonathan Wakely <jwakely@redhat.com> 1998 1999 PR libstdc++/81395 2000 * include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer 2001 pointers for write mode after reading. 2002 * testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New. 2003 20042017-07-18 François Dumont <fdumont@gcc.gnu.org> 2005 2006 * include/bits/stl_list.h 2007 (struct _List_node_header): New. 2008 (_List_impl()): Fix noexcept qualification. 2009 (_List_impl(_List_impl&&)): New, default. 2010 (_List_base()): Default. 2011 (_List_base(_List_base&&)): Default. 2012 (_List_base::_M_move_nodes): Adapt to use 2013 _List_node_header._M_move_nodes. 2014 (_List_base::_M_init): Likewise. 2015 (list<>()): Default. 2016 (list<>(list&&)): Default. 2017 (list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes. 2018 (__distance(_List_const_iterator<>, _List_const_iterator<>, 2019 input_iterator_tag)): Adapt. 2020 * testsuite/23_containers/list/allocator/default_init.cc: New. 2021 20222017-07-15 Jonathan Wakely <jwakely@redhat.com> 2023 2024 * include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter 2025 as per P0739R0. 2026 * testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments. 2027 * testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction 2028 with std::adopt_lock_t. 2029 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check 2030 feature-test macro. 2031 20322017-07-14 Jason Merrill <jason@redhat.com> 2033 Jonathan Wakely <jwakely@redhat.com> 2034 2035 * include/std/variant (variant::variant(_Tp&&)): Constrain to remove 2036 the constructor for empty variants from the candidate functions 2037 during class template argument deduction. 2038 * testsuite/20_util/variant/deduction.cc: New. 2039 20402017-07-11 Jonathan Wakely <jwakely@redhat.com> 2041 2042 * doc/xml/faq.xml: Update several old entries. Improve 2043 cross-references. 2044 * doc/xml/manual/intro.xml: Add anchors to each DR. 2045 * doc/html/*: Regenerate. 2046 20472017-07-10 Jonathan Wakely <jwakely@redhat.com> 2048 2049 * testsuite/abi/pr42230.cc: Add header for std::free. 2050 2051 PR libstdc++/81381 2052 * include/bits/sstream.tcc (basic_stringbuf::overflow) 2053 (basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode)) 2054 (basic_stringbuf::str()): Construct new strings with an allocator. 2055 * testsuite/27_io/basic_stringbuf/cons/81381.cc: New. 2056 2057 PR libstdc++/81338 2058 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 2059 Declare basic_stringbuf to be a friend. 2060 * include/bits/sstream.tcc (basic_stringbuf::overflow) 2061 [_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating. 2062 * include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string 2063 length to buffer length. 2064 * testsuite/27_io/basic_stringstream/assign/81338.cc: New. 2065 20662017-07-06 Jonathan Wakely <jwakely@redhat.com> 2067 2068 * testsuite/20_util/specialized_algorithms/memory_management_tools/ 2069 1.cc: Free memory. 2070 * testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration 2071 of original environment and free memory. 2072 2073 * testsuite/abi/pr42230.cc: Free memory. 2074 * testsuite/util/testsuite_abi.cc (demangle): Return std::string 2075 instead of pointer that might need freeing. 2076 * testsuite/util/testsuite_abi.h (demangle): Likewise. 2077 * testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory. 2078 2079 * include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add 2080 deleted overload to prevent dangling references to rvalues. 2081 * include/experimental/memory_resource 2082 (polymorphic_allocator::construct): Do not call __use_alloc with 2083 rvalue arguments. 2084 20852017-06-27 Tim Shen <timshen@google.com> 2086 2087 PR libstdc++/80187 2088 * include/std/variant (variant::variant, variant::~variant, 2089 variant::operator=): Implement triviality forwarding for four 2090 special member functions. 2091 * testsuite/20_util/variant/compile.cc: Tests. 2092 20932017-06-27 Jonathan Wakely <jwakely@redhat.com> 2094 2095 PR libstdc++/81221 2096 * testsuite/25_algorithms/sample/81221.cc: Disable except for 2097 check-parallel. 2098 2099 PR libstdc++/81221 2100 * include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not 2101 std. 2102 * testsuite/25_algorithms/sample/81221.cc: New. 2103 21042017-06-22 Jonathan Wakely <jwakely@redhat.com> 2105 2106 PR libstdc++/81173 2107 * include/bits/stl_bvector.h (vector<bool>::_M_initialize_value): 2108 Do not pass null pointer to memset. 2109 21102017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com> 2111 2112 PR libstdc++/80675 2113 PR libstdc++/80940 2114 * include/std/istream: 2115 (__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New. 2116 (__do_is_convertible_to_basic_istream_impl): Likewise. 2117 (__is_convertible_to_basic_istream_impl): Likewise. 2118 (__is_convertible_to_basic_istream): Use the new base. 2119 (__rvalue_istream_type): New. 2120 (operator>>(_Istream&&, _Tp&&)): Use the new helper alias 2121 for the SFINAE check, convert to the helper alias type before 2122 doing the actual extraction. 2123 * include/std/ostream: 2124 (__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New. 2125 (__do_is_convertible_to_basic_ostream_impl): Likewise. 2126 (__is_convertible_to_basic_ostream_impl): Likewise. 2127 (__is_convertible_to_basic_ostream): Use the new base. 2128 (__rvalue_ostream_type): New. 2129 (operator<<(_Ostream&&, const _Tp&)): Use the new helper alias 2130 for the SFINAE check, convert to the helper alias type before 2131 doing the actual insertion. 2132 * testsuite/27_io/rvalue_streams-2.cc: Add new tests. 2133 21342017-06-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2135 2136 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 2137 21382017-06-21 Jonathan Wakely <jwakely@redhat.com> 2139 2140 PR libstdc++/81092 2141 * configure: Regenerate. 2142 21432017-06-20 Uros Bizjak <ubizjak@gmail.com> 2144 2145 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 2146 21472017-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2148 2149 * testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and 2150 lp64 targets. 2151 21522017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2153 2154 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate. 2155 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise. 2156 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise. 2157 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise. 2158 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise. 2159 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: 2160 Likewise. 2161 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise. 2162 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: 2163 Likewise. 2164 21652017-06-18 H.J. Lu <hongjiu.lu@intel.com> 2166 2167 PR libstdc++/81092 2168 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 2169 21702017-06-18 Andreas Schwab <schwab@linux-m68k.org> 2171 2172 PR libstdc++/81092 2173 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 2174 21752017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2176 2177 * testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if 2178 default args. 2179 21802017-06-17 Jonathan Wakely <jwakely@redhat.com> 2181 2182 PR libstdc++/80893 2183 * testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }. 2184 21852017-06-16 Jonathan Wakely <jwakely@redhat.com> 2186 2187 * include/bits/shared_ptr.h (get_deleter): Add overload matching 2188 standard signature. 2189 * include/bits/shared_ptr_base.h (__shared_ptr): Declare new 2190 get_deleter overload as a friend. 2191 * testsuite/20_util/shared_ptr/misc/get_deleter.cc: New. 2192 21932017-06-16 Jakub Jelinek <jakub@redhat.com> 2194 2195 PR libstdc++/81092 2196 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 2197 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 2198 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 2199 22002017-06-16 Jonathan Wakely <jwakely@redhat.com> 2201 2202 * include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition. 2203 * testsuite/22_locale/conversions/buffer/2.cc: New. 2204 2205 PR libstdc++/81092 2206 * acinclude.m4: Bump libtool_VERSION. 2207 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 2208 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 2209 * config/abi/pre/gnu.ver: Add wstring constructor symbols to 2210 GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol 2211 to new GLIBCXX_3.4.25 version. 2212 * doc/xml/manual/abi.xml: Document new versions. 2213 * doc/html/*: Regenerate. 2214 * testsuite/21_strings/basic_string/cons/char/8.cc: Use base object 2215 constructors to ensure required symbols are exported. 2216 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise. 2217 * testsuite/util/testsuite_abi.cc: Add new version. 2218 2219 * include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing 2220 return statement. 2221 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc: 2222 Return void. 2223 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc: 2224 Likewise. 2225 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add 2226 missing return statements. 2227 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 2228 Likewise. 2229 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc: 2230 Return void. 2231 * testsuite/special_functions/14_expint/pr68397.cc: Likewise. 2232 22332017-06-16 François Dumont <fdumont@gcc.gnu.org> 2234 2235 * include/bits/stl_bvector.h 2236 (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): 2237 Change signature. 2238 (std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt. 2239 (_Bvector_impl_data): New. 2240 (_Bvector_impl): Inherits from latter. 2241 (_Bvector_impl(_Bit_alloc_type&&)): Delete. 2242 (_Bvector_impl(_Bvector_impl&&)): New, default. 2243 (_Bvector_base()): Default. 2244 (_Bvector_base(_Bvector_base&&)): Default. 2245 (_Bvector_base::_M_move_data(_Bvector_base&&)): New. 2246 (vector(vector&&, const allocator_type&)): Use latter. 2247 (vector<bool>::operator=(vector&&)): Likewise. 2248 (vector<bool>::vector()): Default. 2249 (vector<bool>::vector(vector&&)): Default. 2250 (vector<bool>::assign(_InputIterator, _InputIterator)): Use 2251 _M_assign_aux. 2252 (vector<bool>::assign(initializer_list<bool>)): Likewise. 2253 (vector<bool>::_M_initialize_value(bool)): New. 2254 (vector<bool>(size_type, const bool&, const allocator_type&)): Use 2255 latter. 2256 (vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)): 2257 Likewise. 2258 (vector<bool>::_M_fill_assign(size_t, bool)): Likewise. 2259 22602017-06-15 François Dumont <fdumont@gcc.gnu.org> 2261 2262 * src/c++98/tree.cc [!_GLIBCXX_INLINE_VERSION] 2263 (_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete. 2264 22652017-06-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2266 2267 * testsuite: Add dg-require-effective-target pthread to -pthread 2268 tests. 2269 Remove explicit target lists from dg-do and dg-options. 2270 2271 * testsuite/30_threads/async/forced_unwind.cc: Remove explit 2272 target list from dg-options. 2273 * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. 2274 2275 * 30_threads/shared_mutex/cons/1.cc: Likewise. 2276 Pass -pthread for all targets. 2277 * 30_threads/shared_mutex/try_lock/1.cc: Likewise. 2278 * 30_threads/shared_mutex/try_lock/2.cc: Likewise. 2279 * 30_threads/shared_mutex/unlock/1.cc: Likewise. 2280 2281 * testsuite/30_threads/this_thread/57060.cc: Require c++11 via 2282 dg-require-effective-target. 2283 22842017-06-14 Jonathan Wakely <jwakely@redhat.com> 2285 2286 * doc/xml/manual/test.xml: Correct instructions on running tests. 2287 * testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to 2288 pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS. 2289 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: 2290 Likewise. 2291 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise. 2292 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 2293 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 2294 exceptions_failbit.cc: Likewise. 2295 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 2296 exceptions_failbit.cc: Likewise. 2297 * testsuite/27_io/basic_istream/extractors_other/char/ 2298 exceptions_null.cc: Likewise. 2299 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 2300 exceptions_null.cc: Likewise. 2301 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 2302 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 2303 * testsuite/27_io/basic_ostream/inserters_other/char/ 2304 exceptions_null.cc: Likewise. 2305 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 2306 exceptions_null.cc: Likewise. 2307 * testsuite/27_io/ios_base/storage/2.cc: Likewise. 2308 23092017-06-12 Pedro Alves <palves@redhat.com> 2310 2311 * doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr 2312 char_traits status. 2313 * doc/html/*: Regenerate. 2314 2315 * include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if 2316 not already defined. 2317 (__cpp_lib_constexpr_char_traits): Uncomment. 2318 (__constant_string_p, __constant_char_array_p): New. 2319 (std::char_traits<char>, std::char_traits<wchar_t>): Add 2320 _GLIBCXX17_CONSTEXPR on compare, length and find and use 2321 __constant_string_p, __constant_char_array_p and 2322 __builtin_constant_p to defer to __gnu_cxx::char_traits at compile 2323 time. 2324 2325 * testsuite/21_strings/char_traits/requirements/ 2326 constexpr_functions_c++17.cc: Uncomment 2327 __cpp_lib_constexpr_char_traits tests. Uncomment 2328 test_compare<char>, test_length<char>, test_find<char>, 2329 test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t> 2330 static_assert tests. 2331 23322017-06-12 François Dumont <fdumont@gcc.gnu.org> 2333 2334 * include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator 2335 default init. 2336 * testsuite/util/testsuite_allocator.h 2337 (__gnu_test::default_init_allocator<>) New. 2338 * testsuite/23_containers/set/allocator/default_init.cc: New. 2339 * testsuite/23_containers/map/allocator/default_init.cc: New. 2340 23412017-06-12 Jonathan Wakely <jwakely@redhat.com> 2342 2343 PR libstdc++/55917 2344 * src/c++11/thread.cc (execute_native_thread_routine): Remove 2345 try-block so that exceptions propagate out of the thread and terminate 2346 is called by the exception-handling runtime. 2347 (execute_native_thread_routine_compat): Likewise. 2348 * testsuite/30_threads/thread/cons/terminate.cc: New. 2349 23502017-06-09 Jonathan Wakely <jwakely@redhat.com> 2351 2352 * doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes. 2353 * include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters 2354 (LWG 2802). 2355 * include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter 2356 (_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise. 2357 * testsuite/20_util/shared_ptr/cons/lwg2802.cc: New. 2358 2359 * include/bits/forward_list.h (forward_list): Add deduction guide. 2360 * include/bits/stl_deque.h (deque): Likewise. 2361 * include/bits/stl_list.h (list): Likewise. 2362 * include/bits/stl_vector.h (vector): Likewise. 2363 * testsuite/23_containers/deque/cons/deduction.cc: New. 2364 * testsuite/23_containers/forward_list/cons/deduction.cc: New. 2365 * testsuite/23_containers/list/cons/deduction.cc: New. 2366 * testsuite/23_containers/vector/cons/deduction.cc: New. 2367 23682017-06-08 Jonathan Wakely <jwakely@redhat.com> 2369 2370 PR libstdc++/81017 2371 * include/bits/std_function.h (function::function(function&&)) 2372 (function::operator=(funtion&&)): Add noexcept. 2373 * testsuite/20_util/function/assign/move.cc: Check for noexcept. 2374 * testsuite/20_util/function/cons/move.cc: Likewise. 2375 23762017-06-07 Jonathan Wakely <jwakely@redhat.com> 2377 2378 * include/bits/regex.h (basic_regex): Add deduction guide from P0433. 2379 * testsuite/28_regex/basic_regex/ctors/deduction.cc: New. 2380 2381 PR libstdc++/81002 2382 * include/bits/regex.h (basic_regex): Adjust call to __compile_nfa 2383 so iterator type is deduced. 2384 * include/bits/regex_compiler.h (__compile_nfa): Reorder template 2385 parameters to allow iterator type to be deduced. 2386 * testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New. 2387 2388 * include/bits/alloc_traits.h (__is_allocator, _RequireAllocator): 2389 New trait and alias for detecting Allocator-like types. 2390 * include/bits/basic_string.h (basic_string): Add deduction guide 2391 from P0433. 2392 * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template 2393 parameter with default template argument that causes substitution 2394 failures for types that cannot be allocators. 2395 * testsuite/21_strings/basic_string/cons/char/deduction.cc: New. 2396 * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New. 2397 23982017-06-02 Jonathan Wakely <jwakely@redhat.com> 2399 2400 PR libstdc++/80939 2401 * include/std/variant (__erased_ctor, __erased_assign, __erased_swap) 2402 (__erased_hash): Remove constexpr specifier and qualify calls to 2403 __ref_cast. 2404 (__erased_dtor): Remove constexpr specifier and use _Destroy. 2405 24062017-06-05 Jonathan Wakely <jwakely@redhat.com> 2407 2408 * include/bits/stl_iterator_base_funcs.h 2409 (__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev 2410 cases where incrementing or decrementing a single step. 2411 2412 * include/bits/shared_ptr_base.h (__shared_ptr::owner_before) 2413 (__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept 2414 specifiers as per LWG 2873 and LWG 2942. 2415 * testsuite/20_util/owner_less/noexcept.cc: New. 2416 * testsuite/20_util/shared_ptr/observers/owner_before.cc: Test 2417 noexcept guarantees. 2418 * testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise. 2419 24202017-06-03 Andreas Schwab <schwab@linux-m68k.org> 2421 2422 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update. 2423 24242017-06-03 Eric Botcazou <ebotcazou@adacore.com> 2425 2426 * src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange. 2427 24282017-06-02 Jonathan Wakely <jwakely@redhat.com> 2429 2430 PR libstdc++/80624 2431 * doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour. 2432 * include/bits/char_traits.h (char_traits<char16_t>::to_int_type): 2433 Transform eof value to U+FFFD. 2434 * testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New. 2435 * testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New. 2436 * testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New. 2437 2438 * libsupc++/Makefile.am: Remove custom targets for files that need to 2439 be compiled as C++11 or C++14. 2440 * libsupc++/Makefile.in: Regenerate. 2441 * libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation 2442 warnings. 2443 * libsupc++/del_opvs.cc: Likewise. 2444 24452017-06-02 Richard Biener <rguenther@suse.de> 2446 Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at> 2447 2448 PR libstdc++/80721 2449 * libsupc++/eh_alloc.cc (pool::free): Keep list properly 2450 sorted and add missing freelist item merging cases. 2451 24522017-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2453 2454 (GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc. 2455 Remove *-solaris* section. 2456 * configure: Regenerate. 2457 24582017-05-31 Jonathan Wakely <jwakely@redhat.com> 2459 2460 PR libstdc++/80893 2461 * include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid 2462 null pointer dereference when size is zero. 2463 * testsuite/23_containers/vector/bool/80893.cc: New. 2464 * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): 2465 Add non-explicit constructor from nullptr. 2466 (PointerBase::derived() const): Add const-qualified overload. 2467 24682017-05-20 Tim Shen <timshen@google.com> 2469 2470 PR libstdc++/80737 2471 * include/std/variant(variant::variant): SFINAE on is_same first. 2472 * testsuite/20_util/variant/any.cc: test case. 2473 24742017-05-24 Jonathan Wakely <jwakely@redhat.com> 2475 2476 * src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__ 2477 instead of fixed number of bits. 2478 24792017-05-24 Andreas Schwab <schwab@suse.de> 2480 2481 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 2482 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise. 2483 24842017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 2485 Jonathan Wakely <jwakely@redhat.com> 2486 2487 PR libstdc++/67578 2488 * acinclude.m4: Bump libtool_VERSION. 2489 * config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol. 2490 * config.h.in: Regenerate. 2491 * configure: Regenerate. 2492 * configure.ac: Add test for <linux/random.h>. 2493 * doc/xml/manual/abi.xml: Document new library version. 2494 * include/bits/random.h (random_device::entropy) 2495 [_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member. 2496 (random_device::_M_getentropy): Declare. 2497 * src/c++11/random.cc (random_device::_M_getentropy): Define. 2498 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known 2499 versions, and make it the latest version. 2500 25012017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 2502 2503 PR libstdc++/67214 2504 * include/bits/locale_facets.tcc (num_get::_M_extract_int): Add 2505 explicit conversion to avoid signed overflow. 2506 25072017-05-19 Jonathan Wakely <jwakely@redhat.com> 2508 2509 PR libstdc++/80796 2510 * include/bits/stl_algo.h (search): Add new overload for C++17. 2511 * testsuite/25_algorithms/search/searcher.cc: New. 2512 25132017-05-18 Jonathan Wakely <jwakely@redhat.com> 2514 2515 PR libstdc++/80478 2516 * include/std/functional (_Mem_fn_traits_base): Add specializations 2517 for noexcept member function types. 2518 * testsuite/20_util/function_objects/mem_fn/80478.cc: New test. 2519 25202017-05-18 Jonathan Wakely <jwakely@redhat.com> 2521 2522 * doc/xml/manual/policy_data_structures.xml: Fix typo. 2523 * doc/xml/manual/test_policy_data_structures.xml: Likewise. 2524 * doc/html/*: Regenerate. 2525 2526 * doc/xml/manual/abi.xml: Document latest library versions. 2527 * doc/xml/manual/build_hacking.xml: Document requirement to update 2528 abi.xml when bumping library versions. 2529 * doc/html/*: Regenerate. 2530 25312017-05-17 Jonathan Wakely <jwakely@redhat.com> 2532 2533 * include/bits/refwrap.h: Fix Doxygen warning. 2534 * include/bits/specfun.h: Likewise. 2535 * include/bits/std_function.h: Likewise. 2536 * include/bits/stl_algo.h (set_union, set_intersection) 2537 (set_difference, set_symmetric_difference): Add Doxygen @param tags 2538 for output iterator parameters. 2539 * include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for 2540 iterator parameter. 2541 * include/std/mutex (try_lock, lock): Change Mutex to Lockable in 2542 Doxygen comments. 2543 25442017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com> 2545 2546 Implement new C++ intrinsics __is_assignable and __is_constructible. 2547 * include/std/type_traits (__do_is_static_castable_impl): Remove. 2548 (__is_static_castable_impl, __is_static_castable_safe): Likewise. 2549 (__is_static_castable, __do_is_direct_constructible_impl): Likewise. 2550 (__is_direct_constructible_impl): Likewise. 2551 (__is_direct_constructible_new_safe): Likewise. 2552 (__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise. 2553 (__is_direct_constructible_ref_cast): Likewise. 2554 (__is_direct_constructible_new, __is_direct_constructible): Likewise. 2555 (__do_is_nary_constructible_impl): Likewise. 2556 (__is_nary_constructible_impl, __is_nary_constructible): Likewise. 2557 (__is_constructible_impl): Likewise. 2558 (is_constructible): Call the intrinsic. 2559 (__is_assignable_helper): Remove. 2560 (is_assignable): Call the intrinsic. 2561 (is_trivially_constructible): Likewise. 2562 (__is_trivially_copy_constructible_impl): New. 2563 (is_trivially_copy_constructible): Use it. 2564 (__is_trivially_move_constructible_impl): New. 2565 (is_trivially_move_constructible): Use it. 2566 (is_trivially_assignable): Call the intrinsic. 2567 (__is_trivially_copy_assignable_impl): New. 2568 (is_trivially_copy_assignable): Use it. 2569 (__is_trivially_move_assignable_impl): New. 2570 (is_trivially_move_assignable): Use it. 2571 (testsuite/20_util/declval/requirements/1_neg.cc): Adjust. 2572 (testsuite/20_util/is_trivially_copy_assignable/value.cc): 2573 Add test for void. 2574 (testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise. 2575 (testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise. 2576 (testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise. 2577 (testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust. 2578 (testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc): 2579 Likewise. 2580 25812017-05-16 Jonathan Wakely <jwakely@redhat.com> 2582 2583 * testsuite/experimental/source_location/1.cc: Change expected result 2584 for source_location::current() used in default member initializer. 2585 2586 * doc/xml/manual/status_cxx2017.xml: Update status table. 2587 * doc/html/*: Regenerate. 2588 * include/Makefile.am: Add new header. 2589 * include/Makefile.in: Regenerate. 2590 * include/experimental/source_location: New header implementing N4519. 2591 * testsuite/experimental/source_location/1.cc: New test. 2592 2593 PR libstdc++/80285 2594 * include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare 2595 outside versioned namespace. 2596 2597 * configure: Regenerate. 2598 25992017-05-16 Marc Glisse <marc.glisse@inria.fr> 2600 2601 * include/std/optional (_Optional_base::_M_get): Check precondition. 2602 * testsuite/20_util/optional/cons/value_neg.cc: Update line numbers. 2603 26042017-05-16 Jonathan Wakely <jwakely@redhat.com> 2605 2606 * doc/xml/manual/appendix_contributing.xml: Link to test docs and 2607 note higher DejaGnu version requirement. 2608 * doc/html/*: Regenerate. 2609 2610 * doc/xml/manual/appendix_contributing.xml: Link to the list of bad 2611 identifiers. 2612 * doc/html/*: Regenerate. 2613 26142017-05-15 Jonathan Wakely <jwakely@redhat.com> 2615 2616 PR libstdc++/80761 2617 * include/bits/node_handle.h (_Node_insert_return): Reorder members. 2618 (tuple_size, tuple_element): Remove partial specializations. 2619 * include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use 2620 const_iterator for std::set. 2621 * testsuite/23_containers/map/modifiers/extract.cc: New. 2622 * testsuite/23_containers/set/modifiers/extract.cc: New. 2623 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New. 2624 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New. 2625 26262017-05-12 Jonathan Wakely <jwakely@redhat.com> 2627 2628 PR libstdc++/78939 2629 * include/std/utility (tuple_size<cv T>): Only define partial 2630 specializations when tuple_size<T>::value is valid. 2631 * testsuite/20_util/tuple/78939.cc: New. 2632 * testsuite/20_util/tuple/cv_tuple_size_neg.cc: New. 2633 26342017-05-11 François Dumont <fdumont@gcc.gnu.org> 2635 2636 * include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION] 2637 (_Rb_tree_impl<>): Remove _Is_pod_comparator 2638 template parameter. 2639 2640 * include/debug/formatter.h [_GLIBCXX_INLINE_VERSION] 2641 (__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove. 2642 (__gnu_debug::_Error_formatter::_Parameter::_M_print_description): 2643 Remove. 2644 (__gnu_debug::_Error_formatter::_M_format_word): Remove. 2645 (__gnu_debug::_Error_formatter::_M_print_word): Remove. 2646 (__gnu_debug::_Error_formatter::_M_print_string): Remove. 2647 (__gnu_debug::_Error_formatter::_M_get_max_length): Remove. 2648 * src/c++11/debug.cc: Adapt. 2649 * config/abi/pre/gnu-versioned-namespace.ver: Adapt. 2650 26512017-05-11 Jonathan Wakely <jwakely@redhat.com> 2652 2653 * doc/xml/manual/allocator.xml: Fix ViewCVS URLs. 2654 * doc/xml/manual/mt_allocator.xml: Likewise. 2655 * doc/html/*: Regenerate. 2656 2657 PR libstdc++/80285 2658 * include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define 2659 function to get unique fake std::type_info reference. 2660 (_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to 2661 _S_ti() fake reference. 2662 (__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share 2663 single implementation with or without RTTI enable. 2664 [!__cpp_rtti]: Pass fake reference to _M_get_deleter. 2665 * testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected 2666 allocation and deallocation counts. 2667 * testsuite/20_util/shared_ptr/creation/single_allocation.cc: New. 2668 * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc: 2669 New. 2670 26712017-05-10 François Dumont <fdumont@gcc.gnu.org> 2672 2673 Bump version namespace. 2674 * config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace 2675 from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0. 2676 * acinclude.m4 (libtool_VERSION): Bump to 8:0:0. 2677 * include/bits/c++config: Adapt. 2678 * include/bits/regex.h: Adapt. 2679 * include/experimental/bits/fs_fwd.h: Adapt. 2680 * include/experimental/bits/lfts_config.h: Adapt. 2681 * include/std/variant: Adapt. 2682 * python/libstdcxx/v6/printers.py: Adapt. 2683 * testsuite/libstdc++-prettyprinters/48362.cc: Adapt. 2684 2685 * include/bits/stl_algobase.h (std::__iter_swap<false>): Remove 2686 _GLIBCXX_MOVE usage. 2687 26882017-05-09 Jason Merrill <jason@redhat.com> 2689 2690 * testsuite/24_iterators/container_access.cc (test03): Make il3 static. 2691 26922017-05-08 Jonathan Wakely <jwakely@redhat.com> 2693 2694 * include/std/optional: Use a separate static_assert per condition. 2695 * testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line 2696 numbers. 2697 2698 * doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour. 2699 * doc/html/*: Regenerate. 2700 27012017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr> 2702 2703 PR libstdc++/69506 2704 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define. 2705 27062017-04-29 François Dumont <fdumont@gcc.gnu.org> 2707 2708 * testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test 2709 by a note-test. 2710 27112017-04-28 Jonathan Wakely <jwakely@redhat.com> 2712 2713 PR libstdc++/80553 2714 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static 2715 assertions to ensure type is destructible. 2716 (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. 2717 * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): 2718 Move to stl_construct.h. 2719 * testsuite/20_util/specialized_algorithms/memory_management_tools/ 2720 destroy_neg.cc: New test. 2721 * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. 2722 2723 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove 2724 superfluous "" in dg-error. 2725 27262017-04-28 Tom de Vries <tom@codesourcery.com> 2727 2728 * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove 2729 superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus). 2730 27312017-04-27 Jonathan Wakely <jwakely@redhat.com> 2732 2733 * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp 2734 (PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type. 2735 * testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()): 2736 Likewise. 2737 27382017-04-26 Jonathan Wakely <jwakely@redhat.com> 2739 2740 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve 2741 comment. Ensure first test works because allocator type propagates and 2742 not because is_always_equal is true. 2743 * testsuite/23_containers/vector/52591.cc: Likewise. Restore original 2744 testcase that instantiates the move-assignment operator. 2745 27462017-04-24 Jonathan Wakely <jwakely@redhat.com> 2747 2748 PR libstdc++/80506 2749 * include/bits/random.tcc (gamma_distribution::operator()): Fix magic 2750 number used in loop condition. 2751 2752 PR libstdc++/80504 2753 * include/bits/refwrap.h (ref, cref): Qualify calls. 2754 * testsuite/20_util/reference_wrapper/80504.cc: New test. 2755 2756 PR libstdc++/80493 2757 * include/experimental/optional (optional::swap): Fix exception 2758 specification. 2759 27602017-04-21 Jonathan Wakely <jwakely@redhat.com> 2761 2762 PR libstdc++/80316 2763 * include/std/future (_State_baseV2::_Setter::operator()): Remove 2764 _S_check calls that are done after the pointer to the shared state is 2765 already dereferenced. 2766 (_State_baseV2::_Setter<_Res, void>): Define specialization for void 2767 as partial specialization so it can be defined within the definition 2768 of _State_baseV2. 2769 (_State_baseV2::__setter): Call _S_check. 2770 (_State_baseV2::__setter(promise<void>*)): Add overload for use by 2771 promise<void>::set_value and promise<void>::set_value_at_thread_exit. 2772 (promise<T>, promise<T&>, promise<void>): Make _State a friend. 2773 (_State_baseV2::_Setter<void, void>): Remove explicit specialization. 2774 (promise<void>::set_value, promise<void>::set_value_at_thread_exit): 2775 Use new __setter overload. 2776 * testsuite/30_threads/promise/members/at_thread_exit2.cc: New test. 2777 * testsuite/30_threads/promise/members/set_exception.cc: Test 2778 promise<T&> and promise<void> specializations. 2779 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 2780 Test for no_state error condition. 2781 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 2782 2783 * include/backward/auto_ptr.h: Ignore deprecated warnings from use 2784 of auto_ptr. 2785 * include/bits/shared_ptr.h: Likewise. 2786 * include/bits/shared_ptr_base.h: Likewise. 2787 * include/bits/unique_ptr.h: Likewise. 2788 * libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust 2789 dg-error lineno. 2790 * libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise. 2791 * libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc: 2792 Likewise. 2793 * libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: 2794 Likewise. 2795 27962017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net> 2797 2798 PR libstdc++/68397 std::tr1::expint fails ... long double arguments. 2799 * include/tr1/exp_integral.tcc: Increase iteration limits. 2800 * testsuite/tr1/5_numerical_facilities/special_functions/15_expint/ 2801 pr68397.cc: New test. 2802 * testsuite/special_functions/14_expint/pr68397.cc: New test. 2803 28042017-04-20 Jonathan Wakely <jwakely@redhat.com> 2805 2806 PR libstdc++/79862 2807 * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t) 2808 (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t, 2809 (atomic_uint32_t, atomic_int64_t, atomic_uint64_t) 2810 (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t) 2811 (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t) 2812 (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t) 2813 (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t) 2814 (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t) 2815 (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't 2816 define. 2817 28182017-04-19 Jonathan Wakely <jwakely@redhat.com> 2819 2820 * doc/xml/manual/abi.xml: Rephrase one of the references to the 2821 Itanium C++ ABI. 2822 * doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement. 2823 * doc/html/*: Regenerate. 2824 2825 * libsupc++/new: Update comment on #endif directive. 2826 2827 PR libstdc++/80448 2828 * include/experimental/bits/fs_dir.h (directory_iterator) 2829 (recursive_directory_iterator): Remove noexcept from defaulted 2830 constructors. 2831 2832 PR libstdc++/80446 2833 * include/std/type_traits (is_aggregate): Change __has_builtin checks. 2834 * libsupc++/new (launder): Likewise. 2835 28362017-04-18 Jonathan Wakely <jwakely@redhat.com> 2837 2838 * include/std/functional (default_searcher, __boyer_moore_array_base) 2839 (__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher) 2840 (boyer_moore_horspool_searcher): Remove redundant namespace 2841 qualification. 2842 (default_searcher::operator()): Construct return value early and 2843 advance second member in-place. 2844 (boyer_moore_horspool_searcher::operator()): Increment random access 2845 iterator directly instead of using std::next. 2846 (boyer_moore_searcher::operator()): Fix return value. 2847 * testsuite/20_util/function_objects/searchers.cc: Check both parts 2848 of return values. 2849 28502017-04-12 Gerald Pfeifer <gerald@pfeifer.com> 2851 2852 * doc/xml/faq.xml: Update reference link to C++ ABI for Itanium. 2853 * doc/xml/manual/abi.xml. Ditto (thrice). 2854 28552017-04-03 Jonathan Wakely <jwakely@redhat.com> 2856 2857 * doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry. 2858 * doc/html/*: Regenerate. 2859 2860 * testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests 2861 that no longer fail. 2862 2863 * include/bits/ios_base.h: Correct comment. 2864 * testsuite/util/testsuite_hooks.h: Likewise. 2865 2866 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table. 2867 * doc/xml/manual/appendix_contributing.xml (contrib.organization): Add 2868 directories for debug, parallel and profile headers. 2869 * doc/html/*: Regenerate. 2870 2871 * include/bits/char_traits.h (__gnu_cxx::char_traits): Add 2872 _GLIBCXX14_CONSTEXPR on assign, compare, find, and length. 2873 (std::char_traits<char>, std::char_traits<wchar_t>): Add 2874 _GLIBCXX17_CONSTEXPR on assign. 2875 (std::char_traits<char16_t>, std::char_traits<char32_t>): Add 2876 _GLIBCXX17_CONSTEXPR on assign, compare, find, and length. 2877 * testsuite/21_strings/char_traits/requirements/ 2878 constexpr_functions_c++17.cc: New test. 2879 28802017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2881 2882 PR libstdc++/79141 2883 * include/bits/stl_pair.h (__nonesuch_no_braces): New. 2884 (operator=(typename conditional< 2885 __and_<is_copy_assignable<_T1>, 2886 is_copy_assignable<_T2>>::value, 2887 const pair&, const __nonesuch&>::type)): Change __nonesuch 2888 to __nonesuch_no_braces. 2889 (operator=(typename conditional< 2890 __not_<__and_<is_copy_assignable<_T1>, 2891 is_copy_assignable<_T2>>>::value, 2892 const pair&, const __nonesuch&>::type)): Likewise. 2893 (operator=(typename conditional< 2894 __and_<is_move_assignable<_T1>, 2895 is_move_assignable<_T2>>::value, 2896 pair&&, __nonesuch&&>::type)): Likewise. 2897 * testsuite/20_util/pair/79141.cc: New. 2898 28992017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2900 2901 Implement std::is_aggregate. 2902 * include/std/type_traits (is_aggregate, is_aggregate_v): New. 2903 * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: 2904 New. 2905 * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. 2906 * testsuite/20_util/is_aggregate/value.cc: Likewise. 2907 29082017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2909 2910 Adjust optional's pretty printer for LWG 2900. 2911 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__): 2912 Look at the nested payload in case of non-experimental optional. 2913 29142017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2915 2916 Implement LWG 2900, The copy and move constructors 2917 of optional are not constexpr. 2918 * include/std/optional (_Optional_payload): New. 2919 (_Optional_base): Remove the bool parameter. 2920 (_Optional_base<_Tp, false>): Remove. 2921 (_Optional_base()): Adjust. 2922 (_Optional_base(nullopt_t)): Likewise. 2923 (_Optional_base(in_place_t, _Args&&...)): Likewise. 2924 (_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)): 2925 Likewise. 2926 (_Optional_base(const _Optional_base&)): Likewise. 2927 (_Optional_base(_Optional_base&&)): Likewise. 2928 (operator=(const _Optional_base&)): Likewise. 2929 (operator=(_Optional_base&&)): Likewise. 2930 (~_Optional_base()): Remove. 2931 (_M_is_engaged()): Adjust. 2932 (_M_get()): Likewise. 2933 (_M_construct(_Args&&...)): Likewise. 2934 (_M_destruct()): Likewise. 2935 (_M_reset()): Likewise. 2936 (_Optional_base::_Empty_byte): Remove. 2937 (_Optional_base::_M_empty): Remove. 2938 (_Optional_base::_M_payload): Adjust. 2939 * testsuite/20_util/optional/cons/value_neg.cc: Adjust. 2940 * testsuite/20_util/optional/constexpr/cons/value.cc: Add tests. 2941 29422017-03-28 Jonathan Wakely <jwakely@redhat.com> 2943 2944 PR libstdc++/80137 2945 * include/bits/random.tcc (generate_canonical): Use std::nextafter 2946 or numeric_limits::epsilon() to reduce out-of-range values. 2947 * testsuite/26_numerics/random/uniform_real_distribution/operators/ 2948 64351.cc: Verify complexity requirement is met. 2949 2950 * doc/xml/manual/abi.xml: Add xml:id anchor. 2951 * doc/xml/manual/using.xml (manual.intro.using.macros): Document 2952 _GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes. 2953 (concurrency.io.structure): Add markup. 2954 * doc/html/*: Regenerate. 2955 2956 PR libstdc++/80229 2957 * include/bits/shared_ptr_base.h 2958 (__shared_ptr::_M_enable_shared_from_this_with): Change parameters to 2959 non-const and then use remove_cv to get unqualified type. 2960 * testsuite/20_util/enable_shared_from_this/members/const.cc: Don't 2961 cast away constness on object created const. 2962 * testsuite/20_util/shared_ptr/cons/80229.cc: New test. 2963 29642017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de> 2965 2966 PR libstdc++/80183 2967 * include/bits/stl_tree.h: 2968 (_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color. 2969 29702017-03-23 Jonathan Wakely <jwakely@redhat.com> 2971 2972 * testsuite/23_containers/array/tuple_interface/ 2973 tuple_element_debug_neg.cc: Adjust dg-error. 2974 * testsuite/23_containers/list/operations/78389.cc: Fix less-than to 2975 define a valid strict weak ordering. 2976 * testsuite/23_containers/priority_queue/67085.cc: Disable test for 2977 Debug Mode, due to debug checks making extra copies of predicate. 2978 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 2979 Likewise. 2980 2981 * doc/xml/faq.xml: Add link. 2982 * doc/xml/manual/backwards_compatibility.xml: Remove outdated 2983 information on pre-ISO headers. Replace broken link to C++ FAQ Lite. 2984 * doc/xml/manual/io.xml: Update broken link. 2985 * doc/html/*: Regenerate. 2986 29872017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com> 2988 2989 Implement LWG 2686, Why is std::hash specialized for error_code, 2990 but not error_condition? 2991 * include/std/system_error (hash<error_condition>): Define for C++17. 2992 * testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>): 2993 Instantiate test for error_condition. 2994 * testsuite/20_util/hash/requirements/explicit_instantiation.cc 2995 (hash<error_condition>): Instantiate hash<error_condition>. 2996 2997 * include/bits/c++config (_GLIBCXX17_INLINE): Define. 2998 * include/bits/regex_constants.h (All std::regex_constants constants): 2999 Add _GLIBCXX17_INLINE as per P0607R0. 3000 * include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock): 3001 Likewise. 3002 * include/bits/stl_pair.h (piecewise_construct): Likewise. 3003 * include/bits/uses_allocator.h (allocator_arg, uses_allocator_v) 3004 (__is_uses_allocator_constructible_v) 3005 (__is_nothrow_uses_allocator_constructible_v): Likewise. 3006 * include/std/chrono (treat_as_floating_point_v): Likewise. 3007 * include/std/functional (is_bind_expression_v, is_placeholder_v): 3008 Likewise. 3009 * include/std/optional (nullopt): Likewise. 3010 * include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v) 3011 ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise. 3012 * include/std/system_error (is_error_code_enum_v) 3013 (is_error_condition_enum_v): Likewise. 3014 * include/std/tuple (tuple_size_v, ignore): Likewise. 3015 (ignore): Declare ignore constexpr as per LWG 2773, declare assignment 3016 constexpr as per LWG 2933. 3017 * include/std/type_traits (All variable templates): Add 3018 _GLIBCXX17_INLINE as per P0607R0. 3019 * include/std/variant (variant_size_v, variant_npos, __index_of_v) 3020 (__tuple_count_v, __exactly_once): Likewise. 3021 * testsuite/18_support/headers/new/synopsis.cc 3022 (hardware_destructive_interference_size) 3023 (hardware_constructive_interference_size): Likewise for commented-out 3024 variables. 3025 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new 3026 test function for constexpr std::ignore (LWG 2773). 3027 * testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New 3028 test for LWG 2933. 3029 30302017-03-22 Jonathan Wakely <jwakely@redhat.com> 3031 3032 * include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction 3033 guides for C++17. 3034 * include/bits/std_function.h (function): Likewise. 3035 * include/bits/stl_pair.h (pair): Likewise. 3036 * include/debug/array (__gnu_debug::array): Likewise. 3037 * include/std/array (array): Likewise. 3038 * include/std/functional (make_default_searcher) 3039 (make_boyer_moore_searcher, make_boyer_moore_horspool_searcher): 3040 Remove generator functions. 3041 * include/std/tuple (tuple): Add deduction guides. 3042 * include/std/valarray (valarray): Likewise. 3043 * testsuite/20_util/function_objects/searchers.cc: Adjust to use 3044 class template argument deduction instead of generator functions. 3045 * testsuite/20_util/function/cons/deduction.cc: New test. 3046 * testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ... 3047 * testsuite/20_util/optional/cons/deduction.cc: ... here. 3048 * testsuite/20_util/pair/cons/deduction.cc: New test. 3049 * testsuite/20_util/shared_ptr/cons/deduction.cc: New test. 3050 * testsuite/20_util/tuple/cons/deduction.cc: New test. 3051 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error. 3052 * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test. 3053 * testsuite/20_util/weak_ptr/cons/deduction.cc: New test. 3054 * testsuite/23_containers/array/cons/deduction.cc: New test. 3055 * testsuite/23_containers/array/cons/deduction_neg.cc: New test. 3056 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 3057 Adjust dg-error. 3058 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. 3059 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 3060 Likewise. 3061 * testsuite/26_numerics/valarray/deduction.cc: New test. 3062 * testsuite/30_threads/lock_guard/cons/deduction.cc: New test. 3063 * testsuite/30_threads/scoped_lock/cons/deduction.cc: New test. 3064 * testsuite/30_threads/unique_lock/cons/deduction.cc: New test. 3065 30662017-03-20 François Dumont <fdumont@gcc.gnu.org> 3067 3068 * include/bits/stl_deque.h (deque): Access allocator value_type only if 3069 concept checks are enabled. 3070 * include/bits/stl_stack.h (stack): Likewise. 3071 * include/bits/stl_vector.h (vector): Likewise. 3072 * include/bits/stl_list.h (list): Likewise and check 3073 _SGIAssignableConcept only in C++03. 3074 * include/bits/stl_map.h (map): Likewise. 3075 * include/bits/stl_set.h (set): Likewise. 3076 * include/bits/stl_multimap.h (multimap): Likewise. 3077 * include/bits/stl_multiset.h (multiset): Likewise. 3078 * include/bits/stl_queue.h (queue, priority_queue): Likewise. 3079 30802017-03-18 Gerald Pfeifer <gerald@pfeifer.com> 3081 3082 * doc/xml/manual/appendix_contributing.xml: Convert link to 3083 ansi.org to https. 3084 Update link to the C++ standard at ansi.org. 3085 3086 * doc/xml/faq.xml: Remove information redundant with the above; 3087 instead add a reference. 3088 30892017-03-17 Jonathan Wakely <jwakely@redhat.com> 3090 3091 * src/c++11/codecvt.cc (range): Add non-type template parameter and 3092 define oerloaded operators for reading and writing code units. 3093 (range<Elem, false>): Define partial specialization for accessing 3094 wide characters in potentially unaligned byte ranges. 3095 (ucs2_span(const char16_t*, const char16_t*, ...)) 3096 (ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters 3097 to range<const char16_t, false> in order to avoid unaligned reads. 3098 (__codecvt_utf16_base<char16_t>::do_out) 3099 (__codecvt_utf16_base<char32_t>::do_out) 3100 (__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for 3101 unaligned data to avoid unaligned writes. 3102 (__codecvt_utf16_base<char16_t>::do_in) 3103 (__codecvt_utf16_base<char32_t>::do_in) 3104 (__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return 3105 error if there are unprocessable trailing bytes. 3106 (__codecvt_utf16_base<char16_t>::do_length) 3107 (__codecvt_utf16_base<char32_t>::do_length) 3108 (__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type 3109 range<const char16_t, false> to span functions. 3110 * testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test. 3111 31122017-03-16 Jonathan Wakely <jwakely@redhat.com> 3113 3114 PR libstdc++/79980 3115 * src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type. 3116 3117 PR libstdc++/80041 3118 * src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out) 3119 (__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to 3120 char16_t to work with UTF-16 instead of UTF-8. 3121 * testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test. 3122 3123 * src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>) 3124 (codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>) 3125 (__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>) 3126 (__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>) 3127 (__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>) 3128 (__codecvt_utf8_utf16_base<char32_t>) 3129 (__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and 3130 do_max_length() return values. 3131 * testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test. 3132 * testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test. 3133 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test. 3134 3135 PR libstdc++/79980 3136 * include/bits/locale_conv.h (__do_str_codecvt): Set __count on 3137 error path. 3138 * src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads 3139 for manipulating codecvt_mode values. 3140 (read_utf16_bom): Compare input to BOM constants instead of integral 3141 constants that depend on endianness. Take mode parameter by 3142 reference and adjust it, to distinguish between no BOM present and 3143 UTF-16BE BOM present. 3144 (ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom. 3145 (surrogates): New enumeration type. 3146 (utf16_in, utf16_out): Add surrogates parameter to choose between 3147 UTF-16 and UCS2 behaviour. 3148 (utf16_span, ucs2_span): Use std::min not std::max. 3149 (ucs2_out): Use std::min not std::max. Disallow surrogate pairs. 3150 (ucs2_in): Likewise. Adjust calls to read_utf16_bom. 3151 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test. 3152 * testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test. 3153 3154 PR libstdc++/79511 3155 * src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff 3156 as a surrogate pair. 3157 (__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness 3158 for internal representation. 3159 (__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise. 3160 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test. 3161 3162 PR libstdc++/80064 3163 * include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap) 3164 (pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with 3165 invalid instantiations using function types for _Compare argument. 3166 * testsuite/25_algorithms/make_heap/80064.cc: New test. 3167 3168 PR libstdc++/67440 3169 * python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name 3170 for GDB 7.6 compatibility, use gdb.Type.unqualified instead. 3171 31722017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com> 3173 3174 Implement LWG 2857, {variant,optional,any}::emplace should 3175 return the constructed value. 3176 * include/std/any (emplace(_Args&&...)): Change the return type and 3177 return a reference to the constructed value. 3178 (emplace(initializer_list<_Up>, _Args&&...)): Likewise. 3179 * include/std/optional (emplace(_Args&&...)): Likewise. 3180 (emplace(initializer_list<_Up>, _Args&&...)): Likewise. 3181 * include/std/variant (emplace<_Tp>(_Args&&...)): Likewise. 3182 (emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise. 3183 (emplace<_Np>(_Args&&...)): Likewise. 3184 (emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise. 3185 * testsuite/20_util/any/assign/emplace.cc: Add tests for 3186 checking the return value of emplace. 3187 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. 3188 * testsuite/20_util/optional/assignment/6.cc: Add tests for 3189 checking the return value of emplace. 3190 * testsuite/20_util/variant/run.cc: Likewise. 3191 31922017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn> 3193 3194 PR libstdc++/62045 3195 * include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp 3196 (is_heap): Remove. 3197 (push_heap): Remove the wrong checking using is_heap. 3198 (make_heap): Remove the assertion using is_heap. 3199 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp 3200 (modify): Ditto. 3201 (resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after 3202 calling make_heap. 3203 32042017-03-15 Jonathan Wakely <jwakely@redhat.com> 3205 3206 PR libstdc++/62045 3207 * testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc: 3208 New test. 3209 * testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste 3210 error in comment. 3211 32122017-03-15 Jonathan Wakely <jwakely@redhat.com> 3213 3214 * acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in 3215 comment. 3216 * config.h.in: Regenerate. 3217 * configure: Regenerate. 3218 * doc/Makefile.in: Regenerate. 3219 32202017-03-14 Jonathan Wakely <jwakely@redhat.com> 3221 3222 PR libstdc++/79162 3223 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3224 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace 3225 with a constrained template. 3226 [!_GLIBCXX_USE_CXX11_ABI] 3227 (basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise. 3228 * testsuite/21_strings/basic_string/cons/char/79162.cc: New test. 3229 * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test. 3230 32312017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 3232 3233 PR libstdc++/80034 3234 * include/bits/list.tcc (merge(list&&)): Use const for the size_t 3235 in the catch-block. 3236 (merge(list&&, _StrictWeakOrdering)): Likewise. 3237 * testsuite/23_containers/list/operations/80034.cc: New. 3238 32392017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com> 3240 3241 Implement LWG 2806, Base class of bad_optional_access. 3242 * include/std/optional (bad_optional_access): 3243 Derive from std::exception. 3244 (bad_optional_access::bad_optional_access): Adjust. 3245 (bad_optional_access::what): New. 3246 (__throw_bad_optional_access(const char*)): 3247 Remove the parameter and adjust calls. 3248 * testsuite/20_util/optional/cons/value_neg.cc: Adjust. 3249 * testsuite/20_util/optional/typedefs.cc: Likewise. 3250 32512017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com> 3252 3253 Implement LWG 2934, optional<const T> doesn't compare with T. 3254 * include/std/optional 3255 (operator==(const optional<_Tp>&, const optional<_Tp>&)): 3256 Turn into operator==(const optional<_Tp>&, const optional<_Up>&). 3257 (operator!=(const optional<_Tp>&, const optional<_Tp>&)): 3258 Turn into operator!=(const optional<_Tp>&, const optional<_Up>&). 3259 (operator<(const optional<_Tp>&, const optional<_Tp>&)): 3260 Turn into operator<(const optional<_Tp>&, const optional<_Up>&. 3261 (operator>(const optional<_Tp>&, const optional<_Tp>&)): 3262 Turn into operator>(const optional<_Tp>&, const optional<_Up>&. 3263 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): 3264 Turn into operator<=(const optional<_Tp>&, const optional<_Up>&). 3265 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): 3266 Turn into operator>=(const optional<_Tp>&, const optional<_Up>&). 3267 (operator==(const optional<_Tp>&, const _Tp&)): 3268 Turn into operator==(const optional<_Tp>&, const _Up&). 3269 (operator==(const _Tp&, const optional<_Tp>&)): 3270 Turn into operator==(const _Up&, const optional<_Tp>&). 3271 (operator!=(const optional<_Tp>&, const _Tp&)): 3272 Turn into operator!=(const optional<_Tp>&, const _Up&). 3273 (operator!=(const _Tp&, const optional<_Tp>&)): 3274 Turn into operator!=(const _Up&, const optional<_Tp>&). 3275 (operator<(const optional<_Tp>&, const _Tp&)): 3276 Turn into operator<(const optional<_Tp>&, const _Up&). 3277 (operator<(const _Tp&, const optional<_Tp>&)): 3278 Turn into operator<(const _Up&, const optional<_Tp>&). 3279 (operator>(const optional<_Tp>&, const _Tp&)): 3280 Turn into operator>(const optional<_Tp>&, const _Up&). 3281 (operator>(const _Tp&, const optional<_Tp>&)): 3282 Turn into operator>(const _Up&, const optional<_Tp>&). 3283 (operator<=(const optional<_Tp>&, const _Tp&)): 3284 Turn into operator<=(const optional<_Tp>&, const _Up&). 3285 (operator<=(const _Tp&, const optional<_Tp>&)): 3286 Turn into operator<=(const _Up&, const optional<_Tp>&). 3287 (operator>=(const optional<_Tp>&, const _Tp&)): 3288 Turn into operator>=(const optional<_Tp>&, const _Up&). 3289 (operator>=(const _Tp&, const optional<_Tp>&)): 3290 Turn into operator>=(const _Up&, const optional<_Tp>&). 3291 * testsuite/20_util/optional/relops/7.cc: New. 3292 32932017-03-10 Jonathan Wakely <jwakely@redhat.com> 3294 3295 * testsuite/17_intro/names.cc: Undefine macros that clash with 3296 identifiers in AIX system headers. 3297 3298 * include/bits/invoke.h (__invoke): Use __invoke_result instead of 3299 result_of, and __is_nothrow_invocable instead of 3300 __is_nothrow_callable. 3301 * include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable 3302 instead of __is_callable. 3303 * include/std/functional (invoke): use invoke_result_t instead of 3304 result_of_t and is_nothrow_invocable instead of is_nothrow_callable. 3305 (_Not_fn): Use __invoke_result instead of result_of. 3306 * include/std/type_traits (__result_of_memobj, __result_of_memfun): 3307 Remove partial specializations for reference_wrapper types. 3308 (__result_of_impl): Use __inv_unwrap to strip reference_wrapper. 3309 (__invoke_result): Define replacement for result_of and then use it to 3310 define result_of. 3311 (__is_callable_impl, __is_callable, __is_nothrow_callable): Replace 3312 with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable 3313 respectively. 3314 (invoke_result, invoke_result_t): Define for C++17. 3315 (is_callable, is_nothrow_callable): Replace with is_invocable, 3316 is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r. 3317 (is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v, 3318 is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v. 3319 * include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v 3320 instead of is_nothrow_callable_v. 3321 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused 3322 main function. 3323 * testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable 3324 instead of is_callable. 3325 * testsuite/20_util/is_callable/*: Rename directory and adjust tests 3326 to use new traits. 3327 * testsuite/20_util/is_nothrow_callable/*: Likewise. 3328 * testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of 3329 is_callable. 3330 * testsuite/20_util/variant/hash.cc: Likewise. 3331 33322017-03-10 George Lander <george.lander@arm.com> 3333 3334 * acinclude.m4 (glibcxx_cv_obsolete_isnan): Define 3335 _GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h. 3336 * configure: Regenerate. 3337 33382017-03-09 Jonathan Wakely <jwakely@redhat.com> 3339 3340 * include/std/functional (_Not_fn): Define macro to simplify 3341 repetitive function definitions. 3342 3343 * doc/xml/manual/status_cxx2017.xml: Document std::byte support. 3344 * include/c_global/cstddef (std::byte): Define for C++17. 3345 * testsuite/18_support/byte/global_neg.cc: New test. 3346 * testsuite/18_support/byte/ops.cc: New test. 3347 * testsuite/18_support/byte/requirements.cc: New test. 3348 33492017-03-05 Jonathan Wakely <jwakely@redhat.com> 3350 3351 * doc/xml/manual/status_cxx2017.xml: Document P0156R2 status. 3352 * doc/html/*: Regenerate. 3353 * include/std/mutex (scoped_lock): Implement new C++17 template. 3354 * testsuite/30_threads/scoped_lock/cons/1.cc: New test. 3355 * testsuite/30_threads/scoped_lock/requirements/ 3356 explicit_instantiation.cc: New test. 3357 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test. 3358 33592017-03-02 Gerald Pfeifer <gerald@pfeifer.com> 3360 François Dumont <frs.dumont@gmail.com> 3361 Jonathan Wakely <jwakely@redhat.com> 3362 3363 * doc/xml/manual/debug_mode.xml: Update and simplify note 3364 on link- and run-time coexistence. 3365 33662017-03-02 Jonathan Wakely <jwakely@redhat.com> 3367 3368 * testsuite/17_intro/headers/names.cc: Rename to ... 3369 * testsuite/17_intro/names.cc: ... here. 3370 3371 PR libstdc++/79789 3372 * include/bits/hashtable_policy.h (__clp2): Use reserved names for 3373 parameters and local variables. 3374 * include/bits/ios_base.h (make_error_code, make_error_condition): 3375 Likewise. 3376 * include/bits/list.tcc (list::sort): Likewise. 3377 * include/bits/mask_array.h (mask_array): Likewise. 3378 * include/bits/regex.h (regex_token_iterator): Likewise. 3379 * include/bits/slice_array.h (slice_array): Likewise. 3380 * include/bits/stl_algo.h (__sample): Likewise. 3381 * include/std/memory (undeclare_no_pointers): Likewise. 3382 * include/std/type_traits (is_callable_v, is_nothrow_callable_v): 3383 Likewise. 3384 * libsupc++/exception_ptr.h (__dest_thunk): Likewise. 3385 * testsuite/17_intro/headers/names.cc: New test. 3386 3387 PR libstdc++/79798 3388 * include/std/functional (bind::_Res_type_impl): Fix incorrect use of 3389 result_of that loses top-level cv-qualifiers. 3390 * testsuite/20_util/bind/79798.cc: New test. 3391 33922017-03-01 Gerald Pfeifer <gerald@pfeifer.com> 3393 3394 * doc/xml/manual/documentation_hacking.xml: Tweak link to 3395 doxygen.org. 3396 33972017-02-23 Jonathan Wakely <jwakely@redhat.com> 3398 3399 * include/experimental/iterator: Include <iterator>. 3400 * testsuite/experimental/iterator/requirements.cc: Check for contents 3401 of <iterator>. 3402 34032017-02-19 Dinka Ranns <dinka.ranns@googlemail.com> 3404 3405 C++17 GB50 resolution 3406 * include/std/chrono (duration::operator++()): Add 3407 _GLIBCXX17_CONSTEXPR. 3408 (duration::operator++(int)): Likewise. 3409 (duration::operator--()): Likewise. 3410 (duration::operator--(int)): Likewise. 3411 (duration::operator+=(const duration&)): Likewise. 3412 (duration::operator-=(const duration&)): Likewise. 3413 (duration::operator*=(const rep&)): Likewise. 3414 (duration::operator/=(const rep&)): Likewise. 3415 (duration::operator%=(const rep&)): Likewise. 3416 (duration::operator%=(const duration&)): Likewise. 3417 (time_point::operator+=(const duration&)): Likewise. 3418 (time_point::operator-=(const duration&)): Likewise. 3419 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test. 3420 * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. 3421 * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test. 3422 34232017-02-19 Gerald Pfeifer <gerald@pfeifer.com> 3424 3425 * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer. 3426 34272017-02-18 Gerald Pfeifer <gerald@pfeifer.com> 3428 3429 * doc/xml/manual/io.xml: Update link to groups.google.com. 3430 Tweak link description. 3431 34322017-02-18 Gerald Pfeifer <gerald@pfeifer.com> 3433 3434 * doc/xml/manual/profile_mode.xml: Fix link. 3435 34362017-02-16 Gerald Pfeifer <gerald@pfeifer.com> 3437 3438 * doc/xml/manual/policy_data_structures.xml: Simplify and 3439 standardize references to boost.org. 3440 * doc/xml/manual/policy_data_structures_biblio.xml: Ditto. 3441 * doc/xml/manual/shared_ptr.xml: Ditto. 3442 34432017-02-16 Jonathan Wakely <jwakely@redhat.com> 3444 3445 PR libstdc++/60936 3446 * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length 3447 written to buffer, not length remaining in buffer. 3448 34492017-02-15 Tim Shen <timshen@google.com> 3450 3451 PR libstdc++/78723 3452 * include/std/variant (operator<(), operator>(), operator<=(), 3453 operator>=(), operator==(), operator!=()): Implement P0393R3. 3454 * testsuite/20_util/variant/compile.cc: Adjust tests. 3455 * testsuite/20_util/variant/run.cc: Adjust tests. 3456 34572017-02-15 Tim Shen <timshen@google.com> 3458 3459 PR libstdc++/79513 3460 * include/std/variant (visit()): Forward variant types to the return 3461 type detection code. 3462 * testsuite/20_util/variant/compile.cc: Add test cases. 3463 34642017-02-13 H.J. Lu <hongjiu.lu@intel.com> 3465 3466 PR libstdc++/79348 3467 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 3468 34692017-02-13 Jakub Jelinek <jakub@redhat.com> 3470 3471 PR libstdc++/79348 3472 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 3473 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. 3474 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise. 3475 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. 3476 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise. 3477 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. 3478 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise. 3479 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. 3480 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. 3481 34822017-02-13 Jonathan Wakely <jwakely@redhat.com> 3483 3484 PR libstdc++/79486 3485 * include/std/future (__future_base::_Task_state::_M_run) 3486 (__future_base::_Task_state::_M_run_delayed): Use lvalue types in 3487 result_of expressions. 3488 * testsuite/30_threads/packaged_task/79486.cc: New. 3489 34902017-02-11 Jonathan Wakely <jwakely@redhat.com> 3491 3492 PR libstdc++/79467 3493 * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter)) 3494 (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in 3495 __is_callable check. 3496 * testsuite/20_util/shared_ptr/cons/79467.cc: New. 3497 3498 * include/bits/atomic_base.h: Re-indent. 3499 35002017-02-10 Gerald Pfeifer <gerald@pfeifer.com> 3501 3502 * doc/xml/manual/profile_mode.xml: Update a paper reference. 3503 35042017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3505 3506 * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting. 3507 35082017-02-08 Jonathan Wakely <jwakely@redhat.com> 3509 3510 * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's 3511 name. 3512 * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove 3513 broken links to texts that are no longer online. 3514 * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and 3515 LCPC 2006 paper. 3516 * doc/xml/manual/using.xml: Update links to memory model information. 3517 * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E: 3518 Standard-Library Exception Safety". 3519 * doc/html/*: Regenerate. 3520 35212017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3522 3523 * doc/xml/manual/profile_mode.xml: Unbreak link to 3524 "Optimizing Sorting with Machine Learning Algorithms". 3525 35262017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3527 3528 * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL. 3529 35302017-02-08 Gerald Pfeifer <gerald@pfeifer.com> 3531 3532 * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++ 3533 Migration Guide". 3534 35352017-02-07 Gerald Pfeifer <gerald@pfeifer.com> 3536 3537 * doc/html/ext/lwg-active.html: Remove. 3538 * doc/html/ext/lwg-closed.html: Ditto. 3539 * doc/html/ext/lwg-defects.html: Ditto. 3540 3541 * doc/Makefile.am (xml_extradir): Remove. 3542 (xml_extra): Ditto. 3543 (stamp-html-docbook-lwg): Remove recipe... 3544 (stamp-html-docbook-data): ...and its use here. 3545 * doc/Makefile.in: Regenerate. 3546 3547 * doc/xml/manual/intro.xml: Shorten two paragraphs explaining 3548 the relationship to the upstream working group. 3549 Replace a local link to ../ext/lwg-active.html by the upstream one. 3550 Replace all reference to ../ext/lwg-defects.html by a new entity 3551 &DR; which refers to the upstream address. 3552 35532017-02-07 Gerald Pfeifer <gerald@pfeifer.com> 3554 3555 * doc/xml/manual/status_cxx2017.xml: Fix link to N4284. 3556 35572017-02-06 Jonathan Wakely <jwakely@redhat.com> 3558 3559 PR libstdc++/79323 3560 * testsuite/20_util/duration/literals/range.cc: Prune extra output 3561 at -O0. 3562 35632017-02-06 Gerald Pfeifer <gerald@pfeifer.com> 3564 3565 * doc/xml/manual/documentation_hacking.xml: Update URL of the 3566 DocBook Element Reference. Use that term as link description 3567 instead of "online". 3568 epubcheck has moved to GitHub. 3569 Remove obsolete link to DocBook Publishing Tools. 3570 35712017-02-03 Jonathan Wakely <jwakely@redhat.com> 3572 3573 PR libstdc++/66145 3574 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override 3575 so new ios::failure can be caught even when old ABI is the default. 3576 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 3577 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 3578 exceptions_failbit.cc: Likewise. 3579 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 3580 exceptions_failbit.cc: Likewise. 3581 * testsuite/27_io/basic_istream/extractors_other/char/ 3582 exceptions_null.cc: Likewise. 3583 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 3584 exceptions_null.cc: Likewise. 3585 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 3586 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 3587 * testsuite/27_io/basic_ostream/inserters_other/char/ 3588 exceptions_null.cc: Likewise. 3589 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 3590 exceptions_null.cc: Likewise. 3591 * testsuite/27_io/ios_base/storage/2.cc: Likewise. 3592 3593 PR libstdc++/60936 3594 * src/c++11/Makefile.am: Add new files. 3595 * src/c++11/Makefile.in: Regenerate. 3596 * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 3597 (operator<<, operator>>, getline): Move explicit instantiations to ... 3598 * src/c++11/cow-string-io-inst.cc: ... new file. 3599 * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI] 3600 (operator<<, operator>>, getline): Move explicit instantiations to ... 3601 * src/c++11/cow-wstring-io-inst.cc: ... new file. 3602 * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error) 3603 (__throw_future_error, __throw_bad_function_call): 3604 (__throw_regex_error): Move functions for C++11 exceptions to the 3605 files that define the exception types. 3606 * src/c++11/functional.cc (__throw_bad_function_call): Move here. 3607 * src/c++11/future.cc (__throw_future_error): Likewise. 3608 * src/c++11/ios.cc (__throw_ios_failure): Likewise. 3609 * src/c++11/regex.cc (__throw_regex_error): Likewise. 3610 * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal 3611 representation directly instead of calling __int_to_char. 3612 * src/c++11/sso_string.cc (__sso_string): New file for definition 3613 of __sso_string type. 3614 * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 3615 explicit instantiations of narrow string I/O functions. 3616 * src/c++11/system_error.cc (__throw_system_error): Move here. 3617 (__sso_string): Move to new file. 3618 * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for 3619 explicit instantiations of wide string I/O functions. 3620 * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<) 3621 (operator>>, getline): Remove explicit instantiations from here. 3622 36232017-02-02 H.J. Lu <hongjiu.lu@intel.com> 3624 3625 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated. 3626 36272017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3628 3629 * configure.host: Separate Solaris/SPARC and x86 baselines. 3630 * config/abi/post/solaris2.10/baseline_symbols.txt: Move ... 3631 * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here. 3632 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ... 3633 * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt: 3634 ... here. 3635 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ... 3636 * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here. 3637 * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file. 3638 * config/abi/post/solaris2.11/baseline_symbols.txt: Move ... 3639 * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here. 3640 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ... 3641 * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt: 3642 ... here. 3643 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ... 3644 * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here. 3645 * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file. 3646 3647 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 3648 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 3649 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 3650 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise. 3651 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise. 3652 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise. 3653 36542017-02-01 Jonathan Wakely <jwakely@redhat.com> 3655 3656 PR libstdc++/78346 3657 * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator 3658 not its referent. 3659 (_Iter_comp_to_iter): Likewise. 3660 * testsuite/25_algorithms/search/78346.cc: New test. 3661 3662 PR libstdc++/79254 3663 * config/abi/pre/gnu.ver: Remove recently added symbols. 3664 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3665 (basic_string::_M_copy_assign): Remove. 3666 (basic_string::operator=(const basic_string&)): Don't dispatch to 3667 _M_copy_assign. If source object is small just deallocate, otherwise 3668 perform new allocation before making any changes. 3669 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] 3670 (basic_string::_M_copy_assign(const basic_string&, true_type)): 3671 Remove. 3672 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 3673 Test cases where the allocators are equal or the string is small. 3674 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 3675 Likewise. 3676 36772017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com> 3678 3679 Implement LWG 2825, LWG 2756 breaks class template argument 3680 deduction for optional. 3681 * include/std/optional: Add a deduction guide. 3682 * testsuite/20_util/optional/cons/deduction_guide.cc: New. 3683 36842017-01-27 Jonathan Wakely <jwakely@redhat.com> 3685 3686 PR libstdc++/79254 3687 * config/abi/pre/gnu.ver: Add new symbols. 3688 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] 3689 (basic_string::_M_copy_assign): New overloaded functions to perform 3690 copy assignment. 3691 (basic_string::operator=(const basic_string&)): Dispatch to 3692 _M_copy_assign. 3693 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] 3694 (basic_string::_M_copy_assign(const basic_string&, true_type)): 3695 Define, performing rollback on exception. 3696 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 3697 Test exception-safety guarantee. 3698 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 3699 Likewise. 3700 * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make 3701 std::swap visible. 3702 37032017-01-26 Jonathan Wakely <jwakely@redhat.com> 3704 3705 PR libstdc++/70607 3706 * include/tr1/complex (conj): Remove using-declaration and restore 3707 overloads, reverting previous change. 3708 3709 * testsuite/23_containers/list/operations/78389.cc: Fix for C++11 3710 mode. 3711 * testsuite/23_containers/priority_queue/requirements/constructible.cc: 3712 Mark as unsupported in C++98 mode. 3713 * testsuite/23_containers/queue/requirements/constructible.cc: 3714 Likewise. 3715 * testsuite/23_containers/stack/requirements/constructible.cc: 3716 Likewise. 3717 * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode. 3718 3719 PR libstdc++/79243 3720 * include/bits/c++config (literals::string_view_literals::__7): Add. 3721 Only declare versioned namespaces for the relevant C++ dialects. 3722 * include/experimental/bits/erase_if.h (fundamentals_v2::__detail): 3723 Add versioning macros. 3724 * include/experimental/bits/lfts_config.h: 3725 (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add. 3726 * include/experimental/string_view (fundamentals_v2::__detail): 3727 Add versioning macros. 3728 (fundamentals_v2::__detail::__identity): Remove. 3729 (fundamentals_v2::__detail::__idt): Use common_type instead of 3730 __detail::__identity. 3731 * include/std/string_view (__detail::__identity, __detail::__idt): 3732 Likewise. 3733 (literals::string_view_literals): Fix nesting of versioning macros. 3734 3735 PR libstdc++/79190 3736 * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t)) 3737 [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN 3738 && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]: 3739 Retrieve original pointer value allocated by malloc. 3740 * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC 3741 && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN 3742 && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)): 3743 Define, adjusting pointer value allocated by malloc and storing for 3744 retrieval by operator delete. 3745 37462017-01-26 Jakub Jelinek <jakub@redhat.com> 3747 3748 * libsupc++/eh_atomics.h: Update copyright years. 3749 * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years. 3750 37512017-01-25 Jonathan Wakely <jwakely@redhat.com> 3752 3753 PR libstdc++/61791 3754 PR libstdc++/70607 3755 * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR. 3756 (proj(T), conj(T)): Change return types per DR 1522. 3757 * include/tr1/complex (conj): Remove overloads and use std::conj. 3758 * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to... 3759 * testsuite/26_numerics/complex/dr781.cc: ... this, and update. 3760 * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test 3761 real(T) and imag(T). Allow testing for C++11 too. 3762 37632017-01-24 Jonathan Wakely <jwakely@redhat.com> 3764 3765 PR libstdc++/79206 3766 * include/experimental/string_view (operator==): Check sizes first. 3767 * include/std/string_view (operator==): Likewise. 3768 37692017-01-23 Jonathan Wakely <jwakely@redhat.com> 3770 3771 * testsuite/experimental/array/make_array.cc: Restore <functional> 3772 inclusion. 3773 37742017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com> 3775 3776 * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins. 3777 37782017-01-23 Jonathan Wakely <jwakely@redhat.com> 3779 3780 PR libstdc++/79195 3781 * include/experimental/array (__make_array_elem): New class template 3782 and partial specialization. 3783 (__is_reference_wrapper): Move into __make_array_elem specialization. 3784 (make_array): Use __make_array_elem to determine element type and move 3785 static assertion into specialization. Qualify std::forward call. 3786 (to_array): Add exception specifiation. 3787 * testsuite/experimental/array/make_array.cc: Test argument types 3788 without a common type. 3789 * testsuite/experimental/array/neg.cc: Adjust expected error message. 3790 37912017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 3792 3793 * doc/xml/manual/debug.xml: code.google.com uses https now. 3794 37952017-01-22 Gerald Pfeifer <gerald@pfeifer.com> 3796 3797 * doc/xml/manual/test.xml: Fix link into gccint online manual. 3798 37992017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com> 3800 3801 Make poisoned hashes SFINAE away the call operator of the hash. 3802 * include/bits/functional_hash.h 3803 (__poison_hash::__enable_hash_call): New. 3804 * include/std/optional (__optional_hash_call_base): New. 3805 (hash<optional<_Tp>>): Derive from the new base, 3806 move the hash function into that base. 3807 * include/std/variant (__variant_hash_call_base_impl): New. 3808 (__variant_hash_call_base): Likewise. 3809 (hash<variant<_Types...>>): Derive from the new base, 3810 move the hash function into that base. 3811 * testsuite/20_util/optional/hash.cc: Add tests for is_callable. 3812 * testsuite/20_util/variant/hash.cc: Likewise. 3813 38142017-01-20 Joe Seymour <joe.s@somniumtech.com> 3815 3816 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t. 3817 * configure: Regenerate. 3818 38192017-01-20 Jonathan Wakely <jwakely@redhat.com> 3820 3821 PR libstdc++/69240 3822 * include/bits/random.h (uniform_real_distribution::param_type) 3823 (normal_distribution::param_type, lognormal_distribution::param_type) 3824 (gamma_distribution::param_type, chi_squared_distribution::param_type) 3825 (cauchy_distribution::param_type, fisher_f_distribution::param_type) 3826 (student_t_distribution::param_type) 3827 (bernoulli_distribution::param_type, binomial_distribution::param_type) 3828 (geometric_distribution::param_type) 3829 (negative_binomial_distribution::param_type) 3830 (poisson_distribution::param_type) 3831 (exponential_distribution::param_type) 3832 (weibull_distribution::param_type) 3833 (extreme_value_distribution::param_type) 3834 (discrete_distribution::param_type) 3835 (piecewise_constant_distribution::param_type) 3836 (piecewise_linear_distribution::param_type): Define operator!=. 3837 * include/bits/uniform_int_dist.h 3838 (uniform_int_distribution::param_type): Likewise. 3839 * include/ext/random (beta_distribution::param_type) 3840 (rice_distribution::param_type, nakagami_distribution::param_type) 3841 (pareto_distribution::param_type, k_distribution::param_type) 3842 (arcsine_distribution::param_type, hoyt_distribution::param_type) 3843 (triangular_distribution::param_type) 3844 (von_mises_distribution::param_type) 3845 (hypergeometric_distribution::param_type) 3846 (logistic_distribution::param_type) 3847 (uniform_on_sphere_distribution::param_type) 3848 (uniform_inside_sphere_distribution::param_type): Likewise. 3849 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc: 3850 Test construction with param_type. 3851 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc: 3852 Likewise. 3853 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: 3854 Likewise. 3855 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc: 3856 Likewise. 3857 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: 3858 Likewise. 3859 * testsuite/26_numerics/random/extreme_value_distribution/cons/ 3860 parms.cc: Likewise. 3861 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc: 3862 Likewise. 3863 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc: 3864 Likewise. 3865 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc: 3866 Likewise. 3867 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc: 3868 Likewise. 3869 * testsuite/26_numerics/random/negative_binomial_distribution/cons/ 3870 parms.cc: Likewise. 3871 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: 3872 Likewise. 3873 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc: 3874 Likewise. 3875 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: 3876 Likewise. 3877 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc: 3878 Likewise. 3879 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc: 3880 Likewise. 3881 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc: 3882 Likewise. 3883 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise. 3884 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise. 3885 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. 3886 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: 3887 Likewise. 3888 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise. 3889 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise. 3890 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise. 3891 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. 3892 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise. 3893 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise. 3894 * testsuite/ext/random/triangular_distribution/cons/parms.cc: 3895 Likewise. 3896 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/ 3897 parms.cc: Likewise. 3898 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise. 3899 3900 PR libstdc++/72792 3901 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type) 3902 (__allocator_traits_base::__size_type): Remove. 3903 (allocator_traits::_Ptr): New class template to detect const and void 3904 pointer types without instantiating pointer_traits::rebind 3905 unnecessarily. 3906 (allocator_traits::_Diff): Likewise for detecting difference_type. 3907 (allocator_traits::_Size): New class template to detect size_type 3908 without instantiating make_unsigned unnecessarily. 3909 * include/bits/ptr_traits.h (pointer_traits::element_type): Use 3910 __detected_or_t instead of __detected_or_t_. 3911 * include/std/type_traits (__detected_or_t_): Remove. 3912 * testsuite/20_util/allocator_traits/members/pointers.cc: New test. 3913 3914 PR libstdc++/72792 3915 PR libstdc++/72793 3916 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind): 3917 Replace with class template using void_t. 3918 (__alloc_rebind): Define in terms of 3919 __allocator_traits_base::__rebind. 3920 (allocator_traits): Remove unconditional static_assert for 3921 rebind_alloc. 3922 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member. 3923 (pointer_traits::__rebind): Replace with class template using void_t. 3924 (pointer_traits::rebind): Define in terms of __rebind. 3925 (pointer_traits): Remove unconditional static_assert for rebind. 3926 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test. 3927 * testsuite/20_util/pointer_traits/rebind.cc: New test. 3928 3929 PR libstdc++/69321 3930 * include/experimental/any (__any_caster): Avoid instantiating 3931 manager function for types that can't be stored in any. 3932 * include/std/any (__any_caster): Likewise. 3933 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type. 3934 * testsuite/experimental/any/misc/any_cast.cc: Likewise. 3935 3936 PR libstdc++/64903 3937 * include/bits/stl_algo.h (is_partitioned): Use increment instead of 3938 std::advance. 3939 39402017-01-19 Jonathan Wakely <jwakely@redhat.com> 3941 3942 PR libstdc++/79156 3943 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base): 3944 Fix return type. 3945 (__enable_shared_from_this): Declare __shared_ptr as a friend. 3946 * testsuite/ext/shared_ptr/1.cc: New test. 3947 3948 PR libstdc++/64903 3949 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition 3950 point. 3951 * testsuite/25_algorithms/is_partitioned/2.cc: New test. 3952 3953 * doc/xml/manual/abi.xml: Fix typo. 3954 * doc/html/manual/abi.html: Likewise. 3955 3956 PR libstdc++/67085 3957 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add 3958 converting constructors from _Iter_less_iter. 3959 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from 3960 _Iter_comp_iter. 3961 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor. 3962 (__val_comp_iter(_Iter_comp_iter<C>): Likewise. 3963 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap) 3964 (__make_heap, __sort_heap): Change _Compare parameters to references. 3965 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap) 3966 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison 3967 functions as lvalues. 3968 (is_heap): Call __is_heap_until directly to avoid copying __comp. 3969 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to 3970 count copies during construction with empty sequence. 3971 3972 PR libstdc++/67085 3973 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE. 3974 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops. 3975 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected 3976 number of copies. 3977 * testsuite/25_algorithms/make_heap/movable.cc: New test. 3978 3979 PR libstdc++/67085 3980 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap) 3981 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use 3982 _GLIBCXX_MOVE when passing comparison function to other functions. 3983 (is_heap_until, is_heap): Use std::move when passing comparison 3984 function. 3985 * testsuite/23_containers/priority_queue/67085.cc: New test. 3986 3987 PR libstdc++/78905 3988 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to 3989 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE. 3990 Document that the deprecated _GLIBCXX_VERSION macro was removed for 3991 the 4.0.0 release. 3992 * doc/html/*: Regenerate. 3993 * include/Makefile.am (_GLIBCXX_RELEASE): Set value. 3994 * include/Makefile.in: Regenerate. 3995 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define. 3996 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in 3997 dg-error. 3998 39992017-01-18 Jonathan Wakely <jwakely@redhat.com> 4000 4001 PR libstdc++/69301 4002 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use 4003 aligned buffer instead of default-initialized variable. 4004 * testsuite/29_atomics/atomic/69301.cc: New test. 4005 * include/experimental/memory (observer_ptr::release): Use reserved 4006 name. 4007 * include/ext/pointer.h (_Pointer_adapter::operator++(int)) 4008 (_Pointer_adapter::operator--(int)): Likewise. 4009 4010 PR libstdc++/68925 4011 * include/experimental/random (randint): Use temporary instead of 4012 thread_local static. 4013 40142017-01-17 Joshua Conner <joshconner@google.com> 4015 4016 * crossconfig.m4: Add fuchsia OS. 4017 * configure: Regenerate. 4018 40192017-01-17 Jonathan Wakely <jwakely@redhat.com> 4020 4021 PR libstdc++/69699 4022 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the 4023 __GLIBCXX__ macro is not useful. Remove redundant date information 4024 and link to the GCC release timeline. 4025 (abi.versioning.active): Move partial sentence into the previous 4026 paragraph. 4027 * doc/html/*: Regenerate. 4028 4029 PR libstdc++/79114 4030 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead 4031 of remove_reference. 4032 * testsuite/18_support/nested_exception/79114.cc: New test. 4033 40342017-01-17 Jakub Jelinek <jakub@redhat.com> 4035 4036 PR other/79046 4037 * configure.ac: Add GCC_BASE_VER. 4038 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to 4039 get version from BASE-VER file. 4040 * po/Makefile.in: Regenerated. 4041 * libsupc++/Makefile.in: Regenerated. 4042 * testsuite/Makefile.in: Regenerated. 4043 * src/Makefile.in: Regenerated. 4044 * configure: Regenerated. 4045 * Makefile.in: Regenerated. 4046 * include/Makefile.in: Regenerated. 4047 * doc/Makefile.in: Regenerated. 4048 * python/Makefile.in: Regenerated. 4049 * src/c++11/Makefile.in: Regenerated. 4050 * src/c++98/Makefile.in: Regenerated. 4051 * src/filesystem/Makefile.in: Regenerated. 4052 40532017-01-16 Jonathan Wakely <jwakely@redhat.com> 4054 4055 PR libstdc++/66145 4056 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure 4057 exceptions. 4058 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI 4059 for test, so new ios::failure can be caught. 4060 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise. 4061 * testsuite/27_io/basic_istream/extractors_arithmetic/char/ 4062 exceptions_failbit.cc: Likewise. 4063 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/ 4064 exceptions_failbit.cc: Likewise. 4065 * testsuite/27_io/basic_istream/extractors_other/char/ 4066 exceptions_null.cc: Likewise. 4067 * testsuite/27_io/basic_istream/extractors_other/wchar_t/ 4068 exceptions_null.cc: Likewise. 4069 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise. 4070 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise. 4071 * testsuite/27_io/basic_ostream/inserters_other/char/ 4072 exceptions_null.cc: Likewise. 4073 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/ 4074 exceptions_null.cc: Likewise. 4075 * testsuite/27_io/ios_base/storage/2.cc: Likewise. 4076 4077 PR libstdc++/78702 4078 * include/bits/locale_classes.h (locale::facet::__shim): Change from 4079 private to protected. 4080 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to 4081 make locale::facet::__shim accessible. 4082 40832017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com> 4084 4085 PR libstdc++/78389 4086 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments. 4087 (merge(list&&, _StrictWeakOrdering)): Likewise. 4088 * testsuite/23_containers/list/operations/78389.cc: Add 4089 better test for the sizes. 4090 40912017-01-14 Jonathan Wakely <jwakely@redhat.com> 4092 4093 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: 4094 Skip test when -D_GLIBCXX_PROFILE mode is included in options. 4095 * testsuite/23_containers/map/modifiers/extract.cc: Likewise. 4096 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 4097 Likewise. 4098 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 4099 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. 4100 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. 4101 * testsuite/23_containers/set/modifiers/extract.cc: Likewise. 4102 * testsuite/23_containers/unordered_map/modifiers/extract.cc: 4103 Likewise. 4104 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: 4105 Likewise. 4106 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: 4107 Likewise. 4108 * testsuite/23_containers/unordered_set/modifiers/extract.cc: 4109 Likewise. 4110 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: 4111 Likewise. 4112 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. 4113 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. 4114 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. 4115 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. 4116 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. 4117 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. 4118 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. 4119 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. 4120 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. 4121 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. 4122 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. 4123 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. 4124 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. 4125 41262017-01-13 Jonathan Wakely <jwakely@redhat.com> 4127 4128 PR libstdc++/65411 4129 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't 4130 retry fclose on EINTR. 4131 4132 * include/profile/base.h: Remove unused header that leads to header 4133 cycle in C++17 mode. 4134 4135 PR libstdc++/79075 4136 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string): 4137 Make _If_sv private. 4138 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking 4139 basic_string_view arguments. 4140 4141 PR libstdc++/79075 4142 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove 4143 redundant option from cxxflags. 4144 (check_effective_target_cxx11-abi): Define. 4145 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi 4146 effective target. 4147 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise. 4148 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 4149 Likewise. 4150 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: 4151 Likewise. 4152 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise. 4153 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 4154 Likewise. 4155 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: 4156 Likewise. 4157 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise. 4158 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: 4159 Likewise. 4160 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 4161 Likewise. 4162 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 4163 Likewise. 4164 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: 4165 Likewise. 4166 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 4167 Likewise. 4168 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: 4169 Likewise. 4170 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: 4171 Likewise. 4172 * testsuite/23_containers/list/61347.cc: Likewise. 4173 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise. 4174 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise. 4175 41762017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com> 4177 4178 PR libstdc++/78389 4179 * include/bits/list.tcc (merge(list&&)): 4180 Adjust list sizes if the comparator throws. 4181 (merge(list&&, _StrictWeakOrdering)): Likewise. 4182 (sort()): Splice elements back from the scratch buffers 4183 if the comparator throws. 4184 (sort(_StrictWeakOrdering)): Likewise. 4185 * testsuite/23_containers/list/operations/78389.cc: New. 4186 41872017-01-13 Jonathan Wakely <jwakely@redhat.com> 4188 4189 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark 4190 XFAIL for C++17 until node reinsertion supports fancy pointers. 4191 4192 PR libstdc++/78361 4193 * testsuite/20_util/add_pointer/value.cc: Test forming function 4194 pointers. 4195 41962017-01-13 Michael Brune <lucdanton@free.fr> 4197 4198 PR libstdc++/78361 4199 * include/std/type_traits (__is_referenceable): Handle noexcept 4200 function types. 4201 42022017-01-12 Jonathan Wakely <jwakely@redhat.com> 4203 4204 PR libstdc++/77528 4205 * include/bits/stl_queue.h (queue, priority_queue): Remove default 4206 member-initializers and define default constructors as templates with 4207 constraints. 4208 * include/bits/stl_stack.h (stack): Likewise. 4209 * testsuite/23_containers/priority_queue/requirements/constructible.cc: 4210 New. 4211 * testsuite/23_containers/priority_queue/requirements/ 4212 explicit_instantiation/1.cc: Test more instantiations. 4213 * testsuite/23_containers/priority_queue/requirements/ 4214 explicit_instantiation/1_c++98.cc: Likewise. 4215 * testsuite/23_containers/queue/requirements/constructible.cc: New. 4216 * testsuite/23_containers/stack/requirements/constructible.cc: New. 4217 4218 PR libstdc++/66284 4219 * doc/xml/manual/intro.xml: Document LWG 2781 change. 4220 * doc/html/*: Regenerate. 4221 * include/std/functional (_Function_base::_Ref_manager): Remove. 4222 (_Function_handler): Remove partial specializations for 4223 reference_wrapper. 4224 (function::target): Remove special case for const qualification. 4225 * testsuite/20_util/function/6.cc: Adjust tests for target type. 4226 * testsuite/20_util/function/7.cc: Likewise. 4227 * testsuite/20_util/function/8.cc: Likewise. 4228 42292017-01-11 Jonathan Wakely <jwakely@redhat.com> 4230 4231 PR libstdc++/78134 4232 * include/bits/stl_map.h (map::lower_bound, map::upper_bound) 4233 (map::equal_range): Fix return type of heterogeneous overloads. 4234 * include/bits/stl_multimap.h (multimap::lower_bound) 4235 (multimap::upper_bound, multimap::equal_range): Likewise. 4236 * include/bits/stl_multiset.h (multiset::lower_bound) 4237 (multiset::upper_bound, multiset::equal_range): Likewise. 4238 * include/bits/stl_set.h (set::lower_bound, set::upper_bound) 4239 (set::equal_range): Likewise. 4240 * testsuite/23_containers/map/operations/2.cc 4241 * testsuite/23_containers/multimap/operations/2.cc 4242 * testsuite/23_containers/multiset/operations/2.cc 4243 * testsuite/23_containers/set/operations/2.cc 4244 4245 PR libstdc++/78273 4246 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume 4247 the heterogeneous comparison can only find one match. 4248 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise. 4249 * testsuite/23_containers/map/operations/2.cc: Test count works with 4250 comparison function that just partitions rather than sorting. 4251 * testsuite/23_containers/set/operations/2.cc: Likewise. 4252 42532017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com> 4254 4255 Reduce the size of variant, it doesn't need an index of 4256 type size_t internally. 4257 * include/std/variant (parse_numbers.h): New include. 4258 (__select_index): New. 4259 (_Variant_storage<false, _Types...>::_M_reset_impl): Use 4260 _index_type for comparison with variant_npos. 4261 (_Variant_storage<false, _Types...>::__index_type): New. 4262 (_Variant_storage<false, _Types...>::_M_index): Change the 4263 type from size_t to __index_type. 4264 (_Variant_storage<true, _Types...>::__index_type): New. 4265 (_Variant_storage<true, _Types...>::_M_index): Change the 4266 type from size_t to __index_type. 4267 (_Variant_base::_M_valid): Use _Storage::__index_type 4268 for comparison with variant_npos. 4269 (variant::index): Use _Base::_Storage::__index_type 4270 for comparison with variant_npos. 4271 * testsuite/20_util/variant/index_type.cc: New. 4272 42732017-01-10 Jonathan Wakely <jwakely@redhat.com> 4274 4275 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust 4276 effective target selector to prevent running in C++17 mode. 4277 4278 PR libstdc++/77528 4279 * include/bits/stl_queue.h (queue::c): Add default member initializer. 4280 (queue::queue()): Add constructor and define as defaulted. 4281 (queue::queue(_Sequence&&)): Remove default argument. 4282 (priority_queue::c, priority_queue::comp): Add default member 4283 initializers. 4284 (priority_queue::priority_queue()): Add constructor and define as 4285 defaulted. 4286 (priority_queue::priority_queue(const _Compare&, _Sequence&&)): 4287 Remove default argument for first parameter. 4288 * include/bits/stl_stack.h (stack::c): Add default member initializer. 4289 (stack::stack()): Add constructor and define as defaulted. 4290 (stack::stack(const _Sequence&)): Remove default argument. 4291 * testsuite/23_containers/priority_queue/requirements/ 4292 explicit_instantiation/1.cc: Test explicit instantiation with 4293 non-DefaultConstructible sequence. 4294 * testsuite/23_containers/priority_queue/77528.cc: New test. 4295 * testsuite/23_containers/priority_queue/requirements/ 4296 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc. 4297 * testsuite/23_containers/queue/77528.cc: New test. 4298 * testsuite/23_containers/queue/requirements/explicit_instantiation/ 4299 1.cc: Test explicit instantiation with non-DefaultConstructible 4300 sequence. 4301 * testsuite/23_containers/queue/requirements/explicit_instantiation/ 4302 1_c++0x.cc: Replace with 1_c++98.cc. 4303 * testsuite/23_containers/stack/77528.cc: New test. 4304 * testsuite/23_containers/stack/requirements/explicit_instantiation/ 4305 1.cc: Test explicit instantiation with non-DefaultConstructible 4306 sequence. 4307 * testsuite/23_containers/stack/requirements/explicit_instantiation/ 4308 1_c++0x.cc: Replace with 1_c++98.cc. 4309 43102017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br> 4311 4312 * include/bits/locale_facets_nonio.tcc 4313 (time_get::_M_extract_via_format): Avoid compilation errors with 4314 non-standard struct tm. 4315 43162017-01-10 François Dumont <fdumont@gcc.gnu.org> 4317 Jonathan Wakely <jwakely@redhat.com> 4318 4319 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define. 4320 (is_specialization, strip_versioned_namespace): New helpers functions 4321 to work with symbols in the versioned namespace. 4322 (Printer.add_version): Add second name using versioned namespace. 4323 (add_one_template_type_printer, add_one_type_printer): Add second 4324 type printers using versioned namespace. 4325 (register_type_printers): Add template type printer for basic_string. 4326 (build_libstdcxx_dictionary): Remove dead code. 4327 * python/libstdcxx/v6/xmethods.py: Make all matchers look for 4328 versioned namespace. 4329 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected 4330 results. 4331 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. 4332 43332017-01-09 Jonathan Wakely <jwakely@redhat.com> 4334 4335 PR libstdc++/79017 4336 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround 4337 functions separately on darwin and if they're missing define 4338 _GLIBCXX_NO_C99_ROUNDING_FUNCS. 4339 * config.h.in: Regenerate. 4340 * configure: Regenerate. 4341 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) 4342 (llrintf, llrintl, llround, llroundf, llroundl): Do not define. 4343 4344 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro 4345 to detect correct thread_local destructors. 4346 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): 4347 Define. 4348 43492017-01-09 Jonathan Wakely <jwakely@redhat.com> 4350 Aditya Kumar <hiraditya@msn.com> 4351 4352 PR libstdc++/66414 4353 * include/bits/basic_string.tcc 4354 (basic_string::find(const CharT*, size_type, size_type)): Optimize. 4355 43562017-01-06 Jonathan Wakely <jwakely@redhat.com> 4357 4358 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New. 4359 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New. 4360 4361 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp: 4362 Include <cassert> header. 4363 4364 PR libstdc++/78968 4365 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*. 4366 * configure: Regenerate. 4367 43682017-01-06 Barrett Adair <barrettellisadair@gmail.com> 4369 Jonathan Wakely <jwakely@redhat.com> 4370 4371 * include/std/variant (variant, swap): Replace __and_ usage with fold 4372 expressions. 4373 43742017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4375 4376 PR go/78978 4377 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove. 4378 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of 4379 GLIBCXX_CHECK_ASSEMBLER_HWCAP. 4380 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of 4381 HWCAP_FLAGS. 4382 * aclocal.m4: Regenerate. 4383 * configure: Regenerate. 4384 * Makefile.in, doc/Makefile.in, include/Makefile.in, 4385 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in, 4386 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in, 4387 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate. 4388 43892017-01-06 Jonathan Wakely <jwakely@redhat.com> 4390 4391 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition. 4392 4393 PR libstdc++/78991 4394 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val) 4395 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val) 4396 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and 4397 move function objects. 4398 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter) 4399 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects. 4400 * testsuite/25_algorithms/sort/78991.cc: New test. 4401 44022017-01-05 Jonathan Wakely <jwakely@redhat.com> 4403 4404 * include/bits/std_function.h (function::_Signature_type): Remove. 4405 (function::function(_Functor)): Adjust. 4406 44072017-01-05 Tim Shen <timshen@google.com> 4408 4409 PR libstdc++/78996 4410 * include/std/variant (__gen_vtable_impl): rename __unused to 4411 __dimensions to avoid naming conflict. 4412 44132017-01-04 Jonathan Wakely <jwakely@redhat.com> 4414 4415 PR libstdc++/78968 4416 * config.h.in: Regenerate. 4417 * configure: Likewise. 4418 * configure.ac: Check for __cxa_thread_atexit. 4419 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]: 4420 Don't define __cxa_thread_atexit if libc provides it. 4421 44222017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com> 4423 4424 Implement 2801, Default-constructibility of unique_ptr. 4425 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New. 4426 (unique_ptr::_DeleterConstraint): Likewise. 4427 (unique_ptr()): Constrain. 4428 (unique_ptr(pointer)): Likewise. 4429 (unique_ptr(nullptr_t)): Likewise. 4430 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New. 4431 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain. 4432 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise. 4433 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise. 4434 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. 4435 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise. 4436 * testsuite/20_util/unique_ptr/cons/default.cc: New. 4437 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust. 4438 44392017-01-04 Pauli Nieminen <suokkos@gmail.com> 4440 Jonathan Wakely <jwakely@redhat.com> 4441 4442 PR libstdc++/64735 4443 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define. 4444 * config.h.in: Regenerate. 4445 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46] 4446 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make 4447 exports for exception_ptr, nested_exception, and future conditional. 4448 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add 4449 exports for exception_ptr, nested_exception, and future conditional. 4450 * configure: Regenerate. 4451 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER. 4452 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE 4453 * libsupc++/eh_atomics.h: New file for internal use only. 4454 (__eh_atomic_inc, __eh_atomic_dec): New. 4455 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref) 4456 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup) 4457 (rethrow_exception): Use eh_atomics.h reference counting helpers. 4458 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise. 4459 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise. 4460 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE. 4461 * libsupc++/exception_ptr.h: Likewise. 4462 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro. 4463 * libsupc++/nested_exception.cc: Remove check for 4464 ATOMIC_INT_LOCK_FREE. 4465 * libsupc++/nested_exception.h: Likewise. 4466 * src/c++11/future.cc: Likewise. 4467 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks. 4468 * testsuite/18_support/nested_exception/*: Likewise. 4469 * testsuite/30_threads/async/*: Likewise. 4470 * testsuite/30_threads/future/*: Likewise. 4471 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise. 4472 * testsuite/30_threads/packaged_task/*: Likewise. 4473 * testsuite/30_threads/promise/*: Likewise. 4474 * testsuite/30_threads/shared_future/*: Likewise. 4475 44762017-01-03 Gerald Pfeifer <gerald@pfeifer.com> 4477 4478 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now 4479 defaults to https; adjust reference. 4480 44812017-01-03 Jonathan Wakely <jwakely@redhat.com> 4482 4483 PR libstdc++/78956 4484 * include/std/thread (thread(const thread&&)): Add deleted 4485 constructor. 4486 * testsuite/30_threads/thread/cons/lwg2097.cc: New test. 4487 4488 * doc/xml/manual/spine.xml: Update copyright years. 4489 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir. 4490 * doc/xml/manual/test.xml: Likewise. 4491 * doc/html/*: Regenerate. 4492 44932017-01-01 Gerald Pfeifer <gerald@pfeifer.com> 4494 4495 * doc/xml/faq.xml: Update address of C++ ABI link. 4496 * doc/xml/manual/abi.xml: Ditto. 4497 44982017-01-01 Jakub Jelinek <jakub@redhat.com> 4499 4500 Update copyright years. 4501 4502Copyright (C) 2017 Free Software Foundation, Inc. 4503 4504Copying and distribution of this file, with or without modification, 4505are permitted in any medium without royalty provided the copyright 4506notice and this notice are preserved. 4507