12015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net> 2 3 * include/bits/c++0x_warning.h Remove experimental language. 4 52015-12-24 Jason Merrill <jason@redhat.com> 6 7 * testsuite/ext/bitmap_allocator/check_deallocate_null.cc 8 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: 9 Correct use of __GXX_WEAK__ macro. 10 112015-12-22 Jonathan Wakely <jwakely@redhat.com> 12 13 PR libstdc++/59768 14 * include/std/functional (__invfwd): Add inline specifier. 15 162015-12-21 Jonathan Wakely <jwakely@redhat.com> 17 18 PR libstdc++/68982 19 testsuite/20_util/function_objects/mem_fn/68276.cc: Rename to ... 20 testsuite/20_util/function_objects/mem_fn/68982.cc: Correct bug number. 21 22 PR libstdc++/68995 23 * include/std/functional (_function_handler, function): Qualify 24 __callable_functor. 25 * testsuite/20_util/function/68995.cc: New. 26 27 PR libstdc++/68276 28 * include/std/functional (__invoke_impl, _Mem_fn::operator()): Qualify 29 std::forward. 30 testsuite/20_util/function_objects/mem_fn/68276.cc: New. 31 322015-12-21 Ville Voutilainen <ville.voutilainen@gmail.com> 33 34 PR libstdc++/66693 35 * include/std/tuple (tuple_element, tuple_size, tuple_element_t, 36 __tuple_element_t): Move to... 37 * include/std/utility: ...here. 38 * testsuite/20_util/pair/astuple/astuple.cc: Adjust. 39 * testsuite/20_util/pair/astuple/astuple_cpp14.cc: New. 40 * testsuite/20_util/tuple/tuple_element.cc: Adjust. 41 * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. 42 * testsuite/20_util/tuple/tuple_size.cc: Likewise. 43 * testsuite/23_containers/array/tuple_interface/tuple_element.cc: 44 Likewise. 45 * testsuite/23_containers/array/tuple_interface/tuple_element_cpp14.cc: 46 New. 47 * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Adjust. 48 492015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 50 51 Fix a regression introduced by the fix of libstdc++/68276. 52 * src/c++11/ios.cc (_M_grow_words): Catch bad_alloc again so that 53 bad_array_new_length is handled properly. 54 552015-12-18 Ville Voutilainen <ville.voutilainen@gmail.com> 56 57 PR libstdc++/68276 58 59 * src/c++11/ios.cc (_M_grow_words): Use nothrow new. 60 * testsuite/27_io/ios_base/storage/11584.cc: Adjust. 61 622015-12-18 Andris Pavenis <andris.pavenis@iki.fi> 63 64 * config/os/djgpp/error_constants.h: update according to DJGPP errno 65 macros. 66 672015-12-15 Jonathan Wakely <jwakely@redhat.com> 68 69 PR libstdc++/68921 70 * src/c++11/futex.cc 71 (__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer 72 as timeout argument. 73 74 * include/std/functional (_Mu<_Arg, false, false>::operator()): Restore 75 accidentally-removed volatile qualifier. 76 77 * include/std/functional (is_placeholder, is_bind_expression): Update 78 comments. 79 (_Safe_tuple_element): Replace with _Safe_tuple_element_t alias 80 template. 81 (_Mu): Remove vestigial TR1 return types and update coments. 82 83 PR libstdc++/68912 84 * include/std/functional (_Bind::operator()): Use lvalue functor to 85 deduce return type. 86 * testsuite/20_util/bind/68912.cc: New. 87 882015-12-15 Tim Shen <timshen@google.com> 89 90 PR libstdc++/68863 91 * include/bits/regex_executor.tcc (_Executor::_M_lookahead): 92 Copy the captured content for lookahead, so that the backreferences 93 inside can refer to them. 94 * testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc: 95 New testcase. 96 972015-12-14 Ville Voutilainen <ville.voutilainen@gmail.com> 98 99 Document the implementation of Logical Operator Type Traits. 100 101 * doc/html/index.html: Regenerate. 102 * doc/html/manual/status.html: Likewise. 103 * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z 104 and to Library Fundamentals 2 TS. 105 1062015-12-11 Jonathan Wakely <jwakely@redhat.com> 107 108 PR libstdc++/59768 109 * include/std/functional (_Unwrap, __invfwd): Define. 110 (__invoke_impl): Remove reference_wrapper overloads and use __invfwd. 111 * include/std/type_traits (__result_of_memobj, __result_of_memfun): 112 Add partial specializations for const reference_wrappers and simplify. 113 * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors. 114 * testsuite/20_util/function_objects/invoke/59768.cc: New. 115 1162015-12-11 Ville Voutilainen <ville.voutilainen@gmail.com> 117 118 PR libstdc++/68139 119 120 * libsupc++/nested_exception.h (_S_rethrow): Use std::__addressof. 121 * testsuite/18_support/nested_exception/68139.cc: New. 122 1232015-12-10 Jonathan Wakely <jwakely@redhat.com> 124 125 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: Replace 126 -std=gnu++1y with -std=gnu++14. 127 * testsuite/experimental/memory/shared_ptr/cast/cast.cc: Likewise. 128 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: 129 Likewise. 130 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: 131 Likewise. 132 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: 133 Likewise. 134 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: 135 Likewise. 136 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: 137 Likewise. 138 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: 139 Likewise. 140 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: 141 Likewise. 142 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: 143 Likewise. 144 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 145 Likewise. 146 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: 147 Likewise. 148 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: Likewise. 149 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: 150 Likewise. 151 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: 152 Likewise. 153 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: 154 Likewise. 155 * testsuite/experimental/memory/shared_ptr/observers/operators.cc: 156 Likewise. 157 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: 158 Likewise. 159 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: 160 Likewise. 161 162 PR libstdc++/68825 163 * include/experimental/bits/shared_ptr.h (__shared_ptr, __weak_ptr, 164 experimental::shared_ptr, experimental::weak_ptr): Constrain 165 assignment operators. 166 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: 167 Change to a compile-only test and change dg-excess-errors to dg-error. 168 169 * doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers 170 to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update 171 PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages. 172 * include/backward/strstream: Correct @file comment. 173 * include/bits/forward_list.h: Improve Doxygen comments. 174 * include/bits/locale_facets_nonio.h: Likewise. 175 * include/bits/mutex.h: Likewise. 176 * include/bits/shared_ptr.h: Likewise. 177 * include/bits/stl_deque.h: Likewise. 178 * include/debug/vector (_Safe_vector): Add @brief section to comment. 179 * include/experimental/bits/fs_dir.h: Correct @file comment. 180 * include/experimental/bits/fs_fwd.h: Likewise. 181 * include/experimental/bits/fs_ops.h: Likewise. 182 * include/experimental/bits/fs_path.h: Likewise. 183 * include/experimental/bits/string_view.tcc: Likewise. 184 * include/experimental/optional: Document experimental status. 185 * include/experimental/string_view: Correct @file comment. 186 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce 187 whitespace to avoid Doxygen bug. 188 * include/std/bitset: Remove redundant @class Doxygen command. Add 189 parentheses to avoid Doxygen bug. 190 * include/std/mutex: Improve Doxygen comments. 191 * include/tr2/dynamic_bitset: Add missing @param documentation. 192 * scripts/run_doxygen: Rename man pages for std::experimental types. 193 1942015-12-04 Jonathan Wakely <jwakely@redhat.com> 195 196 PR libstdc++/57060 197 * include/std/thread (operator==(thread::id, thread::id)): Do not use 198 __gthread_equal. 199 (operator<(thread::id, thread::id)): Add comment. 200 (this_thread::get_id()): Do not use __gthread_self for single-threaded 201 programs using glibc. 202 * testsuite/30_threads/this_thread/57060.cc: New. 203 2042015-12-02 Jonathan Wakely <jwakely@redhat.com> 205 206 PR libstdc++/56383 207 * testsuite/20_util/enable_shared_from_this/56383.cc: New. 208 * include/bits/shared_ptr_base.h (__enable_shared_from_this): Make 209 friend declaration match previous declaration of 210 __enable_shared_from_this_helper. 211 * include/bits/shared_ptr.h (enable_shared_from_this): Likewise. 212 2132015-12-01 Jonathan Wakely <jwakely@redhat.com> 214 215 * include/experimental/bits/fs_path.h (path::_Cmpt): Move definition 216 after __is_encoded_char explicit specializations. 217 2182015-11-26 Jonathan Wakely <jwakely@redhat.com> 219 220 * testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to 221 dg-options and avoid use of uniform-init. 222 223 * testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to 224 dg-options and avoid use of uniform-init. 225 2262015-11-26 David Edelsohn <dje.gcc@gmail.com> 227 228 * configure: Regenerate. 229 2302015-11-25 Jonathan Wakely <jwakely@redhat.com> 231 232 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Explicitly 233 check minimum and maximum values, and size of underlying type. 234 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 235 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 236 2372015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 238 239 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY) <solaris2*>: Use 240 -Wl,-R in VTV_CXXLINKFLAGS. 241 * configure: Regenerate. 242 243 * testsuite/18_support/bad_exception/23591_thread-1.c: Use 244 -fvtable-verify=none on Solaris 12+. 245 2462015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 247 248 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test. 249 * configure.ac: Use it. 250 * configure: Regenerate. 251 * config.h.in: Regenerate. 252 253 * include/c_global/cmath [__cplusplus >= 201103L] 254 (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. 255 (std::isfinite): Likewise. 256 (std::isinf): Likewise. 257 (std::isnan): Likewise. 258 (std::isnormal): Likewise. 259 (std::signbit): Likewise. 260 (std::isgreater): Likewise. 261 (std::isgreaterequal): Likewise. 262 (std::isless): Likewise. 263 (std::islessequal): Likewise. 264 (std::islessgreater): Likewise. 265 (std::isunordered): Likewise. 266 (std::acosh): Likewise. 267 (std::asinh): Likewise. 268 (std::atanh): Likewise. 269 (std::cbrt): Likewise. 270 (std::copysign): Likewise. 271 (std::erf): Likewise. 272 (std::erfc): Likewise. 273 (std::exp2): Likewise. 274 (std::expm1): Likewise. 275 (std::fdim): Likewise. 276 (std::fma): Likewise. 277 (std::fmax): Likewise. 278 (std::fmin): Likewise. 279 (std::hypot): Likewise. 280 (std::ilogb): Likewise. 281 (std::lgamma): Likewise. 282 (std::llrint): Likewise. 283 (std::llround): Likewise. 284 (std::log1p): Likewise. 285 (std::log2): Likewise. 286 (std::logb): Likewise. 287 (std::lrint): Likewise. 288 (std::lround): Likewise. 289 (std::nearbyint): Likewise. 290 (std::nextafter): Likewise. 291 (std::nexttoward): Likewise. 292 (std::remainder): Likewise. 293 (std::remquo): Likewise. 294 (std::rint): Likewise. 295 (std::round): Likewise. 296 (std::scalbln): Likewise. 297 (std::scalbn): Likewise. 298 (std::tgamma): Likewise. 299 (std::trunc): Likewise. 300 * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh): 301 Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO. 302 (std::tr1::asinh): Likewise. 303 (std::tr1::atanh): Likewise. 304 (std::tr1::cbrt): Likewise. 305 (std::tr1::copysign): Likewise. 306 (std::tr1::erf): Likewise. 307 (std::tr1::erfc): Likewise. 308 (std::tr1::exp2): Likewise. 309 (std::tr1::expm1): Likewise. 310 (std::tr1::fabs): Likewise. 311 (std::tr1::fdim): Likewise. 312 (std::tr1::fma): Likewise. 313 (std::tr1::fmax): Likewise. 314 (std::tr1::fmin): Likewise. 315 (std::tr1::hypot): Likewise. 316 (std::tr1::ilogb): Likewise. 317 (std::tr1::lgamma): Likewise. 318 (std::tr1::llrint): Likewise. 319 (std::tr1::llround): Likewise. 320 (std::tr1::log1p): Likewise. 321 (std::tr1::log2): Likewise. 322 (std::tr1::logb): Likewise. 323 (std::tr1::lrint): Likewise. 324 (std::tr1::lround): Likewise. 325 (std::tr1::nearbyint): Likewise. 326 (std::tr1::nextafter): Likewise. 327 (std::tr1::nexttoward): Likewise. 328 (std::tr1::remainder): Likewise. 329 (std::tr1::remquo): Likewise. 330 (std::tr1::rint): Likewise. 331 (std::tr1::scalbln): Likewise. 332 (std::tr1::scalbn): Likewise. 333 (std::tr1::tgamma): Likewise. 334 (std::tr1::trunc): Likewise. 335 (std::tr1::pow): Likewise. 336 337 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: 338 Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*. 339 3402015-11-21 David Edelsohn <dje.gcc@gmail.com> 341 342 * testsuite/23_containers/vector/profile/vector.cc: Add maxdata 343 option on AIX. 344 3452015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com> 346 347 PR libstdc++/68448 348 * python/hook.in: Call register_libstdcxx_printers. 349 * python/libstdcxx/v6/__init__.py: Wrap it to 350 register_libstdcxx_printers. 351 3522015-11-17 Jonathan Wakely <jwakely@redhat.com> 353 354 PR libstdc++/66059 355 * include/std/utility (_Build_index_tuple): Optimise. 356 3572015-11-16 Doug Evans <dje@google.com> 358 359 PR libstdc++/67440 360 * python/libstdcxx/v6/printers.py (find_type): Handle "const" in 361 type name. 362 * testsuite/libstdc++-prettyprinters/debug.cc: Add test for 363 const set<int>. 364 * testsuite/libstdc++-prettyprinters/simple.cc: Ditto. 365 * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto. 366 3672015-11-15 Jonathan Wakely <jwakely@redhat.com> 368 369 PR libstdc++/68353 370 * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR 371 not whether it is defined. 372 * include/ext/vstring.h: Likewise. 373 3742015-11-14 Andreas Tobler <andreast@gcc.gnu.org> 375 376 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation 377 from darwin to DragonFly. 378 * configure: Regenerate. 379 * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale 380 support, do it the same as DragonFly. 381 * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines. 382 3832015-11-14 Jonathan Wakely <jwakely@redhat.com> 384 385 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use 386 real minimum capacity. 387 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: 388 Likewise. 389 3902015-11-13 David Edelsohn <dje.gcc@gmail.com> 391 392 * testsuite/experimental/random/randint.cc: Add dg-add-options tls. 393 3942015-11-13 Jonathan Wakely <jwakely@redhat.com> 395 396 * include/Makefile.am: Add new header. 397 * include/Makefile.in: Regenerate. 398 * include/experimental/random: New. 399 * testsuite/experimental/random/randint.cc: New. 400 4012015-11-13 John Marino <gnugcc@marino.st> 402 403 * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc: 404 Use portable locale name 405 * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc: 406 Likewise. 407 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise. 408 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise. 409 * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc: 410 Likewise. 411 * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc: 412 Likewise. 413 * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise. 414 * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc: 415 Likewise. 416 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise. 417 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise. 418 * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc: 419 Likewise. 420 * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc: 421 Likewise. 422 * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise. 423 * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise. 424 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise. 425 * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise. 426 * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise. 427 * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise. 428 * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise. 429 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise. 430 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise. 431 * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise. 432 * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc: 433 Likewise. 434 * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise. 435 * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc: 436 Likewise. 437 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise. 438 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise. 439 * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc: 440 Likewise. 441 * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc: 442 Likewise. 443 * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise. 444 * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise. 445 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise. 446 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise. 447 * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise. 448 * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise. 449 * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise. 450 * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise. 451 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise. 452 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise. 453 * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise. 454 * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc: 455 Likewise. 456 * testsuite/22_locale/codecvt_byname/50714.cc: Likewise. 457 * testsuite/22_locale/collate/compare/char/1.cc: Likewise. 458 * testsuite/22_locale/collate/compare/char/2.cc: Likewise. 459 * testsuite/22_locale/collate/compare/char/3.cc: Likewise. 460 * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise. 461 * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise. 462 * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise. 463 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise. 464 * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise. 465 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise. 466 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: 467 Likewise. 468 * testsuite/22_locale/collate/hash/char/2.cc: Likewise. 469 * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise. 470 * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise. 471 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise. 472 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise. 473 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise. 474 * testsuite/22_locale/collate/transform/char/2.cc: Likewise. 475 * testsuite/22_locale/collate/transform/char/3.cc: Likewise. 476 * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise. 477 * testsuite/22_locale/collate/transform/char/wrapped_locale.cc: 478 Likewise. 479 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise. 480 * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise. 481 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: 482 Likewise. 483 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc: 484 Likewise. 485 * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise. 486 * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise. 487 * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise. 488 * testsuite/22_locale/ctype/is/char/2.cc: Likewise. 489 * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise. 490 * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise. 491 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. 492 * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise. 493 * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise. 494 * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise. 495 * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise. 496 * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise. 497 * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise. 498 * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise. 499 * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise. 500 * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise. 501 * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise. 502 * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise. 503 * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise. 504 * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise. 505 * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise. 506 * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise. 507 * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise. 508 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise. 509 * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise. 510 * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise. 511 * testsuite/22_locale/facet/2.cc: Likewise. 512 * testsuite/22_locale/locale/cons/12352.cc: Likewise. 513 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. 514 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. 515 * testsuite/22_locale/locale/cons/2.cc: Likewise. 516 * testsuite/22_locale/locale/cons/38365.cc: Likewise. 517 * testsuite/22_locale/locale/cons/38368.cc: Likewise. 518 * testsuite/22_locale/locale/cons/4.cc: Likewise. 519 * testsuite/22_locale/locale/cons/40184.cc: Likewise. 520 * testsuite/22_locale/locale/cons/7.cc: Likewise. 521 * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise. 522 * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise. 523 * testsuite/22_locale/messages/13631.cc: Likewise. 524 * testsuite/22_locale/messages/members/char/1.cc: Likewise. 525 * testsuite/22_locale/messages/members/char/2.cc: Likewise. 526 * testsuite/22_locale/messages/members/char/3.cc: Likewise. 527 * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise. 528 * testsuite/22_locale/messages/members/char/wrapped_locale.cc: 529 Likewise. 530 * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise. 531 * testsuite/22_locale/money_get/get/char/1.cc: Likewise. 532 * testsuite/22_locale/money_get/get/char/10.cc: Likewise. 533 * testsuite/22_locale/money_get/get/char/11.cc: Likewise. 534 * testsuite/22_locale/money_get/get/char/11528.cc: Likewise. 535 * testsuite/22_locale/money_get/get/char/12.cc: Likewise. 536 * testsuite/22_locale/money_get/get/char/13.cc: Likewise. 537 * testsuite/22_locale/money_get/get/char/15.cc: Likewise. 538 * testsuite/22_locale/money_get/get/char/16.cc: Likewise. 539 * testsuite/22_locale/money_get/get/char/17.cc: Likewise. 540 * testsuite/22_locale/money_get/get/char/18.cc: Likewise. 541 * testsuite/22_locale/money_get/get/char/2.cc: Likewise. 542 * testsuite/22_locale/money_get/get/char/3.cc: Likewise. 543 * testsuite/22_locale/money_get/get/char/4.cc: Likewise. 544 * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise. 545 * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise. 546 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise. 547 * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise. 548 * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise. 549 * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise. 550 * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise. 551 * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise. 552 * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise. 553 * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise. 554 * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise. 555 * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise. 556 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise. 557 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise. 558 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise. 559 * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise. 560 * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc: 561 Likewise. 562 * testsuite/22_locale/money_put/put/char/1.cc: Likewise. 563 * testsuite/22_locale/money_put/put/char/2.cc: Likewise. 564 * testsuite/22_locale/money_put/put/char/3.cc: Likewise. 565 * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise. 566 * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise. 567 * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise. 568 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise. 569 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise. 570 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise. 571 * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise. 572 * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc: 573 Likewise. 574 * testsuite/22_locale/moneypunct/40712.cc: Likewise. 575 * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise. 576 * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc: 577 Likewise. 578 * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc: 579 Likewise. 580 * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise. 581 * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc: 582 Likewise. 583 * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc: 584 Likewise. 585 * testsuite/22_locale/moneypunct_byname/named_equivalence.cc: 586 Likewise. 587 * testsuite/22_locale/num_get/get/char/1.cc: Likewise. 588 * testsuite/22_locale/num_get/get/char/3.cc: Likewise. 589 * testsuite/22_locale/num_get/get/char/5.cc: Likewise. 590 * testsuite/22_locale/num_get/get/char/6.cc: Likewise. 591 * testsuite/22_locale/num_get/get/char/9.cc: Likewise. 592 * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise. 593 * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise. 594 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise. 595 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise. 596 * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise. 597 * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise. 598 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise. 599 * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise. 600 * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise. 601 * testsuite/22_locale/num_put/put/char/1.cc: Likewise. 602 * testsuite/22_locale/num_put/put/char/20909.cc: Likewise. 603 * testsuite/22_locale/num_put/put/char/20914.cc: Likewise. 604 * testsuite/22_locale/num_put/put/char/3.cc: Likewise. 605 * testsuite/22_locale/num_put/put/char/5.cc: Likewise. 606 * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise. 607 * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise. 608 * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise. 609 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise. 610 * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise. 611 * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise. 612 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise. 613 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise. 614 * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise. 615 * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise. 616 * testsuite/22_locale/numpunct/members/char/2.cc: Likewise. 617 * testsuite/22_locale/numpunct/members/char/3.cc: Likewise. 618 * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise. 619 * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc: 620 Likewise. 621 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise. 622 * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc: 623 Likewise. 624 * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc: 625 Likewise. 626 * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise. 627 * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc: 628 Likewise. 629 * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc: 630 Likewise. 631 * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc: 632 Likewise. 633 * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc: 634 Likewise. 635 * testsuite/22_locale/time_get/get/char/2.cc: Likewise. 636 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise. 637 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise. 638 * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise. 639 * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise. 640 * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise. 641 * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc: 642 Likewise. 643 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise. 644 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise. 645 * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise. 646 * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise. 647 * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc: 648 Likewise. 649 * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc: 650 Likewise. 651 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise. 652 * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc: 653 Likewise. 654 * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc: 655 Likewise. 656 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise. 657 * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc: 658 Likewise. 659 * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc: 660 Likewise. 661 * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise. 662 * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise. 663 * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc: 664 Likewise. 665 * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc: 666 Likewise. 667 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise. 668 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise. 669 * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc: 670 Likewise. 671 * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc: 672 Likewise. 673 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise. 674 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise. 675 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise. 676 * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc: 677 Likewise. 678 * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc: 679 Likewise. 680 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise. 681 * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc: 682 Likewise. 683 * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc: 684 Likewise. 685 * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise. 686 * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc: 687 Likewise. 688 * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc: 689 Likewise. 690 * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc: 691 Likewise. 692 * testsuite/22_locale/time_put/put/char/17038.cc: Likewise. 693 * testsuite/22_locale/time_put/put/char/2.cc: Likewise. 694 * testsuite/22_locale/time_put/put/char/3.cc: Likewise. 695 * testsuite/22_locale/time_put/put/char/4.cc: Likewise. 696 * testsuite/22_locale/time_put/put/char/6.cc: Likewise. 697 * testsuite/22_locale/time_put/put/char/7.cc: Likewise. 698 * testsuite/22_locale/time_put/put/char/8.cc: Likewise. 699 * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise. 700 * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise. 701 * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise. 702 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise. 703 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise. 704 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise. 705 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise. 706 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise. 707 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise. 708 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise. 709 * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise. 710 * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise. 711 * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise. 712 * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise. 713 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise. 714 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise. 715 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise. 716 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise. 717 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise. 718 * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise. 719 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise. 720 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise. 721 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise. 722 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise. 723 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise. 724 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise. 725 * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise. 726 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise. 727 * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise. 728 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc: 729 Likewise. 730 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc: 731 Likewise. 732 * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise. 733 * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise. 734 * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise. 735 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise. 736 * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise. 737 * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise. 738 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise. 739 * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise. 740 * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc: 741 Likewise. 742 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise. 743 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: 744 Likewise. 745 * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise. 746 * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc: 747 Likewise. 748 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise. 749 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: 750 Likewise. 751 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise. 752 * testsuite/27_io/objects/wchar_t/9520.cc: Likewise. 753 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check 754 for named locale as appropriate for target. 755 * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form 756 target's preferred form of locale name. 757 7582015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com> 759 Jonathan Wakely <jwakely@redhat.com> 760 761 PR libstdc++/58393 762 PR libstdc++/61580 763 * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with 764 -std=c++11 as well as -std=c++98, and define separate macros for each. 765 Cache the results of checking for complex math and wide character 766 functions. Reformat for readability. 767 * config.h.in: Regenerate. 768 * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to 769 either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to 770 language standard in use. 771 * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace 772 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 773 * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. 774 * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. 775 * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, 776 _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. 777 * configure: Regenerate. 778 * include/bits/basic_string.h: Make numeric conversion functions 779 depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or 780 _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. 781 * include/ext/vstring.h: Likewise. 782 * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): 783 Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 784 * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): 785 Likewise. 786 * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with 787 _GLIBCXX_USE_C99_MATH. 788 * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with 789 _GLIBCXX_USE_C99_WCHAR. 790 * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with 791 _GLIBCXX_USE_C99_STDIO. 792 * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with 793 _GLIBCXX_USE_C99_STDLIB. 794 * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with 795 _GLIBCXX_USE_C99_WCHAR. 796 * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with 797 _GLIBCXX_USE_C99_STDIO. 798 * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with 799 _GLIBCXX_USE_C99_STDLIB. 800 * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with 801 _GLIBCXX_USE_C99_WCHAR. 802 * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with 803 _GLIBCXX_USE_C99_STDIO. 804 * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with 805 _GLIBCXX_USE_C99_STDLIB. 806 * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with 807 _GLIBCXX_USE_C99_WCHAR. 808 * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with 809 _GLIBCXX_USE_C99_STDLIB. 810 * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): 811 Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 812 * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace 813 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 814 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. 815 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc 816 (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. 817 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 818 stof.cc: Likewise. 819 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 820 stoi.cc: Likewise. 821 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 822 stol.cc: Likewise. 823 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 824 stold.cc: Likewise. 825 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 826 stoll.cc: Likewise. 827 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 828 stoul.cc: Likewise. 829 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 830 stoull.cc: Likewise. 831 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ 832 to_wstring.cc: Likewise. 833 * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace 834 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 835 * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. 836 * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): 837 Change preprocessor #if conditional so that it uses 838 _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and 839 _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. 840 * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace 841 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. 842 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace 843 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. 844 * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace 845 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. 846 * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. 847 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace 848 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. 849 * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with 850 _GLIBCXX_USE_C99_STDIO. 851 8522015-11-13 Jonathan Wakely <jwakely@redhat.com> 853 854 * include/experimental/bits/shared_ptr.h: Tweak comments. 855 8562015-11-13 Fan You <youfan.noey@gmail.com> 857 Jonathan Wakely <jwakely@redhat.com> 858 859 * include/Makefile.am: Add new header. 860 * include/Makefile.in: Regenerate. 861 * include/experimental/bits/shared_ptr.h: New. 862 * include/experimental/memory: Include new header. 863 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New. 864 * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New. 865 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc: 866 New. 867 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New. 868 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New. 869 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New. 870 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New. 871 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New. 872 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New. 873 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New. 874 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc: 875 New. 876 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New. 877 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New. 878 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New. 879 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New. 880 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc: 881 New. 882 * testsuite/experimental/memory/shared_ptr/observers/operators.cc: 883 New. 884 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc: 885 New. 886 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New. 887 8882015-11-13 Jonathan Wakely <jwakely@redhat.com> 889 890 * include/Makefile.am: Add new header. 891 * include/Makefile.in: Regenerate. 892 * include/experimental/memory_resource: Add feature-test macro. 893 * include/experimental/regex: New. 894 * include/experimental/deque: Add alias template using PMR. 895 * include/experimental/forward_list: Likewise. 896 * include/experimental/list: Likewise. 897 * include/experimental/map: Likewise. 898 * include/experimental/set: Likewise. 899 * include/experimental/string: Likewise. 900 * include/experimental/unordered_map: Likewise. 901 * include/experimental/unordered_set: Likewise. 902 * include/experimental/vector: Likewise. 903 9042015-11-13 Fan You <youfan.noey@gmail.com> 905 906 * include/Makefile.am: Add new headers. 907 * include/Makefile.in: Regenerate. 908 * include/bits/uses_allocator.h (__erased_type): Define. 909 (__uses_allocator_helper): Check for __erased_type. 910 * include/experimental/memory_resource: New. 911 * include/experimental/utlity: New. 912 * testsuite/experimental/type_erased_allocator/1.cc: New. 913 * testsuite/experimental/type_erased_allocator/1_neg.cc: New. 914 * testsuite/experimental/type_erased_allocator/2.cc: New. 915 * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New. 916 9172015-11-12 Jonathan Wakely <jwakely@redhat.com> 918 919 PR libstdc++/56158 920 * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate): 921 Define enumerators to ensure all values of type int are valid values 922 of the enumeration type. 923 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases. 924 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise. 925 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise. 926 927 * include/std/thread: Include <cerrno> for EINTR. 928 9292015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com> 930 931 Implement D0013R2, logical type traits. 932 933 * include/experimental/type_traits (conjunction, disjunction, 934 negation, conjunction_v, disjunction_v, negation_v): New. 935 * include/std/type_traits (conjunction, disjunction, negation): 936 Likewise. 937 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. 938 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. 939 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 940 Likewise. 941 * testsuite/experimental/type_traits/value.cc: Likewise. 942 * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New. 943 * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise. 944 * testsuite/20_util/logical_traits/value.cc: Likewise. 945 9462015-11-12 Jonathan Wakely <jwakely@redhat.com> 947 948 * include/experimental/bits/string_view.tcc: Fix doxygen @file. 949 9502015-11-11 Jonathan Wakely <jwakely@redhat.com> 951 952 * libsupc++/new_handler.cc: Fix for explicit constructor change. 953 954 PR libstdc++/60421 955 * include/std/thread (this_thread::sleep_for): Retry on EINTR. 956 (this_thread::sleep_until): Retry if time not reached. 957 * src/c++11/thread.cc (__sleep_for): Retry on EINTR. 958 * testsuite/30_threads/this_thread/60421.cc: Test interruption and 959 non-steady clocks. 960 9612015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com> 962 963 LWG 2510, make the default constructors of library tag types 964 explicit. 965 * include/bits/mutex.h (defer_lock_t, try_lock_t, 966 adopt_lock_t): Add an explicit default constructor. 967 * include/bits/stl_pair.h (piecewise_construct_t): Likewise. 968 * include/bits/uses_allocator.h (allocator_arg_t): Likewise. 969 * libsupc++/new (nothrow_t): Likewise. 970 * testsuite/17_intro/tag_type_explicit_ctor.cc: New. 971 9722015-11-11 Jonathan Wakely <jwakely@redhat.com> 973 974 PR libstdc++/64651 975 * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration 976 to __exception_ptr namespace. 977 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL. 978 Remove unnecessary test variables. 979 9802015-11-10 Jonathan Wakely <jwakely@redhat.com> 981 982 PR libstdc++/68190 983 * include/bits/stl_multiset.h (multiset::find): Fix return types. 984 * include/bits/stl_set.h (set::find): Likewise. 985 * testsuite/23_containers/map/operations/2.cc: Test find return types. 986 * testsuite/23_containers/multimap/operations/2.cc: Likewise. 987 * testsuite/23_containers/multiset/operations/2.cc: Likewise. 988 * testsuite/23_containers/set/operations/2.cc: Likewise. 989 990 * doc/xml/manual/status_cxx2017.xml: Update. 991 * doc/html/*: Regenerate. 992 993 * include/bits/functional_hash.h: Fix grammar in comment. 994 9952015-11-09 François Dumont <fdumont@gcc.gnu.org> 996 997 * include/bits/stl_algo.h 998 (partial_sort_copy): Instantiate std::iterator_traits only if concept 999 checks. 1000 (lower_bound): Likewise. 1001 (upper_bound): Likewise. 1002 (equal_range): Likewise. 1003 (binary_search): Likewise. 1004 * include/bits/stl_heap.h (pop_heap): Likewise. 1005 10062015-11-06 Kai Tietz <ktietz70@googlemail.com> 1007 1008 * testsuite/26_numerics/complex/requirements/constexpr.cc 1009 * testsuite/26_numerics/complex/requirements/constexpr_functions.cc: 1010 Use constexpr where needed. 1011 10122015-11-06 David Malcolm <dmalcolm@redhat.com> 1013 1014 * testsuite/lib/libstdc++.exp (v3_target_compile): Add 1015 -fno-diagnostics-show-caret -fdiagnostics-color=never to 1016 option's additional_flags. 1017 10182015-11-03 Jason Merrill <jason@redhat.com> 1019 1020 * libsupc++/new: Declare sized deletes. 1021 10222015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com> 1023 1024 Make the default constructors of tuple and pair conditionally explicit. 1025 * include/std/type_traits (is_unsigned, __is_array_unknown_bounds, 1026 __is_default_constructible_atom, __is_default_constructible_safe, 1027 __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast, 1028 __is_nt_default_constructible_impl, is_nothrow_default_constructible, 1029 is_nothrow_constructible, is_nothrow_assignable, 1030 is_trivially_constructible, is_trivially_copy_constructible, 1031 is_trivially_move_constructible, is_trivially_assignable, 1032 is_trivially_copy_assignable, is_trivially_move_assignable, 1033 is_trivially_destructible): Simplify. 1034 * include/std/type_traits ( 1035 __do_is_implicitly_default_constructible_impl, 1036 __is_implicitly_default_constructible_impl, 1037 __is_implicitly_default_constructible_safe, 1038 __is_implicitly_default_constructible): New. 1039 * include/bits/stl_pair.h (pair::pair()): Use it. 1040 * include/std/tuple (tuple<_T1, _T2>::tuple): Use it. 1041 * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New. 1042 * include/std/tuple (tuple<_Types...>::tuple()): Use it. 1043 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. 1044 * testsuite/20_util/is_implicitly_default_constructible/ 1045 requirements/explicit_instantiation.cc: New. 1046 * testsuite/20_util/is_implicitly_default_constructible/requirements/ 1047 typedefs.cc: Likewise. 1048 * testsuite/20_util/is_implicitly_default_constructible/value.cc: 1049 Likewise. 1050 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. 1051 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 1052 Likewise. 1053 * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. 1054 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. 1055 10562015-10-24 Jonathan Wakely <jwakely@redhat.com> 1057 1058 * include/std/functional (__invoke_impl): New overloads. 1059 (__invoke): Replace with a single function calling __invoke_impl. 1060 (invoke): Add C++17 std::invoke. 1061 (reference_wrapper::operator()): Qualify call to __invoke. 1062 (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs. 1063 (_Mem_fn_base): Remove unused typedefs and implement call operator in 1064 terms of __invoke. 1065 * include/std/future (__future_base::_Async_state_commonV2): Do not 1066 pass reference_wrapper as object argument to call_once. 1067 * include/std/type_traits (result_of): Define nested __invoke_type. 1068 Handle reference_wrapper as per LWG 2219. 1069 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives. 1070 * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests 1071 using member functions of reference_wrapper. 1072 10732015-10-24 Jonathan Wakely <jwakely@redhat.com> 1074 1075 * include/std/future (async): Use deferred function on exception. 1076 * testsuite/30_threads/async/except.cc: New. 1077 10782015-10-21 Jonathan Wakely <jwakely@redhat.com> 1079 1080 * include/std/type_traits (__cpp_lib_bool_constant): Define. 1081 10822015-10-16 Jonathan Wakely <jwakely@redhat.com> 1083 1084 * doc/xml/manual/configure.xml: Document 1085 --enable-libstdcxx-filesystem-ts option. 1086 * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a. 1087 * doc/xml/manual/using.xml: Likewise. 1088 * doc/html/*: Regenerate. 1089 10902015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com> 1091 1092 * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable 1093 N from const int N = 200000 to const unsigned int N = 10000. 1094 Delete useless fill_ascending function call. 1095 10962015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com> 1097 1098 * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for 1099 unsupported compiler output. 1100 11012015-10-13 Nathan Froyd <froydnj@gcc.gnu.org> 1102 1103 * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead 1104 of x86intrin.h, and only do so when __SSE3__ 1105 * include/ext/random: Include emmintrin.h instead of x86intrin.h 1106 11072015-10-11 Joseph Myers <joseph@codesourcery.com> 1108 1109 * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* | 1110 *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for 1111 __cxa_thread_atexit_impl. 1112 * configure: Regenerate. 1113 11142015-10-09 Jonathan Wakely <jwakely@redhat.com> 1115 1116 * include/experimental/erase_if.h: Move to ... 1117 * include/experimental/bits/erase_if.h: New. 1118 * include/experimental/fs_dir.h: Move to ... 1119 * include/experimental/bits/fs_dir.h: New. 1120 * include/experimental/fs_fwd.h: Move to ... 1121 * include/experimental/bits/fs_fwd.h: New. 1122 * include/experimental/fs_ops.h: Move to ... 1123 * include/experimental/bits/fs_ops.h: New. 1124 * include/experimental/fs_path.h: Move to ... 1125 * include/experimental/bits/fs_path.h: New. 1126 * include/experimental/string_view.tcc: Move to ... 1127 * include/experimental/bits/string_view.tcc: New. 1128 * include/Makefile.am: Add include/experimental/bits sub-directory. 1129 * include/Makefile.in: Regenerate. 1130 * include/experimental/filesystem: Adjust includes. 1131 * include/experimental/map: Likewise. 1132 * include/experimental/set: Likewise. 1133 * include/experimental/string_view: Likewise. 1134 * include/experimental/unordered_map: Likewise. 1135 * include/experimental/unordered_set: Likewise. 1136 11372015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com> 1138 1139 PR 67844. 1140 * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject 1141 conversions from tuple types same as the target tuple. 1142 * testsuite/20_util/tuple/67844.cc: New. 1143 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add 1144 a missing copyright header. 1145 11462015-10-03 Jonathan Wakely <jwakely@redhat.com> 1147 1148 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support 1149 for _Manager_alloc. 1150 1151 * src/c++98/locale.cc: Fix comment. 1152 * src/c++98/locale_init.cc: Likewise. 1153 1154 * testsuite/21_strings/basic_string/literals/types.cc: Guard use of 1155 wchar_t with _GLIBCXX_USE_WCHAR_T. 1156 * testsuite/21_strings/basic_string/literals/values.cc: Likewise. 1157 * testsuite/21_strings/basic_string/requirements/citerators.cc: 1158 Likewise. 1159 * testsuite/22_locale/messages/13631.cc: Likewise. 1160 * testsuite/experimental/string_view/literals/types.cc: Likewise. 1161 * testsuite/experimental/string_view/literals/values.cc: Likewise. 1162 1163 * src/filesystem/Makefile.am: Add cxx11_abi_sources. 1164 * src/filesystem/Makefile.in: Regenerate. 1165 * src/filesystem/cow-dir.cc: New. 1166 * src/filesystem/cow-ops.cc: New. 1167 * src/filesystem/cow-path.cc: New. 1168 * src/filesystem/dir.cc: Define macro for new ABI. 1169 * src/filesystem/ops.cc: Likewise. 1170 * src/filesystem/path.cc: Likewise. 1171 11722015-10-02 Jonathan Wakely <jwakely@redhat.com> 1173 1174 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 1175 Minor tweaks to match narrow char version. 1176 1177 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard 1178 explicit instantiation with check for new ABI. 1179 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: 1180 Likewise. Use wchar_t as char_type. 1181 1182 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1183 (basic_string::front() const, basic_string::back() const): Use 1184 noexcept instead of _GLIBCXX_NOEXCEPT macro. 1185 (__versa_string::front, __versa_string::back): Likewise. 1186 1187 * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment. 1188 1189 * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] 1190 (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. 1191 * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] 1192 (path::wstring, path::generic_wstring): Disable. 1193 * src/filesystem/path.cc (path::_S_convert_loc) 1194 [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. 1195 * testsuite/experimental/filesystem/path/assign/assign.cc: Check for 1196 wchar_t support. 1197 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. 1198 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. 1199 1200 * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic 1201 name for paths. Prefer snprintf to sprintf. 1202 1203 PR libstdc++/67747 1204 * src/filesystem/dir.cc (native_readdir): Remove. 1205 (_Dir::advance): Use readdir instead of native_readdir. 1206 (recursive_directory_iterator(const path&, directory_options, 1207 error_code*)): Use swap instead of reset. 1208 12092015-10-01 Jonathan Wakely <jwakely@redhat.com> 1210 1211 * doc/html/manual/errno.html: Add new file. 1212 1213 * doc/xml/manual/diagnostics.xml: Document use of errno. 1214 * doc/html/*: Regenerate. 1215 * config/locale/generic/c_locale.cc (_Save_errno): New helper. 1216 (__convert_to_v): Use _Save_errno. 1217 * include/ext/string_conversions.h (__stoa): Only restore errno when 1218 it isn't set to non-zero. 1219 12202015-09-30 François Dumont <fdumont@gcc.gnu.org> 1221 Jonathan Wakely <jwakely@redhat.com> 1222 1223 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs): 1224 Move... 1225 * config/locale/gnu/c++locale_internal.h: ...here in std namespace. 1226 * config/locale/gnu/c_locale.cc: Move implementation of latter here. 1227 * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates. 1228 * src/c++98/Makefile.in: Regenerate. 1229 * config/abi/pre/gnu.ver: Adjust. 1230 12312015-09-30 Matthias Klose <doko@ubuntu.com> 1232 1233 * config/cpu/alpha, config/cpu/ia64: Remove empty directories. 1234 12352015-09-29 Jonathan Wakely <jwakely@redhat.com> 1236 1237 * include/ext/string_conversions.h (__stoa): Save and restore errno. 1238 * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: 1239 New. 1240 1241 PR libstdc++/67583 1242 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call 1243 with mismatched arguments. 1244 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. 1245 1246 PR libstdc++/65393 1247 * config/abi/pre/gnu.ver: Export new symbols. 1248 * include/std/thread (thread::_State, thread::_State_impl): New types. 1249 (thread::_M_start_thread): Add overload taking unique_ptr<_State>. 1250 (thread::_M_make_routine): Remove. 1251 (thread::_S_make_state): Add. 1252 (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) 1253 [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. 1254 * src/c++11/thread.cc (execute_native_thread_routine): Rename to 1255 execute_native_thread_routine_compat and re-define to use _State. 1256 (thread::_State::~_State()): Define. 1257 (thread::_M_make_thread): Define new overload. 1258 (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old 1259 overloads conditionally. 1260 12612015-09-28 Jonathan Wakely <jwakely@redhat.com> 1262 1263 * include/std/condition_variable (condition_variable::wait): Add 1264 noexcept. 1265 * src/c++11/condition_variable.cc (condition_variable::wait): Call 1266 std::terminate on error (DR 2135). 1267 12682015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com> 1269 1270 Avoid creating dangling references in case of nested tuples 1271 for tuple constructors that construct from other tuples. 1272 * include/std/tuple (_TC::_NonNestedTuple): New. 1273 * include/std/tuple (tuple::_TNTC): New. 1274 * include/std/tuple (tuple(const tuple<_UElements...>&), 1275 tuple(tuple<_UElements...>&&): Use _TNTC. 1276 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. 1277 12782015-09-24 Jonathan Wakely <jwakely@redhat.com> 1279 1280 PR libstdc++/67707 1281 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize 1282 empty object. 1283 * testsuite/23_containers/deque/allocator/move.cc: Check moved-from 1284 deque. 1285 12862015-09-23 Jonathan Wakely <jwakely@redhat.com> 1287 1288 * src/filesystem/ops.cc (canonical): Simplify error handling and 1289 limit number of symlinks that can be resolved. 1290 12912015-09-23 Jonathan Wakely <jwakely@redhat.com> 1292 1293 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_ 1294 prefix from HAVE_STRUCT_DIRENT_D_TYPE. 1295 * config.h.in: Regenerate. 1296 * configure: Regenerate. 1297 * include/experimental/fs_dir.h (operator==, operator==): 1298 Use owner_before instead of pointer equality. 1299 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1300 * src/filesystem/dir.cc (ErrorCode): Remove. 1301 (_Dir::advance): Change ErrorCode parameter to error_code*, add 1302 directory_options parameter and check it on error. 1303 (opendir): Rename to open_dir to avoid clashing with macro. Change 1304 ErrorCode parameter to error_code*. 1305 (make_shared_dir): Remove. 1306 (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. 1307 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. 1308 (directory_iterator(const path&, directory_options, error_code*)): 1309 Pass options to _Dir::advance and create non-end iterator on error. 1310 (recursive_directory_iterator(const path&, directory_options, 1311 error_code*)): Clear error_code on ignored error, create non-end 1312 iterator otherwise. 1313 (recursive_directory_iterator::increment): Pass _M_options to 1314 _Dir::advance. 1315 (recursive_directory_iterator::pop): Likewise. 1316 * testsuite/experimental/filesystem/iterators/directory_iterator.cc: 1317 New. 1318 * testsuite/experimental/filesystem/iterators/ 1319 recursive_directory_iterator.cc: New. 1320 1321 * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers. 1322 (create_directories): Fix error handling. 1323 * testsuite/experimental/filesystem/operations/create_directories.cc: 1324 New. 1325 13262015-09-21 Jonathan Wakely <jwakely@redhat.com> 1327 1328 PR libstdc++/67647 1329 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] 1330 (basic_string::shrink_to_fit): Fix #endif placement. 1331 13322015-09-19 Tim Shen <timshen@google.com> 1333 1334 PR libstdc++/67361 1335 * include/bits/regex_error.h: Add __throw_regex_error that 1336 supports string. 1337 * include/bits/regex_automaton.h: Add more specific exception 1338 messages. 1339 * include/bits/regex_automaton.tcc: Likewise. 1340 * include/bits/regex_compiler.h: Likewise. 1341 * include/bits/regex_compiler.tcc: Likewise. 1342 * include/bits/regex_scanner.h: Likewise. 1343 * include/bits/regex_scanner.tcc: Likewise. 1344 13452015-09-18 Jonathan Wakely <jwakely@redhat.com> 1346 1347 * include/precompiled/extc++.h: Fix bootstrap error due to 1348 unconditional inclusion of <ext/enc_filebuf.h>. 1349 * include/ext/random: Check for definition of UINT32_C. 1350 13512015-09-17 Catherine Moore <clm@codesourcery.com> 1352 1353 * src/c++11/debug.cc: Include <cstdio>. 1354 13552015-09-17 Gerald Pfeifer <gerald@pfeifer.com> 1356 1357 * src/c++11/random.cc: Include <cerrno>. 1358 13592015-09-17 François Dumont <fdumont@gcc.gnu.org> 1360 1361 * include/debug/formatter.h 1362 (_Error_formatter::_Parameter::_M_print_field): Deprecate. 1363 (_Error_formatter::_Parameter::_M_print_description): Likewise. 1364 (_Error_formatter::_M_format_word): Likewise. 1365 (_Error_formatter::_M_print_word): Likewise. 1366 (_Error_formatter::_M_print_string): Likewise. 1367 (_Error_formatter::_M_get_max_length): Likewise. 1368 (_Error_formatter::_M_max_length): Delete. 1369 (_Error_formatter::_M_indent): Likewise. 1370 (_Error_formatter::_M_column): Likewise. 1371 (_Error_formatter::_M_first_line): Likewise. 1372 (_Error_formatter::_M_wordwrap): Likewise. 1373 * src/c++11/debug.cc: Adapt. 1374 13752015-09-17 Jonathan Wakely <jwakely@redhat.com> 1376 1377 PR libstdc++/65913 1378 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), 1379 __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the 1380 immediate pointer value, not a variable. 1381 * include/std/atomic (atomic<T>::is_lock_free()): Likewise. 1382 * testsuite/29_atomics/atomic/65913.cc: New. 1383 1384 * testsuite/experimental/filesystem/operations/canonical.cc: Remove 1385 non-deterministic part of the test. 1386 1387 PR libstdc++/65142 1388 * src/c++11/random.cc (random_device::_M_getval()): Retry after short 1389 reads. 1390 1391 * include/std/system_error (error_code::operator bool(), 1392 error_condition::operator bool()): Remove redundant conditional 1393 expression. 1394 1395 * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): 1396 Do nothing if exceptions are disabled. 1397 * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. 1398 13992015-09-16 Jonathan Wakely <jwakely@redhat.com> 1400 1401 PR libstdc++/67173 1402 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION 1403 and PATH_MAX for _GLIBCXX_USE_REALPATH. 1404 * config.h.in: Regenerate. 1405 * configure: Regenerate. 1406 * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add 1407 alternative implementation. 1408 * testsuite/experimental/filesystem/operations/canonical.cc: New. 1409 * testsuite/experimental/filesystem/operations/exists.cc: Add more 1410 tests. 1411 * testsuite/experimental/filesystem/operations/absolute.cc: Add test 1412 variables. 1413 * testsuite/experimental/filesystem/operations/copy.cc: Likewise. 1414 * testsuite/experimental/filesystem/operations/current_path.cc: 1415 Likewise. 1416 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. 1417 * testsuite/experimental/filesystem/operations/status.cc: Likewise. 1418 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 1419 Likewise. 1420 14212015-09-11 Jonathan Wakely <jwakely@redhat.com> 1422 1423 PR libstdc++/67173 1424 * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for 1425 realpath on Solaris 10. 1426 1427 PR libstdc++/65142 1428 * src/c++11/random.cc (random_device::_M_getval()): Check read result. 1429 14302015-09-11 John Marino <gnugcc@marino.st> 1431 Jonathan Wakely <jwakely@redhat.com> 1432 1433 PR libstdc++/67096 1434 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points 1435 above U+10FFFF. 1436 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. 1437 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. 1438 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. 1439 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. 1440 * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. 1441 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. 1442 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. 1443 * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. 1444 * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. 1445 * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. 1446 * testsuite/27_io/objects/wchar_t/10.cc: Likewise. 1447 * testsuite/27_io/objects/wchar_t/11.cc: Likewise. 1448 * testsuite/27_io/objects/wchar_t/12.cc: Likewise. 1449 * testsuite/27_io/objects/wchar_t/13.cc: Likewise. 1450 14512015-09-11 Jonathan Wakely <jwakely@redhat.com> 1452 1453 PR libstdc++/64857 1454 * doc/xml/manual/using.xml: Improve aggregate header documentation. 1455 * doc/html/manual/*: Regenerate. 1456 * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11 1457 and later and include more extension headers. 1458 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove 1459 redundant header. 1460 * testsuite/17_intro/headers/c++200x/: Rename to c++2011. 1461 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove 1462 redundant headers. 1463 * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New. 1464 * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New. 1465 * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New. 1466 * testsuite/17_intro/headers/c++2014/operator_names.cc: New. 1467 * testsuite/17_intro/headers/c++2014/stdc++.cc: New. 1468 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: 1469 New. 1470 1471 PR libstdc++/58265 1472 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. 1473 * doc/html/manual/bugs.html: Regenerate. 1474 * include/bits/basic_string.h (basic_string): Implement N4258. Add 1475 correct exception-specifications and propagate allocators correctly. 1476 * include/bits/basic_string.tcc (basic_string::swap): Propagate 1477 allocators correctly. 1478 * include/debug/string (__gnu_debug::basic_string): Add correct 1479 exceptions-specifications and allcoator-extended constructors. 1480 * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. 1481 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: 1482 New. 1483 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. 1484 * testsuite/21_strings/basic_string/allocator/char/move.cc: New. 1485 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: 1486 New. 1487 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. 1488 * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. 1489 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. 1490 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: 1491 New. 1492 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. 1493 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. 1494 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: 1495 New. 1496 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. 1497 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. 1498 * testsuite/util/testsuite_allocator.h (tracker_allocator): Define 1499 defaulted assignment operators. 1500 1501 PR libstdc++/65092 1502 * include/bits/stl_queue.h (queue, priority_queue): Add 1503 allocator-extended constructors. 1504 * include/bits/stl_stack.h (stack): Likewise. 1505 * testsuite/23_containers/priority_queue/requirements/ 1506 uses_allocator.cc: Test allocator-extended constructors. 1507 * testsuite/23_containers/queue/requirements/uses_allocator.cc: 1508 Likewise. 1509 * testsuite/23_containers/stack/requirements/uses_allocator.cc: 1510 Likewise. 1511 15122015-09-10 Jonathan Wakely <jwakely@redhat.com> 1513 1514 * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add. 1515 1516 * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the 1517 string contents. 1518 15192015-09-09 Jonathan Wakely <jwakely@redhat.com> 1520 1521 * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. 1522 * doc/html/manual/using_macros.html: Regenerate. 1523 * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when 1524 _GLIBCXX_DEBUG is defined. Disable std::string extern templates when 1525 (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on 1526 _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. 1527 * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define 1528 __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. 1529 * include/backward/auto_ptr.h (auto_ptr::operator*, 1530 auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with 1531 __glibcxx_assert. 1532 * include/bits/basic_string.h (basic_string::operator[], 1533 basic_string::front, basic_string::back, basic_string::pop_back): 1534 Likewise. 1535 * include/bits/random.h 1536 (uniform_int_distribution::param_type::param_type, 1537 uniform_real_distribution::param_type::param_type, 1538 normal_distribution::param_type::param_type, 1539 gamma_distribution::param_type::param_type, 1540 bernoulli_distribution::param_type::param_type, 1541 binomial_distribution::param_type::param_type, 1542 geometric_distribution::param_type::param_type, 1543 negative_binomial_distribution::param_type::param_type, 1544 poisson_distribution::param_type::param_type, 1545 exponential_distribution::param_type::param_type): Likewise. 1546 * include/bits/regex.h (match_results::operator[], 1547 match_results::prefix, match_results::suffix): Likewise. 1548 * include/bits/regex.tcc (format, regex_iterator::operator++): 1549 Likewise. 1550 * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. 1551 * include/bits/regex_compiler.tcc (_Compiler::_Compiler, 1552 _Compiler::_M_insert_character_class_matcher): Likewise. 1553 * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. 1554 * include/bits/regex_scanner.tcc (_Scanner::_M_advance, 1555 _Scanner::_M_scan_normal): Likewise. 1556 * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, 1557 __shared_ptr::operator*): Likewise. 1558 * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. 1559 * include/bits/unique_ptr.h (unique_ptr::operator*, 1560 unique_ptr::operator[]): Likewise. 1561 * include/experimental/fs_path.h (path::path(string_type, _Type), 1562 path::iterator::operator++, path::iterator::operator--, 1563 path::iterator::operator*): Likewise. 1564 * include/experimental/string_view (basic_string_view::operator[], 1565 basic_string_view::front, basic_string_view::back, 1566 basic_string_view::remove_prefix): Likewise. 1567 * include/ext/random (beta_distribution::param_type::param_type, 1568 normal_mv_distribution::param_type::param_type, 1569 rice_distribution::param_type::param_type, 1570 pareto_distribution::param_type::param_type, 1571 k_distribution::param_type::param_type, 1572 arcsine_distribution::param_type::param_type, 1573 hoyt_distribution::param_type::param_type, 1574 triangular_distribution::param_type::param_type, 1575 von_mises_distribution::param_type::param_type, 1576 hypergeometric_distribution::param_type::param_type, 1577 logistic_distribution::param_type::param_type): Likewise. 1578 * include/ext/vstring.h (__versa_string::operator[]): Likewise. 1579 * include/std/complex (polar): Likewise. 1580 * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] 1581 (timed_mutex::~timed_mutex, timed_mutex::unlock, 1582 (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): 1583 Likewise. 1584 * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] 1585 (__shared_mutex_pthread::__shared_mutex_pthread, 1586 __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. 1587 (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, 1588 __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, 1589 __shared_mutex_pthread::try_lock_shared): Likewise. 1590 (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, 1591 __shared_mutex_cv::unlock_shared): Likewise. 1592 (shared_timed_mutex::try_lock_until, 1593 shared_timed_mutex::try_lock_shared_until): Likewise. 1594 * include/std/valarray (valarray::valarray(const _Tp*, size_t), 1595 valarray::operator=, valarray::sum, valarray::min, valarray::max, 1596 _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): 1597 Likewise. 1598 15992015-09-07 Jonathan Wakely <jwakely@redhat.com> 1600 1601 * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change 1602 _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. 1603 * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. 1604 * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on 1605 empty shared_ptr. 1606 1607 * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready): 1608 Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY. 1609 1610 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename 1611 shadowed variable. 1612 1613 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on 1614 darwin. 1615 * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin. 1616 16172015-09-04 Jonathan Wakely <jwakely@redhat.com> 1618 1619 PR libstdc++/65704 1620 * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock. 1621 1622 PR libstdc++/65704 1623 * include/Makefile.am: Add <bits/mutex.h>. 1624 * include/Makefile.in: Regenerate. 1625 * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock): 1626 New file containing types moved from <mutex>. 1627 * include/std/condition_variable: Include <bits/mutex.h> instead of 1628 <mutex>. 1629 * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock): 1630 Move to <bits/mutex.h>. 1631 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove 1632 dg-require-gthreads-timed. 1633 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: 1634 Likewise. 1635 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: 1636 Likewise. 1637 * testsuite/30_threads/recursive_timed_mutex/dest/ 1638 destructor_locked.cc: Likewise. 1639 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 1640 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 1641 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. 1642 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. 1643 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 1644 Likewise. 1645 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 1646 Likewise. 1647 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 1648 Likewise. 1649 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 1650 Likewise. 1651 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 1652 Likewise. 1653 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. 1654 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 1655 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. 1656 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise. 1657 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: 1658 Likewise. 1659 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 1660 * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: 1661 Likewise. 1662 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 1663 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 1664 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 1665 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 1666 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 1667 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 1668 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 1669 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 1670 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 1671 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 1672 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 1673 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 1674 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 1675 16762015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net> 1677 Jonathan Wakely <jwakely@redhat.com> 1678 1679 Add C++11 header <cuchar>. 1680 * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define. 1681 * config.h.in: Regenerate. 1682 * configure: Regenerate. 1683 * configure.ac: Check for <uchar.h>. 1684 * include/Makefile.am: Add new headers. 1685 * include/Makefile.in: Regenerate. 1686 * include/c/cuchar: New. 1687 * include/c_compatibility/uchar.h: New. 1688 * include/c_global/cuchar: New. 1689 * include/c_std/cuchar: New. 1690 * include/precompiled/stdc++.h: Include <cuchar>. 1691 * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>. 1692 * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc: 1693 Include <uchar.h>. 1694 16952015-09-04 Jonathan Wakely <jwakely@redhat.com> 1696 1697 PR libstdc++/65473 1698 * include/c/cassert: Include <bits/c++config.h>. 1699 * include/c/cerrno: Likewise. 1700 * include/c/cfloat: Likewise. 1701 * include/c/ciso646: Likewise. 1702 * include/c/climits: Likewise. 1703 * include/c_global/cassert: Likewise. 1704 * include/c_global/cerrno: Likewise. 1705 * include/c_global/cfloat: Likewise. 1706 * include/c_global/ciso646: Likewise. 1707 * include/c_global/climits: Likewise. 1708 * include/c_std/cassert: Likewise. 1709 * include/c_std/cerrno: Likewise. 1710 * include/c_std/cfloat: Likewise. 1711 * include/c_std/ciso646: Likewise. 1712 * include/c_std/climits: Likewise. 1713 17142015-09-03 Jonathan Wakely <jwakely@redhat.com> 1715 1716 * include/bits/shared_ptr_base.h: Add required header. 1717 * include/std/condition_variable: Likewise. 1718 * include/std/mutex: Remove unused header. 1719 * include/std/shared_mutex: Remove redundant header. 1720 (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc. 1721 1722 PR libstdc++/66902 1723 * src/c++11/debug.cc (_S_debug_messages): Make array const. 1724 1725 PR libstdc++/66998 1726 * include/experimental/functional (_Not_fn): Add exception 1727 specifications and non-deduced return types. 1728 (not_fn): Add exception specification and wrap pointer-to-member. 1729 * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context 1730 and test pointer-to-member. 1731 1732 PR libstdc++/62039 1733 * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept 1734 checks. 1735 * testsuite/24_iterators/operations/prev_neg.cc: New. 1736 * testsuite/24_iterators/operations/next_neg.cc: New. 1737 17382015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> 1739 1740 * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target 1741 selector to all lines which contain a *-*-cygwin target selector. 1742 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. 1743 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. 1744 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. 1745 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. 1746 * testsuite/21_strings/basic_string/pthread33394.cc: Likewise. 1747 * testsuite/21_strings/basic_string/pthread4.cc: Likewise. 1748 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. 1749 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. 1750 * testsuite/23_containers/list/pthread1.cc: Likewise. 1751 * testsuite/23_containers/list/pthread5.cc: Likewise. 1752 * testsuite/23_containers/map/pthread6.cc: Likewise. 1753 * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. 1754 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. 1755 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. 1756 * testsuite/30_threads/async/42819.cc: Likewise. 1757 * testsuite/30_threads/async/49668.cc: Likewise. 1758 * testsuite/30_threads/async/54297.cc: Likewise. 1759 * testsuite/30_threads/async/any.cc: Likewise. 1760 * testsuite/30_threads/async/async.cc: Likewise. 1761 * testsuite/30_threads/async/launch.cc: Likewise. 1762 * testsuite/30_threads/async/lwg2021.cc: Likewise. 1763 * testsuite/30_threads/async/sync.cc: Likewise. 1764 * testsuite/30_threads/call_once/39909.cc: Likewise. 1765 * testsuite/30_threads/call_once/49668.cc: Likewise. 1766 * testsuite/30_threads/call_once/60497.cc: Likewise. 1767 * testsuite/30_threads/call_once/call_once1.cc: Likewise. 1768 * testsuite/30_threads/condition_variable/54185.cc: Likewise. 1769 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. 1770 * testsuite/30_threads/condition_variable/members/1.cc: Likewise. 1771 * testsuite/30_threads/condition_variable/members/2.cc: Likewise. 1772 * testsuite/30_threads/condition_variable/members/3.cc: Likewise. 1773 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. 1774 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: 1775 Likewise. 1776 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. 1777 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. 1778 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. 1779 * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. 1780 * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. 1781 * testsuite/30_threads/future/cons/move.cc: Likewise. 1782 * testsuite/30_threads/future/members/45133.cc: Likewise. 1783 * testsuite/30_threads/future/members/get.cc: Likewise. 1784 * testsuite/30_threads/future/members/get2.cc: Likewise. 1785 * testsuite/30_threads/future/members/share.cc: Likewise. 1786 * testsuite/30_threads/future/members/valid.cc: Likewise. 1787 * testsuite/30_threads/future/members/wait.cc: Likewise. 1788 * testsuite/30_threads/future/members/wait_for.cc: Likewise. 1789 * testsuite/30_threads/future/members/wait_until.cc: Likewise. 1790 * testsuite/30_threads/lock/1.cc: Likewise. 1791 * testsuite/30_threads/lock/2.cc: Likewise. 1792 * testsuite/30_threads/lock/3.cc: Likewise. 1793 * testsuite/30_threads/lock/4.cc: Likewise. 1794 * testsuite/30_threads/mutex/cons/1.cc: Likewise. 1795 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. 1796 * testsuite/30_threads/mutex/lock/1.cc: Likewise. 1797 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. 1798 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. 1799 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. 1800 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. 1801 * testsuite/30_threads/mutex/unlock/1.cc: Likewise. 1802 * testsuite/30_threads/mutex/unlock/2.cc: Likewise. 1803 * testsuite/30_threads/packaged_task/49668.cc: Likewise. 1804 * testsuite/30_threads/packaged_task/60564.cc: Likewise. 1805 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. 1806 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. 1807 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. 1808 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. 1809 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. 1810 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. 1811 * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. 1812 * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: 1813 Likewise. 1814 * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. 1815 * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. 1816 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. 1817 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. 1818 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. 1819 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. 1820 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. 1821 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. 1822 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. 1823 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. 1824 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. 1825 * testsuite/30_threads/promise/60966.cc: Likewise. 1826 * testsuite/30_threads/promise/cons/1.cc: Likewise. 1827 * testsuite/30_threads/promise/cons/alloc.cc: Likewise. 1828 * testsuite/30_threads/promise/cons/move.cc: Likewise. 1829 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. 1830 * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. 1831 * testsuite/30_threads/promise/members/get_future.cc: Likewise. 1832 * testsuite/30_threads/promise/members/get_future2.cc: Likewise. 1833 * testsuite/30_threads/promise/members/set_exception.cc: Likewise. 1834 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 1835 * testsuite/30_threads/promise/members/set_value.cc: Likewise. 1836 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 1837 * testsuite/30_threads/promise/members/set_value3.cc: Likewise. 1838 * testsuite/30_threads/promise/members/swap.cc: Likewise. 1839 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. 1840 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: 1841 Likewise. 1842 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. 1843 * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. 1844 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: 1845 Likewise. 1846 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. 1847 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. 1848 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. 1849 * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. 1850 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. 1851 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 1852 Likewise. 1853 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 1854 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 1855 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 1856 Likewise. 1857 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: 1858 Likewise. 1859 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. 1860 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. 1861 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 1862 Likewise. 1863 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 1864 Likewise. 1865 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 1866 Likewise. 1867 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 1868 Likewise. 1869 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 1870 Likewise. 1871 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. 1872 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. 1873 * testsuite/30_threads/shared_future/cons/move.cc: Likewise. 1874 * testsuite/30_threads/shared_future/members/45133.cc: Likewise. 1875 * testsuite/30_threads/shared_future/members/get.cc: Likewise. 1876 * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 1877 * testsuite/30_threads/shared_future/members/valid.cc: Likewise. 1878 * testsuite/30_threads/shared_future/members/wait.cc: Likewise. 1879 * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. 1880 * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. 1881 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. 1882 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. 1883 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. 1884 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. 1885 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. 1886 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. 1887 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. 1888 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. 1889 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 1890 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 1891 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. 1892 * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. 1893 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. 1894 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. 1895 * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. 1896 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. 1897 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. 1898 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. 1899 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. 1900 * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. 1901 * testsuite/30_threads/this_thread/1.cc: Likewise. 1902 * testsuite/30_threads/this_thread/2.cc: Likewise. 1903 * testsuite/30_threads/this_thread/3.cc: Likewise. 1904 * testsuite/30_threads/this_thread/4.cc: Likewise. 1905 * testsuite/30_threads/thread/cons/1.cc: Likewise. 1906 * testsuite/30_threads/thread/cons/2.cc: Likewise. 1907 * testsuite/30_threads/thread/cons/3.cc: Likewise. 1908 * testsuite/30_threads/thread/cons/4.cc: Likewise. 1909 * testsuite/30_threads/thread/cons/49668.cc: Likewise. 1910 * testsuite/30_threads/thread/cons/5.cc: Likewise. 1911 * testsuite/30_threads/thread/cons/6.cc: Likewise. 1912 * testsuite/30_threads/thread/cons/7.cc: Likewise. 1913 * testsuite/30_threads/thread/cons/8.cc: Likewise. 1914 * testsuite/30_threads/thread/cons/9.cc: Likewise. 1915 * testsuite/30_threads/thread/cons/moveable.cc: Likewise. 1916 * testsuite/30_threads/thread/members/1.cc: Likewise. 1917 * testsuite/30_threads/thread/members/2.cc: Likewise. 1918 * testsuite/30_threads/thread/members/3.cc: Likewise. 1919 * testsuite/30_threads/thread/members/4.cc: Likewise. 1920 * testsuite/30_threads/thread/members/5.cc: Likewise. 1921 * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. 1922 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. 1923 * testsuite/30_threads/thread/swap/1.cc: Likewise. 1924 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 1925 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. 1926 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 1927 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. 1928 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise. 1929 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 1930 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 1931 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 1932 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 1933 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 1934 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 1935 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 1936 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. 1937 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 1938 * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. 1939 * testsuite/30_threads/try_lock/1.cc: Likewise. 1940 * testsuite/30_threads/try_lock/2.cc: Likewise. 1941 * testsuite/30_threads/try_lock/3.cc: Likewise. 1942 * testsuite/30_threads/try_lock/4.cc: Likewise. 1943 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. 1944 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. 1945 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. 1946 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. 1947 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 1948 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 1949 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. 1950 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. 1951 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 1952 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 1953 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 1954 * testsuite/ext/rope/pthread7-rope.cc: Likewise. 1955 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: 1956 Likewise. 1957 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: 1958 Likewise. 1959 19602015-09-02 Dmitry Vyukov <dvyukov@google.com> 1961 1962 * include/bits/basic_string.h: Fix data races on _M_refcount. 1963 19642015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de> 1965 1966 PR libstdc++/67408 1967 * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use 1968 _Derived::_M_timedlock(). 1969 (timed_mutex): Add _M_timedlock() and make base class a friend. 1970 (recursive_timed_mutex): Likewise. 1971 19722015-08-28 Tim Shen <timshen@google.com> 1973 1974 PR libstdc++/67362 1975 * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): 1976 Always returns ordinary char token if the char isn't 1977 considered a special char. 1978 * testsuite/28_regex/regression.cc: New test file for collecting 1979 regression testcases from, typically, bugzilla. 1980 19812015-08-27 Jonathan Wakely <jwakely@redhat.com> 1982 1983 PR libstdc++/67374 1984 * include/bits/range_access.h (valarray, begin, end): Declare. 1985 * testsuite/26_numerics/valarray/range_access.cc: Test const 1986 overloads. 1987 * testsuite/26_numerics/valarray/range_access2.cc: New. 1988 19892015-08-27 John Marino <gnugcc@marino.st> 1990 1991 * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files 1992 from generic to new DragonFly versions. 1993 * configure: Regenerate. 1994 * config/locale/dragonfly/c_locale.cc: Improve locale support. 1995 * config/locale/dragonfly/ctype_members.cc: Likewise. 1996 * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise. 1997 * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99. 1998 * config/locale/dragonfly/c_locale.h: New. 1999 * config/locale/dragonfly/codecvt_members.cc: New. 2000 * config/locale/dragonfly/collate_members.cc: New. 2001 * config/locale/dragonfly/monetary_members.cc: New. 2002 * config/locale/dragonfly/numeric_members.cc: New. 2003 * config/locale/dragonfly/time_members.cc: New. 2004 * config/locale/dragonfly/time_members.h: New. 2005 20062015-08-27 Jonathan Wakely <jwakely@redhat.com> 2007 2008 * configure: Regenerate. 2009 20102015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net> 2011 Jonathan Wakely <jwakely@redhat.com> 2012 2013 PR libstdc++/64351 2014 PR libstdc++/63176 2015 * include/bits/random.tcc (generate_canonical): Loop until we get a 2016 result less than one. 2017 * testsuite/26_numerics/random/uniform_real_distribution/operators/ 2018 64351.cc: New. 2019 20202015-08-26 Jonathan Wakely <jwakely@redhat.com> 2021 2022 * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use 2023 nullptr. 2024 * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign 2025 if ownership is already shared with a shared_ptr object. 2026 (__enable_shared_from_this_helper): Use nullptr. 2027 * testsuite/20_util/enable_shared_from_this/members/const.cc: New. 2028 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New. 2029 * testsuite/20_util/enable_shared_from_this/requirements/ 2030 explicit_instantiation.cc: Instantiate with const and incomplete types. 2031 2032 * include/debug/map.h (map::try_emplace, map::insert_or_assign): 2033 Define. 2034 * include/debug/unordered_map (unordered_map::try_emplace, 2035 unordered_map::insert_or_assign): Define. 2036 2037 PR libstdc++/66902 2038 * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. 2039 20402015-08-24 François Dumont <fdumont@gcc.gnu.org> 2041 2042 PR libstdc++/60519 2043 * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): 2044 New enum entry. 2045 * include/debug/functions.h (_Irreflexive_checker): New. 2046 (__is_irreflexive, __is_irreflexive_pred): New. 2047 * include/debug/macros.h 2048 (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New 2049 macros. 2050 (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New 2051 macros limited to post-C++11 mode. 2052 * include/debug/debug.h 2053 (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): 2054 New macros, use latter. 2055 (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): 2056 Likewise. 2057 * include/bits/stl_algo.h 2058 (partial_sort_copy): Add irreflexive debug check. 2059 (partial_sort_copy): Likewise. 2060 (lower_bound): Likewise. 2061 (upper_bound): Likewise. 2062 (equal_range): Likewise. 2063 (binary_search): Likewise. 2064 (inplace_merge): Likewise. 2065 (includes): Likewise. 2066 (next_permutation): Likewise. 2067 (prev_permutation): Likewise. 2068 (is_sorted_until): Likewise. 2069 (minmax_element): Likewise. 2070 (partial_sort): Likewise. 2071 (nth_element): Likewise. 2072 (sort): Likewise. 2073 (merge): Likewise. 2074 (stable_sort): Likewise. 2075 (set_union): Likewise. 2076 (set_intersection): Likewise. 2077 (set_difference): Likewise. 2078 (set_symmetric_difference): Likewise. 2079 (min_element): Likewise. 2080 (max_element): Likewise. 2081 * include/bits/stl_algobase.h 2082 (lower_bound): Likewise. 2083 (lexicographical_compare): Likewise. 2084 * include/bits/stl_heap.h 2085 (push_heap): Likewise. 2086 (pop_heap): Likewise. 2087 (make_heap): Likewise. 2088 (sort_heap): Likewise. 2089 (is_heap_until): Likewise. 2090 * testsuite/25_algorithms/lexicographical_compare/debug/ 2091 irreflexive_neg.cc: New. 2092 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. 2093 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: 2094 New. 2095 20962015-08-24 Jonathan Wakely <jwakely@redhat.com> 2097 2098 PR libstdc++/65049 2099 * include/bits/char_traits.h (char_traits<char>::compare, 2100 char_traits<char>::find, char_traits<char>::move, 2101 char_traits<char>::copy, char_traits<char>::assign): Check for zero 2102 length. 2103 (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, 2104 char_traits<wchar_t>::move, char_traits<wchar_t>::copy, 2105 char_traits<wchar_t>::assign): Likewise. 2106 (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. 2107 (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. 2108 * include/ext/pod_char_traits.h (char_traits<character<>>::move, 2109 char_traits<character<>>::copy): Likewise. 2110 * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. 2111 * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: 2112 New. 2113 * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: 2114 New. 2115 * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: 2116 New. 2117 2118 PR libstdc++/67309 2119 * include/bits/random.tcc 2120 (poisson_distribution::param_type::_M_initialize): Use max<double>. 2121 (binomial_distribution::param_type::_M_initialize): Likewise. 2122 * testsuite/17_intro/headers/c++200x/67309.cc: New. 2123 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove 2124 redundant header. 2125 21262015-08-20 Jonathan Wakely <jwakely@redhat.com> 2127 2128 PR libstdc++/67294 2129 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run 2130 on Darwin. 2131 * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. 2132 2133 * include/experimental/any (__any_caster): Define at namespace scope 2134 so the name is visible to name lookup. 2135 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 2136 2137 * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not 2138 libstdc++fs. 2139 * python/Makefile.in: Regenerate. 2140 21412015-08-19 Paolo Carlini <paolo.carlini@oracle.com> 2142 2143 * include/c_global/cmath: Fix typo in comment. 2144 21452015-08-19 Paolo Carlini <paolo.carlini@oracle.com> 2146 2147 * include/c_global/cmath: Revert fix for libstdc++/58625, no 2148 longer necessary (__builtin_signbit is now type-generic). 2149 21502015-08-18 Jonathan Wakely <jwakely@redhat.com> 2151 2152 PR c++/67216 2153 * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: 2154 Fix use of safe-bool idiom that isn't valid in C++11. 2155 2156 * include/bits/ptr_traits.h: Include <bits/move.h> for addressof. 2157 2158 PR libstdc++/67066 2159 * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add 2160 caveats for --enable-concept-checks. Improve link text. 2161 * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking): 2162 Clarify caveats. 2163 * doc/html/*: Regenerate. 2164 * include/bits/stl_deque.h (deque): Only use concept checks in C++03. 2165 * include/bits/stl_stack.h (stack): Likewise. 2166 * include/bits/stl_vector.h (vector): Likewise. 2167 21682015-08-14 Jonathan Wakely <jwakely@redhat.com> 2169 2170 * include/experimental/any (any::operator=(const any&)): Move check 2171 for self-assignment. 2172 (any::operator=(any&&)): Add check for self-assignment. 2173 (any::operator=(_ValueType&&)): Constrain template argument. 2174 (any::swap(any&)): Add check for self-swap. 2175 * testsuite/experimental/any/assign/self.cc: Test move and swap. 2176 * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error. 2177 21782015-08-14 Jonathan Wakely <jwakely@redhat.com> 2179 2180 * include/experimental/array: Add feature-test macro. 2181 * testsuite/experimental/array/neg.cc: Update dg-error. 2182 21832015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> 2184 2185 * testsuite/experimental/array/neg.s: Remove. 2186 * testsuite/experimental/array/neg.ii.gz: Remove. 2187 21882015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> 2189 2190 Implement std::experimental::fundamentals_v2::make_array and 2191 std::experimental::fundamentals_v2::to_array. 2192 * include/Makefile.am: Add array. 2193 * include/Makefile.in: Add array. 2194 * include/experimental/array: New. 2195 * testsuite/experimental/array/make_array.cc: Likewise. 2196 * testsuite/experimental/array/neg.cc: Likewise. 2197 * doc/html/manual/status.html: Mark make_array as Y. 2198 * doc/xml/manual/status_cxx2017.xml: Likewise. 2199 22002015-08-13 Jonathan Wakely <jwakely@redhat.com> 2201 2202 * include/bits/alloc_traits.h: Add feature-test macro. 2203 * include/bits/allocator.h: Likewise. 2204 * include/bits/range_access.h: Likewise. 2205 * include/bits/stl_map.h: Likewise. 2206 * include/bits/unordered_map.h: Likewise. 2207 22082015-08-13 Jonathan Wakely <jwakely@redhat.com> 2209 2210 * testsuite/30_threads/mutex/unlock/2.cc: New. 2211 * testsuite/30_threads/recursive_mutex/unlock/2.cc: New. 2212 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New. 2213 * testsuite/30_threads/shared_mutex/unlock/1.cc: New. 2214 * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New. 2215 * testsuite/30_threads/timed_mutex/unlock/2.cc: New. 2216 22172015-08-13 Eelis van der Weegen <eelis@eelis.net> 2218 2219 * include/std/shared_mutex (shared_mutex::unlock()): Fix typo. 2220 22212015-08-12 Caroline Tice <cmtice@google.com> 2222 2223 PR 66521, Contributed by Eric Gallager 2224 * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and 2225 fix the rpath flag to work properly for darwin. 2226 * configure: Regenerated. 2227 22282015-08-12 Jonathan Wakely <jwakely@redhat.com> 2229 2230 * doc/xml/manual/appendix_contributing.xml: Update patch email policy. 2231 * doc/xml/manual/status_cxx2017.xml: Update status table. 2232 * doc/html/manual/*: Regenerate. 2233 22342015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com> 2235 2236 Implement N4279, Improved insertion interface for unique-key maps. 2237 * include/bits/stl_map.h (try_emplace, insert_or_assign): New. 2238 * include/bits/stl_tree.h (_M_get_insert_unique_pos, 2239 _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos, 2240 _M_get_insert_hint_equal_pos): Make public. 2241 * include/bits/unordered_map.h (try_emplace, insert_or_assign): New. 2242 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: 2243 Likewise. 2244 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. 2245 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: 2246 Likewise. 2247 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: 2248 Likewise. 2249 22502015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com> 2251 2252 Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) 2253 and N4366 LWG 2228: Missing SFINAE rule in unique_ptr 2254 templated assignment 2255 * include/bits/unique_ptr.h 2256 (__remove_cv, __is_derived_Tp): Remove. 2257 (default_delete::default_delete(const default_delete<_Up[]>)): 2258 Constrain with array convertibility. 2259 (default_delete::operator(_Up*)): Turn into a template, 2260 constrain with array convertibility. 2261 (__safe_conversion_up): New, single object version. 2262 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter 2263 convertibility. 2264 (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add 2265 is_assignable as a constraint. 2266 (__safe_conversion_up): Array version, renamed from __safe_conversion, 2267 updated to implement N4089. 2268 (__safe_conversion_raw): New. 2269 (unique_ptr(_Up)): Turn into a template, constrain with array 2270 convertibility. 2271 (unique_ptr(_Up, 2272 typename conditional<is_reference<deleter_type>::value, 2273 deleter_type, const deleter_type&>::type)): Likewise. 2274 (unique_ptr(_Up, typename 2275 remove_reference<deleter_type>::type&&)): Likewise. 2276 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise. 2277 (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add 2278 is_assignable as a constraint (array version). 2279 (reset(_Up)): Turn into a template, constrain with array 2280 convertibility. 2281 (reset(nullptr_t)): New. 2282 * testsuite/20_util/default_delete/48631_neg.cc: Adjust. 2283 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. 2284 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. 2285 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise. 2286 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise. 2287 * testsuite/20_util/unique_ptr/dr2228.cc: New. 2288 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust. 2289 22902015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com> 2291 2292 * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove 2293 redundant -save-temps option. 2294 * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. 2295 * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. 2296 * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. 2297 * testsuite/30_threads/future/cons/constexpr.cc: Likewise. 2298 * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise. 2299 23002015-08-03 Jonathan Wakely <jwakely@redhat.com> 2301 2302 PR libstdc++/67078 2303 * include/bits/range_access.h (size, empty, data): Fix _N bad name. 2304 23052015-07-30 Jonathan Wakely <jwakely@redhat.com> 2306 2307 * testsuite/experimental/filesystem/operations/current_path.cc: Use 2308 canonical paths for comparisons. 2309 23102015-07-30 Tim Shen <timshen@google.com> 2311 2312 * include/bits/regex_automaton.h (_State_base, _State<>): 2313 Remove _TraitsT dependency from _State<>; Make matcher member 2314 into the union to reduce struct size. 2315 * include/bits/regex_automaton.tcc (_State_base<>::_M_print, 2316 _State_base<>::_M_dot, _StateSeq<>::_M_clone): 2317 Adjust to fit the interface. Factor out common parts in 2318 _M_clone as _State<>::_M_has_alt. 2319 * include/bits/regex_executor.h (_Executer<>::_M_lookahead): 2320 Only pass state id instead of the whole state. 2321 * include/bits/regex_executor.tcc (_Executer<>::_M_dfs, 2322 _Executer<>::_M_lookahead): Adjust to fit the interface. 2323 * include/std/regex: Include <ext/aligned_buffer.h> 2324 23252015-07-30 Jonathan Wakely <jwakely@redhat.com> 2326 2327 * include/experimental/any (any::operator=(const any&)): Check for 2328 self-assignment. 2329 * testsuite/experimental/any/assign/self.cc: New. 2330 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 2331 23322015-07-29 Jonathan Wakely <jwakely@redhat.com> 2333 2334 PR libstdc++/66829 2335 * testsuite/lib/libstdc++.exp (v3-build_support): Compile 2336 testsuite_shared.cc with -std=gnu++98. 2337 23382015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com> 2339 2340 * include/bits/range_access.h: Change class to typename in every 2341 template. 2342 (size, empty, data): New functions from N4280. 2343 * testsuite/24_iterators/container_access.cc: New. 2344 2345 PR libstdc++/60970 2346 * include/bits/functional_hash.h (__hash_enum): New. 2347 (hash): Derive from __hash_enum. 2348 * testsuite/20_util/hash/60970.cc: New. 2349 23502015-07-29 Tim Shen <timshen@google.com> 2351 2352 PR libstdc++/67015 2353 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, 2354 _BracketMatcher<>::_M_add_collating_element): Change signature 2355 to make checking the and of bracket expression easier. 2356 * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): 2357 Treat '-' as a valid literal if it's at the end of bracket expression. 2358 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: 2359 New testcases. 2360 23612015-07-24 Jonathan Wakely <jwakely@redhat.com> 2362 2363 * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] 2364 (_M_load_and_test_until): Whitespace. 2365 (_M_load_and_test): Value-initialize the unused durations. 2366 (_M_load_when_equal): Add missing return value. 2367 23682015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 2369 2370 * fragment.am (AM_CPPFLAGS): Add CPPFLAGS. 2371 * Makefile.in: Regenerate. 2372 * doc/Makefile.in: Regenerate. 2373 * include/Makefile.in: Regenerate. 2374 * libsupc++/Makefile.in: Regenerate. 2375 * po/Makefile.in: Regenerate. 2376 * python/Makefile.in: Regenerate. 2377 * src/Makefile.in: Regenerate. 2378 * src/c++11/Makefile.in: Regenerate. 2379 * src/c++98/Makefile.in: Regenerate. 2380 * src/filesystem/Makefile.in: Regenerate. 2381 * testsuite/Makefile.in: Regenerate. 2382 23832015-07-23 DJ Delorie <dj@redhat.com> 2384 2385 * include/bits/functional_hash.h: Add specializations for __intN 2386 types. 2387 2388 * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds): 2389 Guard against values that might exceed size_t's precision. 2390 23912015-07-20 Jason Merrill <jason@redhat.com> 2392 2393 * include/bits/c++config: Fix abi_tag in special modes. 2394 23952015-07-19 Jonathan Wakely <jwakely@redhat.com> 2396 2397 * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279. 2398 * doc/html/manual/status.html: Regenerate. 2399 24002015-07-17 Jonathan Wakely <jwakely@redhat.com> 2401 2402 * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle. 2403 * doc/html/manual/status.html: Regenerate. 2404 24052015-07-16 François Dumont <fdumont@gcc.gnu.org> 2406 2407 * include/bits/stl_algobase.h (__miter_base): Move... 2408 * include/bits/cpp_type_traits.h: ...here. 2409 * include/debug/functions.h (__foreign_iterator_aux): Use latter. 2410 * testsuite/23_containers/vector/debug/insert7_neg.cc: New. 2411 24122015-07-13 Jonathan Wakely <jwakely@redhat.com> 2413 2414 PR libstdc++/66855 2415 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override 2416 endianness bit in mode. 2417 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. 2418 2419 * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define. 2420 * include/bits/forward_list.h (forward_list::swap): Make noexcept 2421 unconditional. 2422 * include/bits/hashtable.h (_Hashtable::swap): Do not use 2423 _S_nothrow_swap(). 2424 * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept 2425 unconditional. 2426 * include/bits/stl_deque.h (deque::swap): Likewise. 2427 (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF. 2428 * include/bits/stl_list.h (list::swap): Make noexcept unconditional. 2429 (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF. 2430 * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use 2431 _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap. 2432 * include/bits/stl_multimap.h (multimap::swap, 2433 swap(multimap&, multimap&)): Likewise. 2434 * include/bits/stl_multiset.h (multiset::swap, 2435 swap(multiset&, multiset&)): Likewise. 2436 * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise. 2437 * include/bits/stl_tree.h (_Rb_tree::swap, 2438 swap(_Rb_tree&, _Rb_tree&)): Likewise. 2439 * include/bits/stl_vector.h (vector::swap): Make noexcept 2440 unconditional. 2441 (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF. 2442 * include/debug/deque (deque::swap, swap): Likewise. 2443 * include/debug/forward_list (swap): Add noexcept. 2444 * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. 2445 * include/debug/map.h (map::swap, swap): Likewise. 2446 * include/debug/multimap.h (multimap::swap, swap): Likewise. 2447 * include/debug/multiset.h (multiset::Swap, swap): Likewise. 2448 * include/debug/set.h (set::swap, swap): Likewise. 2449 * include/debug/unordered_map (unordered_map::swap, 2450 unordered_multimap::swap, swap): Likewise. 2451 * include/debug/unordered_set (unordered_set::swap, 2452 unordered_multiset::swap, swap): Likewise. 2453 * include/debug/vector (vector::swap, swap): Likewise. 2454 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): 2455 Remove. 2456 * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. 2457 * include/profile/forward_list (swap): Add noexcept. 2458 * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF. 2459 * include/profile/map.h (map::swap, swap): Likewise. 2460 * include/profile/multimap.h (multimap::swap, swap): Likewise. 2461 * include/profile/multiset.h (multiset::swap, swap): Likewise. 2462 * include/profile/set.h (set::swap, swap): Likewise. 2463 * include/profile/unordered_map (swap): Likewise. 2464 * include/profile/unordered_set (swap): Likewise. 2465 * include/profile/vector (vector::swap, swap): Likewise. Remove 2466 overloads for swapping rvalues. 2467 * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests 2468 for noexcept on swap. 2469 * testsuite/23_containers/forward_list/allocator/noexcept.cc: 2470 Likewise. 2471 * testsuite/23_containers/list/allocator/noexcept.cc: Likewise. 2472 * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. 2473 * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. 2474 * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. 2475 * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. 2476 * testsuite/23_containers/unordered_map/allocator/noexcept.cc: 2477 Likewise. 2478 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: 2479 Likewise. 2480 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: 2481 Likewise. 2482 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: 2483 Likewise. 2484 * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. 2485 * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise. 2486 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line 2487 number. 2488 24892015-07-13 John Marino <gnugcc@marino.st> 2490 2491 * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK, 2492 _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK, 2493 _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define. 2494 24952015-07-05 François Dumont <fdumont@gcc.gnu.org> 2496 2497 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not 2498 rehash container. 2499 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: 2500 Adapt. 2501 25022015-07-03 Jonathan Wakely <jwakely@redhat.com> 2503 2504 * doc/xml/manual/status_cxx2017.xml: Update status table. 2505 * doc/html/manual/*: Regenerate. 2506 25072015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com> 2508 2509 Implement std::experimental::fundamentals_v2::propagate_const. 2510 * include/Makefile.am: Add propagate_const. 2511 * include/Makefile.in: Regenerate. 2512 * include/experimental/propagate_const: New. 2513 * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise. 2514 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. 2515 * testsuite/experimental/propagate_const/assignment/move_neg.cc: 2516 Likewise. 2517 * testsuite/experimental/propagate_const/cons/copy.cc: Likewise. 2518 * testsuite/experimental/propagate_const/cons/default.cc: Likewise. 2519 * testsuite/experimental/propagate_const/cons/move.cc: Likewise. 2520 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. 2521 * testsuite/experimental/propagate_const/hash/1.cc: Likewise. 2522 * testsuite/experimental/propagate_const/observers/1.cc: Likewise. 2523 * testsuite/experimental/propagate_const/relops/1.cc: Likewise. 2524 * testsuite/experimental/propagate_const/requirements1.cc: Likewise. 2525 * testsuite/experimental/propagate_const/requirements2.cc: Likewise. 2526 * testsuite/experimental/propagate_const/requirements3.cc: Likewise. 2527 * testsuite/experimental/propagate_const/requirements4.cc: Likewise. 2528 * testsuite/experimental/propagate_const/requirements5.cc: Likewise. 2529 * testsuite/experimental/propagate_const/swap/1.cc: Likewise. 2530 * testsuite/experimental/propagate_const/typedefs.cc: Likewise. 2531 25322015-07-02 Jonathan Wakely <jwakely@redhat.com> 2533 2534 * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for 2535 --with-default-libstdcxx-abi 2536 * configure: Regenerate. 2537 * doc/xml/manual/configure.xml: Document valid arguments. 2538 25392015-07-02 Uros Bizjak <ubizjak@gmail.com> 2540 2541 * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load 2542 to avoid unused variable warning. 2543 (__set_and_release): Use __p after __atomic_store to avoid unused 2544 variable warning. 2545 25462015-07-01 Jonathan Wakely <jwakely@redhat.com> 2547 2548 * include/bits/alloc_traits.h (__alloctr_rebind): Remove. 2549 (__allocator_traits_base): New base class. 2550 (__alloc_rebind): Reimplement in terms of detection idiom. 2551 (allocator_traits): Derive from __allocator_traits_base. Reimplement 2552 nested types in terms of detection idiom. Simplify SFINAE constraints 2553 on overloaded static member functions. 2554 * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead 2555 of __alloctr_rebind. 2556 * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind. 2557 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust 2558 dg-error line number. 2559 2560 * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type, 2561 __ptrtr_rebind, __ptrtr_not_void): Remove 2562 (__get_first_arg, __replace_first_arg, __make_not_void): Define new 2563 transformations. 2564 (__detected_or_): New detection trait. 2565 (pointer_traits): Use new traits. 2566 * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member. 2567 * testsuite/20_util/pointer_traits/requirements/ 2568 explicit_instantiation.cc: Use valid arguments to pointer_traits. 2569 2570 * doc/xml/manual/status_cxx2017.xml: Update status table. 2571 * include/experimental/type_traits (void_t, is_detected, 2572 is_detected_v, detected_t, detected_or, detected_or_t, 2573 is_detected_exact, is_detected_exact_v, is_detected_convertible, 2574 is_detected_convertible_v): Define. 2575 * include/std/type_traits (__detector, __detected_or, __detected_or_t, 2576 __detected_or_t_): Define. 2577 * testsuite/experimental/type_traits/detection.cc: New. 2578 25792015-06-30 Jonathan Wakely <jwakely@redhat.com> 2580 2581 * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log. 2582 * doc/Makefile.in: Regenerate. 2583 2584 * include/bits/stl_pair.h: Replace class keyword with typename. 2585 25862015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com> 2587 2588 Implement N4387, "Improving pair and tuple", and LWG 2367. 2589 2590 * include/bits/stl_pair.h (_ConstructiblePair, 2591 _ImplicitlyConvertiblePair, _MoveConstructiblePair, 2592 _ImplicitlyMoveConvertiblePair): New. 2593 (pair()): Constrain it. 2594 (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&), 2595 pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&), 2596 pair(pair<_U1, _U2>&&)): Make conditionally explicit. 2597 * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New. 2598 (tuple()): Constrain it. 2599 (tuple(const _UElements&...), tuple(_UElements&&...), 2600 tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&), 2601 tuple(allocator_arg_t, const _Alloc&, const _UElements&...), 2602 tuple(allocator_arg_t, const _Alloc&, _UElements&&...), 2603 tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), 2604 tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&), 2605 tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&), 2606 tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&), 2607 tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make 2608 conditionally explicit. 2609 * include/experimental/functional (__boyer_moore_array_base): Name 2610 array type explicitly instead of using an empty braced-init-list. 2611 * testsuite/20_util/pair/cons/explicit_construct.cc: New. 2612 * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct. 2613 * testsuite/20_util/pair/requirements/dr2367.cc: New. 2614 * testsuite/20_util/tuple/cons/explicit_construct.cc: New. 2615 * testsuite/20_util/tuple/requirements/dr2367.cc: New. 2616 26172015-06-30 Jonathan Wakely <jwakely@redhat.com> 2618 2619 * configure: Regenerate. 2620 26212015-06-29 François Dumont <fdumont@gcc.gnu.org> 2622 2623 * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition 2624 to pre-C++11 mode. 2625 * include/debug/functions.h 2626 (__gnu_debug::__valid_range, __gnu_debug::__base): Move... 2627 * include/debug/safe_iterator.h 2628 (__gnu_debug::_Sequence_traits): New. 2629 (__gnu_debug::__get_distance_from_begin): New. 2630 (__gnu_debug::__get_distance_to_end): New. 2631 (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range 2632 distance information. Add optional check_dereferenceable parameter, 2633 default true. 2634 (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move 2635 default definition... 2636 (__gnu_debug::__get_distance): New overload for _Safe_iterator. 2637 (__gnu_debug::__unsafe): Likewise. 2638 * include/debug/helper_functions.h: ...here. New. 2639 (__gnu_debug::__unsafe): New helper function to remove safe iterator 2640 layer. 2641 * include/debug/stl_iterator.h: New. Include latter. 2642 * include/bits/stl_iterator.h: Include latter in debug mode. 2643 * include/debug/stl_iterator.tcc: Adapt. 2644 * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add 2645 overload for _Safe_local_iterator. 2646 (__gnu_debug::__unsafe): Likewise. 2647 * include/debug/safe_local_iterator.tcc: Adapt. 2648 * include/debug/macros.h (__glibcxx_check_valid_range2): New. 2649 (__glibcxx_check_insert_range): Add _Dist parameter. 2650 (__glibcxx_check_insert_range_after): Likewise. 2651 (__glibcxx_check_string, __glibcxx_check_string_len): Implement using 2652 _GLIBCXX_DEBUG_PEDASSERT. 2653 * include/debug/deque (deque<>::assign): Remove iterator debug layer 2654 when possible. 2655 (deque<>::insert): Likewise. 2656 * include/debug/forward_list (__glibcxx_check_valid_fl_range): New. 2657 (forward_list<>::splice_after): Use latter. 2658 (forward_list<>::assign): Remove iterator debug layer when possible. 2659 (forward_list<>::insert_after): Likewise. 2660 (__gnu_debug::_Sequence_traits<>): Partial specialization. 2661 * include/debug/list (list<>::assign): Remove iterator debug layer when 2662 possible. 2663 (list<>::insert): Likewise. 2664 [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI. 2665 * include/debug/map.h (map<>::insert): Remove iterator debug layer when 2666 possible. 2667 * include/debug/multimap.h (multimap<>::insert): Likewise. 2668 * include/debug/set.h (set<>::insert): Likewise. 2669 * include/debug/multiset.h (multiset<>::insert): Likewise. 2670 * include/debug/string (basic_string<>::append, basic_string<>::assign, 2671 basic_string<>::insert, basic_string<>::replace): Likewise. 2672 * include/debug/unordered_map 2673 (unordered_map<>::insert, unordered_multimap<>::insert): Likewise. 2674 * include/debug/unordered_set 2675 (unordered_set<>::insert, unordered_multiset<>insert): Likewise. 2676 * include/debug/vector 2677 (vector<>::assign, vector<>::insert): Likewise. 2678 * include/Makefile.am: Add new debug headers. 2679 * include/Makefile.in: Regenerate. 2680 26812015-06-26 Jonathan Wakely <jwakely@redhat.com> 2682 2683 * doc/xml/manual/intro.xml: Document LWG 2108 status. 2684 * include/bits/alloc_traits.h (allocator_traits::is_always_equal): 2685 Define. 2686 * include/bits/allocator.h (allocator::is_always_equal): Likewise. 2687 * include/bits/forward_list.h 2688 (forward_list::operator=(forward_list&&)): Use __bool_constant. 2689 (forward_list::swap(forward_list&)): Add noexcept. 2690 * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)): 2691 Likewise. 2692 (_Hashtable::swap(_Hashtable&)): Likewise. 2693 * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): 2694 Use _Alloc_traits::is_always_equal. 2695 (deque::operator=(deque&&)): Likewise. 2696 (deque::_M_move_assign1(deque&&, false_type)): Add comment and use 2697 __bool_constant. 2698 (swap(deque&, deque&)): Add noexcept. 2699 * include/bits/stl_list.h (list::operator=(list&&)): Use 2700 __bool_constant. 2701 (swap(list&, list&)): Add noexcept. 2702 * include/bits/stl_map.h (map::swap(map&)): Include _Compare in 2703 noexcept. 2704 (swap(map&, map&)): Add noexcept. 2705 * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include 2706 _Compare in noexcept. 2707 (swap(multimap&, multimap&)): Add noexcept. 2708 * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include 2709 _Compare in noexcept. 2710 (swap(multiset&, multiset&)): Add noexcept. 2711 * include/bits/stl_set.h (set::swap(set&)): Include _Compare in 2712 noexcept. 2713 (swap(set&, set&)): Add noexcept. 2714 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include 2715 _Compare in noexcept. 2716 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use 2717 is_always_equal. 2718 * include/bits/stl_vector.h (vector::operator=(vector&&)): Use 2719 __bool_constant. 2720 (swap(vector&, vector&)): Add noexcept. 2721 * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&), 2722 swap(unordered_multimap& unordered_multimap&)): Add noexcept. 2723 * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&), 2724 swap(unordered_multiset& unordered_multiset&)): Add noexcept. 2725 * include/ext/alloc_traits.h (__allocator_always_compares_equal): 2726 Remove. 2727 (__alloc_traits::_S_always_equal()): Use is_always_equal instead of 2728 __allocator_always_compares_equal. 2729 * include/ext/array_allocator.h (array_allocator::is_always_equal): 2730 Define. 2731 * include/std/scoped_allocator (__any_of, __propagate_on_copy, 2732 __propagate_on_move, __propagate_on_swap): Remove. 2733 (scoped_allocator_adaptor::propagate_on_container_copy_assignment, 2734 scoped_allocator_adaptor::propagate_on_container_move_assignment, 2735 scoped_allocator_adaptor::propagate_on_container_swap): Define with 2736 __and_ instead of __any_of. 2737 (scoped_allocator_adaptor::is_always_equal): Define. 2738 * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New. 2739 * testsuite/20_util/scoped_allocator/propagation.cc: Make traits 2740 derive from true_type or false_type. 2741 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add 2742 is_always_equal member and remove the trait specialization. 2743 * testsuite/23_containers/vector/52591.cc: Likewise. 2744 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 2745 Adjust dg-error line number. 2746 * testsuite/23_containers/deque/requirements/dr438/ 2747 constructor_1_neg.cc: Likewise. 2748 * testsuite/23_containers/deque/requirements/dr438/ 2749 constructor_2_neg.cc: Likewise. 2750 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 2751 Likewise. 2752 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2753 Likewise. 2754 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 2755 Likewise. 2756 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2757 Likewise. 2758 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 2759 Likewise. 2760 * testsuite/23_containers/vector/requirements/dr438/ 2761 constructor_1_neg.cc: Likewise. 2762 * testsuite/23_containers/vector/requirements/dr438/ 2763 constructor_2_neg.cc: Likewise. 2764 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 2765 Likewise. 2766 2767 * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept. 2768 * include/bits/stl_map.h (map::map()): Likewise. 2769 * include/bits/stl_multimap.h (multimap::multimap()): Likewise. 2770 * include/bits/stl_multiset.h (multiset::multiset()): Likewise. 2771 * include/bits/stl_set.h (set::set()): Likewise. 2772 27732015-06-25 Jonathan Wakely <jwakely@redhat.com> 2774 2775 * include/bits/locale_conv.h (__do_str_codecvt): Set __count. 2776 27772015-06-24 François Dumont <fdumont@gcc.gnu.org> 2778 2779 * include/bits/basic_string.h (basic_string<>::front()): Add !empty 2780 debug check. 2781 (basic_string<>::back()): Likewise. 2782 (basic_string<>::pop_back()): Likewise. 2783 27842015-06-24 Paolo Carlini <paolo.carlini@oracle.com> 2785 2786 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust 2787 dg-error line numbers. 2788 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 2789 Likewise. 2790 27912015-06-23 François Dumont <fdumont@gcc.gnu.org> 2792 2793 * include/debug/array: Include <array>. Add version namespace when 2794 specializing tuple interface to array. Add specialization for 2795 __is_tuple_like_impl. 2796 * include/profile/array: Likewise. 2797 * include/std/array: Include <utility>. Add specialization for 2798 __is_tuple_like_impl. 2799 * include/std/tuple 2800 (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move... 2801 * include/std/utility: ... here. Include <type_traits>. 2802 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust 2803 dg-error line number. 2804 * testsuite/23_containers/array/tuple_interface/ 2805 tuple_element_debug_neg.cc: Likewise. 2806 28072015-06-22 Jonathan Wakely <jwakely@redhat.com> 2808 2809 * testsuite/26_numerics/complex/value_operations/1.cc: Use 2810 non-negative rho argument. 2811 2812 * include/debug/list (__gnu_debug::list): Use allocator-aware 2813 _Safe_container base. 2814 * include/debug/string (__gnu_debug::basic_string): Use 2815 allocator-aware _Safe_container base for cxx11 ABI. 2816 2817 * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range. 2818 (wstring_convert): Move into __cxx11 namespace. 2819 (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception 2820 message. 2821 2822 PR libstdc++/64657 2823 * include/bits/stl_uninitialized.h 2824 (__uninitialized_copy::__uninit_copy): Cast expression to void. 2825 28262015-06-17 Jonathan Wakely <jwakely@redhat.com> 2827 2828 PR libstdc++/55409 2829 * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits. 2830 (list::list(const list&)): Use allocator propagation trait. Use 2831 _M_assign_dispatch to copy elements. 2832 * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11. 2833 (_List_node::_M_valptr()): Add accessor for stored value. 2834 (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr(). 2835 (_List_base, list): Use allocator traits. 2836 (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove. 2837 (_List_base::_M_move_nodes): New function. 2838 (_List_base(_List_base&&)): Use _M_move_nodes. 2839 (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor. 2840 (list::_M_create_node, list::_M_erase, list::max_size): Use allocator 2841 traits. 2842 (list(size_type)): Add allocator parameter. 2843 (list(const list&)): Use allocator propagation trait. 2844 (list(const list&, const allocator_type&)): New constructor. 2845 (list(list&&, const allocator_type&)): Likewise. 2846 (list::operator=(list&&), list::swap(list&)): Use allocator 2847 propagation traits. 2848 (list::_M_move_assign): New functions. 2849 * include/debug/list: Add allocator-extended constructors. 2850 * include/profile/list: Likewise. 2851 * python/libstdcxx/v6/printers.py (get_value_from_list_node): New 2852 function to get value from _List_node. 2853 (StdListPrinter): Use get_value_from_list_node. 2854 * testsuite/23_containers/list/allocator/copy.cc: New. 2855 * testsuite/23_containers/list/allocator/copy_assign.cc: New. 2856 * testsuite/23_containers/list/allocator/minimal.cc: New. 2857 * testsuite/23_containers/list/allocator/move.cc: New. 2858 * testsuite/23_containers/list/allocator/move_assign.cc: New. 2859 * testsuite/23_containers/list/allocator/noexcept.cc: New. 2860 * testsuite/23_containers/list/allocator/swap.cc: New. 2861 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2862 Adjust dg-prune-output line number. 2863 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 2864 Likewise. 2865 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2866 Likewise. 2867 2868 * include/bits/forward_list.h 2869 (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to 2870 rvalue-reference. 2871 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise. 2872 (forward_list(const _Alloc&)): Split default constructor out to 2873 separate function. 2874 (forward_list(forward_list&&, const _Alloc&)): Move elements if base 2875 class didn't do so. 2876 (forward_list::_M_move_assign(forward_list&&, true_type)): Replace 2877 swap call with two assignments. 2878 * include/bits/forward_list.tcc 2879 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't 2880 move elements when allocators are not equal. 2881 * include/debug/forward_list (forward_list(const allocator_type&)): 2882 Split default constructor out to separate function. 2883 * include/profile/forward_list (forward_list(const _Alloc&)): 2884 Likewise. 2885 2886 * include/bits/forward_list.h (forward_list::_M_get_Node_allocator): 2887 Remove unnecessary uses of operator& and static_cast. 2888 * include/bits/forward_list.tcc 2889 (forward_list::operator=(const forward_list&)): Use __addressof 2890 instead of operator&. 2891 (forward_list::remove(const _Tp&), forward_list::remove(_Pred)): 2892 Remove invalid static_casts. 2893 * include/debug/forward_list: Use __addressof instead of operator&. 2894 * testsuite/23_containers/forward_list/modifiers/addressof.cc: New. 2895 2896 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use 2897 __is_nothrow_swappable. 2898 28992015-06-16 Jonathan Wakely <jwakely@redhat.com> 2900 2901 * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. 2902 2903 * include/bits/list.tcc (list::operator=(const list&), list::merge): 2904 Use __addressof instead of operator&. 2905 (list::sort): Use array-to-pointer decay instead of operator&. 2906 * include/bits/stl_list.h (list::splice): Use __addressof instead of 2907 operator&. 2908 * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter): 2909 Likewise. 2910 * include/debug/functions.h (__check_singular): Likewise. 2911 * include/debug/list (list::splice, list::merge): Likewise. 2912 * testsuite/23_containers/list/modifiers/addressof.cc: New. 2913 2914 PR libstdc++/65393 2915 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr 2916 copies with moves. 2917 29182015-06-12 Jonathan Wakely <jwakely@redhat.com> 2919 2920 * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>. 2921 2922 PR libstdc++/66464 2923 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): 2924 Return 4 not 3. 2925 29262015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2927 2928 PR c++/66192 2929 PR target/66200 2930 * config/cpu/alpha/atomic_word.h: Remove. 2931 * config/cpu/ia64/atomic_word.h: Remove. 2932 * config/cpu/powerpc/atomic_word.h: Remove. 2933 * config/os/aix/atomic_word.h: Remove. 2934 * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: 2935 Use generic definition. 2936 29372015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2938 2939 PR target/66200 2940 PR c++/66192 2941 * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define 2942 (_GLIBCXX_WRITE_MEM_BARRIER): Likewise 2943 * include/bits/shared_ptr_base.h: Use ACQ_REL barrier. 2944 * include/ext/atomicity.h: Likewise. 2945 * include/tr1/shared_ptr.h: Likewise. 2946 * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics. 2947 Update comment. 2948 (__set_and_release): Likewise. 2949 * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for 2950 line numbers. 2951 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 2952 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 2953 Likewise. 2954 29552015-06-12 Jonathan Wakely <jwakely@redhat.com> 2956 2957 * include/std/tuple (__is_tuple_like_impl): Disambiguate array in 2958 debug and profile modes. 2959 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests 2960 for swap in C++11 and later. 2961 29622015-06-09 Jonathan Wakely <jwakely@redhat.com> 2963 2964 PR libstdc++/66030 2965 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols 2966 for mingw32. 2967 29682015-06-08 Jonathan Wakely <jwakely@redhat.com> 2969 2970 PR libstdc++/66441 2971 * testsuite/22_locale/conversions/string/66441.cc: New. 2972 * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space 2973 in the output string for BOM and complete result. 2974 2975 PR libstdc++/66417 2976 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order 2977 for single UTF-16 units. 2978 * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. 2979 29802015-06-07 François Dumont <fdumont@gcc.gnu.org> 2981 2982 * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to 2983 outer scope and rename to ... 2984 (std::__hash_is_transparent<>): ... this. 2985 * include/debug/stl_map.h (map::find<>, 2986 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New 2987 member function templates to perform heterogeneous lookup. 2988 * include/debug/stl_multimap.h (multimap::find<>, 2989 multimap::lower_bound<>, multimap::upper_bound<>, 2990 multimap::equal_range<>): Likewise. 2991 * include/debug/stl_multiset.h (multiset::find<>, 2992 multiset::lower_bound<>, multiset::upper_bound<>, 2993 multiset::equal_range<>): Likewise. 2994 * include/debug/stl_set.h (set::find<>, 2995 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 2996 * include/profile/stl_map.h (map::find<>, map::count<>, 2997 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise. 2998 * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>, 2999 multimap::lower_bound<>, multimap::upper_bound<>, 3000 multimap::equal_range<>): Likewise. 3001 * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>, 3002 multiset::lower_bound<>, multiset::upper_bound<>, 3003 multiset::equal_range<>): Likewise. 3004 * include/profile/stl_set.h (set::find<>, set::count<>, 3005 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 3006 * testsuite/23_containers/map/operations/1.cc: Check const variants. 3007 * testsuite/23_containers/multimap/operations/1.cc: Likewise. 3008 * testsuite/23_containers/multiset/operations/1.cc: Likewise. 3009 * testsuite/23_containers/set/operations/1.cc: Likewise. 3010 30112015-06-05 Jonathan Wakely <jwakely@redhat.com> 3012 3013 * doc/xml/manual/status_cxx2017.xml: Update status tables. 3014 * doc/html/manual/*: Regenerate. 3015 * include/std/type_traits (bool_constant): Define. 3016 * testsuite/20_util/bool_constant/requirements.cc: New. 3017 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 3018 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3019 Likewise. 3020 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3021 Likewise. 3022 3023 * include/std/shared_mutex (__shared_mutex_pthread, 3024 __shared_mutex_cv): New helper types implementing the shared mutex 3025 requirements. 3026 (shared_mutex): New type for C++17. 3027 (shared_timed_mutex): Derive from one of the new helper types. 3028 * testsuite/30_threads/shared_mutex/cons/1.cc: New. 3029 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. 3030 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. 3031 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: 3032 New. 3033 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. 3034 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. 3035 30362015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com> 3037 3038 Add __is_nothrow_swappable and take it into use. 3039 * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode. 3040 * include/bits/move.h (swap): Add constraints in C++11 and later. 3041 * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable 3042 for the free swap function for pair. 3043 * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable 3044 for the free swap functions for queue and priority_queue. 3045 * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable 3046 for the free swap function for stack. 3047 * include/debug/array (swap): Use __is_nothrow_swappable 3048 for the free swap function for array. 3049 * include/profile/array (swap): Likewise. 3050 * include/std/array (swap): Likewise. 3051 * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable. 3052 * include/std/type_traits (__is_swappable_impl::__is_swappable, 3053 __is_nothrow_swappable_impl, __is_nothrow_swappable): New. 3054 * testsuite/20_util/is_nothrow_swappable/requirements/ 3055 explicit_instantiation.cc: New. 3056 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: 3057 New. 3058 * testsuite/20_util/is_nothrow_swappable/value.cc: New. 3059 30602015-06-03 François Dumont fdumont@gcc.gnu.org> 3061 3062 * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode. 3063 30642015-06-02 Jonathan Wakely <jwakely@redhat.com> 3065 3066 * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. 3067 * doc/html/manual/*: Regenerate. 3068 3069 * doc/html/ext/lwg-active.html: Update to R93. 3070 * doc/html/ext/lwg-closed.html: Likewise. 3071 * doc/html/ext/lwg-defects.html: Likewise. 3072 * doc/html/manual/*: Regenerate. 3073 * doc/xml/manual/intro.xml: Document status of several DRs. 3074 30752015-06-02 Renlin Li <renlin.li@arm.com> 3076 3077 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. 3078 30792015-06-01 Jonathan Wakely <jwakely@redhat.com> 3080 3081 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE 3082 environment variable. 3083 30842015-05-31 Jonathan Wakely <jwakely@redhat.com> 3085 3086 PR libstdc++/66354 3087 * include/bits/stl_algobase.h (__fill_a): Check length before calling 3088 memset. 3089 30902015-05-30 Jonathan Wakely <jwakely@redhat.com> 3091 3092 * include/bits/stl_algobase.h (__equal<true>::equal): Check length 3093 instead of checking for null pointers. 3094 (__lexicographical_compare<true>::__lc): Only check shorter length. 3095 30962015-05-29 François Dumont fdumont@gcc.gnu.org> 3097 3098 * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, 3099 _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... 3100 * include/debug/assertions.h: ...here, new. 3101 * include/debug/formatter.h 3102 (_Error_formatter::_Is_iterator_value_type): New. 3103 (_Error_formatter::_Is_instance): New. 3104 (_Error_formatter::_Parameter): Make public and not friend anymore. 3105 (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. 3106 (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum 3107 entry. 3108 (_Error_formatter::_Parameter::_Type): New. 3109 (_Error_formatter::_Parameter::_Instance): New, inherit from 3110 latter. 3111 (union _Error_formatter::_Parameter::_M_variant): Reorganize. 3112 (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all 3113 overloads take iterator through a const reference. 3114 (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): 3115 New. 3116 (_Parameter(const _Type&, const char*, _Is_instance)): New. 3117 (_Error_formatter::_M_print_type): Delete. 3118 (_Error_formatter::_M_iterator_value_type): New. 3119 (_Error_formatter::_M_instance): New. 3120 * include/Makefile.am: Add new above debug file. 3121 * include/Makefile.in: Regenerate. 3122 * include/debug/functions.h 3123 (__check_dereferenceable(const _Safe_iterator<>&), 3124 __valid_range(const _Safe_iterator<>&), 3125 __is_safe_random_iterator<_Safe_iterator<>>): Move... 3126 * include/debug/safe_iterator.h: ... here. 3127 Replace debug.h include with assertions.h. 3128 (__check_singular_aux): Move... 3129 * include/debug/safe_base.h: ... here. 3130 * include/debug/functions.h 3131 (__check_dereferenceable(const _Safe_local_iterator<>&), 3132 __valid_range(const _Safe_local_iterator<>&): Move... 3133 * include/debug/safe_local_iterator.h: ...here. 3134 * include/debug/safe_sequence.h: Replace debug.h with assertions.h. 3135 Remove _Safe_iterator declaration. 3136 * include/debug/safe_unordered_container.h: Replace debug.h with 3137 assertions.h. 3138 * include/debug/array: Replace safe_sequence.h include with 3139 formatter.h and macros.h. 3140 * include/debug/deque: Include functions.tcc. 3141 * include/debug/forward_list: Likewise. 3142 * include/debug/list: Likewise. 3143 * include/debug/string: Likewise. 3144 * include/debug/vector: Likewise. 3145 * include/bits/unique_ptr.h: Replace debug.h include with new 3146 assertions.h. 3147 * include/bits/stl_iterator_base_funcs.h: Likewise. 3148 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: 3149 Adjust dg-error line number. 3150 * testsuite/23_containers/array/tuple_interface/ 3151 tuple_element_debug_neg.cc: Likewise. 3152 * src/c++11/debug.cc: Adapt. 3153 31542015-05-29 Jonathan Wakely <jwakely@redhat.com> 3155 3156 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute. 3157 * doc/html/manual/*: Regenerate. 3158 3159 * include/std/future (__async_result_of): New alias template. 3160 (async): Use __async_result_of to pass decayed types to result_of. 3161 * testsuite/30_threads/async/lwg2021.cc: New. 3162 * doc/xml/manual/intro.xml: Document LWG 2021 status. 3163 3164 PR libstdc++/66327 3165 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call 3166 memcmp with null pointers. 3167 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty 3168 ranges. 3169 31702015-05-28 Jonathan Wakely <jwakely@redhat.com> 3171 3172 PR libstdc++/65352 3173 * include/profile/array (array::data): Use _S_ptr. 3174 * include/debug/array (array::data): Likewise. 3175 3176 PR libstdc++/65352 3177 * include/std/array (__array_traits::_S_ptr): New function. 3178 (array::data): Use _S_ptr to avoid creating invalid reference. 3179 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust 3180 dg-error line numbers. 3181 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: 3182 likewise. 3183 31842015-05-27 Jonathan Wakely <jwakely@redhat.com> 3185 3186 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr 3187 instead of downcasting. 3188 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr. 3189 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise. 3190 (_Rb_tree::_S_iter): Remove. 3191 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove. 3192 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr 3193 instead of _S_lower_bound_tr 3194 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload. 3195 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here 3196 instead of calling _S_lower_bound_tr. 3197 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload. 3198 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here 3199 instead of calling _S_upper_bound_tr. 3200 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload. 3201 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise. 3202 (_Rb_tree::equal_range): Use _Base_ptr for end pointer. 3203 (_Rb_tree::_M_get_insert_unique_pos): Likewise. 3204 (_Rb_tree::_M_get_insert_equal_pos): Likewise. 3205 (_Rb_tree::_M_insert_equal_lower_node): Likewise. 3206 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique, 3207 _Rb_tree::_M_emplace_hint_unique): Remove static_cast. 3208 3209 PR libstdc++/66017 3210 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. 3211 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction 3212 from _Base_ptr. 3213 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. 3214 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. 3215 * include/ext/aligned_buffer.h (__aligned_membuf): New type using 3216 alignment of _Tp as a member subobject, not as a complete object. 3217 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup 3218 _Link_type manually as it might not be in the debug info. 3219 32202015-05-26 Doug Evans <dje@google.com> 3221 3222 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add 3223 operator-> support. 3224 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for 3225 operator->. 3226 32272015-05-26 Jonathan Wakely <jwakely@redhat.com> 3228 3229 * include/bits/locale_conv.h: Fix copyright years. 3230 * include/bits/quoted_string.h: Likewise. 3231 * src/filesystem/Makefile.am: Likewise. 3232 * testsuite/22_locale/conversions/buffer/1.cc: Likewise. 3233 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: 3234 Likewise. 3235 * testsuite/22_locale/conversions/string/1.cc: Likewise. 3236 * testsuite/22_locale/conversions/string/2.cc: Likewise. 3237 * testsuite/22_locale/conversions/string/3.cc: Likewise. 3238 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: 3239 Likewise. 3240 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: 3241 Likewise. 3242 * testsuite/util/testsuite_fs.h: Likewise. 3243 32442015-05-23 François Dumont fdumont@gcc.gnu.org> 3245 3246 PR libstdc++/64657 3247 * include/debug/functions.h (__check_sorted_aux): Cast expression to 3248 void. 3249 32502015-05-21 David Edelsohn <dje.gcc@gmail.com> 3251 3252 PR target/66224 3253 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): 3254 Don't use isync. Use lwsync if available. 3255 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use 3256 powerpc cpu definition. 3257 32582015-05-21 Jason Merrill <jason@redhat.com> 3259 3260 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation. 3261 * libsupc++/del_op.cc: Likewise. 3262 32632015-05-20 François Dumont fdumont@gcc.gnu.org> 3264 3265 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify 3266 usage of typeid. 3267 (_Error_formatter::_M_print_type): New. 3268 * src/c++11/debug.cc 3269 (_Error_formatter::_Parameter::_M_print_field): Use latter. 3270 (_Error_formatter::_M_print_type): Implement latter using 3271 __cxaabiv1::__cxa_demangle to print demangled type name. 3272 3273 * include/bits/cpp_type_traits.h 3274 (std::move_iterator): Delete declaration. 3275 (std::__is_move_iterator<move_iterator>): Move partial specialization... 3276 * include/bits/stl_iterator.h: ... here. 3277 (std::__miter_base): Overloads for std::reverse_iterator and 3278 std::move_iterator. 3279 * include/bits/stl_algobase.h (std::__miter_base): Provide default 3280 implementation. 3281 32822015-05-20 Jonathan Wakely <jwakely@redhat.com> 3283 3284 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam. 3285 3286 PR libstdc++/66078 3287 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add 3288 overload for pointers. 3289 * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 3290 808590.cc: Add -std=gnu++03 switch. 3291 * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 3292 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11. 3293 * testsuite/23_containers/vector/modifiers/push_back/ 3294 strong_guarantee.cc: New. 3295 32962015-05-19 Jonathan Wakely <jwakely@redhat.com> 3297 3298 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare. 3299 (operator==(const list&, const list&)): If size() is O(1) compare 3300 sizes before comparing each element. 3301 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define. 3302 (list::resize): Use _M_resize_pos. 3303 33042015-05-19 François Dumont <fdumont@gcc.gnu.org> 3305 3306 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor 3307 invocations. 3308 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. 3309 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. 3310 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. 3311 33122015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 3313 3314 * configure.host: Define cpu_defines_dir for ARM. 3315 * config/cpu/arm/cpu_defines.h: New file. 3316 33172015-05-17 François Dumont <fdumont@gcc.gnu.org> 3318 3319 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add 3320 missing constructors. 3321 * include/bits/unordered_set.h (unordered_set, unordered_multiset): 3322 Likewise. 3323 * include/debug/unordered_map (unordered_map, unordered_multimap): Add 3324 missing constructors. 3325 * include/debug/unordered_set (unordered_set, unordered_multiset): 3326 Likewise. 3327 * include/profile/unordered_map (unordered_map, unordered_multimap): Add 3328 missing constructors. 3329 * include/profile/unordered_set (unordered_set, unordered_multiset): 3330 Likewise. 3331 33322015-05-15 Jonathan Wakely <jwakely@redhat.com> 3333 3334 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and 3335 use throughout the file. 3336 (make_file_type): New function. 3337 (file_size(const path&, error_code&)): Report an error for anything 3338 that isn't a regular file. 3339 (status(const path&), symlink_status(const path&)): Do not throw for 3340 file_type::not_found. 3341 (temp_directory_path()): Check additional environment variables. 3342 * testsuite/experimental/filesystem/operations/exists.cc: New. 3343 * testsuite/experimental/filesystem/operations/file_size.cc: New. 3344 * testsuite/experimental/filesystem/operations/status.cc: New. 3345 * testsuite/experimental/filesystem/operations/temp_directory_path.cc: 3346 New. 3347 33482015-05-14 Nathan Myers <ncm@cantrip.org> 3349 Jonathan Wakely <jwakely@redhat.com> 3350 3351 PR libstdc++/66055 3352 * include/std/unordered_map (unordered_map, unordered_multimap): Add 3353 missing constructors. 3354 * include/std/unordered_set (unordered_set, unordered_multiset): 3355 Likewise. 3356 * testsuite/23_containers/unordered_map/cons/66055.cc: New. 3357 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. 3358 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. 3359 * testsuite/23_containers/unordered_set/cons/66055.cc: New. 3360 33612015-05-14 Jonathan Wakely <jwakely@redhat.com> 3362 3363 PR libstdc++/66011 3364 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and 3365 sendfile. 3366 * config.h.in: Regenerate. 3367 * configure: Regenerate. 3368 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do 3369 not return after copying contents. Use fchmod, fchmodat, and sendfile 3370 when available. 3371 (current_path, permissions, space): Use errno not return value. 3372 3373 PR libstdc++/66018 3374 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct 3375 dirent.d_type. 3376 * config.h.in: Regenerate. 3377 * configure: Regenerate. 3378 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove. 3379 33802015-05-13 Eric Botcazou <ebotcazou@adacore.com> 3381 3382 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete. 3383 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS. 3384 * config.h.in: Regenerate. 3385 * configure: Likewise. 3386 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by 3387 __USING_SJLJ_EXCEPTIONS__. 3388 * libsupc++/eh_throw.cc: Likewise. 3389 * libsupc++/eh_ptr.cc: Likewise. 3390 * doc/html/manual/appendix_porting.html: Remove 3391 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS 3392 * doc/xml/manual/build_hacking.xml: Likewise. 3393 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions. 3394 * doc/xml/manual/configure.xml: Likewise. 3395 33962015-05-13 Jonathan Wakely <jwakely@redhat.com> 3397 3398 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check 3399 for nullptr (LWG 2415). 3400 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test 3401 construction from empty unique_ptr. 3402 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. 3403 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 3404 3405 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()): 3406 Define (LWG 2454). 3407 * testsuite/20_util/raw_storage_iterator/base.cc: New. 3408 3409 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&): 3410 Remove explicit (LWG 2407). 3411 3412 * include/bits/basic_string.h (basic_string::basic_string()): Make 3413 noexcept conditional on allocator (LWG 2455). 3414 3415 * include/std/complex (polar): Check for negative rho (LWG 2459). 3416 3417 * include/experimental/tuple (apply): Handle pointers to member (LWG 3418 2418). 3419 * include/std/functional (_Mem_fn_base): Make constructors constexpr. 3420 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr. 3421 * testsuite/experimental/tuple/apply.cc: Test pointer to member. 3422 3423 * include/bits/random.h (seed_seq): More noexcept (LWG 2440). 3424 3425 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466. 3426 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust. 3427 * testsuite/23_containers/forward_list/allocator/minimal.cc: 3428 Likewise. 3429 * testsuite/23_containers/map/allocator/minimal.cc: Likewise. 3430 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise. 3431 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise. 3432 * testsuite/23_containers/set/allocator/minimal.cc: Likewise. 3433 * testsuite/23_containers/unordered_map/allocator/minimal.cc: 3434 Likewise. 3435 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: 3436 Likewise. 3437 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: 3438 Likewise. 3439 * testsuite/23_containers/unordered_set/allocator/minimal.cc: 3440 Likewise. 3441 * testsuite/util/testsuite_allocator.h: Remove unused parameter. 3442 3443 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris. 3444 * configure: Regenerate. 3445 34462015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> 3447 3448 * Makefile.in: Regenerated with automake-1.11.6. 3449 * aclocal.m4: Likewise. 3450 * configure: Likewise. 3451 * doc/Makefile.in: Likewise. 3452 * include/Makefile.in: Likewise. 3453 * libsupc++/Makefile.in: Likewise. 3454 * po/Makefile.in: Likewise. 3455 * python/Makefile.in: Likewise. 3456 * src/Makefile.in: Likewise. 3457 * src/c++11/Makefile.in: Likewise. 3458 * src/c++98/Makefile.in: Likewise. 3459 * src/filesystem/Makefile.in: Likewise. 3460 * testsuite/Makefile.in: Likewise. 3461 34622015-05-09 Jason Merrill <jason@redhat.com> 3463 3464 * testsuite/20_util/headers/functional/synopsis.cc: Add 3465 _GLIBCXX14_CONSTEXPR. 3466 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise. 3467 34682015-05-08 Jason Merrill <jason@redhat.com> 3469 3470 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98. 3471 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98. 3472 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98. 3473 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98. 3474 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98. 3475 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98. 3476 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98. 3477 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98. 3478 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98. 3479 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98. 3480 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: 3481 Likewise. 3482 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated. 3483 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 3484 Adjust expected errors. 3485 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: 3486 Likewise. 3487 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: 3488 Likewise. 3489 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 3490 Likewise. 3491 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 3492 Likewise. 3493 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 3494 Likewise. 3495 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: 3496 Likewise. 3497 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 3498 Likewise. 3499 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 3500 Likewise. 3501 * testsuite/23_containers/vector/requirements/dr438 3502 /constructor_1_neg.cc: Likewise. 3503 * testsuite/23_containers/vector/requirements/dr438 3504 /constructor_2_neg.cc: Likewise. 3505 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 3506 Likewise. 3507 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated. 3508 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated. 3509 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated. 3510 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated. 3511 * testsuite/ext/array_allocator/check_allocate_max_size.cc: 3512 Add -Wno-deprecated. 3513 * testsuite/ext/array_allocator/check_deallocate_null.cc: 3514 Add -Wno-deprecated. 3515 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated. 3516 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated. 3517 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error. 3518 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: 3519 Add -std=c++98. 3520 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: 3521 Add -std=c++98. 3522 * testsuite/tr1/2_general_utilities/shared_ptr/assign 3523 /auto_ptr_rvalue_neg.cc: Add -std=c++98. 3524 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: 3525 Add -std=c++98 -fno-show-column. 3526 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: 3527 Add -std=c++98. 3528 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: 3529 Add -std=c++98. 3530 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98. 3531 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98. 3532 3533 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. 3534 * src/c++98/Makefile.in: Regenerate. 3535 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. 3536 * src/Makefile.in: Regenerate. 3537 35382015-05-02 Jonathan Wakely <jwakely@redhat.com> 3539 3540 PR libstdc++/51617 3541 * include/std/future (async): Change default policy to launch::async. 3542 3543 * include/experimental/any (any::_Storage): Fix alignment of buffer. 3544 (any::_Internal): Check alignment of type. 3545 * testsuite/experimental/any/cons/aligned.cc: New. 3546 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 3547 3548 * include/experimental/iterator (ostream_joiner): Simplify by using 3549 the injected-class-name and the ostream_type typedef. 3550 3551 * include/experimental/iterator: New. Define ostream_joiner. 3552 * include/Makefile.am: Add new header. 3553 * include/Makefile.in: Regenerate. 3554 * testsuite/experimental/iterator/make_ostream_joiner.cc: New. 3555 * testsuite/experimental/iterator/ostream_joiner.cc: New. 3556 * testsuite/experimental/iterator/requirements.cc: New. 3557 * doc/xml/manual/status_cxx2017.xml: Update status. 3558 * doc/html/manual/status.html: Regenerate. 3559 3560 * include/experimental/numeric: New. Define gcd and lcm. 3561 * include/Makefile.am: Add new header. 3562 * include/Makefile.in: Regenerate. 3563 * testsuite/experimental/numeric/gcd.cc: New. 3564 * testsuite/experimental/numeric/lcm.cc: New. 3565 * doc/xml/manual/status_cxx2017.xml: Update status. 3566 * doc/html/manual/status.html: Regenerate. 3567 35682015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> 3569 3570 Revert addition of feature macros from other headers per latest SD-6. 3571 * include/experimental/deque: Remove feature-test macro. 3572 * include/experimental/forward_list: Ditto. 3573 * include/experimental/list: Ditto. 3574 * include/experimental/map: Ditto. 3575 * include/experimental/set: Ditto. 3576 * include/experimental/string: Ditto. 3577 * include/experimental/unordered_map: Ditto. 3578 * include/experimental/unordered_set: Ditto. 3579 35802015-05-02 Jonathan Wakely <jwakely@redhat.com> 3581 3582 * include/experimental/any (any::_Storage): Make non-copyable. 3583 (any::any): Do not copy _Storage object. 3584 (any::operator=): Implement more efficiently than swapping. 3585 (any::swap): Use new _Op_xfer operation. 3586 (any::_Op::_Op_xfer): New enumerator. 3587 (_Manager_internal::_S_alloc): Remove unused function. 3588 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out 3589 parameter instead of returning a _Storage object. 3590 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add 3591 _Op_xfer operation for moving and swapping. 3592 * testsuite/experimental/any/cons/nontrivial.cc: New. 3593 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. 3594 3595 * include/experimental/fs_path.h (filesystem_error::~filesystem_error): 3596 Declare. 3597 * src/filesystem/path.cc (filesystem_error::~filesystem_error): 3598 Define. 3599 3600 PR libstdc++/65978 3601 * include/std/tuple (forward_as_tuple, tie): Add constexpr. 3602 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment 3603 and fix tests for forward_as_tuple and tie. 3604 3605 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]: 3606 Set timespec members explicitly instead of with a braced-init-list. 3607 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro. 3608 36092015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> 3610 3611 * include/experimental/deque: Add feature-test macro. 3612 * include/experimental/forward_list: Ditto. 3613 * include/experimental/list: Ditto. 3614 * include/experimental/map: Ditto. 3615 * include/experimental/set: Ditto. 3616 * include/experimental/string: Ditto. 3617 * include/experimental/unordered_map: Ditto. 3618 * include/experimental/unordered_set: Ditto. 3619 36202015-05-01 Jonathan Wakely <jwakely@redhat.com> 3621 3622 * include/experimental/memory: Correct feature-test macro. 3623 3624 * include/experimental/memory: Add feature-test macro. 3625 * include/experimental/vector: Likewise. 3626 * doc/xml/manual/status_cxx2017.xml: Update status. 3627 * doc/html/manual/status.html: Regenerate. 3628 36292015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com> 3630 3631 Implement observer_ptr. 3632 * include/Makefile.am: Add new header. 3633 * include/Makefile.in: Regenerate. 3634 * include/experimental/memory: New. 3635 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New. 3636 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New. 3637 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New. 3638 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New. 3639 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New. 3640 * testsuite/experimental/memory/observer_ptr/requirements.cc: New. 3641 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New. 3642 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New. 3643 36442015-05-01 Jonathan Wakely <jwakely@redhat.com> 3645 3646 * src/filesystem/path.cc (path::compare): Do not copy strings. 3647 3648 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> 3649 is not available. 3650 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat. 3651 * configure: Regenerate. 3652 * config.h.in: Regenerate. 3653 * configure.ac: Check for utime.h 3654 * include/experimental/fs_path.h (path::string<>) 3655 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword. 3656 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir, 3657 closedir, dirent, readdir_r): Replace dummy functions with #error. 3658 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing. 3659 * src/filesystem/ops.cc (do_stat, is_set): Make inline. 3660 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime. 3661 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod. 3662 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set 3663 error_code. 3664 3665 * include/experimental/fs_path.h (path::_List): Use vector instead of 3666 list. 3667 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt. 3668 * src/filesystem/path.cc: Use std::prev instead of decrementing 3669 rvalues. Fix whitespace. 3670 * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 3671 Do not decrement iterators before begin. 3672 3673 * include/experimental/fs_dir.h: Fix use of non-reserved names. 3674 * include/experimental/fs_ops.h: Likewise. 3675 * include/experimental/fs_path.h: Likewise. 3676 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use 3677 C++11 when checking for support. 3678 3679 * include/bits/locale_classes.h (locale::facet): Delete copy 3680 operations in C++11 mode. 3681 3682 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. 3683 3684 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris. 3685 * configure: Regenerate. 3686 36872015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> 3688 3689 Inline one-line erasure dispatch functions. 3690 * include/experimental/forward_list (erase_if(), erase()): Inline. 3691 * include/experimental/list (erase_if(), erase()): Inline. 3692 * include/experimental/map (erase_if(*)): Inline. 3693 * include/experimental/set (erase_if(*)): Inline. 3694 * include/experimental/string (erase_if(), erase()): Inline. 3695 * include/experimental/unordered_map (erase_if(*)): Inline. 3696 * include/experimental/unordered_set (erase_if(*)): Inline. 3697 36982015-05-01 Jonathan Wakely <jwakely@redhat.com> 3699 3700 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. 3701 * doc/xml/manual/status_cxx2011.xml: Update status tables. 3702 * doc/xml/manual/status_cxx2014.xml: Likewise. 3703 * doc/xml/manual/status_cxx2017.xml: New. 3704 * doc/xml/manual/using.xml: Fix typo. 3705 * doc/html/*: Regenerate. 3706 3707 * include/std/memory (pointer_safety, declare_reachable, 3708 undeclare_reachable, declare_no_pointers, undeclare_no_pointers, 3709 get_pointer_safety): Define. 3710 * testsuite/20_util/pointer_safety/1.cc: New. 3711 37122015-04-30 Jonathan Wakely <jwakely@redhat.com> 3713 3714 Implement N4100 File System TS 3715 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. 3716 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. 3717 * config.h.in: Regenerate. 3718 * configure: Regenerate. 3719 * configure.ac: Enable filesystem TS and check its dependencies. 3720 * include/Makefile.am: Add new headers. 3721 * include/Makefile.in: Regenerate. 3722 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, 3723 __str_codecvt_out): Move code conversion logic from wstring_convert 3724 into new global functions. 3725 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new 3726 functions. 3727 (wstring_convert::_M_conv): Remove. 3728 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. 3729 * include/experimental/filesystem: New. 3730 * include/experimental/fs_dir.h: New. 3731 * include/experimental/fs_fwd.h: New. 3732 * include/experimental/fs_ops.h: New. 3733 * include/experimental/fs_path.h: New. 3734 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. 3735 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. 3736 * src/Makefile.am (SUBDIRS): Add filesystem. 3737 * src/Makefile.in: Regenerate. 3738 * src/filesystem/Makefile.am: New. 3739 * src/filesystem/Makefile.in: New. 3740 * src/filesystem/dir.cc: New. 3741 * src/filesystem/ops.cc: New. 3742 * src/filesystem/path.cc: New. 3743 * testsuite/experimental/filesystem/operations/absolute.cc: New. 3744 * testsuite/experimental/filesystem/operations/copy.cc: New. 3745 * testsuite/experimental/filesystem/operations/current_path.cc: New. 3746 * testsuite/experimental/filesystem/path/append/path.cc: New. 3747 * testsuite/experimental/filesystem/path/assign/assign.cc: New. 3748 * testsuite/experimental/filesystem/path/assign/copy.cc: New. 3749 * testsuite/experimental/filesystem/path/compare/compare.cc: New. 3750 * testsuite/experimental/filesystem/path/compare/path.cc: New. 3751 * testsuite/experimental/filesystem/path/compare/strings.cc: New. 3752 * testsuite/experimental/filesystem/path/concat/path.cc: New. 3753 * testsuite/experimental/filesystem/path/concat/strings.cc: New. 3754 * testsuite/experimental/filesystem/path/construct/copy.cc: New. 3755 * testsuite/experimental/filesystem/path/construct/default.cc: New. 3756 * testsuite/experimental/filesystem/path/construct/locale.cc: New. 3757 * testsuite/experimental/filesystem/path/construct/range.cc: New. 3758 * testsuite/experimental/filesystem/path/decompose/extension.cc: New. 3759 * testsuite/experimental/filesystem/path/decompose/filename.cc: New. 3760 * testsuite/experimental/filesystem/path/decompose/parent_path.cc: 3761 New. 3762 * testsuite/experimental/filesystem/path/decompose/relative_path.cc: 3763 New. 3764 * testsuite/experimental/filesystem/path/decompose/root_directory.cc: 3765 New. 3766 * testsuite/experimental/filesystem/path/decompose/root_name.cc: 3767 New. 3768 * testsuite/experimental/filesystem/path/decompose/root_path.cc: 3769 New. 3770 * testsuite/experimental/filesystem/path/decompose/stem.cc: New. 3771 * testsuite/experimental/filesystem/path/generic/generic_string.cc: 3772 New. 3773 * testsuite/experimental/filesystem/path/itr/traversal.cc: New. 3774 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. 3775 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: 3776 New. 3777 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: 3778 New. 3779 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: 3780 New. 3781 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: 3782 New. 3783 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. 3784 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. 3785 * testsuite/experimental/filesystem/path/query/empty.cc: New. 3786 * testsuite/experimental/filesystem/path/query/has_extension.cc: New. 3787 * testsuite/experimental/filesystem/path/query/has_filename.cc: New. 3788 * testsuite/experimental/filesystem/path/query/has_parent_path.cc: 3789 New. 3790 * testsuite/experimental/filesystem/path/query/has_relative_path.cc: 3791 New. 3792 * testsuite/experimental/filesystem/path/query/has_root_directory.cc: 3793 New. 3794 * testsuite/experimental/filesystem/path/query/has_root_name.cc: 3795 New. 3796 * testsuite/experimental/filesystem/path/query/has_root_path.cc: 3797 New. 3798 * testsuite/experimental/filesystem/path/query/has_stem.cc: New. 3799 * testsuite/experimental/filesystem/path/query/is_relative.cc: New. 3800 * testsuite/util/testsuite_fs.h: New. 3801 38022015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> 3803 3804 Add fundamentals TR container erasure. 3805 * include/Makefile.am: Add new headers. 3806 * include/Makefile.in: Add new headers. 3807 * include/experimental/array: New. 3808 * include/experimental/deque: New. 3809 * include/experimental/erase_if.tcc: New. 3810 * include/experimental/forward_list: New. 3811 * include/experimental/list: New. 3812 * include/experimental/map: New. 3813 * include/experimental/set: New. 3814 * include/experimental/string: New. 3815 * include/experimental/unordered_map: New. 3816 * include/experimental/unordered_set: New. 3817 * include/experimental/vector: New. 3818 * testsuite/experimental/deque/erasure.cc: New. 3819 * testsuite/experimental/forward_list/erasure.cc: New. 3820 * testsuite/experimental/list/erasure.cc: New. 3821 * testsuite/experimental/map/erasure.cc: New. 3822 * testsuite/experimental/set/erasure.cc: New. 3823 * testsuite/experimental/string/erasure.cc: New. 3824 * testsuite/experimental/unordered_map/erasure.cc: New. 3825 * testsuite/experimental/unordered_set/erasure.cc: New. 3826 * testsuite/experimental/vector/erasure.cc: New. 3827 38282015-04-30 François Dumont <fdumont@gcc.gnu.org> 3829 3830 * include/bits/cpp_type_traits.h 3831 (__gnu_cxx::__is_normal_iterator): Delete. 3832 * include/bits/stl_algobase.h (std::__niter_base): Adapt. 3833 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11. 3834 (std::__niter_base): Overloads for std::reverse_iterator, 3835 __gnu_cxx::__normal_iterator and std::move_iterator. 3836 38372015-04-30 François Dumont <fdumont@gcc.gnu.org> 3838 3839 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): 3840 Delete. 3841 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): 3842 Remove usage of latter and compute size of the prime numbers array 3843 locally. 3844 38452015-04-29 Doug Evans <dje@google.com> 3846 3847 PR libstdc++/65839 3848 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. 3849 Replace all lookups of "bool" with this. 3850 (get_std_size_type): New function. Replace all lookups of std::size_t 3851 with this. 3852 (*Worker): New method get_result_type. 3853 (DequeWorkerBase.__init__): New arg val_type. All callers updated. 3854 (ListWorkerBase.__init__): New arg val_type. All callers updated. 3855 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. 3856 Delete setting of name, enabled. 3857 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers 3858 updated. Delete setting of name. 3859 (UniquePtrMethodsMatcher): Rewrite for consistency with all other 3860 libstdc++ xmethod matchers. 3861 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. 3862 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. 3863 * testsuite/libstdc++-xmethods/deque.cc: Ditto. 3864 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. 3865 * testsuite/libstdc++-xmethods/list.cc: Ditto. 3866 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. 3867 * testsuite/libstdc++-xmethods/vector.cc: Ditto. 3868 38692015-04-29 Doug Evans <dje@google.com> 3870 3871 Use consistent naming for value type attributes. 3872 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype 3873 to _val_type. 3874 (ArraySizeWorker, ArrayEmptyWorker): Ditto. 3875 (ArrayFrontWorker, ArrayBackWorker): Ditto. 3876 (ArrayAtWorker, ArraySubscriptWorker): Ditto. 3877 (DequeWorkerBase): Rename elemtype to val_type. 3878 (ForwardListWorkerBase): Rename _elem_type to _val_type. 3879 (ForwardListFrontWorker): Ditto. And rename elem_address to 3880 val_address. 3881 (ForwardListMethodsMatcher): Rename elem_type to val_type. 3882 (VectorWorkerBase): Rename _elemtype to _val_type. 3883 38842015-04-29 Jonathan Wakely <jwakely@redhat.com> 3885 3886 PR libstdc++/65760 3887 * include/std/functional (__check_func_return_type): Use is_same to 3888 avoid using _is_convertible on incomplete types. 3889 * testsuite/20_util/function/65760.cc: New. 3890 3891 PR libstdc++/64657 3892 * include/bits/basic_string (basic_string::_S_copy_chars): Cast 3893 expression to void. 3894 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract, 3895 time_get::_M_extract_num, time_get::_M_extract_name, 3896 time_get::_M_extract_wday_or_month): Likewise. 3897 * include/bits/stl_algo.h (__includes, __replace_copy_if, 3898 __is_sorted_until, __is_permutation, transform): Likewise. 3899 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m, 3900 __equal::equal, __lexicographical_compare_impl, equal): Likewise. 3901 * include/bits/stl_numeric.h (inner_product): Likewise. 3902 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise. 3903 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper, 3904 input_iterator_wrapper): Declare unusable comma operator. 3905 * testsuite/21_strings/basic_string/cons/char/64657.cc: New. 3906 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc: 3907 New. 3908 39092015-04-28 Doug Evans <dje@google.com> 3910 3911 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): 3912 Define to zero. 3913 39142015-04-28 Jonathan Wakely <jwakely@redhat.com> 3915 3916 * include/bits/stl_algo.h (random_shuffle): Only define for hosted 3917 implementations. 3918 39192015-04-28 Jonathan Wakely <jwakely@redhat.com> 3920 3921 * Makefile.am (SUBDIRS): Move python to hosted_source. 3922 * Makefile.in: Regenerate. 3923 * acinclude.m4 (glibcxx_SUBDIRS): Reorder. 3924 * configure: Regenerate. 3925 39262015-04-28 Marc Glisse <marc.glisse@inria.fr> 3927 3928 PR libstdc++/65883 3929 * include/std/limits (numeric_limits): Add missing unsigned. 3930 39312015-04-28 Stephan Bergmann <sbergman@redhat.com> 3932 3933 * include/debug/vector (_Safe_vector::operator=): Add missing returns. 3934 39352015-04-28 Jonathan Wakely <jwakely@redhat.com> 3936 3937 PR libstdc++/60333 3938 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>): 3939 Handle enumeration types larger than sizeof(long). 3940 (__make_signed_selector<_Tp, false, true>): Find unsigned type then 3941 make it signed. 3942 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. 3943 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3944 Likewise. 3945 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. 3946 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust 3947 dg-error. 3948 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. 3949 3950 PR libstdc++/61645 3951 * include/bits/forward_list.h (forward_list::splice_after): Add 3952 noexcept. 3953 * include/bits/forward_list.tcc (forward_list::splice_after): 3954 Likewise. 3955 3956 PR libstdc++/65631 3957 * include/bits/random.h (seed_seq) Define copy constructor and copy 3958 assignment as deleted. 3959 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New. 3960 3961 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if. 3962 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: 3963 Use -std=gnu++1z. Check feature-test macro. 3964 3965 * include/std/type_traits (void_t): Add. 3966 * testsuite/20_util/void_t/1.cc: New. 3967 39682015-04-28 Tim Shen <timshen@google.com> 3969 3970 * include/bits/regex.tcc: Handle regex_constants::__polynomial. 3971 * include/bits/regex_automaton.tcc: Throw exception when parsing 3972 back-reference with flag __polynomial. 3973 * include/bits/regex_constants.h: Add extension flag 3974 syntax_option_type __polynomial. 3975 * bits/regex_executor.tcc: Still let BFS process ECMAScript. 3976 Alternative operation will be fixed in the coming refactoring. 3977 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn 3978 loose match_search_debug to use DFS only. 3979 39802015-04-27 Sandra Loosemore <sandra@codesourcery.com> 3981 3982 PR libstdc++/65909 3983 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): 3984 Make the generated test program fail gracefully if the target 3985 doesn't support passing command-line arguments. 3986 39872015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com> 3988 Jonathan Wakely <jwakely@redhat.com> 3989 3990 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions): 3991 Return false or zero if the library is built without exceptions. 3992 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if 3993 the library is built without exceptions. 3994 39952015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com> 3996 3997 * config/abi/pre/gnu.ver: Fix comment. 3998 3999 Add support for std::uncaught_exceptions. 4000 * acinclude.m4: Bump libtool_VERSION. 4001 * config/abi/pre/gnu.ver: Export the new symbol. 4002 * configure: Regenerate. 4003 * libsupc++/eh_catch.cc (uncaught_exceptions): New. 4004 * libsupc++/exception (uncaught_exceptions): New. 4005 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New. 4006 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version. 4007 40082015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com> 4009 Michael Hanselmann <public@hansmi.ch> 4010 4011 PR libstdc++/62258 4012 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of 4013 uncaught exceptions. 4014 * testsuite/18_support/exception_ptr/62258.cc: New. 4015 40162015-04-27 Jonathan Wakely <jwakely@redhat.com> 4017 4018 * doc/xml/manual/extensions.xml: Add cross-reference. 4019 * doc/html/manual/ext_compile_checks.html: Regenerate. 4020 40212015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> 4022 4023 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. 4024 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. 4025 40262015-04-22 Renlin Li <renlin.li@arm.com> 4027 4028 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. 4029 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. 4030 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. 4031 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. 4032 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. 4033 40342015-04-21 Jonathan Wakely <jwakely@redhat.com> 4035 4036 * doc/xml/manual/configure.xml: Update descriptions of options 4037 affecting dual ABI and add cross-references. 4038 * doc/xml/manual/strings.xml: Clarify that string isn't COW now. 4039 * doc/xml/manual/using.xml: Document ABI transition. 4040 * doc/html/*: Regenerate. 4041 4042 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library. 4043 * doc/xml/manual/using.xml: Document newer -std options. Use better 4044 examples of nested namespaces. 4045 40462015-04-20 Jonathan Wakely <jwakely@redhat.com> 4047 4048 * doc/xml/manual/concurrency_extensions.xml: Update documentation 4049 on atomics. 4050 * doc/xml/manual/using.xml: Likewise. Improve markup. 4051 * doc/html/*: Regenerate. 4052 40532015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4054 4055 * scripts/extract_symvers.pl: Ignore elfdump error output. 4056 40572015-04-14 Marc Glisse <marc.glisse@inria.fr> 4058 4059 PR libstdc++/61347 4060 * include/bits/stl_iterator_base_funcs.h (_List_iterator, 4061 _List_const_iterator): Declare. 4062 (__distance): Declare new overloads for _List_iterator and 4063 _List_const_iterator. 4064 * include/bits/stl_list.h (__distance): New overloads for 4065 _List_iterator and _List_const_iterator. 4066 * testsuite/23_containers/list/61347.cc: New testcase. 4067 40682015-04-14 Jonathan Wakely <jwakely@redhat.com> 4069 4070 * doc/xml/manual/evolution.xml: Fix typos. 4071 * doc/html/manual/api.html: Regenerate. 4072 40732015-04-14 Hans-Peter Nilsson <hp@axis.com> 4074 4075 * testsuite/29_atomics/atomic/62259.cc: Assert atomic 4076 alignment is larger-equal, not equal, to default alignment. 4077 40782015-04-13 Jonathan Wakely <jwakely@redhat.com> 4079 4080 PR libstdc++/65754 4081 * config/abi/pre/gnu.ver: Export base object constructors for 4082 fstreams. 4083 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 4084 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 4085 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 4086 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 4087 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 4088 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 4089 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 4090 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 4091 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. 4092 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 4093 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. 4094 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 4095 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4096 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4097 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 4098 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 4099 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 4100 * testsuite/27_io/basic_fstream/cons/base.cc: New. 4101 41022015-04-13 Jonathan Wakely <jwakely@redhat.com> 4103 4104 * doc/xml/manual/evolution.xml: Document changes since 4.5 release. 4105 * doc/html/*: Regenerate. 4106 41072015-04-12 Uros Bizjak <ubizjak@gmail.com> 4108 4109 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 4110 41112015-04-10 Andreas Schwab <schwab@linux-m68k.org> 4112 4113 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. 4114 4115 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. 4116 41172015-04-10 Jonathan Wakely <jwakely@redhat.com> 4118 4119 * doc/xml/manual/test.xml: Improve documentation on running a subset 4120 of tests. 4121 * doc/html/manual/test.html: Regenerate. 4122 41232015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 4124 4125 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update 4126 for GCC 5.1 release. 4127 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 4128 Likewise. 4129 41302015-04-10 Jonathan Wakely <jwakely@redhat.com> 4131 4132 * include/std/shared_mutex (shared_timed_mutex): Add comments to 4133 explain the logic in the non-pthread_rwlock_t version. 4134 (_Mutex): Remove redundant type. 4135 (_M_n_readers): Rename to _S_max_readers. 4136 (_M_write_entered, _M_readers): New convenience functions. 4137 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience 4138 functions. Use predicates with condition variables. Simplify bitwise 4139 operations. 4140 (try_lock_for, try_shared_lock_for): Convert duration to time_point 4141 and call try_lock_until or try_shared_lock_until respectively. 4142 (try_lock_until, try_shared_lock_until): Wait on the condition 4143 variables until the specified time passes. 4144 (unlock): Add Debug Mode assertion. 4145 (unlock_shared): Add Debug Mode assertion. 4146 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. 4147 4148 * include/std/shared_mutex (shared_timed_mutex): Only use 4149 pthread_rwlock_t when the POSIX Timeouts option is supported. 4150 * testsuite/30_threads/shared_lock/cons/5.cc: Remove 4151 dg-require-gthreads-timed. 4152 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. 4153 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. 4154 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. 4155 41562015-04-09 H.J. Lu <hongjiu.lu@intel.com> 4157 4158 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 4159 41602015-04-09 Jonathan Wakely <jwakely@redhat.com> 4161 Richard Henderson <rth@redhat.com> 4162 4163 PR libstdc++/65147 4164 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase 4165 alignment. 4166 * include/std/atomic (atomic): For types with a power of two size set 4167 alignment to at least the size. 4168 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4169 * testsuite/29_atomics/atomic/65147.cc: New. 4170 * testsuite/29_atomics/atomic_integral/65147.cc: New. 4171 41722015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4173 4174 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. 4175 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4176 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4177 41782015-04-07 Jakub Jelinek <jakub@redhat.com> 4179 4180 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. 4181 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. 4182 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 4183 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. 4184 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. 4185 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. 4186 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. 4187 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. 4188 41892015-03-30 Jonathan Wakely <jwakely@redhat.com> 4190 4191 PR libstdc++/65630 4192 * config/abi/pre/gnu.ver: Export operator+ for new strings. 4193 * testsuite/21_strings/basic_string/operators/char/65630.cc: New. 4194 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. 4195 41962015-03-28 Tim Shen <timshen@google.com> 4197 4198 PR libstdc++/65420 4199 * include/bits/regex_constants.h: Use constexpr variables for flags. 4200 * testsuite/28_regex/constants/constexpr.cc: New testcase. 4201 42022015-03-27 Jonathan Wakely <jwakely@redhat.com> 4203 4204 PR libstdc++/65499 4205 * include/std/chrono: Add using-directive for literals to std::chrono. 4206 * testsuite/20_util/duration/literals/65499.cc: New. 4207 42082015-03-26 Jonathan Wakely <jwakely@redhat.com> 4209 4210 PR libstdc++/58038 4211 PR libstdc++/60421 4212 * include/std/thread (this_thread::sleep_for): Check for negative 4213 durations. 4214 (this_thread::sleep_until): Check for times in the past. 4215 * testsuite/30_threads/this_thread/58038.cc: New. 4216 * testsuite/30_threads/this_thread/60421.cc: New. 4217 42182015-03-26 Jonathan Wakely <jwakely@redhat.com> 4219 4220 PR libstdc++/62259 4221 PR libstdc++/65147 4222 * include/std/atomic (atomic<T>): Increase alignment for types with 4223 the same size as one of the integral types. 4224 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4225 * testsuite/29_atomics/atomic/62259.cc: New. 4226 42272015-03-26 Richard Henderson <rth@redhat.com> 4228 4229 PR libstdc++/65033 4230 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build 4231 a fake pointer indicating type alignment. 4232 (__atomic_base<T *>::is_lock_free): Likewise. 4233 * include/std/atomic (atomic<T>::is_lock_free): Likewise. 4234 42352015-03-25 Alan Lawrence <alan.lawrence@arm.com> 4236 4237 PR libstdc++/33394 4238 * testsuite/21_strings/basic_string/pthread33394.cc: Use 4239 dg-additional-options. 4240 42412015-03-25 Paolo Carlini <paolo.carlini@oracle.com> 4242 4243 PR libstdc++/65543 4244 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert 4245 thinko in r150387. 4246 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): 4247 Likewise. 4248 * testsuite/27_io/rvalue_streams-2.cc: New. 4249 42502015-03-24 Jonathan Wakely <jwakely@redhat.com> 4251 4252 PR libstdc++/33394 4253 * testsuite/21_strings/basic_string/pthread33394.cc: Add test. 4254 42552015-03-23 Jonathan Wakely <jwakely@redhat.com> 4256 4257 PR libstdc++/64967 4258 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. 4259 * configure: Regenerate. 4260 * src/c++11/compatibility-c++0x.cc (error_category), generic_category, 4261 system_category): Use macros for versioned namespace. 4262 * src/c++11/futex.cc: Add missing end macro for versioned namespace. 4263 42642015-03-20 James Greenhalgh <james.greenhalgh@arm.com> 4265 4266 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable 4267 test for unused for ARM. 4268 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise. 4269 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 4270 42712015-03-20 Jonathan Wakely <jwakely@redhat.com> 4272 4273 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. 4274 * include/ext/codecvt_specializations.h (encoding_state, 4275 encoding_char_traits): Remove abi-tag and use inline namespace. 4276 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. 4277 42782015-03-19 Jason Merrill <jason@redhat.com> 4279 4280 * config/locale/gnu/messages_members.cc: Revert abi-tag change. 4281 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. 4282 42832015-03-18 Jonathan Wakely <jwakely@redhat.com> 4284 4285 PR c++/65046 4286 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, 4287 get_catalogs): Add abi-tag. 4288 * include/ext/codecvt_specializations.h (encoding_state, 4289 encoding_char_traits): Likewise. 4290 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. 4291 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, 4292 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, 4293 money_get_shim, money_put_shim, messages_shim): Likewise. 4294 * src/c++11/future.cc (future_error_category::message): Likewise. 4295 * src/c++11/system_error.cc (generic_error_category::message, 4296 system_error_category::message): Likewise. 4297 (__sso_string): Disable -Wabi-tag warnings. 4298 42992015-03-18 Jonathan Wakely <jwakely@redhat.com> 4300 4301 PR libstdc++/13631 4302 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback 4303 implementation for old glibc. Fix whitespace. 4304 43052015-03-18 Jonathan Wakely <jwakely@redhat.com> 4306 Torvald Riegel <triegel@redhat.com> 4307 4308 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. 4309 * config.h.in: Regenerate. 4310 * configure: Regenerate. 4311 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. 4312 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. 4313 (shared_timed_mutex::lock_shared()): Retry on EAGAIN. 4314 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and 4315 EDEADLK. 4316 43172015-03-17 Jonathan Wakely <jwakely@redhat.com> 4318 4319 * libsupc++/nested_exception.h: Do not try to derive from final 4320 classes. 4321 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test 4322 final class. 4323 4324 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of 4325 unused exception variable. 4326 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 4327 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate 4328 test. 4329 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 4330 43312015-03-13 Jonathan Wakely <jwakely@redhat.com> 4332 4333 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. 4334 * configure: Regenerate. 4335 4336 * include/experimental/system_error: Fix include guard. 4337 43382015-03-12 Renlin Li <renlin.li@arm.com> 4339 4340 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for 4341 wrapped target. 4342 43432015-03-10 Tim Shen <timshen@google.com> 4344 4345 PR libstdc++/64441 4346 * include/bits/regex.h (match_results<>::size, 4347 match_results<>::position, match_results<>::str, 4348 match_results<>::operator[], match_results<>::prefix, 4349 match_results<>::suffix, match_results<>::end, 4350 match_results<>::_M_resize, match_results<>::_M_unmatched_sub, 4351 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove 4352 global __unmatched_sub. Add unmatched submatch as part of 4353 match_results. 4354 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, 4355 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. 4356 * testsuite/28_regex/match_results/out_of_range_submatches.cc: 4357 New testcases. 4358 43592015-03-09 Jonathan Wakely <jwakely@redhat.com> 4360 4361 PR libstdc++/64467 4362 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline 4363 for newlib targets. Really fix mixed line-endings this time. 4364 43652015-03-06 Jonathan Wakely <jwakely@redhat.com> 4366 4367 * include/std/future (future_error(error_code)): Construct base 4368 class with error_code's message. 4369 * src/c++11/future.cc (future_error::what()): Do not call c_str() on 4370 temporary string. 4371 43722015-03-05 Jonathan Wakely <jwakely@redhat.com> 4373 4374 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 4375 noconv result. 4376 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. 4377 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. 4378 43792015-03-04 Jonathan Wakely <jwakely@redhat.com> 4380 4381 PR libstdc++/64797 4382 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle 4383 incomplete multibyte sequences correctly. 4384 * include/std/codecvt (codecvt_utf8, codecvt_utf16, 4385 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. 4386 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): 4387 Define constants. 4388 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): 4389 Define convenience functions. 4390 (read_utf8_code_point): Return relevant constant to distinguish 4391 incomplete characters from invalid sequences. 4392 (read_utf16_code_point): Likewise. Check for invalid sequences. 4393 (ucs4_in, utf16_in): Use incomplete_mb_character constant. 4394 (utf16_out): Check for invalid sequences. 4395 (utf16_span): Fix condition. 4396 (ucs2_out): Use is_high_surrogate. 4397 (ucs2_in): Use incomplete_mb_character constant and fix condition. 4398 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. 4399 * testsuite/22_locale/conversions/buffer/1.cc: New. 4400 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and 4401 char32_t instead of wchar_t. 4402 * testsuite/22_locale/conversions/string/3.cc: New. 4403 44042015-03-03 Iain Sandoe <iain@codesourcery.com> 4405 4406 PR libstdc++/64883 4407 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check 4408 visibility for Darwin. 4409 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and 4410 also deprecated. 4411 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. 4412 44132015-03-02 Jonathan Wakely <jwakely@redhat.com> 4414 4415 PR libstdc++/65279 4416 * include/std/scoped_allocator (__inner_type_impl, 4417 scoped_allocator_adaptor): Add defaulted copy assignment and move 4418 assignment operators. 4419 * testsuite/20_util/scoped_allocator/65279.cc: New. 4420 44212015-03-02 Jonathan Wakely <jwakely@redhat.com> 4422 4423 PR libstdc++/64367 4424 * include/std/stdexcept (__sso_string): Don't use non-static member 4425 in sizeof. 4426 44272015-02-28 Matthias Klose <doko@ubuntu.com> 4428 4429 PR libstdc++/65246 4430 * python/libstdcxx/v6/__init__.py: Use explicit relative imports. 4431 44322015-02-22 Jonathan Wakely <jwakely@redhat.com> 4433 4434 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. 4435 * doc/html/manual/status.html: Regenerate. 4436 44372015-02-20 Jonathan Wakely <jwakely@redhat.com> 4438 4439 PR libstdc++/64695 4440 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new 4441 tuple layout. 4442 4443 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined 4444 behavior. 4445 * doc/html/manual/status.html: Regenerate. 4446 44472015-02-19 Jonathan Wakely <jwakely@redhat.com> 4448 4449 PR libstdc++/58357 4450 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. 4451 * include/bits/stl_algo.h (__rotate, rotate): Likewise. 4452 44532015-02-19 Hans-Peter Nilsson <hp@axis.com> 4454 4455 PR testsuite/65093 4456 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc 4457 (test01): Add explanatory comment. Keep only the bd1 sub-test and 4458 split out bd2, bd3, bd4, and bd5 sub-tests into... 4459 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, 4460 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, 4461 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, 4462 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: 4463 New separate files with the old parts. 4464 44652015-02-18 Jonathan Wakely <jwakely@redhat.com> 4466 4467 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output 4468 surrogate pairs. 4469 (utf16_in): Pass mode argument to write_utf16_code_point. 4470 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to 4471 native byte order. 4472 * testsuite/22_locale/codecvt/char16_t.cc: New. 4473 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. 4474 4475 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. 4476 * testsuite/22_locale/codecvt/char32_t.cc: Likewise. 4477 44782015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de> 4479 Jonathan Wakely <jwakely@redhat.com> 4480 4481 * testsuite/22_locale/codecvt/char32_t.cc: New. 4482 44832015-02-17 Jonathan Wakely <jwakely@redhat.com> 4484 4485 PR libstdc++/65085 4486 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure 4487 empty string gets null-terminated. 4488 * testsuite/21_strings/basic_string/cons/char/65085.cc: New. 4489 44902015-02-13 Matthew Wahab <matthew.wahab@arm.com> 4491 4492 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix 4493 mixed line-endings introduced in last change. 4494 44952015-02-12 Matthew Wahab <matthew.wahab@arm.com> 4496 4497 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test 4498 for __NEWLIB__ macro with a dejagnu set macro. 4499 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 4500 45012015-02-04 Matthew Wahab <matthew.wahab@arm.com> 4502 4503 PR libstdc++/64467 4504 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib 4505 special case for '\n'. 4506 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. 4507 45082015-02-01 Jonathan Wakely <jwakely@redhat.com> 4509 4510 * src/c++11/futex.cc: Do not define for gthr-single.h targets. 4511 45122015-02-01 Jonathan Wakely <jwakely@redhat.com> 4513 4514 PR libstdc++/64883 4515 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead 4516 of deprecated. 4517 * include/c_std/cstdio (gets): Likewise. 4518 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing 4519 with attributes used in darwin headers. 4520 45212015-01-29 Jakub Jelinek <jakub@redhat.com> 4522 4523 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of 4524 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first. 4525 * configure: Regenerated. 4526 45272015-01-29 H.J. Lu <hongjiu.lu@intel.com> 4528 4529 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 4530 after vtv_cygmin is set. 4531 * configure: Regenerated. 4532 45332015-01-29 Matthias Klose <doko@ubuntu.com> 4534 4535 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN 4536 unconditionally. 4537 * configure: Regenerate. 4538 45392015-01-29 Caroline Tice <cmtice@google.com> 4540 4541 Committing VTV Cywin/Ming patch for Patrick Wollgast 4542 * configure: Regenerate. 4543 * libsupc++/Makefile.in: Regenerate. 4544 * src/Makefile.in: Regenerate. 4545 45462015-01-29 Jonathan Wakely <jwakely@redhat.com> 4547 4548 * include/bits/atomic_base.h: Use __always_inline__ instead of 4549 always_inline. 4550 * include/bits/atomic_futex.h: Likewise. 4551 * include/bits/c++config: Use __abi_tag__ instead of abi_tag. 4552 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use 4553 __packed__ instead of packed. 4554 * include/std/shared_mutex: Use __unused__ instead of unused. 4555 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. 4556 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. 4557 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. 4558 45592015-01-28 Caroline Tice <cmtice@google.com> 4560 4561 Committing VTV Cywin/Ming patch for Patrick Wollgast 4562 * acinclude.m4: Define VTV_CYGMIN. 4563 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES 4564 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set. 4565 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function 4566 for Cygwin and MinGW. 4567 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if 4568 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS, 4569 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set. 4570 45712015-01-28 Jonathan Wakely <jwakely@redhat.com> 4572 4573 PR libstdc++/64828 4574 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. 4575 * libsupc++/Makefile.in: Regenerate. 4576 * src/c++11/Makefile.in: Regenerate. 4577 45782015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> 4579 4580 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove 4581 check for unsupported. 4582 (v3_target_compile_as_c): Likewise. 4583 45842015-01-28 Richard Biener <rguenther@suse.de> 4585 4586 PR libstdc++/64798 4587 * libsupc++/eh_alloc.cc (struct allocated_entry): Align 4588 data member. 4589 (pool::allocate): Adjust allocation size and alignment to 4590 that change. 4591 (pool::free): Adjust pointer offsetting. 4592 45932015-01-27 Jonathan Wakely <jwakely@redhat.com> 4594 4595 PR libstdc++/64368 4596 * include/std/shared_mutex (shared_timed_mutex::try_lock_for, 4597 shared_timed_mutex::try_lock_until): Only define when POSIX thread 4598 timeouts option is supported. 4599 (shared_timed_mutex::try_shared_lock_for, 4600 shared_timed_mutex::try_shared_lock_until): Likewise. 4601 46022015-01-26 Jonathan Wakely <jwakely@redhat.com> 4603 4604 PR libstdc++/64368 4605 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(), 4606 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping. 4607 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping 4608 and use cache's _M_grouping field. 4609 (__numpunct_fill_cache): Likewise. 4610 (__moneypunct_fill_cache): Improve comments. 4611 46122015-01-26 Jonathan Wakely <jwakely@redhat.com> 4613 4614 * testsuite/23_containers/set/operations/2.cc: Add test for 4615 non-transparent comparison function. 4616 46172015-01-25 Oleg Endo <olegendo@gcc.gnu.org> 4618 4619 PR target/29366 4620 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 4621 Remove SH4A inline asm and lock based implementations and use the 4622 defaults from ext/atomicity.h. 4623 46242015-01-23 Jonathan Wakely <jwakely@redhat.com> 4625 4626 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match 4627 new std::string constructors for byname facets. 4628 46292015-01-22 Richard Biener <rguenther@suse.de> 4630 4631 PR libstdc++/64535 4632 * libsupc++/eh_alloc.cc: Include new. 4633 (bitmask_type): Remove. 4634 (one_buffer): Likewise. 4635 (emergency_buffer): Likewise. 4636 (emergency_used): Likewise. 4637 (dependents_buffer): Likewise. 4638 (dependents_used): Likewise. 4639 (class pool): New custom fixed-size arena, variable size object 4640 allocator. 4641 (emergency_pool): New global. 4642 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. 4643 (__cxxabiv1::__cxa_free_exception): Likewise. 4644 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. 4645 (__cxxabiv1::__cxa_free_dependent_exception): Likewise. 4646 46472015-01-22 Tim Shen <timshen@google.com> 4648 4649 PR libstdc++/64680 4650 * include/bits/regex.h (basic_regex<>::basic_regex, 4651 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the 4652 standard interface. 4653 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. 4654 46552015-01-22 Tim Shen <timshen@google.com> 4656 4657 PR libstdc++/64649 4658 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 4659 regex_traits<>::lookup_classname): Correctly narrow input chars. 4660 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. 4661 46622015-01-21 Jonathan Wakely <jwakely@redhat.com> 4663 4664 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. 4665 46662015-01-21 Jonathan Wakely <jwakely@redhat.com> 4667 4668 * testsuite/29_atomics/atomic/64658.cc: Test stored value. 4669 46702015-01-20 Jonathan Wakely <jwakely@redhat.com> 4671 4672 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags. 4673 * doc/xml/manual/status_cxx2014.xml: Update status. 4674 * doc/html/manual/status.html: Regenerate. 4675 46762015-01-20 Jonathan Wakely <jwakely@redhat.com> 4677 4678 PR libstdc++/64650 4679 * include/experimental/optional (bad_optional_access): Add default 4680 constructor. 4681 * testsuite/experimental/optional/requirements.cc: Test for default 4682 constructor. 4683 46842015-01-20 Jonathan Wakely <jwakely@redhat.com> 4685 4686 * include/bits/stl_map.h (map::find<>, map::count<>, 4687 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New 4688 member function templates to perform heterogeneous lookup. 4689 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>, 4690 multimap::lower_bound<>, multimap::upper_bound<>, 4691 multimap::equal_range<>): Likewise. 4692 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>, 4693 multiset::lower_bound<>, multiset::upper_bound<>, 4694 multiset::equal_range<>): Likewise. 4695 * include/bits/stl_set.h (set::find<>, set::count<>, 4696 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. 4697 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr, 4698 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr, 4699 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr, 4700 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise. 4701 * testsuite/23_containers/map/operations/2.cc: New. 4702 * testsuite/23_containers/multimap/operations/2.cc: New. 4703 * testsuite/23_containers/multiset/operations/2.cc: New. 4704 * testsuite/23_containers/set/operations/2.cc: New. 4705 47062015-01-20 Jonathan Wakely <jwakely@redhat.com> 4707 4708 * config/abi/pre/gnu.ver: Export new constructors. 4709 * include/bits/codecvt.h (codecvt_byname): Add string constructor. 4710 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit 4711 specializations and declare explicit instantiations. 4712 * include/bits/locale_classes.h (locale, collate_byname): Add string 4713 constructors. 4714 * include/bits/locale_facets.h (ctype_byname, numpunct_byname): 4715 Likewise. 4716 * include/bits/locale_facets_nonio.h (time_get_byname, 4717 time_put_byname, moneypunct_byname, messages_byname): Likewise. 4718 * src/c++11/codecvt.cc (codecvt_byname<char16_t>, 4719 codecvt_byname<char32_t>): Define explicit instantiations. 4720 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): 4721 Instantiate string constructors. 4722 (ctype_byname): Define string constructor. 4723 * testsuite/22_locale/codecvt_byname/1.cc: New. 4724 * testsuite/22_locale/collate_byname/1.cc: New. 4725 * testsuite/22_locale/ctype_byname/2.cc: New. 4726 * testsuite/22_locale/messages_byname/1.cc: New. 4727 * testsuite/22_locale/moneypunct_byname/1.cc: New. 4728 * testsuite/22_locale/numpunct_byname/1.cc: New. 4729 47302015-01-20 Jonathan Wakely <jwakely@redhat.com> 4731 4732 PR libstdc++/64658 4733 * include/std/atomic (atomic_init): Define. 4734 * testsuite/29_atomics/atomic/64658.cc: New. 4735 47362015-01-19 Tim Shen <timshen@google.com> 4737 4738 PR libstdc++/64649 4739 * include/bits/regex.tcc (regex_traits<>::lookup_collatename, 4740 regex_traits<>::lookup_classname): Support forward iterators. 4741 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. 4742 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. 4743 47442015-01-19 Tim Shen <timshen@google.com> 4745 4746 PR libstdc++/64584 4747 PR libstdc++/64585 4748 * include/bits/regex.h (basic_regex<>::basic_regex, 4749 basic_regex<>::assign, basic_regex<>::imbue, 4750 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after 4751 imbuing basic_regex; Make assign() transactional against exception. 4752 * include/bits/regex_compiler.h (__compile_nfa<>): Add back 4753 __compile_nfa SFINAE. 4754 * include/std/regex: Adjust include order to avoid __compile_nfa 4755 forward declaration. 4756 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. 4757 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. 4758 47592015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com> 4760 Jonathan Wakely <jwakely@redhat.com> 4761 4762 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR 4763 on overloads for arrays. 4764 (cbegin, cend, rbegin, rend, crbegin, crend): New. 4765 * testsuite/24_iterators/range_access_cpp14.cc: New. 4766 47672015-01-18 Jonathan Wakely <jwakely@redhat.com> 4768 4769 PR libstdc++/64646 4770 * include/bits/stl_algo.h (__is_permutation): Also test for reaching 4771 end of the second range. 4772 * testsuite/25_algorithms/is_permutation/64646.cc: New. 4773 47742015-01-18 Jonathan Wakely <jwakely@redhat.com> 4775 4776 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. 4777 * doc/html/manual/status.html: Regenerate. 4778 47792015-01-18 Jonathan Wakely <jwakely@redhat.com> 4780 4781 * include/bits/atomic_futex.h: Use mutex and condition_variable when 4782 atomic int is not lock-free. Make member variables private. 4783 * src/c++11/futex.cc: Likewise. 4784 4785 * src/c++11/futex.cc: Fix order of includes and preprocessor condition. 4786 47872015-01-17 Jonathan Wakely <jwakely@redhat.com> 4788 4789 PR libstdc++/64638 4790 * include/bits/atomic_futex.h: Use appropriate config macros for 4791 availability of std::mutex, std::condition and std::chrono. 4792 47932015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com> 4794 Jonathan Wakely <jwakely@redhat.com> 4795 4796 * doc/xml/manual/status_cxx2011.xml: Update C++11 status. 4797 * doc/html/*: Regenerate. 4798 47992015-01-17 Jonathan Wakely <jwakely@redhat.com> 4800 4801 DR 488 4802 PR libstdc++/58357 4803 * include/bits/algorithmfwd.h (rotate): Return an iterator. 4804 * include/bits/stl_algo.h (rotate, __rotate): Likewise. 4805 * testsuite/25_algorithms/rotate/dr488.cc: New. 4806 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. 4807 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 4808 2.cc: Likewise. 4809 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ 4810 pod.cc: Likewise. 4811 48122015-01-17 Jonathan Wakely <jwakely@redhat.com> 4813 4814 PR libstdc++/60940 4815 * include/bits/atomic_base.h: Remove atomic integral typedefs as 4816 synonyms for __atomic_base<int> etc. 4817 * include/std/atomic: Make atomic_int a synonym for atomic<int> and 4818 likewise for all atomic integral types. 4819 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. 4820 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. 4821 48222015-01-17 Jonathan Wakely <jwakely@redhat.com> 4823 4824 PR libstdc++/56785 4825 * include/std/tuple (_Tuple_impl): Remove zero-element specialization 4826 and define one-element specialization. 4827 * testsuite/20_util/tuple/56785.cc: New. 4828 48292015-01-17 Jonathan Wakely <jwakely@redhat.com> 4830 4831 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: 4832 Remove unused header. 4833 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: 4834 Likewise. 4835 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 4836 Likewise. 4837 48382015-01-16 Jonathan Wakely <jwakely@redhat.com> 4839 4840 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. 4841 * include/std/locale: Include new header. 4842 * include/Makefile.am: Add it. 4843 * include/Makefile.in: Regenerate. 4844 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. 4845 * testsuite/22_locale/conversions/string/1.cc: New. 4846 * testsuite/22_locale/conversions/string/2.cc: New. 4847 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. 4848 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: 4849 New. 4850 48512015-01-16 Jonathan Wakely <jwakely@redhat.com> 4852 4853 * config/abi/pre/gnu.ver: Export new symbols. 4854 * include/Makefile.am: Add codecvt. 4855 * include/Makefile.in: Regenerate. 4856 * include/std/codecvt: New header. 4857 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, 4858 __codecvt_utf8_utf16_base): Define specializations. 4859 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. 4860 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. 4861 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: 4862 New. 4863 48642015-01-16 Torvald Riegel <triegel@redhat.com> 4865 4866 * src/c++11/futex.cc: New file. 4867 * include/bits/atomic_futex.h: New file. 4868 * include/std/future (__future_base::_State_baseV2): Use 4869 atomic_futex_unsigned instead of mutex+condvar. 4870 * src/c++11/futex.cc: Likewise. 4871 * include/Makefile.am: Add atomic_futex.h. 4872 * include/Makefile.in: Likewise. 4873 * src/c++11/Makefile.am: Add futex.cc. 4874 * src/c++11/Makefile.in: Likewise. 4875 48762015-01-16 Jonathan Wakely <jwakely@redhat.com> 4877 4878 * acinclude.m4: Fix typo in comment. 4879 * configure: Regenerate. 4880 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, 4881 codecvt<char16_t, char, mbstate_t>): Declare specializations. 4882 * include/bits/locale_facets.h: Reserve space for new specializations. 4883 * src/c++11/Makefile.am: Add codecvt.cc. 4884 * src/c++11/Makefile.in: Regenerate. 4885 * src/c++11/codecvt.cc: New. 4886 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc 4887 with -std=gnu++11. 4888 * src/c++98/Makefile.in: Regenerate. 4889 * src/c++98/locale_init.cc: Initialize new codecvt specializations. 4890 * src/c++98/localename.cc: Likewise. 4891 * config/abi/pre/gnu.ver: Exports for new codecvt specializations. 4892 * testsuite/22_locale/codecvt/utf8.cc: New. 4893 * testsuite/22_locale/locale/cons/unicode.cc: Check that new 4894 specializations are installed in locale objects. 4895 48962015-01-16 Torvald Riegel <triegel@redhat.com> 4897 4898 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based 4899 implementation. 4900 49012015-01-13 Jonathan Wakely <jwakely@redhat.com> 4902 4903 PR libstdc++/64571 4904 * config/abi/pre/gnu.ver: Export fstream functions using new string. 4905 49062015-01-12 Jonathan Wakely <jwakely@redhat.com> 4907 4908 PR libstdc++/64560 4909 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check 4910 for RTTI support. 4911 4912 PR libstdc++/64553 4913 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. 4914 49152015-01-10 Thomas Schwinge <thomas@codesourcery.com> 4916 4917 * doc/xml/manual/parallel_mode.xml: Update for libgomp being 4918 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and 4919 Multi Processing Runtime Library". 4920 49212015-01-09 Jonathan Wakely <jwakely@redhat.com> 4922 4923 PR libstdc++/64476 4924 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix 4925 is_assignable arguments. 4926 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: 4927 New. 4928 49292015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4930 4931 * libsupc++/unwind-cxx.h: Revert previous commit. 4932 49332015-01-09 Andreas Tobler <andreast@gcc.gnu.org> 4934 4935 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. 4936 49372015-01-09 Tim Shen <timshen@google.com> 4938 4939 PR libstdc++/64239 4940 * include/bits/regex.h (match_results<>::swap): Use std::swap 4941 instead of swap. 4942 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): 4943 Likewise. 4944 * testsuite/28_regex/match_results/swap.cc: New testcase. 4945 49462015-01-08 Jonathan Wakely <jwakely@redhat.com> 4947 4948 PR libstdc++/60132 4949 * include/std/type_traits (has_trivial_default_constructor, 4950 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated 4951 attribute. 4952 * testsuite/20_util/has_trivial_copy_assign/requirements/ 4953 explicit_instantiation.cc: Use -Wno-deprecated. 4954 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: 4955 Likewise. 4956 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. 4957 * testsuite/20_util/has_trivial_copy_constructor/requirements/ 4958 explicit_instantiation.cc: Likewise. 4959 * testsuite/20_util/has_trivial_copy_constructor/requirements/ 4960 typedefs.cc: Likewise. 4961 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. 4962 * testsuite/20_util/has_trivial_default_constructor/requirements/ 4963 explicit_instantiation.c: Likewise. 4964 * testsuite/20_util/has_trivial_default_constructor/requirements/ 4965 typedefs.cc: Likewise. 4966 * testsuite/20_util/has_trivial_default_constructor/value.cc: 4967 Likewise. 4968 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated 4969 trait. 4970 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. 4971 * testsuite/util/testsuite_common_types.h: Likewise. 4972 49732015-01-08 Jonathan Wakely <jwakely@redhat.com> 4974 4975 * include/bits/hashtable_policy.h: Use __bool_constant. 4976 49772015-01-07 Jonathan Wakely <jwakely@redhat.com> 4978 4979 * libsupc++/Makefile.am: Compile del_ops.cc as C++14. 4980 * libsupc++/Makefile.in: Regenerate. 4981 49822015-01-06 Jonathan Wakely <jwakely@redhat.com> 4983 4984 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). 4985 49862015-01-05 Jakub Jelinek <jakub@redhat.com> 4987 4988 Update copyright years. 4989 49902015-01-04 Jonathan Wakely <jwakely@redhat.com> 4991 4992 PR libstdc++/64483 4993 * testsuite/18_support/exception_ptr/64241.cc: Use 4994 dg-require-atomic-builtins. 4995 49962015-01-02 Jonathan Wakely <jwakely@redhat.com> 4997 4998 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright 4999 date. 5000 50012015-01-02 Tim Shen <timshen@google.com> 5002 5003 PR libstdc++/64475 5004 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the 5005 iterator, since the original one shouldn't be mutated. 5006 50072015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> 5008 5009 PR libstdc++/64422 5010 * src/c++98/misc-inst.cc (string::erase): Add missing overloads. 5011 (string::insert): Likewise. 5012 (string::replace): Likewise. 5013 (wstring::erase): Likewise. 5014 (wstring::insert): Likewise. 5015 (wstring::replace): Likewise. 5016 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. 5017 50182015-01-02 Jonathan Wakely <jwakely@redhat.com> 5019 5020 PR libstdc++/64468 5021 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. 5022 50232015-01-02 Jonathan Wakely <jwakely@redhat.com> 5024 5025 PR libstdc++/64438 5026 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: 5027 Revert removal of dg-require-string-conversions. 5028 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: 5029 Likewise. 5030 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: 5031 Likewise. 5032 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: 5033 Likewise. 5034 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: 5035 Likewise. 5036 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: 5037 Likewise. 5038 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: 5039 Likewise. 5040 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: 5041 Likewise. 5042 * testsuite/21_strings/basic_string/numeric_conversions/char/ 5043 stoull.cc: Likewise. 5044 * testsuite/21_strings/basic_string/numeric_conversions/char/ 5045 to_string.cc: Likewise. 5046 5047Copyright (C) 2015 Free Software Foundation, Inc. 5048 5049Copying and distribution of this file, with or without modification, 5050are permitted in any medium without royalty provided the copyright 5051notice and this notice are preserved. 5052