12013-12-22 Hans-Peter Nilsson <hp@axis.com> 2 3 * testsuite/20_util/hash/chi2_quality.h: Break out from 4 chi2_quality.cc. 5 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto. 6 * testsuite/20_util/hash/chi2_q_document_words.cc: Ditto. 7 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto. Increase 8 SAMPLES to 35000 for simulator targets. 9 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto. 10 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto. 11 * testsuite/20_util/hash/chi2_quality.cc: Remove. 12 132013-12-10 Paolo Carlini <paolo.carlini@oracle.com> 14 15 * testsuite/20_util/is_base_of/value.cc: Add test. 16 17 * include/std/fstream: Tiny formatting tweak. 18 192013-12-09 Paolo Carlini <paolo.carlini@oracle.com> 20 21 PR libstdc++/59427 22 * include/bits/fstream.tcc (basic_filebuf<>::overflow, 23 basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies 24 ios_base:out. 25 * include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise. 26 * testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New. 27 * testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise. 28 292013-12-09 Renlin Li <Renlin.Li@arm.com> 30 31 * testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000. 32 332013-12-08 Jonathan Wakely <jwakely.gcc@gmail.com> 34 35 * testsuite/30_threads/async/async.cc: Fix race condition in test. 36 372013-12-08 Paolo Carlini <paolo.carlini@oracle.com> 38 39 * testsuite/20_util/add_const/requirements/explicit_instantiation.cc: 40 New. 41 * testsuite/20_util/add_const/value.cc: Likewise. 42 * testsuite/20_util/add_cv/requirements/explicit_instantiation.cc: 43 Likewise. 44 * testsuite/20_util/add_cv/value.cc: Likewise. 45 * testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc: 46 Likewise. 47 * testsuite/20_util/add_pointer/value.cc: Likewise. 48 * testsuite/20_util/add_volatile/requirements/ 49 explicit_instantiation.cc: Likewise. 50 * testsuite/20_util/add_volatile/value.cc: Likewise. 51 * testsuite/20_util/alignment_of/requirements/ 52 explicit_instantiation.cc: Likewise. 53 * testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise. 54 * testsuite/20_util/alignment_of/value.cc: Likewise. 55 * testsuite/20_util/extent/requirements/explicit_instantiation.cc: 56 Likewise. 57 * testsuite/20_util/extent/requirements/typedefs.cc: Likewise. 58 * testsuite/20_util/extent/value.cc: Likewise. 59 * testsuite/20_util/has_virtual_destructor/requirements/ 60 explicit_instantiation.cc: Likewise. 61 * testsuite/20_util/has_virtual_destructor/requirements/ 62 typedefs.cc: Likewise. 63 * testsuite/20_util/has_virtual_destructor/value.cc: Likewise. 64 * testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc: 65 Likewise. 66 * testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise. 67 * testsuite/20_util/is_abstract/value.cc: Likewise. 68 * testsuite/20_util/is_arithmetic/requirements/ 69 explicit_instantiation.cc: Likewise. 70 * testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise. 71 * testsuite/20_util/is_arithmetic/value.cc: Likewise. 72 * testsuite/20_util/is_array/requirements/explicit_instantiation.cc: 73 Likewise. 74 * testsuite/20_util/is_array/requirements/typedefs.cc: Likewise. 75 * testsuite/20_util/is_array/value.cc: Likewise. 76 * testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc: 77 Likewise. 78 * testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise. 79 * testsuite/20_util/is_base_of/value.cc: Likewise. 80 * testsuite/20_util/is_class/requirements/explicit_instantiation.cc: 81 Likewise. 82 * testsuite/20_util/is_class/requirements/typedefs.cc: Likewise. 83 * testsuite/20_util/is_class/value.cc: Likewise. 84 * testsuite/20_util/is_const/requirements/explicit_instantiation.cc: 85 Likewise. 86 * testsuite/20_util/is_const/requirements/typedefs.cc: Likewise. 87 * testsuite/20_util/is_const/value.cc: Likewise. 88 * testsuite/20_util/is_empty/requirements/explicit_instantiation.cc: 89 Likewise. 90 * testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise. 91 * testsuite/20_util/is_empty/value.cc: Likewise. 92 * testsuite/20_util/is_enum/requirements/explicit_instantiation.cc: 93 Likewise. 94 * testsuite/20_util/is_enum/requirements/typedefs.cc 95 * testsuite/20_util/is_enum/value.cc: Likewise. 96 * testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc 97 * testsuite/20_util/is_pointer/value.cc: Likewise. 98 * testsuite/20_util/is_polymorphic/requirements/ 99 explicit_instantiation.cc: Likewise. 100 * testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise. 101 * testsuite/20_util/is_polymorphic/value.cc: Likewise. 102 * testsuite/20_util/is_same/requirements/explicit_instantiation.cc 103 * testsuite/20_util/is_same/requirements/typedefs.cc: Likewise. 104 * testsuite/20_util/is_same/value.cc: Likewise. 105 * testsuite/20_util/is_union/requirements/ 106 explicit_instantiation.cc: Likewise. 107 * testsuite/20_util/is_union/requirements/typedefs.cc: Likewise. 108 * testsuite/20_util/is_union/value.cc: Likewise. 109 * testsuite/20_util/is_void/requirements/explicit_instantiation.cc 110 * testsuite/20_util/is_void/requirements/typedefs.cc: Likewise. 111 * testsuite/20_util/is_void/value.cc: Likewise. 112 * testsuite/20_util/is_volatile/requirements/ 113 explicit_instantiation.cc: Likewise. 114 * testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise. 115 * testsuite/20_util/is_volatile/value.cc: Likewise. 116 * testsuite/20_util/rank/requirements/explicit_instantiation.cc: 117 Likewise. 118 * testsuite/20_util/rank/requirements/typedefs.cc: Likewise. 119 * testsuite/20_util/rank/value.cc: Likewise. 120 * testsuite/20_util/remove_all_extents/requirements/ 121 explicit_instantiation.cc: Likewise. 122 * testsuite/20_util/remove_all_extents/value.cc: Likewise. 123 * testsuite/20_util/remove_const/requirements/ 124 explicit_instantiation.cc: Likewise. 125 * testsuite/20_util/remove_const/value.cc: Likewise. 126 * testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc: 127 Likewise. 128 * testsuite/20_util/remove_cv/value.cc: Likewise. 129 * testsuite/20_util/remove_extent/requirements/ 130 explicit_instantiation.cc: Likewise. 131 * testsuite/20_util/remove_extent/value.cc: Likewise. 132 * testsuite/20_util/remove_pointer/requirements/ 133 explicit_instantiation.cc: Likewise. 134 * testsuite/20_util/remove_pointer/value.cc: Likewise. 135 * testsuite/20_util/remove_volatile/requirements/ 136 explicit_instantiation.cc: Likewise. 137 * testsuite/20_util/remove_volatile/value.cc: Likewise. 138 1392013-12-06 Paolo Carlini <paolo.carlini@oracle.com> 140 141 * testsuite/util/testsuite_tr1.h (test_category, test_property, 142 test_relationship): constexpr in c++11 mode. 143 * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert 144 and change to dg-do compile testcase. 145 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. 146 * testsuite/20_util/aligned_storage/value.cc: Likewise. 147 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. 148 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. 149 * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise. 150 * testsuite/20_util/is_compound/value.cc: Likewise. 151 * testsuite/20_util/is_constructible/value.cc: Likewise. 152 * testsuite/20_util/is_convertible/value.cc: Likewise. 153 * testsuite/20_util/is_copy_assignable/value.cc: Likewise. 154 * testsuite/20_util/is_copy_constructible/value.cc: Likewise. 155 * testsuite/20_util/is_floating_point/value.cc: Likewise. 156 * testsuite/20_util/is_function/value.cc: Likewise. 157 * testsuite/20_util/is_fundamental/value.cc: Likewise. 158 * testsuite/20_util/is_integral/value.cc: Likewise. 159 * testsuite/20_util/is_literal_type/value.cc: Likewise. 160 * testsuite/20_util/is_lvalue_reference/value.cc: Likewise. 161 * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. 162 * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. 163 * testsuite/20_util/is_member_pointer/value.cc: Likewise. 164 * testsuite/20_util/is_move_assignable/value.cc: Likewise. 165 * testsuite/20_util/is_move_constructible/value.cc: Likewise. 166 * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise. 167 * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise. 168 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. 169 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. 170 * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise. 171 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. 172 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. 173 * testsuite/20_util/is_null_pointer/value.cc: Likewise. 174 * testsuite/20_util/is_object/value.cc: Likewise. 175 * testsuite/20_util/is_pod/value.cc: Likewise. 176 * testsuite/20_util/is_reference/value.cc: Likewise. 177 * testsuite/20_util/is_rvalue_reference/value.cc: Likewise. 178 * testsuite/20_util/is_scalar/value.cc: Likewise. 179 * testsuite/20_util/is_signed/value.cc: Likewise. 180 * testsuite/20_util/is_standard_layout/value.cc: Likewise. 181 * testsuite/20_util/is_trivial/value.cc: Likewise. 182 * testsuite/20_util/is_trivially_destructible/value.cc: Likewise. 183 * testsuite/20_util/is_unsigned/value.cc: Likewise. 184 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise. 185 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise. 186 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise. 187 * testsuite/20_util/remove_reference/value.cc: Likewise. 188 1892013-12-03 Jonathan Wakely <jwakely.gcc@gmail.com> 190 191 * include/std/fstream (basic_filebuf::open): Use preformatted text 192 for table in Doxygen comment. 193 1942013-12-03 Tim Shen <timshen91@gmail.com> 195 196 * regex_compiler.h: Add todo comment. 197 * regex_executor.tcc: Likewise. 198 1992013-11-29 Matthias Klose <doko@ubuntu.com> 200 201 * testsuite/experimental/string_view/requirements/exception, 202 testsuite/experimental/string_view/capacity/wchar_t, 203 testsuite/experimental/string_view/capacity/char: Remove empty dirs. 204 2052013-11-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 206 207 * testsuite/ext/random/hypergeometric_distribution/operators/values.cc: 208 Use dg-require-cmath instead. 209 210 * testsuite/ext/random/hypergeometric_distribution/operators/values.cc 211 (test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1. 212 2132013-11-22 François Dumont <fdumont@gcc.gnu.org> 214 215 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>): 216 Remove _M_bucket, use same information in normal local_iterator. 217 (operator==): Remove redundant _M_can_compare check. 218 * include/debug/safe_local_iterator.tcc: Adapt. 219 * include/debug/unordered_set: Likewise. 220 * include/debug/unordered_map: Likewise. 221 2222013-11-22 Jakub Jelinek <jakub@redhat.com> 223 224 * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10. 225 (check-DEJAGNU): Add normal10, run 28_regex/[ab]* 226 tests as another separate job. 227 * testsuite/Makefile.in: Regenerated. 228 2292013-11-22 Jonathan Wakely <jwakely.gcc@gmail.com> 230 231 * acinclude.m4 (libtool_VERSION): Bump. 232 * configure: Regenerate. 233 * doc/xml/manual/abi.xml: Update version information. 234 235 PR libstdc++/59247 236 * include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace 237 std::experimental::__7 as inline. 238 * include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not 239 enclose namespace __detail. 240 * include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. 241 * include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise. 242 * include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment. 243 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. 244 2452013-11-22 Paolo Carlini <paolo.carlini@oracle.com> 246 247 * testsuite/ext/random/hypergeometric_distribution/operators/ 248 values.cc: Fix further thinkos. 249 2502013-11-22 Paolo Carlini <paolo.carlini@oracle.com> 251 252 * testsuite/ext/random/hypergeometric_distribution/operators/ 253 values.cc: Fix thinkos. 254 2552013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net> 256 257 * include/experimental/string_view: Rep empty string with unit-length 258 static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce 259 invariant of no nullptr string pointer. 260 * include/experimental/string_view.tcc: Ditto. 261 * testsuite/experimental/string_view/cons/char/1.cc: data() for empty 262 string_view is no longer nullptr. 263 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto. 264 * testsuite/experimental/string_view/operations/data/char/1.cc: Ditto. 265 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: 266 Ditto. 267 2682013-11-21 Edward Smith-Rowland <3dw4rd@verizon.net> 269 270 Implement __gnu_cxx::hypergeometric_distribution. 271 * include/ext/random: Add hypergeometric_distribution. 272 * include/ext/random.tcc: Add hypergeometric_distribution. 273 * testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf 274 for the hypergeometric discreet distribution; 275 (lbincoef): New supporting function for binomial coefficients. 276 * testsuite/ext/random/hypergeometric_distribution/operators/ 277 serialize.cc: New. 278 * testsuite/ext/random/hypergeometric_distribution/operators/ 279 equal.cc: New. 280 * testsuite/ext/random/hypergeometric_distribution/operators/ 281 inequal.cc: New. 282 * testsuite/ext/random/hypergeometric_distribution/operators/ 283 values.cc: New. 284 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New. 285 * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New. 286 * testsuite/ext/random/hypergeometric_distribution/requirements/ 287 explicit_instantiation/1.cc: New. 288 * testsuite/ext/random/hypergeometric_distribution/requirements/ 289 typedefs.cc: New. 290 2912013-11-20 Jonathan Wakely <jwakely.gcc@gmail.com> 292 293 PR c++/59173 294 * include/ext/pointer.h (pointer_traits<>::rebind<>): Add template 295 keyword in nested name. 296 297 PR libstdc++/49204 298 * include/std/future (__future_base::_State_base): Rename to 299 __future_base::_State_baseV2. 300 (__future_base::_State_baseV2::~_State_baseV2): Define as defaulted. 301 (__future_base::_State_baseV2::_M_run_deferred): Rename to 302 _M_complete_async. 303 (__future_base::_State_baseV2::_M_has_deferred): Add new virtual. 304 (__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to 305 test for a deferred function, or call _M_complete_async() to join an 306 async thread that has made the shared state ready. 307 (__future_base::_State_baseV2::wait_until): Likewise. 308 (__future_base::_Async_state_common): Rename to _Async_state_commonV2. 309 (__future_base::_Async_state_commonV2::_M_run_deferred): Rename to 310 _M_complete_async. 311 * src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base): 312 Export old definition. 313 (__future_base::_Async_state_common): Likewise. 314 * src/c++11/future.cc (__future_base::_State_base::~_State_base): 315 Remove. 316 * doc/xml/manual/status_cxx2011.xml: Update status. 317 * testsuite/30_threads/async/async.cc: Test future_status::timeout 318 and future_status::ready. 319 * testsuite/30_threads/async/sync.cc: Test future_status::deferred. 320 3212013-11-20 David Edelsohn <dje.gcc@gmail.com> 322 323 * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings. 324 3252013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com> 326 327 * testsuite/23_containers/forward_list/allocator/noexcept.cc: Change 328 to compile-only test. Adjust swap overload to handle rebound 329 allocators. 330 * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. 331 * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. 332 * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. 333 * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. 334 * testsuite/23_containers/unordered_map/allocator/noexcept.cc: 335 Likewise. 336 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: 337 Likewise. 338 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: 339 Likewise. 340 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: 341 Likewise. 342 * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. 343 * testsuite/23_containers/vector/allocator/swap.cc: Add elements 344 before swapping. 345 346 * config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error 347 constructors. 348 * testsuite/20_util/addressof/1.cc: Remove { dg-do compile }. 349 * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise. 350 * testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix 351 failure. 352 * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise. 353 * testsuite/28_regex/init-list.cc: Likewise. 354 * testsuite/28_regex/regex_error/regex_error.cc: Likewise. 355 * testsuite/28_regex/sub_match/length.cc: Likewise. Add main. 356 * testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test. 357 * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise. 358 * testsuite/tr1/7_regular_expressions/regex/cons/char/ 359 c_string_extended.cc: Delete. 360 3612013-11-19 Paolo Carlini <paolo.carlini@oracle.com> 362 363 * include/experimental/string_view (_S_max_size): Remove. 364 (basic_string_view<>::max_size): Adjust. 365 * testsuite/experimental/string_view/capacity/1.cc: Clean-up. 366 * testsuite/experimental/string_view/inserters/pod/10081-out.cc: 367 Likewise. 368 3692013-11-19 Jonathan Wakely <jwakely.gcc@gmail.com> 370 371 * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses. 372 3732013-11-18 Jonathan Wakely <jwakely.gcc@gmail.com> 374 375 * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use 376 non-atomic operations. 377 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number. 378 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. 379 3802013-11-16 Edward Smith-Rowland <3dw4rd@verizon.net> 381 382 Implement N3762 string_view: a non-owning reference to a string. 383 * include/Makefile.am: Add string_view and string_view.tcc. 384 * include/Makefile.in: Regenerate. 385 * include/experimental/string_view: Implement basic_string_view. 386 * include/experimental/string_view.tcc: Implement basic_string_view. 387 * testsuite/experimental/string_view/capacity/1.cc: New. 388 * testsuite/experimental/string_view/cons/char/1.cc: New. 389 * testsuite/experimental/string_view/cons/char/2.cc: New. 390 * testsuite/experimental/string_view/cons/char/3.cc: New. 391 * testsuite/experimental/string_view/cons/wchar_t/1.cc: New. 392 * testsuite/experimental/string_view/cons/wchar_t/2.cc: New. 393 * testsuite/experimental/string_view/cons/wchar_t/3.cc: New. 394 * testsuite/experimental/string_view/element_access/char/1.cc: New. 395 * testsuite/experimental/string_view/element_access/char/2.cc: New. 396 * testsuite/experimental/string_view/element_access/char/empty.cc: New. 397 * testsuite/experimental/string_view/element_access/char/front_back.cc: 398 New. 399 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: New. 400 * testsuite/experimental/string_view/element_access/wchar_t/2.cc: New. 401 * testsuite/experimental/string_view/element_access/wchar_t/empty.cc: 402 New. 403 * testsuite/experimental/string_view/element_access/wchar_t/ 404 front_back.cc: New. 405 * testsuite/experimental/string_view/include.cc: New. 406 * testsuite/experimental/string_view/inserters/char/1.cc: New. 407 * testsuite/experimental/string_view/inserters/char/2.cc: New. 408 * testsuite/experimental/string_view/inserters/char/3.cc: New. 409 * testsuite/experimental/string_view/inserters/pod/10081-out.cc: New. 410 * testsuite/experimental/string_view/inserters/wchar_t/1.cc: New. 411 * testsuite/experimental/string_view/inserters/wchar_t/2.cc: New. 412 * testsuite/experimental/string_view/inserters/wchar_t/3.cc: New. 413 * testsuite/experimental/string_view/literals/types.cc: New. 414 * testsuite/experimental/string_view/literals/values.cc: New. 415 * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc: 416 New. 417 * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/ 418 1.cc: New. 419 * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc: 420 New. 421 * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/ 422 1.cc: New. 423 * testsuite/experimental/string_view/operations/compare/char/1.cc: New. 424 * testsuite/experimental/string_view/operations/compare/char/13650.cc: 425 New. 426 * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc: 427 New. 428 * testsuite/experimental/string_view/operations/compare/wchar_t/ 429 13650.cc: New. 430 * testsuite/experimental/string_view/operations/data/char/1.cc: New. 431 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New. 432 * testsuite/experimental/string_view/operations/find/char/1.cc: New. 433 * testsuite/experimental/string_view/operations/find/char/2.cc: New. 434 * testsuite/experimental/string_view/operations/find/char/3.cc: New. 435 * testsuite/experimental/string_view/operations/find/char/4.cc: New. 436 * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New. 437 * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New. 438 * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New. 439 * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New. 440 * testsuite/experimental/string_view/operations/rfind/char/1.cc: New. 441 * testsuite/experimental/string_view/operations/rfind/char/2.cc: New. 442 * testsuite/experimental/string_view/operations/rfind/char/3.cc: New. 443 * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New. 444 * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New. 445 * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New. 446 * testsuite/experimental/string_view/operations/substr/char/1.cc: New. 447 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc: 448 New. 449 * testsuite/experimental/string_view/operators/char/2.cc: New. 450 * testsuite/experimental/string_view/operators/wchar_t/2.cc: New. 451 * testsuite/experimental/string_view/range_access/char/1.cc: New. 452 * testsuite/experimental/string_view/range_access/wchar_t/1.cc: New. 453 * testsuite/experimental/string_view/requirements/ 454 explicit_instantiation/1.cc: New. 455 * testsuite/experimental/string_view/requirements/ 456 explicit_instantiation/char/1.cc: New. 457 * testsuite/experimental/string_view/requirements/ 458 explicit_instantiation/char16_t/1.cc: New. 459 * testsuite/experimental/string_view/requirements/ 460 explicit_instantiation/char32_t/1.cc: New. 461 * testsuite/experimental/string_view/requirements/ 462 explicit_instantiation/wchar_t/1.cc: New. 463 * testsuite/experimental/string_view/requirements/typedefs.cc: New. 464 * testsuite/experimental/string_view/types/1.cc: New. 465 4662013-11-16 François Dumont <fdumont@gcc.gnu.org> 467 468 * testsuite/23_containers/unordered_set/55043.cc (equal): Add 469 missing & on rhs parameter. 470 4712013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com> 472 473 * include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: 474 Define. 475 (vector<bool>::emplace()): Likewise. 476 * testsuite/23_containers/vector/bool/emplace.cc: New. 477 4782013-11-15 Ondřej Bílka <neleai@seznam.cz> 479 Jonathan Wakely <jwakely.gcc@gmail.com> 480 481 * doc/xml/manual/build_hacking.xml: Fix documentation typos. 482 * doc/xml/manual/configure.xml: Likewise. 483 * include/bits/atomic_base.h: Fix typos in comments. 484 * include/bits/random.h: Likewise. 485 * include/ext/cast.h: Likewise. 486 * libsupc++/cxxabi.h: Likewise. 487 * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise. 488 * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h: 489 Likewise. 490 * testsuite/util/exception/safety.h: Likewise. 491 * testsuite/util/testsuite_containers.h: Likewise. 492 * testsuite/util/testsuite_hooks.cc: Likewise. 493 4942013-11-15 Jonathan Wakely <jwakely.gcc@gmail.com> 495 496 * include/bits/stl_map.h (map): Implement C++11 allocator-aware 497 container requirements. 498 * include/bits/stl_multimap.h (multimap): Likewise. 499 * include/bits/stl_multiset.h (multiset): Likewise. 500 * include/bits/stl_set.h (set): Likewise. 501 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and 502 add accessors for value. 503 (_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node 504 accessors. 505 (_Rb_tree): Use allocator_traits and implement support for sets and 506 maps the be allocator-aware. 507 * include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do 508 not zero-initialize storage buffer. 509 * include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node): 510 Likewise. 511 * include/bits/stl_vector.h (vector(vector&&, const allocator_type&)): 512 Add conditional noexcept specification. 513 * doc/xml/manual/status_cxx2011.xml: Update status of containers. 514 * testsuite/util/testsuite_allocator.h: Re-indent. 515 * testsuite/23_containers/forward_list/allocator/copy.cc: Test 516 allocator-extended copy constructor. 517 * testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise. 518 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: 519 Likewise. 520 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: 521 Likewise. 522 * testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise. 523 * testsuite/23_containers/vector/allocator/copy.cc: Likewise. 524 * testsuite/23_containers/forward_list/allocator/move.cc: New. 525 * testsuite/23_containers/unordered_map/allocator/move.cc: New. 526 * testsuite/23_containers/unordered_multimap/allocator/move.cc: New. 527 * testsuite/23_containers/unordered_multiset/allocator/move.cc: New. 528 * testsuite/23_containers/unordered_set/allocator/move.cc: New. 529 * testsuite/23_containers/vector/allocator/move.cc: New. 530 * testsuite/23_containers/map/allocator/copy.cc: New. 531 * testsuite/23_containers/map/allocator/copy_assign.cc: New. 532 * testsuite/23_containers/map/allocator/minimal.cc: New. 533 * testsuite/23_containers/map/allocator/move.cc: New. 534 * testsuite/23_containers/map/allocator/move_assign.cc: New. 535 * testsuite/23_containers/map/allocator/noexcept.cc: New. 536 * testsuite/23_containers/map/allocator/swap.cc: New. 537 * testsuite/23_containers/multimap/allocator/copy.cc: New. 538 * testsuite/23_containers/multimap/allocator/copy_assign.cc: New. 539 * testsuite/23_containers/multimap/allocator/minimal.cc: New. 540 * testsuite/23_containers/multimap/allocator/move.cc: New. 541 * testsuite/23_containers/multimap/allocator/move_assign.cc: New. 542 * testsuite/23_containers/multimap/allocator/noexcept.cc: New. 543 * testsuite/23_containers/multimap/allocator/swap.cc: New. 544 * testsuite/23_containers/multiset/allocator/copy.cc: New. 545 * testsuite/23_containers/multiset/allocator/copy_assign.cc: New. 546 * testsuite/23_containers/multiset/allocator/minimal.cc: New. 547 * testsuite/23_containers/multiset/allocator/move.cc: New. 548 * testsuite/23_containers/multiset/allocator/move_assign.cc: New. 549 * testsuite/23_containers/multiset/allocator/noexcept.cc: New. 550 * testsuite/23_containers/multiset/allocator/swap.cc: New. 551 * testsuite/23_containers/set/allocator/copy.cc: New. 552 * testsuite/23_containers/set/allocator/copy_assign.cc: New. 553 * testsuite/23_containers/set/allocator/minimal.cc: New. 554 * testsuite/23_containers/set/allocator/move.cc: New. 555 * testsuite/23_containers/set/allocator/move_assign.cc: New. 556 * testsuite/23_containers/set/allocator/noexcept.cc: New. 557 * testsuite/23_containers/set/allocator/swap.cc: New. 558 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 559 Adjust dg-error line number. 560 * testsuite/23_containers/vector/requirements/dr438/ 561 constructor_1_neg.cc: Likewise. 562 * testsuite/23_containers/vector/requirements/dr438/ 563 constructor_2_neg.cc: Likewise. 564 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 565 Likewise. 566 5672013-11-14 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> 568 569 * scripts/extract_symvers.in: Ignore <localentry: > fields 570 in readelf --symbols output. 571 5722013-11-14 Jonathan Wakely <jwakely.gcc@gmail.com> 573 574 * include/bits/alloc_traits.h (__allow_copy_cons): Remove. 575 (__check_copy_constructible): Likewise. 576 * include/bits/unordered_map.h (unordered_map, unordered_multimap): 577 Do not derive from __check_copy_constructible. 578 * include/bits/unordered_set.h (unordered_set, unordered_multiset): 579 Likewise. 580 * testsuite/23_containers/unordered_map/55043.cc: It is no longer 581 necessary for is_copy_constructible to be correct to use nested 582 unordered containers. 583 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. 584 * testsuite/23_containers/unordered_set/55043.cc: Likewise. 585 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. 586 5872013-11-13 Marc Glisse <marc.glisse@inria.fr> 588 589 PR libstdc++/59087 590 * include/ext/pod_char_traits.h: Uglify V, I and S. 591 5922013-11-11 Jonathan Wakely <jwakely.gcc@gmail.com> 593 594 PR libstdc++/54562 595 * include/std/mutex (__timed_mutex_impl::__clock_t): Use 596 high_resolution_clock for absolute timeouts, because 597 pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC. 598 (__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative 599 timeouts as per [thread.req.timing]. 600 (__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to 601 __clock_t time point instead of using _M_try_lock_for. 602 6032013-11-09 Jonathan Wakely <jwakely.gcc@gmail.com> 604 605 PR libstdc++/58982 606 * include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion 607 to prevent using memmove() on non-assignable types. 608 (__copy_move_backward::__copy_move_b): Likewise. 609 * include/bits/stl_uninitialized.h (uninitialized_copy 610 uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n, 611 __uninitialized_default, __uninitialized_default_n): Check for 612 assignable as well as trivial. 613 * testsuite/20_util/specialized_algorithms/uninitialized_copy/ 614 58982.cc: New. 615 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/ 616 58982.cc: New. 617 * testsuite/20_util/specialized_algorithms/uninitialized_fill/ 618 58982.cc: New. 619 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/ 620 58982.cc: New. 621 * testsuite/25_algorithms/copy/58982.cc: New. 622 * testsuite/25_algorithms/copy_n/58982.cc: New. 623 6242013-11-08 François Dumont <fdumont@gcc.gnu.org> 625 626 * include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is): 627 Take only a const safe iterator reference. 628 (_BeforeBeginHelper<>::_S_Is_beginnest): Likewise. 629 (__get_distance): Take only one type of iterator. 630 (_Safe_iterator<>::_M_valid_range<>): Not template anymore. 631 (_Safe_iterator<>::_M_get_sequence()): Return pointer to const 632 sequence from a const_iterator and a pointer to sequence from an 633 iterator. 634 * include/debug/safe_iterator.tcc: Adapt. 635 * include/debug/safe_local_iterator.h 636 (_Safe_local_iterator<>::_M_valid_range<>): Not template anymore. 637 (_Safe_local_iterator<>::_M_get_sequence()): Return pointer to 638 const sequence from a const_iterator and a pointer to sequence 639 from an iterator. 640 * include/debug/safe_local_iterator.tcc: Adapt. 641 * include/debug/forward_list 642 (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt. 643 6442013-11-08 Jonathan Wakely <jwakely.gcc@gmail.com> 645 646 * include/bits/regex_automaton.h (__detail::_State): Split 647 non-dependent parts into new _State_base. 648 (__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid 649 copies when inserting _MatcherT and _StateT objects. 650 * include/bits/regex_automaton.tcc: Move member definitions to base 651 class. Qualify dependent names. 652 * include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make 653 non-const and use std::move to avoid copying. 654 * include/bits/regex_compiler.tcc: Likewise. 655 * include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use 656 array, so past-the-end iterator is valid. 657 658 * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA, 659 __detail::_StateSeq): Remove redundant _CharT template parameters. 660 * include/bits/regex_automaton.tcc: Likewise. 661 * include/bits/regex_compiler.h (__detail::_Compiler): Likewise. 662 (__compile_nfa): Add object generator for _Compiler. 663 * include/bits/regex_compiler.tcc: Remove _CharT template parameters. 664 * include/bits/regex_executor.h: Likewise. 665 * include/bits/regex_executor.tcc: Likewise. 666 * include/bits/regex.h (basic_regex): Assert char_type matches. Use 667 __compile_nfa object generator. Remove _CharT template parameter. 668 669 * include/bits/regex_compiler.h (__detail::_AnyMatcher, 670 __detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant 671 _CharT template parameters. 672 * include/bits/regex_compiler.tcc: Likewise. 673 674 * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload 675 so that std::basic_string<C> and std::vector<C> iterators dispatch to 676 the const C* compiler. 677 678 * include/bits/regex_compiler.h (__detail::__has_contiguous_iter): 679 vector<bool> storage is not contiguous. 680 6812013-11-06 Jonathan Wakely <jwakely.gcc@gmail.com> 682 683 * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to 684 _S_opcode_word_boundary. 685 * include/bits/regex_automaton.tcc: Likewise. 686 * include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry): 687 Rename to _M_word_boundary. 688 * include/bits/regex_executor.tcc: Likewise. 689 6902013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> 691 692 N3655 C++1y TransformationTraits Redux 693 * include/std/type_traits (remove_const_t, remove_volatile_t, 694 remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t, 695 add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t, 696 make_unsigned_t, remove_extent_t, remove_all_extents_t, 697 remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t, 698 enable_if_t, conditional_t, common_type_t, underlying_type_t, 699 result_of_t): Define. 700 * doc/xml/manual/status_cxx2014.xml: Update. 701 * testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc: 702 New. 703 * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc: 704 New. 705 * testsuite/20_util/common_type/requirements/typedefs-3.cc: New. 706 * testsuite/20_util/conditional/requirements/typedefs-2.cc: New. 707 * testsuite/20_util/decay/requirements/typedefs-2.cc: New. 708 * testsuite/20_util/enable_if/requirements/typedefs-2.cc: New. 709 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. 710 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. 711 * testsuite/20_util/remove_reference/requirements/typedefs.cc: New. 712 * testsuite/20_util/result_of/requirements/typedefs.cc: New. 713 * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New. 714 * testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to 715 compile-only test. 716 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise. 717 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise. 718 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 719 line number. 720 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 721 Likewise. 722 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 723 Likewise. 724 7252013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> 726 727 * doc/xml/manual/status_cxx2011.xml: Document aligned_union as 728 missing. 729 7302013-11-05 Jonathan Wakely <jwakely.gcc@gmail.com> 731 Paolo Carlini <paolo.carlini@oracle.com> 732 733 * include/experimental/optional: Use __and_<> and __not_<> in 734 conditions. Style fixes. 735 (__constexpr_addressof, swap): Make inline. 736 * testsuite/experimental/optional/cons/copy.cc: Adjust constants for 737 32-bit targets. 738 * testsuite/experimental/optional/cons/move.cc: Likewise. 739 * testsuite/experimental/optional/cons/value.cc: Likewise. 740 * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise. 741 7422013-11-01 Michael Brune <lucdanton@free.fr> 743 744 * include/bits/enable_special_members.h: New. 745 * include/experimental/optional: New. 746 * include/Makefile.am: Handle include/experimental. 747 * include/Makefile.in: Regenerate. 748 * testsuite/libstdc++-dg/conformance.exp: Run tests from 749 testsuite/experimental sub-directory. 750 * testsuite/experimental/optional/assignment/1.cc: New. 751 * testsuite/experimental/optional/assignment/2.cc: New. 752 * testsuite/experimental/optional/assignment/3.cc: New. 753 * testsuite/experimental/optional/assignment/4.cc: New. 754 * testsuite/experimental/optional/assignment/5.cc: New. 755 * testsuite/experimental/optional/assignment/6.cc: New. 756 * testsuite/experimental/optional/cons/copy.cc: New. 757 * testsuite/experimental/optional/cons/default.cc: New. 758 * testsuite/experimental/optional/cons/move.cc: New. 759 * testsuite/experimental/optional/cons/value.cc: New. 760 * testsuite/experimental/optional/constexpr/cons/default.cc: New. 761 * testsuite/experimental/optional/constexpr/cons/value.cc: New. 762 * testsuite/experimental/optional/constexpr/in_place.cc: New. 763 * testsuite/experimental/optional/constexpr/make_optional.cc: New. 764 * testsuite/experimental/optional/constexpr/nullopt.cc: New. 765 * testsuite/experimental/optional/constexpr/observers/1.cc: New. 766 * testsuite/experimental/optional/constexpr/observers/2.cc: New. 767 * testsuite/experimental/optional/constexpr/observers/3.cc: New. 768 * testsuite/experimental/optional/constexpr/observers/4.cc: New. 769 * testsuite/experimental/optional/constexpr/observers/5.cc: New. 770 * testsuite/experimental/optional/constexpr/relops/1.cc: New. 771 * testsuite/experimental/optional/constexpr/relops/2.cc: New. 772 * testsuite/experimental/optional/constexpr/relops/3.cc: New. 773 * testsuite/experimental/optional/constexpr/relops/4.cc: New. 774 * testsuite/experimental/optional/constexpr/relops/5.cc: New. 775 * testsuite/experimental/optional/constexpr/relops/6.cc: New. 776 * testsuite/experimental/optional/in_place.cc: New. 777 * testsuite/experimental/optional/make_optional.cc: New. 778 * testsuite/experimental/optional/nullopt.cc: New. 779 * testsuite/experimental/optional/observers/1.cc: New. 780 * testsuite/experimental/optional/observers/2.cc: New. 781 * testsuite/experimental/optional/observers/3.cc: New. 782 * testsuite/experimental/optional/observers/4.cc: New. 783 * testsuite/experimental/optional/observers/5.cc: New. 784 * testsuite/experimental/optional/relops/1.cc: New. 785 * testsuite/experimental/optional/relops/2.cc: New. 786 * testsuite/experimental/optional/relops/3.cc: New. 787 * testsuite/experimental/optional/relops/4.cc: New. 788 * testsuite/experimental/optional/relops/5.cc: New. 789 * testsuite/experimental/optional/relops/6.cc: New. 790 * testsuite/experimental/optional/requirements.cc: New. 791 * testsuite/experimental/optional/swap/1.cc: New. 792 7932013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com> 794 795 * include/bits/stl_function.h (logical_not<void>): Add noexcept. 796 7972013-11-01 Paolo Carlini <paolo.carlini@oracle.com> 798 799 PR libstdc++/58952 800 * include/c_global/cstdio: Undef getchar. 801 8022013-11-01 Jonathan Wakely <jwakely.gcc@gmail.com> 803 804 N3421 C++1y Transparent functors 805 * include/bits/stl_function.h (plus<void>, minus<void>, 806 multiplies<void>, divides<void>, modulus<void>, negate<void>, 807 equal_to<void>, not_equal_to<void>, greater<void>, less<void>, 808 greater_equal<void>, less_equal<void>, logical_and<void>, 809 logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>, 810 bit_xor<void>, bit_not<void>): Define. 811 * doc/xml/manual/status_cxx2014.xml: Update. 812 * testsuite/20_util/function_objects/comparisons_void.cc: New. 813 8142013-10-31 Jonathan Wakely <jwakely.gcc@gmail.com> 815 816 * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to 817 <utility>. 818 * include/std/utility (integer_sequence, make_integer_sequence, 819 index_sequence, make_index_sequence, index_sequence_for): Define. 820 * doc/xml/manual/status_cxx2014.xml: Update. 821 * testsuite/20_util/integer_sequence/intseq.cc: New. 822 * testsuite/20_util/integer_sequence/requirements/typedefs.cc: New. 823 8242013-10-31 Steve Ellcey <sellcey@mips.com> 825 826 * configure.ac: Add header checks for fenv.h and complex.h. 827 * configure: Regenerate. 828 8292013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net> 830 831 Implement C++14 digit separators. 832 * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'> 833 to struct _Digit<_Base, '\''>. 834 8352013-10-31 Paolo Carlini <paolo.carlini@oracle.com> 836 837 * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune. 838 8392013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com> 840 841 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix 842 and enable VERIFY tests. 843 8442013-10-30 Jonathan Wakely <jwakely.gcc@gmail.com> 845 846 * include/bits/shared_ptr (__shared_ptr): Assert non-void pointer. 847 * include/bits/shared_ptr (default_delete): Likewise. 848 * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use 849 default_delete<void>. 850 * testsuite/20_util/shared_ptr/cons/void_neg.cc: New. 851 * testsuite/20_util/default_delete/void_neg.cc: New. 852 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers. 853 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. 854 8552013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 856 857 PR libstdc++/58839 858 * include/bits/shared_ptr_base.h 859 (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof 860 when unique_ptr<U,D>::pointer is not a built-in pointer type. 861 * testsuite/20_util/shared_ptr/cons/58839.cc: New. 862 * testsuite/20_util/enable_shared_from_this/members/assign.cc: New. 863 * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New. 864 8652013-10-29 Jonathan Wakely <jwakely.gcc@gmail.com> 866 867 * include/bits/hashtable.cc (__access_protected_ctor): Define and use 868 new type instead of _Hashtable_ebo_helper. 869 * testsuite/23_containers/unordered_set/ 870 not_default_constructible_hash_neg.cc: Adjust line number. 871 8722013-10-28 Tim Shen <timshen91@gmail.com> 873 874 * regex_executor.tcc: Add comments. 875 8762013-10-26 Tim Shen <timshen91@gmail.com> 877 878 * include/bits/regex.h: Remove unnecessary friends. 879 * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor 880 to here. 881 * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor; 882 they are merged into _Executor. Eliminate quantifier tracking part, so 883 it's faster. 884 * include/bits/regex_executor.tcc: Implement _Executor. 885 * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New. 886 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust 887 duplicate testcases. 888 * testsuite/performance/28_regex/split.h: New. 889 * testsuite/performance/28_regex/split_bfs.cc: New. 890 * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors 891 agreement judger: do not compare match_results when executor return 892 false. 893 8942013-10-25 François Dumont <fdumont@gcc.gnu.org> 895 896 * include/debug/formatter.h (__check_singular): Add const on 897 iterator reference. 898 * include/debug/functions.h (__check_singular): Likewise. 899 (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete. 900 (__check_dereferenceable(const _Ite&)): Add const on iterator 901 reference. 902 (__check_dereferenceable(const _Safe_local_iterator<>&)): New. 903 * include/debug/safe_iterator.h (__check_singular_aux): Review 904 comment. 905 * testsuite/23_containers/vector/debug/debug_functions.cc: New. 906 * testsuite/23_containers/unordered_set/debug/debug_functions.cc: 907 New. 908 9092013-10-23 Chris Jefferson <chris@bubblescope.net> 910 Paolo Carlini <paolo.carlini@oracle.com> 911 912 * testsuite/util/testsuite_containergen.h: New. 913 * testsuite/util/testsuite_iterators.h (test_container<>::val): Add. 914 * testsuite/25_algorithms/nth_element/random_test.cc: New, use the 915 above. 916 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. 917 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. 918 * testsuite/25_algorithms/sort/random_test.cc: Likewise. 919 9202013-10-23 Jason Merrill <jason@redhat.com> 921 922 * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base. 923 9242013-10-23 Paolo Carlini <paolo.carlini@oracle.com> 925 926 PR libstdc++/58850 927 * include/std/chrono (minutes, hours): Change typedefs to uniformly 928 use int64_t. 929 * testsuite/20_util/duration/arithmetic/58850.cc: New. 930 9312013-10-23 Paolo Carlini <paolo.carlini@oracle.com> 932 933 * testsuite/decimal/pr58815.cc: Fix thinko. 934 9352013-10-23 Paolo Carlini <paolo.carlini@oracle.com> 936 937 PR libstdc++/58815 938 * include/decimal/decimal (decimal32::operator long long(), 939 decimal64::operator long long(), decimal128::operator long long()): 940 Add in c++11 mode per n3407. 941 * testsuite/decimal/pr58815.cc: New. 942 9432013-10-22 Edward Smith-Rowland <3dw4rd@verizon.net> 944 945 * include/bits/basic_string.h (operator""s): Remove space between quotes 946 and literal identifier. 947 * include/std/chrono (operator""h, operator""min, operator""s, 948 operator""ms, operator""us, operator""ns): Ditto. 949 9502013-10-22 Ed Smith-Rowland <3dw4rd@verizon.net> 951 952 Implement N3779 - User-defined Literals for std::complex, 953 part 2 of UDL for Standard Library Types 954 * include/std/complex: Add complex literal operators. 955 * testsuite/26_numerics/complex/literals/types.cc: New. 956 * testsuite/26_numerics/complex/literals/values.cc: New. 957 9582013-10-21 Edward Smith-Rowland <3dw4rd@verizon.net> 959 960 PR libstdc++/58804 961 PR libstdc++/58729 962 * include/tr2/dynamic_bitset 963 (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux, 964 __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count): 965 Use __builtin_popcountll() instead of __builtin_popcountl(). 966 * include/tr2/dynamic_bitset.tcc 967 (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first, 968 __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next): 969 Use __builtin_ctzll() instead of __builtin_ctzl(). 970 9712013-10-20 Tim Shen <timshen91@gmail.com> 972 973 * include/bits/regex.h: Remove virtual class _Automaton. 974 * include/bits/regex_automaton.h: Likewise. 975 * include/bits/regex.tcc: Adjust comment for policy changing. 976 * include/bits/regex_executor.h: Update comments of complexity. 977 * include/bits/regex_executor.tcc: Adjust executor choosing 978 policy. Now DFS executor is the default one. 979 * testsuite/util/testsuite_regex.h (regex_match_debug, 980 regex_search_debug): Adjust for policy changing. 981 9822013-10-20 Chris Jefferson <chris@bubblescope.net> 983 Paolo Carlini <paolo.carlini@oracle.com> 984 985 PR libstdc++/58800 986 * include/bits/stl_algo.h (__unguarded_partition_pivot): Change 987 __last - 2 to __last - 1. 988 * testsuite/25_algorithms/nth_element/58800.cc: New 989 9902013-10-18 Edward Smith-Rowland <3dw4rd@verizon.net> 991 992 PR libstdc++/58729 993 * include/tr2/dynamic_bitset (_M_resize, resize): Use input value 994 to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong, 995 _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr, 996 operator>>): Move long methods outline to... 997 * include/tr2/dynamic_bitset.tcc: New. 998 * include/Makefile.am: Add dynamic_bitset.tcc. 999 * include/Makefile.in: Add dynamic_bitset.tcc. 1000 * testsuite/tr2/dynamic_bitset/pr58729.cc: New. 1001 10022013-10-18 Tim Shen <timshen91@gmail.com> 1003 1004 * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal, 1005 _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix, 1006 _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps. 1007 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc: 1008 New. 1009 10102013-10-17 Tim Shen <timshen91@gmail.com> 1011 1012 * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator): 1013 Fix initialization orders in initialization list and add explicit braces 1014 for potentially ambiguous(actually not) `else` branch to eliminate 1015 warnings. 1016 * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise. 1017 * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher, 1018 _BracketMatcher<>::_BracketMatcher): Likewise. 1019 * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler, 1020 _Compiler<>::_M_atom): Likewise. 1021 * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise. 1022 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs, 1023 _Executor<>::_M_word_boundry): Likewise. 1024 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner, 1025 _Scanner<>::_M_eat_class): Likewise. 1026 * include/bits/regex.tcc (__regex_algo_impl<>, 1027 regex_iterator<>::operator++): Likewise, and remove unused typedef. 1028 10292013-10-16 Tim Shen <timshen91@gmail.com> 1030 1031 * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator): 1032 Add initialization for _M_has_m1. 1033 * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return 1034 statment. 1035 10362013-10-15 Diego Novillo <dnovillo@google.com> 1037 1038 * testsuite/20_util/exchange/1.cc: Add missing function 1039 bodies. 1040 10412013-10-15 Tim Shen <timshen91@gmail.com> 1042 1043 PR libstdc++/58737 1044 * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory 1045 leak by adding it. 1046 * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise. 1047 10482013-10-11 H.J. Lu <hongjiu.lu@intel.com> 1049 1050 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. 1051 10522013-10-10 Marcus Shawcroft <marcus.shawcroft@arm.com> 1053 1054 * testsuite/29_atomics/atomic/cons/49445.cc 1055 (dg-require-atomic-builtins): Add. 1056 10572013-10-09 Jonathan Wakely <jwakely.gcc@gmail.com> 1058 1059 * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of 1060 aborting. 1061 10622013-10-09 Marcus Shawcroft <marcus.shawcroft@arm.com> 1063 1064 * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort(). 1065 10662013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com> 1067 1068 * testsuite/*: Remove stray semi-colons after function definitions. 1069 10702013-10-08 Jonathan Wakely <jwakely.gcc@gmail.com> 1071 1072 PR libstdc++/58659 1073 * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)): 1074 Delegate to constructor taking allocator. 1075 (__shared_count::_S_create_from_up): Inline into ... 1076 (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use 1077 std::conditional instead of constrained overloads. Allocate memory 1078 using the allocator type that will be used for deallocation. 1079 * testsuite/20_util/shared_ptr/cons/58659.cc: New. 1080 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust. 1081 10822013-10-08 Tim Shen <timshen91@gmail.com> 1083 1084 * include/bits/regex_executor.h: Add _TodoList class. 1085 * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add 1086 _M_match_stack and _M_stack to make everything faster. Break if 1087 _M_stack is empty, to reduce unnecessary idling. 1088 * testsuite/performance/28_regex/split.cc: New. 1089 10902013-10-06 Tim Shen <timshen91@gmail.com> 1091 1092 * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator): 1093 Fix compile error. 1094 * include/bits/regex.tcc: (regex_replace<>): Remove default parameter. 1095 10962013-10-06 Tim Shen <timshen91@gmail.com> 1097 1098 * include/bits/regex.h (__regex_algo_impl<>, regex_match<>, 1099 regex_search<>): New abstract function for regex_match and regex_search. 1100 * include/bits/regex.tcc (__regex_algo_impl<>): Implement. 1101 * include/bits/regex_executor.h 1102 (_Executor<>::_M_lookahead, 1103 _DFSExecutor<>::_M_clone, 1104 _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to 1105 use. 1106 * include/bits/regex_executor.tcc (__get_executor<>): Update the 1107 definition to support __policy. 1108 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use 1109 *_debug. 1110 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same. 1111 * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same. 1112 * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc: 1113 Same. 1114 * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc: 1115 Same. 1116 * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc: 1117 Same. 1118 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same. 1119 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same. 1120 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same. 1121 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: 1122 Same. 1123 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same. 1124 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: 1125 Same. 1126 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: 1127 Same. 1128 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same. 1129 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: 1130 Same. 1131 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: 1132 Same. 1133 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same. 1134 * testsuite/28_regex/algorithms/regex_match/extended/ 1135 string_bracket_01.cc: Same. 1136 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: 1137 Same. 1138 * testsuite/28_regex/algorithms/regex_match/extended/ 1139 string_questionmark.cc: Same. 1140 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: 1141 Same. 1142 * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc: 1143 Same. 1144 * testsuite/28_regex/algorithms/regex_match/extended/ 1145 string_dispatch_01.cc: Same. 1146 * testsuite/28_regex/algorithms/regex_match/extended/ 1147 string_range_00_03.cc: Same. 1148 * testsuite/28_regex/algorithms/regex_match/extended/ 1149 string_range_01_03.cc: Same. 1150 * testsuite/28_regex/algorithms/regex_match/extended/ 1151 string_range_02_03.cc: Same. 1152 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: 1153 Same. 1154 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same. 1155 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same. 1156 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same. 1157 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same. 1158 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same. 1159 * testsuite/28_regex/match_results/format.cc: Same. 1160 * testsuite/util/testsuite_regex.h 1161 (regex_match_debug<>, regex_search_debug<>): Implement. 1162 11632013-10-06 Oleg Endo <olegendo@gcc.gnu.org> 1164 Paolo Carlini <paolo.carlini@oracle.com> 1165 1166 PR libstdc++/58625 1167 * include/c_global/cmath (signbit): Use __builtin_signbitf and 1168 __builtin_signbitl. 1169 11702013-10-03 Tim Shen <timshen91@gmail.com> 1171 1172 * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong 1173 backup variable initialization. 1174 11752013-10-03 John Woolverton <jdwoolverton@gmail.com> 1176 1177 PR libstdc++/58604 1178 * include/std/vector: Fix garbled line in HP Copyright. 1179 11802013-10-03 Marc Glisse <marc.glisse@inria.fr> 1181 1182 * libsupc++/del_op.cc (operator delete): Don't test for 0 before free. 1183 * libsupc++/del_opnt.cc (free): Only declare if freestanding. 1184 (operator delete): Qualify free with std::. 1185 11862013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com> 1187 Daniel Krugler <daniel.kruegler@gmail.com> 1188 1189 PR libstdc++/58569 1190 * include/std/functional (function::_CheckResult): Move to namespace 1191 scope and rename to __check_func_return_type. 1192 * testsuite/20_util/function/58569.cc: New. 1193 11942013-10-02 Jonathan Wakely <jwakely.gcc@gmail.com> 1195 1196 PR libstdc++/58594 1197 * include/bits/shared_ptr_base.h 1198 (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals. 1199 * testsuite/20_util/shared_ptr/creation/58594.cc: New. 1200 12012013-10-02 Tim Shen <timshen91@gmail.com> 1202 1203 * include/bits/regex_compiler.h 1204 (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly. 1205 * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()): 1206 Add _M_equiv_set support. 1207 * testsuite/28_regex/algorithms/regex_match/extended/ 1208 cstring_bracket_01.cc: Add new "[[=a=]]" testcase. 1209 12102013-10-01 Tim Shen <timshen91@gmail.com> 1211 1212 * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to 1213 "is not correctly implemented". 1214 12152013-10-01 Tim Shen <timshen91@gmail.com> 1216 1217 * doc/xml/manual/status_cxx2011.xml: Update regex status. 1218 * include/bits/regex.h (match_results<>::begin, 1219 match_results<>::cbegin, match_results<>::end, match_results<>::cend): 1220 [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2). 1221 12222013-10-01 François Dumont <fdumont@gcc.gnu.org> 1223 1224 * include/parallel/algobase.h (mismatch, equal): Provide parallel 1225 version for N3671 overloads. 1226 12272013-10-01 Paul Pluzhnikov <ppluzhnikov@google.com> 1228 1229 * src/c++11/snprintf_lite.cc: Add missing 1230 _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION 1231 12322013-10-01 Joern Rennecke <joern.rennecke@embecosm.com> 1233 1234 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for 1235 _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions. 1236 * configure: Regenerate. 1237 12382013-10-01 Tim Shen <timshen91@gmail.com> 1239 1240 PR libstdc++/58576 1241 * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy) 1242 (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch. 1243 * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New. 1244 12452013-09-30 Paolo Carlini <paolo.carlini@oracle.com> 1246 1247 * include/parallel/algo.h (__find_switch): Use __binder2nd. 1248 12492013-09-30 Chris Jefferson <chris@bubblescope.net> 1250 1251 PR libstdc++/58437 1252 * include/bits/stl_algo.h (__move_median_first): Rename to 1253 __move_median_to_first, change to take an addition argument. 1254 (__unguarded_partition_pivot): Adjust. 1255 * testsuite/performance/25_algorithms/sort.cc: New. 1256 * testsuite/performance/25_algorithms/sort_heap.cc: Likewise. 1257 * testsuite/performance/25_algorithms/stable_sort.cc: Likewise. 1258 12592013-09-28 François Dumont <fdumont@gcc.gnu.org> 1260 1261 * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare 1262 inline. 1263 (rotate_copy, stable_partition, partial_sort_copy): Likewise. 1264 (lower_bound, upper_bound, equal_range, inplace_merge): Likewise. 1265 (includes, next_permutation, prev_permutation): Likewise. 1266 (replace_copy, replace_copy_if, is_sorted_until): Likewise. 1267 (minmax_element, is_permutation, adjacent_find): Likewise. 1268 (count, count_if, search, search_n, merge): Likewise. 1269 (set_intersection, set_difference): Likewise. 1270 (set_symmetric_difference, min_element, max_element): Likewise. 1271 * include/bits/stl_algobase.h (lower_bound): Likewise. 1272 (lexicographical_compare, mismatch): Likewise. 1273 12742013-09-28 Tim Shen <timshen91@gmail.com> 1275 1276 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix): 1277 Let ordinary char escaping in POSIX be valid. 1278 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this 1279 change. 1280 12812013-09-27 François Dumont <fdumont@gcc.gnu.org> 1282 1283 * include/bits/predefined_ops.h: New. 1284 * include/bits/stl_heap.h: Include <bits/predefined_ops.h>. 1285 (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove 1286 algo duplication. 1287 (__is_heap): Adapt. 1288 (__make_heap): New. 1289 (make_heap): Adapt to use latter. 1290 (__sort_heap): New. 1291 (sort_heap): Adapt to use latter. 1292 * include/bits/algobase.h: Include <bits/predefined_ops.h>. 1293 (__lexicographical_compare_impl): New. 1294 (__lexicographical_compare<false>::__lc): Adapt to use latter. 1295 (lexicographical_compare): Likewise. 1296 (__lower_bound): New. 1297 (lower_bound): Adapt to use latter. 1298 (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads. 1299 (__mismatch): New. 1300 (mismatch): Use latter. 1301 * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove 1302 <functional> include. 1303 (__move_median_first, __find, __find_if, __find_if_not): Remove 1304 algo duplication. 1305 (__find_end): Likewise. 1306 (__search_n): Rename into ... 1307 (__search_n_aux): ... this. 1308 (__search_n): Renew, use latter. 1309 (search_n): Use latter. 1310 (__search): New. 1311 (search): Use latter. 1312 (__find_end): Likewise. 1313 (__remove_copy_if): New. 1314 (remove_copy): Use latter. 1315 (__adjacent_find): New. 1316 (adjacent_find): Use latter. 1317 (__unique): New. 1318 (unique): Use latter. 1319 (__unique_copy): Remove algo duplication. 1320 (__stable_partition): New. 1321 (stable_partition): Use latter. 1322 (__heap_select): Remove algo duplication, use __make_heap. 1323 (__partial_sort): New, use latter. 1324 (partial_sort): Use latter. 1325 (__partial_sort_copy): New. 1326 (partial_sort_copy): Use latter. 1327 (__unguarded_linear_insert, __insertion_sort): Remove algo 1328 duplication. 1329 (__unguarded_insertion_sort, __final_insertion_sort): Likewise. 1330 (__unguarded_partition, __unguarded_partition_pivot): Likewise. 1331 (__partial_sort): New. 1332 (partial_sort): Use latter. 1333 (__sort): New. 1334 (sort): Use latter. 1335 (lower_bound): Use __lower_bound. 1336 (__upper_bound): New. 1337 (upper_bound): Use latter. 1338 (__equal_range): New. 1339 (equal_range): Use latter. 1340 (__move_merge_adaptive, __move_merge_adaptive_backward): Remove 1341 algo duplication. 1342 (__merge_adaptive, __merge_without_buffer): Likewise. 1343 (__inplace_merge): New. 1344 (inplace_merge): Use latter. 1345 (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove 1346 algo duplication. 1347 (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise. 1348 (__inplace_stable_sort): Likewise. 1349 (__include): New. 1350 (includes): Use latter. 1351 (__next_permutation): New. 1352 (next_permutation): Use latter. 1353 (__prev_permutation): New. 1354 (prev_permutation): Use latter. 1355 (__replace_copy_if): New. 1356 (replace_copy): Use latter. 1357 (__is_sorted_until): New. 1358 (is_sorted_unitl): Use latter. 1359 (__minmax_element): New. 1360 (minmax_element): Use latter. 1361 (__is_permutation): New. 1362 (is_permutation): Use latter. 1363 (__adjacent_find): New. 1364 (adjacent_find): Use latter. 1365 (__count_if): New. 1366 (count): Use latter. 1367 (count_if): Likewise. 1368 (__merge): New. 1369 (merge): Use latter. 1370 (__stable_sort): New. 1371 (stable_sort): Use latter. 1372 (__set_union): New. 1373 (set_union): Use latter. 1374 (__set_intersection): New. 1375 (set_intersection): Use latter. 1376 (__set_difference): New. 1377 (set_difference): Use latter. 1378 (__set_symmetric_difference): New. 1379 (set_symmetric_difference): Use latter. 1380 (__min_element): New. 1381 (min_element): Use latter. 1382 (__max_element): New. 1383 (max_element): Use latter. 1384 * include/Makefile.am: Add predefined_ops.h. 1385 * include/Makefile.in: Regenerate. 1386 * include/parallel/algobase.h (equal, mismatch): Add overloads 1387 from N3671. 1388 * testsuite/25_algorithms/is_permutation/vectorbool.cc: New. 1389 * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise. 1390 * testsuite/25_algorithms/find/vectorbool.cc: Likewise. 1391 * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise. 1392 * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise. 1393 * testsuite/25_algorithms/heap/vectorbool.cc: Likewise. 1394 * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise. 1395 * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise. 1396 13972013-09-27 Jonathan Wakely <jwakely.gcc@gmail.com> 1398 1399 PR libstdc++/57465 1400 * include/std/functional 1401 (_Function_base::_Base_manager::_M_not_empty_function): Fix overload 1402 for pointers. 1403 * testsuite/20_util/function/cons/57465.cc: New. 1404 14052013-09-26 Tim Shen <timshen91@gmail.com> 1406 1407 * regex_error.h: Remove _S_error_last to follow the standard. 1408 * regex_scanner.tcc: 1409 (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to 1410 error_badbrace. 1411 (_Scanner<>::_M_eat_escape_posix): Extended doesn't support 1412 back-reference. 1413 * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: 1414 Move here from ../../extended. 1415 * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: 1416 Likewise. 1417 14182013-09-25 Marc Glisse <marc.glisse@inria.fr> 1419 1420 PR libstdc++/58338 1421 * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after): 1422 Mark as noexcept. 1423 (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->, 1424 operator++, operator==, operator!=, _M_next]: Likewise. 1425 (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*, 1426 operator->, operator++, operator==, operator!=, _M_next]: Likewise. 1427 (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&), 1428 operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)): 1429 Likewise. 1430 * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base, 1431 _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base, 1432 _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&, 1433 const _Node_iterator_base&), operator!=(const _Node_iterator_base&, 1434 const _Node_iterator_base&)): Likewise. 1435 (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]: 1436 Likewise. 1437 (_Node_const_iterator) [_Node_const_iterator, operator*, operator->, 1438 operator++]: Likewise. 1439 * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator, 1440 operator=, operator*, operator->, operator++, operator--, operator[], 1441 operator+=, operator+, operator-=, operator-, base, operator _Iterator]: 1442 Likewise. 1443 (operator==(const _Safe_iterator&, const _Safe_iterator&), 1444 operator!=(const _Safe_iterator&, const _Safe_iterator&), 1445 operator<(const _Safe_iterator&, const _Safe_iterator&), 1446 operator<=(const _Safe_iterator&, const _Safe_iterator&), 1447 operator>(const _Safe_iterator&, const _Safe_iterator&), 1448 operator>=(const _Safe_iterator&, const _Safe_iterator&), 1449 operator-(const _Safe_iterator&, const _Safe_iterator&), 1450 operator+(difference_type, const _Safe_iterator&)): Likewise. 1451 * include/profile/iterator_tracker.h (__iterator_tracker) 1452 [__iterator_tracker, base, operator _Iterator, operator->, operator++, 1453 operator--, operator=, operator*, operator[], operator+=, operator+, 1454 operator-=, operator-]: Likewise. 1455 (operator==(const __iterator_tracker&, const __iterator_tracker&), 1456 operator!=(const __iterator_tracker&, const __iterator_tracker&), 1457 operator<(const __iterator_tracker&, const __iterator_tracker&), 1458 operator<=(const __iterator_tracker&, const __iterator_tracker&), 1459 operator>(const __iterator_tracker&, const __iterator_tracker&), 1460 operator>=(const __iterator_tracker&, const __iterator_tracker&), 1461 operator-(const __iterator_tracker&, const __iterator_tracker&), 1462 operator+(difference_type, const __iterator_tracker&)): Likewise. 1463 14642013-09-24 Marc Glisse <marc.glisse@inria.fr> 1465 1466 PR libstdc++/58338 1467 PR libstdc++/56166 1468 * include/bits/basic_string.h (basic_string) 1469 [basic_string(basic_string&&)]: Make the noexcept conditional. 1470 [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265. 1471 [begin(), end(), rbegin(), rend(), clear]: Remove noexcept. 1472 [pop_back]: Comment on the lack of noexcept. 1473 * include/debug/string (basic_string) [basic_string(const _Allocator&), 1474 basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear, 1475 operator[](size_type), pop_back]: Comment out noexcept, until vstring 1476 replaces basic_string. 1477 14782013-09-24 Tim Shen <timshen91@gmail.com> 1479 1480 * include/Makefile.am: Add regex.tcc. 1481 * include/Makefile.in: Regenerate. 1482 * include/bits/regex.h: Remove definitions to regex.tcc. 1483 * include/bits/regex.tcc: New. 1484 (match_results::format, regex_replace): Implement; 1485 * include/bits/regex_compiler.h: Move _M_flags to the top of class 1486 member list, because other members' initialization depend on it. 1487 * include/bits/regex_compiler.tcc 1488 (_Compiler<>::_Compiler): Adjust member initializations. 1489 (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier. 1490 * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes. 1491 In the future, all regex classes may refactor to *Impl style. 1492 * include/bits/regex_executor.tcc (_Executor::_M_set_results): 1493 Merge identical code from _*Executor classes. 1494 * testsuite/28_regex/algorithms/regex_match/extended/ 1495 string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase 1496 caller for new __get_executors interface. 1497 * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc: 1498 New. 1499 * testsuite/28_regex/match_results/format.cc: New. 1500 * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph 1501 testcase. 1502 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise. 1503 15042013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> 1505 1506 * src/c++11/snprintf_lite.cc (__concat_size_t): Use 1507 unsigned long long conditionally. 1508 15092013-09-23 Paul Pluzhnikov <ppluzhnikov@google.com> 1510 1511 * src/c++11/snprintf_lite.cc (__concat_size_t): Use only 1512 std::__int_to_char<unsigned long long>() 1513 15142013-09-21 Paul Pluzhnikov <ppluzhnikov@google.com> 1515 1516 * include/bits/functexcept.h (__throw_out_of_range_fmt): New. 1517 * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New. 1518 * src/c++11/snprintf_lite.cc: New. 1519 * src/c++11/Makefile.am: Add snprintf_lite.cc. 1520 * src/c++11/Makefile.in: Regenerate. 1521 * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz. 1522 * include/std/array (at): Use __throw_out_of_range_fmt. 1523 * include/debug/array (at): Likewise. 1524 * include/profile/array (at): Likewise. 1525 * include/std/bitset (_M_check_initial_position, _M_check): New. 1526 (bitset::bitset): Use _M_check_initial_position. 1527 (set, reset, flip, test): Use _M_check. 1528 * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt. 1529 * include/bits/stl_vector.h (_M_range_check): Likewise. 1530 * include/bits/stl_bvector.h (_M_range_check): Likewise. 1531 * include/bits/stl_deque.h (_M_range_check): Likewise. 1532 * include/bits/basic_string.h (_M_check, at): Likewise. 1533 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust. 1534 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise. 1535 * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: 1536 Likewise. 1537 * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: 1538 Likewise. 1539 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise. 1540 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise. 1541 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: 1542 Likewise. 1543 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: 1544 Likewise. 1545 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. 1546 * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: 1547 Likewise. 1548 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. 1549 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise. 1550 * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt. 1551 15522013-09-20 Jakub Jelinek <jakub@redhat.com> 1553 1554 PR testsuite/57605 1555 * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend 1556 -fdiagnostics-color=never to cxxflags. 1557 15582013-09-20 Marc Glisse <marc.glisse@inria.fr> 1559 1560 PR libstdc++/58338 1561 * include/bits/allocator.h (__alloc_swap::_S_do_it, 1562 __shrink_to_fit_aux::_S_do_it): Mark as noexcept. 1563 * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep, 1564 _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable, 1565 _M_set_length_and_sharable, _M_dispose]: Likewise. 1566 (basic_string::_Alloc_hider::_Alloc_hider): Likewise. 1567 (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit, 1568 _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare, 1569 _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]: 1570 Likewise. 1571 [clear]: Link to PR 56166. 1572 [swap]: Link to PR 58265. 1573 * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size, 1574 _Deque_iterator, _M_const_cast, operator*, operator->, operator++, 1575 operator--, operator+=, operator+, operator-=, operator-, operator[], 1576 _M_set_node]: Mark as noexcept. 1577 (operator==(const _Deque_iterator&, const _Deque_iterator&), 1578 operator!=(const _Deque_iterator&, const _Deque_iterator&), 1579 operator<(const _Deque_iterator&, const _Deque_iterator&), 1580 operator>(const _Deque_iterator&, const _Deque_iterator&), 1581 operator<=(const _Deque_iterator&, const _Deque_iterator&), 1582 operator>=(const _Deque_iterator&, const _Deque_iterator&), 1583 operator-(const _Deque_iterator&, const _Deque_iterator&), 1584 operator+(ptrdiff_t, const _Deque_iterator&)): Likewise. 1585 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to 1586 _M_initialize_map. 1587 [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]: 1588 Mark as noexcept. 1589 (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&), 1590 _Deque_impl(_Tp_alloc_type&&)]: Likewise. 1591 (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[], 1592 front, back, pop_front, pop_back, swap]: Likewise. 1593 [deque(), deque(const allocator_type&)]: Merge. 1594 * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit, 1595 operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept. 1596 * include/profile/deque (deque) [operator=(deque&&), operator[], front, 1597 back, pop_front, pop_back, swap]: Likewise. 1598 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 1599 Adjust line number. 1600 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: 1601 Likewise. 1602 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: 1603 Likewise. 1604 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 1605 Likewise. 1606 16072013-09-20 Alan Modra <amodra@gmail.com> 1608 1609 * configure: Regenerate. 1610 16112013-09-19 Marc Glisse <marc.glisse@inria.fr> 1612 1613 PR libstdc++/58338 1614 * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]: 1615 Mark as noexcept. 1616 (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->, 1617 operator++, operator--, operator==, operator!=]: Likewise. 1618 (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast, 1619 operator*, operator->, operator++, operator--, operator==, operator!=]: 1620 Likewise. 1621 (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&), 1622 operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)): 1623 Likewise. 1624 (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost, 1625 _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum, 1626 _S_maximum]: Likewise. 1627 * include/debug/string (basic_string) [basic_string(const _Allocator&), 1628 shrink_to_fit, operator[], pop_back]: Likewise. 1629 * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct, 1630 _M_ibegin, _M_iend, __versa_string(const _Alloc&), 1631 operator=(__versa_string&&), shrink_to_fit, operator[], front, 1632 back, assign(__versa_string&&), swap]: Likewise. 1633 (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]: 1634 Merge. 1635 16362013-09-18 Marc Glisse <marc.glisse@inria.fr> 1637 1638 PR libstdc++/58338 1639 * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator, 1640 _M_const_cast, operator*, operator->, operator++, operator--, 1641 operator[], operator+=, operator+, operator-=, operator-, base]: 1642 Mark as noexcept. 1643 (operator==(const __normal_iterator&, const __normal_iterator&), 1644 operator!=(const __normal_iterator&, const __normal_iterator&), 1645 operator<(const __normal_iterator&, const __normal_iterator&), 1646 operator>(const __normal_iterator&, const __normal_iterator&), 1647 operator<=(const __normal_iterator&, const __normal_iterator&), 1648 operator>=(const __normal_iterator&, const __normal_iterator&), 1649 operator-(const __normal_iterator&, const __normal_iterator&), 1650 operator+(difference_type, const __normal_iterator&)): Likewise. 1651 * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]: 1652 Likewise. 1653 (list::_M_check_equal_allocators): Abort instead of throwing. 1654 * include/debug/array (array) [operator[], front, back]: Mark as 1655 noexcept. 1656 * include/profile/array (array) [operator[], front, back]: Likewise. 1657 * include/std/array (array) [operator[], front, back]: Likewise. 1658 * include/debug/list (list::splice): Likewise. 1659 * include/profile/list (list::splice): Likewise. 1660 * testsuite/23_containers/list/operations/5.cc: Remove file. 1661 * testsuite/23_containers/list/operations/5.h: Likewise. 1662 16632013-09-18 Tim Shen <timshen91@gmail.com> 1664 1665 * include/bits/regex.h: Add friend classes. 1666 (match_results<>::position, regex_iterator<>::operator++): 1667 Implement position specification in regex_iterator. 1668 (regex_match<>, regex_search<>): 1669 Move match_results initializations to these function. Remove `todo`. 1670 * include/bits/regex_compiler.tcc: 1671 (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching. 1672 * include/bits/regex_constants.h: 1673 Fix indentation. Change match_flag_type to enum type. 1674 * include/bits/regex_executor.h: 1675 Merge identical code to the base class _Executor. 1676 Support flags in regex_constants. 1677 * include/bits/regex_executor.tcc: Likewise. 1678 * include/bits/regex_scanner.h: Add comments. 1679 * include/bits/regex_scanner.tcc: Same. 1680 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: 1681 Add a testcase. 1682 * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New. 1683 * testsuite/28_regex/iterators/regex_iterator/char/ 1684 string_position_01.cc: Remove `xfail`. 1685 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: 1686 Remove `xfail` and make the case really work. 1687 16882013-09-18 Paolo Carlini <paolo.carlini@oracle.com> 1689 1690 * testsuite/performance/25_algorithms/search_n.cc: Fix typo. 1691 16922013-09-18 Marc Glisse <marc.glisse@inria.fr> 1693 1694 PR libstdc++/58338 1695 * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as 1696 noexcept. 1697 * include/bits/stl_list.h (_List_iterator) [_List_iterator, 1698 _M_const_cast, operator*, operator->, operator++, operator--, 1699 operator==, operator!=]: Likewise. 1700 (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*, 1701 operator->, operator++, operator--, operator==, operator!=]: Likewise. 1702 (operator==(const _List_iterator&, const _List_const_iterator&), 1703 operator!=(const _List_iterator&, const _List_const_iterator&)): 1704 Likewise. 1705 (_List_impl) [_List_impl(const _Node_alloc_type&), 1706 _List_impl(_Node_alloc_type&&)]: Likewise. 1707 (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&), 1708 _List_base(_List_base&&), _M_clear, _M_init]: Likewise. 1709 (list) [list(), list(const allocator_type&)]: Merge. 1710 (list) [list(const allocator_type&), front, back, pop_front, pop_back, 1711 erase, _M_erase]: Mark as noexcept. 1712 * include/debug/list (list) [list(const _Allocator&), front, back, 1713 pop_front, pop_back, _M_erase, erase]: Likewise. 1714 * include/profile/list (list) [list(const _Allocator&), front, back, 1715 pop_front, pop_back, erase]: Likewise. 1716 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 1717 Adjust line number. 1718 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: 1719 Likewise. 1720 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: 1721 Likewise. 1722 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 1723 Likewise. 1724 17252013-09-17 Marc Glisse <marc.glisse@inria.fr> 1726 1727 PR libstdc++/58338 1728 * include/bits/stl_vector.h (vector::vector(), 1729 vector::vector(const allocator_type&)): Merge. 1730 (_Vector_impl::_Vector_impl(_Tp_alloc_type const&), 1731 _Vector_impl::_Vector_impl(_Tp_alloc_type&&), 1732 _Vector_impl::_M_swap_data, 1733 _Vector_base::_Vector_base(const allocator_type&), 1734 _Vector_base::_Vector_base(allocator_type&&), 1735 _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base, 1736 vector::vector(const allocator_type&), vector::operator[], 1737 vector::operator[] const, vector::front, vector::front const, 1738 vector::back, vector::back const, vector::pop_back, 1739 vector::_M_erase_at_end): Mark as noexcept. 1740 * include/debug/vector (vector::vector(const _Allocator&), 1741 vector::operator[], vector::operator[] const, vector::front, 1742 vector::front const, vector::back, vector::back const, vector::pop_back, 1743 _M_requires_reallocation, _M_update_guaranteed_capacity, 1744 _M_invalidate_after_nth): Mark as noexcept. 1745 * include/profile/vector (vector::vector(const _Allocator&), 1746 vector::operator[], vector::operator[] const, vector::front, 1747 vector::front const, vector::back, vector::back const): Mark as 1748 noexcept. 1749 (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept. 1750 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 1751 Adjust line number. 1752 * testsuite/23_containers/vector/requirements/dr438/ 1753 constructor_1_neg.cc: Likewise. 1754 * testsuite/23_containers/vector/requirements/dr438/ 1755 constructor_2_neg.cc: Likewise. 1756 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 1757 Likewise. 1758 17592013-09-14 Tim Shen <timshen91@gmail.com> 1760 1761 * include/bits/regex.h (regex_match<>, regex_search<>): 1762 Change regex_executor caller. Now use their return value instead 1763 of checking __m[0].matched to find out if it's successful. 1764 (regex_search<>): Move the search logic to regex_executor. 1765 * include/bits/regex_automaton.h: Add some new _Opcode. Refactor 1766 _NFA::_M_insert_*. 1767 * include/bits/regex_automaton.tcc: Add DEBUG dump for new 1768 _Opcode. Refactor _NFA::_M_insert_*. 1769 * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa): 1770 Use make_shared instead of construct by hand. 1771 * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion. 1772 * include/bits/regex_constants.h: Fix indentation and line breaking. 1773 * include/bits/regex_executor.h: Add _ResultsEntry to support 1774 greedy/ungreedy mode. Move regex_search logic here. 1775 * include/bits/regex_executor.tcc: Implement assertions and 1776 greedy/ungreedy matching. 1777 * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy. 1778 * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy. 1779 * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New. 1780 * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New. 1781 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: 1782 Fix comment. 1783 17842013-09-13 Paolo Carlini <paolo.carlini@oracle.com> 1785 1786 PR libstdc++/58415 1787 * include/ext/sso_string_base.h (__sso_string_base<>:: 1788 __sso_string_base(__sso_string_base&&)): Fix thinkos about 1789 _M_length vs _M_set_length. 1790 * testsuite/ext/vstring/cons/58415-1.cc: New. 1791 * testsuite/ext/vstring/cons/58415-2.cc: Likewise. 1792 17932013-09-12 Paolo Carlini <paolo.carlini@oracle.com> 1794 1795 PR libstdc++/58403 1796 * include/bits/stl_iterator.h (__normal_iterator<>::operator[], 1797 operator+=, operator+, operator-=, operator-): Take the argument 1798 by value. 1799 * testsuite/24_iterators/normal_iterator/58403.cc: New. 1800 18012013-09-11 Mitsuru Kariya <kariya_mitsuru@hotmail.com> 1802 Chris Jefferson <chris@bubblescope.net> 1803 1804 PR libstdc++/58358 1805 * include/bits/stl_algo.h (search_n): Fix to guarantee a number 1806 of comparisons <= number of elements in the range. 1807 * testsuite/25_algorithms/search_n/58358.cc: New. 1808 * testsuite/25_algorithms/search_n/iterator.cc: Extend. 1809 18102013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net> 1811 1812 * testsuite/28_regex/traits/wchar_t/value.cc: Change template args 1813 from char to wchar_t, literals from 'x' to L'x'. 1814 18152013-09-10 Kai Tietz <ktietz@redhat.com> 1816 1817 PR libstdc++/54314 1818 * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS* 1819 like in gnu.ver. 1820 18212013-09-07 Paolo Carlini <paolo.carlini@oracle.com> 1822 1823 PR libstdc++/58341 1824 * include/bits/stl_algobase.h (copy_backward): Fix documentation 1825 per DR 1206. 1826 18272013-09-05 Tim Shen <timshen91@gmail.com> 1828 1829 * include/bits/regex_automaton.h: Add dummy node type. Rewrite 1830 _StateSeq. 1831 * include/bits/regex_automaton.tcc: Implement them. 1832 * include/bits/regex_compiler.h: Rewrite _Compiler to use new 1833 _StateSeq interfaces. 1834 * include/bits/regex_compiler.tcc: Implement them. 1835 * include/bits/regex_scanner.h: Add word boundry assertion token. 1836 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma): 1837 Support word boundry. 1838 * testsuite/28_regex/algorithms/regex_match/basic/ 1839 string_range_02_03.cc: Remove "xfail". 1840 * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc: 1841 Likewise. 1842 * testsuite/28_regex/algorithms/regex_match/extended/ 1843 string_range_02_03.cc: Likewise. 1844 * testsuite/28_regex/algorithms/regex_match/extended/ 1845 cstring_questionmark.cc: Remove xfail and get correct length of 1846 c-string. 1847 * testsuite/28_regex/algorithms/regex_match/extended/ 1848 string_range_00_03.cc: Likewise. 1849 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc: 1850 New. 1851 * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc: 1852 New. 1853 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New. 1854 18552013-09-03 Paolo Carlini <paolo.carlini@oracle.com> 1856 1857 PR libstdc++/58302 1858 * include/bits/random.tcc (negative_binomial_distribution<>:: 1859 operator()(_UniformRandomNumberGenerator&, const param_type&)): 1860 Fix typo in template argument. 1861 * testsuite/26_numerics/random/negative_binomial_distribution/ 1862 operators/58302.cc: New. 1863 18642013-09-02 Tim Shen <timshen91@gmail.com> 1865 1866 * regex_automaton.h: Rearrange _NFA's layout. 1867 * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher. 1868 Rearrange _BracketMatcher's layout. 1869 (_BracketMatcher<>::_M_add_char): Use set instead of vector for 1870 _M_char_set. 1871 (_BracketMatcher<>::_M_add_collating_element): Likewise. 1872 (_BracketMatcher<>::_M_make_range): Likewise. 1873 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use 1874 appropriate constructors of matchers above. 1875 * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc: 1876 New. 1877 * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New. 1878 * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc: 1879 New. 1880 * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc: 1881 New. 1882 * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New. 1883 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc: 1884 New. 1885 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New. 1886 18872013-08-30 François Dumont <fdumont@gcc.gnu.org> 1888 1889 PR libstdc++/58148 1890 * include/debug/functions.h (__foreign_iterator_aux4): Use 1891 sequence const_pointer as common type to compare pointers. Add a 1892 fallback overload in case pointers cannot be cast to sequence 1893 const_pointer. 1894 * testsuite/23_containers/vector/modifiers/insert/58148.cc: New. 1895 18962013-08-30 François Dumont <fdumont@gcc.gnu.org> 1897 1898 PR libstdc++/58191 1899 * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add 1900 __gnu_debug::__base calls on iterators passed to internal debug 1901 check. 1902 (__glibcxx_check_partitioned_lower_pred): Likewise. 1903 (__glibcxx_check_partitioned_upper): Likewise. 1904 (__glibcxx_check_partitioned_upper_pred): Likewise. 1905 (__glibcxx_check_sorted): Likewise. 1906 (__glibcxx_check_sorted_pred): Likewise. 1907 (__glibcxx_check_sorted_set): Likewise. 1908 (__glibcxx_check_sorted_set_pred): Likewise. 1909 * include/debug/functions.h (__check_partitioned_lower): 1910 Remove code to detect safe iterators. 1911 (__check_partitioned_upper): Likewise. 1912 (__check_sorted): Likewise. 1913 19142013-08-29 Tim Shen <timshen91@gmail.com> 1915 1916 * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits. 1917 (regex_iterator<>::regex_iterator): Return nullptr when regex_search 1918 failed. 1919 (regex_token_iterator<>::_M_end_of_seq): Should be defined true when 1920 _M_result is(not isn't) nullptr. 1921 * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference 1922 instead of by value. 1923 * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add 1924 _M_traits to _DFSExecutor. 1925 * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to 1926 _DFSExecutor too. 1927 * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc: 1928 New. 1929 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ 1930 wstring_02.cc: New. 1931 19322013-08-26 Tim Shen <timshen91@gmail.com> 1933 1934 * include/Makefile.am: Add regex_scanner.{h,tcc}. 1935 * include/Makefile.in: Regenerate. 1936 * include/bits/regex.h (match_search): Handle the `__first == __last` 1937 situation correctly. 1938 * include/bits/regex_compiler.h: Move _Scanner... 1939 * include/bits/regex_scanner.h: ...to here. New. 1940 * include/bits/regex_compiler.tcc: Move _Scanner... 1941 * include/bits/regex_scanner.tcc: ...to here, too. New. 1942 * include/bits/regex_executor.tcc: Use value instead of reference for 1943 submatch. 1944 * include/std/regex: Add regex_scanner.h 1945 * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New. 1946 * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New. 1947 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New. 1948 * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New. 1949 * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New. 1950 19512013-08-22 Tim Shen <timshen91@gmail.com> 1952 1953 * include/bits/regex.h: Replace 8 spaces in indentation with a tab. 1954 * include/bits/regex_automaton.h: Same. 1955 * include/bits/regex_automaton.tcc: Same. 1956 * include/bits/regex_compiler.h: Same. 1957 * include/bits/regex_compiler.tcc: Same. 1958 * include/bits/regex_constants.h: Same. 1959 * include/bits/regex_executor.h: Same. 1960 * include/bits/regex_executor.tcc: Same. 1961 19622013-08-22 Tim Shen <timshen91@gmail.com> 1963 1964 * include/bits/regex.h: Executor caller. 1965 * include/bits/regex_executor.h: Fix empty grouping problem. 1966 * include/bits/regex_executor.tcc: Same. 1967 * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc: 1968 New. 1969 19702013-08-20 Phil Muldoon <pmuldoon@redhat.com> 1971 1972 PR libstdc++/53477 1973 http://sourceware.org/bugzilla/show_bug.cgi?id=15195 1974 1975 * python/libstdcxx/v6/printers.py (Printer.__call__): If a value 1976 is a reference, fetch referenced value. 1977 (RxPrinter.invoke): Ditto. 1978 * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0 1979 flag. Add referenced value tests. 1980 19812013-08-20 Tim Shen <timshen91@gmail.com> 1982 1983 * include/bits/regex_constants.h: Add underlying `unsigned int` for 1984 enum syntax_option_type. 1985 19862013-08-18 Tim Shen <timshen91@gmail.com> 1987 1988 * include/bits/regex_automaton.h: _S_opcode_backref. 1989 * include/bits/regex_automaton.tcc: Backref automaton support. 1990 * include/bits/regex_compiler.tcc: Parsing support. 1991 * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor. 1992 * include/bits/regex_executor.tcc: Add _S_opcode_backref support. 1993 * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New. 1994 19952013-08-16 Tim Shen <timshen91@gmail.com> 1996 1997 * include/bits/regex.h (regex_traits<>::transform_primary): 1998 Avoid past-the-end dereferences. 1999 20002013-08-14 Paolo Carlini <paolo.carlini@oracle.com> 2001 2002 PR libstdc++/58163 2003 * include/bits/basic_string.h (basic_string<>::operator[]): Fix 2004 _GLIBCXX_DEBUG_PEDASSERT check vs C++11. 2005 * include/ext/vstring.h: Likewise. 2006 * testsuite/21_strings/basic_string/element_access/char/58163.cc: 2007 New. 2008 * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc: 2009 Likewise. 2010 * testsuite/ext/vstring/element_access/char/58163.cc: Likewise. 2011 * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise. 2012 20132013-08-14 Uros Bizjak <ubizjak@gmail.com> 2014 2015 * src/c++98/compatibility.cc (_ZTIe): Use 2016 reinterpret_cast<const void *> to avoid -Wcast-qual warnings. 2017 (_ZTIPe): Ditto. 2018 (ZTIPKe): Ditto. 2019 20202013-08-09 Tim Shen <timshen91@gmail.com> 2021 2022 * include/bits/regex_constants.h: Change syntax_option_type to enum 2023 type. 2024 20252013-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 2026 2027 * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp. 2028 20292013-08-08 François Dumont <fdumont@gcc.gnu.org> 2030 2031 * include/bits/hashtable_policy.h (_Hashtable_alloc): New. 2032 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than 2033 _Hashtable. 2034 (_Before_begin<>): Remove. 2035 * include/bits/hashtable.h (_Hashtable): Inherit from 2036 _Hashtable_alloc and adapt. Restore _M_before_begin field. 2037 * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include. 2038 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt 2039 access to hashtable before begin. 2040 * testsuite/23_containers/unordered_set/ 2041 not_default_constructible_hash_neg.cc: Adapt dg-error line number. 2042 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 2043 Likewise. 2044 20452013-08-07 Tim Shen <timshen91@gmail.com> 2046 2047 * include/Makefile.am: Adjust to new files. 2048 * include/Makefile.in: Regenerate. 2049 * include/bits/regex.h: Adjust to new interfaces. 2050 * include/bits/regex_automaton.h: New. 2051 * include/bits/regex_automaton.tcc: New. 2052 * include/bits/regex_compiler.h: Adjust to new files. 2053 * include/bits/regex_compiler.tcc: New. 2054 * include/bits/regex_constants.h: Tail spaces. 2055 * include/bits/regex_error.h: Likewise. 2056 * include/bits/regex_executor.h: New. 2057 * include/bits/regex_executor.tcc: New. 2058 * include/std/regex: Adjust to new files. 2059 * testsuite/28_regex/algorithms/regex_match/extended/ 2060 string_dispatch_01.cc: Adjust to new interfaces. 2061 20622013-08-07 Paolo Carlini <paolo.carlini@oracle.com> 2063 2064 * include/ext/atomicity.h: Add #pragma GCC system_header. 2065 20662013-08-07 Paolo Carlini <paolo.carlini@oracle.com> 2067 2068 PR libstdc++/58098 2069 * include/bits/random.h (cauchy_distribution<>::min, 2070 extreme_value_distribution<>::min, normal_distribution<>::min, 2071 student_t_distribution<>::min): Fix. 2072 * include/ext/random (normal_mv_distribution<>::min): Likewise. 2073 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc: 2074 Adjust. 2075 testsuite/26_numerics/random/cauchy_distribution/cons/default.cc: 2076 Likewise. 2077 * testsuite/26_numerics/random/extreme_value_distribution/cons/ 2078 parms.cc: Likewise. 2079 testsuite/26_numerics/random/extreme_value_distribution/cons/ 2080 default.cc: Likewise. 2081 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc: 2082 Likewise. 2083 * testsuite/26_numerics/random/normal_distribution/cons/default.cc: 2084 Likewise. 2085 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc: 2086 Likewise. 2087 * testsuite/26_numerics/random/student_t_distribution/cons/default.cc: 2088 Likewise. 2089 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise. 2090 * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise. 2091 2092 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc: 2093 Minor tweak. 2094 * testsuite/26_numerics/random/exponential_distribution/cons/default.cc: 2095 Likewise. 2096 2097 * testsuite/ext/von_mises_distribution/*: Move to... 2098 * testsuite/ext/random/von_mises_distribution/*: ... here. 2099 * testsuite/ext/triangular_distribution/*: Move to... 2100 * testsuite/ext/random/triangular_distribution/*: ... here. 2101 21022013-08-06 Caroline Tice <cmtice@google.com> 2103 2104 * fragment.am: Add XTEMPLATE_FLAGS. 2105 * configure.ac: Add definitions for --enable-vtable-verify. 2106 * acinclude.m4: Add --enable-vtable-verify and 2107 --disable-vtable-verify; define --enable-vtable-verify; define 2108 VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. 2109 * config/abi/pre/gnu.ver: Export symbols for vtable verification. 2110 * libsupc++/Makefile.am: Define vtv_sources and add it to 2111 libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. 2112 * libsupc++/vtv_stubs.cc: New file. 2113 * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. 2114 * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add 2115 VTV_CXXLINKFLAGS to CXXLINK. 2116 * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS 2117 to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. 2118 * src/C++11/Makefile.am: Ditto. 2119 * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. 2120 * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause 2121 cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. 2122 * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate 2123 libvtv if --enable-vtable-verify was used; set cxxvtvflags; add 2124 cxxvtvflags to cxx_final. 2125 * testsuite/18_support/bad_exception/23591_thread-1.c: Add 2126 -fvtable-verify=none to compiler flags. 2127 * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none 2128 to compiler flags. 2129 * configure: Regenerated. 2130 * Makefile.in: Regenerated. 2131 * python/Makefile.in: Regenerated. 2132 * include/Makefile.in: Regenerated. 2133 * libsupc++/Makefile.in: Regenerated. 2134 * config.h.in: Regenerated. 2135 * po/Makefile.in: Regenerated. 2136 * src/Makefile.in: Regenerated. 2137 * src/c++98/Makefile.in: Regenerated. 2138 * src/c++11/Makefile.in: Regenerated. 2139 * doc/Makefile.in: Regenerated. 2140 * testsuite/Makefile.in: Regenerated. 2141 21422013-08-06 Paolo Carlini <paolo.carlini@oracle.com> 2143 2144 Revert the last commit. 2145 21462013-08-06 François Dumont <fdumont@gcc.gnu.org> 2147 2148 * include/bits/hashtable_policy.h (_Hashtable_alloc): New. 2149 (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than 2150 _Hashtable. 2151 (_Before_begin<>): Remove. 2152 * include/bits/hashtable.h (_Hashtable): Inherit from 2153 _Hashtable_alloc and adapt. Restore _M_before_begin field. 2154 * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt 2155 access to hashtable before begin. 2156 * testsuite/23_containers/unordered_set/ 2157 not_default_constructible_hash_neg.cc: Adapt dg-error line number. 2158 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 2159 Likewise. 2160 21612013-08-03 Tim Shen <timshen91@gmail.com> 2162 2163 Implement bracket expression. 2164 * include/bits/regex.h: Remove constexpr from "|=", etc. 2165 * include/bits/regex_compiler.h: Parse bracket expression. 2166 * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old 2167 _RangeMatcher). 2168 * include/bits/regex_nfa.tcc: Implement them. 2169 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: 2170 from regex_search to regex_match. 2171 * testsuite/28_regex/algorithms/regex_match/extended/ 2172 cstring_bracket_01.cc: New. 2173 21742013-08-02 Paolo Carlini <paolo.carlini@oracle.com> 2175 2176 * include/debug/functions.h (__foreign_iterator_aux4): 2177 Initialize __l and __ge. 2178 21792013-08-02 Paolo Carlini <paolo.carlini@oracle.com> 2180 2181 PR libstdc++/58049 2182 * include/debug/functions.h: Include <bits/move.h>; minor formatting 2183 changes. 2184 (__foreign_iterator_aux4): Declare __l and __ge constexpr. 2185 * include/debug/safe_iterator.h (_Safe_iterator<>::operator->): 2186 Use __addressof. 2187 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>:: 2188 operator->): Likewise. 2189 21902013-08-01 François Dumont <fdumont@gcc.gnu.org> 2191 2192 PR libstdc++/57779 2193 * include/debug/formatter.h (_Debug_msg_id): Add 2194 __msg_insert_itself_range entry. 2195 * include/debug/functions.h (_Insert_range_from_self_is_safe<>): 2196 New, indicate container types supporting self range insertion in 2197 GNU implementation. 2198 (__foreign_iterator): New, check if an iterator points to a given 2199 sequence. 2200 * include/debug/macros.h (__glibcxx_check_insert_range): Add check 2201 using __foreign_iterator. 2202 (__gibcxx_check_insert_range_after): Likewise. 2203 * include/debug/string (_Insert_range_from_self_is_safe<>): 2204 Partially specialized to mark __gnu_debug::basic_string<> as 2205 supporting self range insert. 2206 * include/debug/list (_Insert_range_from_self_is_safe<>): 2207 Partially specialized to mark std::list as supporting self range 2208 insert if _GLIBCXX_DEBUG_PEDANTIC is not defined. 2209 * include/debug/forward_list (_Insert_range_from_self_is_safe<>): 2210 Likewise. 2211 * src/c++11/debug.cc (_S_debug_messages): Add 2212 __msg_insert_itself_range_entry message. 2213 (_Error_formatter::_Parameter::_M_print_description): Display 2214 iterator sequence address rather than sequence address when the 2215 parameter type is an iterator. 2216 (_Error_formatter::_M_print_word): Enhance behavior when 2217 displaying a word with an appended '\n'. 2218 * testsuite/util/debug/checks.h (check_insert4<>): New. 2219 * testsuite/23_containers/deque/debug/insert5_neg.cc: New. 2220 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. 2221 * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise. 2222 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. 2223 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. 2224 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: 2225 Likewise. 2226 22272013-08-01 Fabien Chêne <fabien@gcc.gnu.org> 2228 2229 PR c++/54537 2230 * include/tr1/cmath: Remove pow(double,double) overload, remove a 2231 duplicated comment about DR 550. Add a comment to explain the 2232 issue. 2233 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New. 2234 22352013-07-31 Tim Shen <timshen91@gmail.com> 2236 2237 Thompson matcher refactored. Fix grouping problem. 2238 * include/bits/regex.h: Use a dispatcher _M_get_matcher(). 2239 * include/bits/regex_compiler.h: Tweak for auto switching. 2240 * include/bits/regex_grep_matcher.h: Class structure. 2241 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson 2242 matcher) refactoring. 2243 * include/bits/regex_nfa.h: Change _Results's interfaces. 2244 * include/std/regex: Includes <map> and <queue>. 2245 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: 2246 For both matchers. 2247 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: 2248 For both matchers. 2249 * testsuite/28_regex/algorithms/regex_match/extended/ 2250 string_dispatch_01.cc: New. 2251 22522013-07-31 Paolo Carlini <paolo.carlini@oracle.com> 2253 2254 PR libstdc++/56627 2255 * include/bits/stl_bvector.h: Use friend struct hash intead of 2256 friend class hash to work around useless warnings produced by 2257 some compilers. 2258 * include/std/bitset: Likewise. 2259 22602013-07-31 Paolo Carlini <paolo.carlini@oracle.com> 2261 2262 * src/c++11/functexcept.cc: Do not include the whole <regex>. 2263 * src/c++11/regex.cc: Likewise. 2264 22652013-07-31 Tim Shen <timshen91@gmail.com> 2266 2267 Revert last commit. 2268 22692013-07-31 Tim Shen <timshen91@gmail.com> 2270 2271 Thompson matcher refactored. Fix grouping problem. 2272 * include/bits/regex.h: Use a dispatcher _M_get_matcher(). 2273 * include/bits/regex_compiler.h: Tweak for auto switching. 2274 * include/bits/regex_grep_matcher.h: Class structure. 2275 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson 2276 matcher) refactoring. 2277 * include/bits/regex_nfa.h: Change _Results's interfaces. 2278 * include/std/regex: Includes <map> and <queue>. 2279 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: 2280 For both matchers. 2281 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: 2282 For both matchers. 2283 * testsuite/28_regex/algorithms/regex_match/extended/ 2284 string_dispatch_01.cc: New. 2285 22862013-07-30 Paolo Carlini <paolo.carlini@oracle.com> 2287 2288 Revert last commit. 2289 22902013-07-30 Tim Shen <timshen91@gmail.com> 2291 2292 Thompson matcher refactored. Fix grouping problem. 2293 * include/bits/regex.h: Use a dispatcher _M_get_matcher(). 2294 * include/bits/regex_compiler.h: Tweak for auto switching. 2295 * include/bits/regex_grep_matcher.h: Class structure. 2296 * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson 2297 matcher) refactoring. 2298 * include/bits/regex_nfa.h: Change _Results's interfaces. 2299 * include/std/regex: Includes <map> and <queue>. 2300 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: 2301 For both matchers. 2302 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: 2303 For both matchers. 2304 * testsuite/28_regex/algorithms/regex_match/extended/ 2305 string_dispatch_01.cc: New. 2306 23072013-07-29 Nathan Froyd <froydnj@gcc.gnu.org> 2308 2309 * include/std/atomic (compare_exchange_weak, compare_exchange_strong): 2310 Add call to __cmpexch_failure_order. 2311 * testsuite/util/testsuite_common_types.h 2312 (compare_exchange_order_lowering): New generator. 2313 * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc: 2314 New test. 2315 23162013-07-25 Paolo Carlini <paolo.carlini@oracle.com> 2317 2318 * include/std/complex (pow(const complex<>&, int)): Enable in 2319 C++11 mode too. 2320 * testsuite/26_numerics/complex/dr844.cc: Adjust. 2321 * doc/xml/manual/intro.xml: Update. 2322 23232013-07-25 Tim Shen <timshen91@gmail.com> 2324 2325 Add documents and comments. 2326 * include/bits/regex.h: Documents and comments. 2327 * include/bits/regex_grep_matcher.h: Likewise. 2328 * include/bits/regex_grep_matcher.tcc: Likewise. 2329 * testsuite/28_regex/iterators/regex_iterator/char/ 2330 string_position_01.cc: New. 2331 23322013-07-24 Paolo Carlini <paolo.carlini@oracle.com> 2333 2334 PR libstdc++/57976 2335 * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and 2336 time_get::do_get. 2337 23382013-07-24 Paolo Carlini <paolo.carlini@oracle.com> 2339 2340 * include/bits/random.h (random_device): Avoid using the FILE type. 2341 * include/std/random: Do not include <cstdio>. 2342 * src/c++11/random.cc: ... include it here. 2343 (random_device::_M_init, random_device::_M_fini, 2344 random_device::_M_getval): Cast back and forth void* and FILE*. 2345 23462013-07-24 Tim Shen <timshen91@gmail.com> 2347 2348 Reimplment matcher using Depth-first search(backtracking). 2349 PR libstdc++/53622 2350 PR libstdc++/57173 2351 * include/bits/regex.h: regex_match() and regex_search(). 2352 * include/bits/regex_cursor.h: Fix _M_set_pos(). 2353 * include/bits/regex_grep_matcher.h: add _M_dfs_match(). 2354 * include/bits/regex_grep_matcher.tcc: Implement it. 2355 * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New. 2356 * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New. 2357 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: 2358 Remove xfail. 2359 23602013-07-23 Tim Shen <timshen91@gmail.com> 2361 2362 Implement regex_iterator and regex_token_iterator. 2363 * include/bits/regex.h: regex_iterator and regex_token_iterator. 2364 * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc: 2365 New. 2366 * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc: 2367 New. 2368 * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc: 2369 New. 2370 * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/ 2371 string_01.cc: New. 2372 23732013-07-23 Paolo Carlini <paolo.carlini@oracle.com> 2374 2375 * include/std/random: Add back <cstdio> include. 2376 * src/c++11/random.cc: Don't include <cstdio> here. 2377 23782013-07-22 Jason Merrill <jason@redhat.com> 2379 2380 PR libstdc++/57914 2381 * libsupc++/atexit_thread.cc (run): Delete cleanup elts. 2382 23832013-07-22 Paolo Carlini <paolo.carlini@oracle.com> 2384 2385 PR c++/57920 2386 * src/c++11/random.cc (random_device::_M_getval): If possible, use 2387 read instead of std::fread. 2388 * include/std/random: Do not include <cstdio> unnecessarily. 2389 23902013-07-21 Tim Shen <timshen91@gmail.com> 2391 2392 Partially implement regex_search. 2393 * include/bits/regex.h: regex_search. 2394 * include/bits/regex_grep_matcher.h: _M_search_from_first. 2395 * include/bits/regex_grep_matcher.tcc: Implement it. 2396 * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New. 2397 23982013-07-21 Jonathan Wakely <jwakely.gcc@gmail.com> 2399 2400 PR libstdc++/54352 2401 * include/std/condition_variable (condition_variable_any): Move into 2402 inline namespace _V2 and replace mutex member with shared_ptr<mutex>. 2403 * src/c++11/condition_variable.cc (condition_variable_any): Move 2404 definitions to ... 2405 * src/c++11/compatibility-condvar.cc (condition_variable_any): Here. 2406 * src/Makefile.am: Add new source file. 2407 * src/Makefile.in: Regenerate. 2408 24092013-07-09 Tim Shen <timshen91@gmail.com> 2410 2411 Implement class regex_traits. 2412 * include/bits/regex.h: Implement lookup_classname and 2413 lookup_collatename; modify isctype; partially implement 2414 transform_primary. 2415 * testsuite/28_regex/traits/char/isctype.cc: Add more test cases. 2416 * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise. 2417 * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise. 2418 * testsuite/28_regex/traits/char/transform_primary.cc: Likewise. 2419 * testsuite/28_regex/traits/wchar_t/isctype.cc: New. 2420 * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New. 2421 * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New. 2422 * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New. 2423 24242013-07-07 Ed Smith-Rowland <3dw4rd@verizon.net> 2425 2426 * doc/xml/manual/status_cxx2014.xml: Add links for papers. 2427 24282013-07-05 François Dumont <fdumont@gcc.gnu.org> 2429 2430 * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward 2431 pattern. 2432 (_MoveReuseOrAllocNode): Remove. 2433 (_Insert_base): Take a functor defining how the node is generated. 2434 * include/bits/hashtable.h: Adapt. 2435 (operator=(initializer_list<value_type>)): Reuse node if any. 2436 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 2437 Adjust dg-error line number. 2438 * testsuite/23_containers/unordered_set/ 2439 not_default_constructible_hash_neg.cc: Likewise. 2440 24412013-07-05 Paolo Carlini <paolo.carlini@oracle.com> 2442 2443 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: 2444 Tweak, avoid potential undefined behavior. 2445 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: 2446 Likewise. 2447 * testsuite/23_containers/vector/bool/modifiers/insert/ 2448 const_iterator.cc: Likewise. 2449 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: 2450 Likewise. 2451 24522013-07-04 Veres Lajos <vlajos@gmail.com> 2453 Jonathan Wakely <jwakely.gcc@gmail.com> 2454 2455 * config/locale/generic/codecvt_members.cc: Fix typo. 2456 * configure.host: Likewise. 2457 * doc/html/manual/policy_data_structures_design.html: Likewise. 2458 * doc/xml/manual/policy_data_structures.xml: Likewise. 2459 * include/bits/hashtable.h: Likewise. 2460 * include/bits/random.h: Likewise. 2461 * include/profile/impl/profiler_trace.h: Likewise. 2462 * testsuite/23_containers/deque/cons/2.cc: Likewise. 2463 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. 2464 * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise. 2465 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise. 2466 24672013-07-04 Ray Chason <chasonr@newsguy.com> 2468 Paolo Carlini <paolo.carlini@oracle.com> 2469 2470 PR libstdc++/57808 2471 * include/bits/regex.h (regex_token_iterator<>::operator==, 2472 regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*, 2473 regex_token_iterator<>::operator->): Declare const. 2474 24752013-07-01 Paolo Carlini <paolo.carlini@oracle.com> 2476 2477 * include/bits/stl_list.h (list<>::insert(iterator, 2478 size_type, const value_type&), list<>::insert(iterator, 2479 initializer_list<>), list<>::insert(iterator, _InputIterator, 2480 _InputIterator), list<>::splice(iterator, list&&), 2481 list<>::splice(iterator, list&), list<>::splice(iterator, list&&, 2482 iterator), list<>::splice(iterator, list&, iterator), 2483 list<>::splice(iterator, list&&, iterator, iterator), 2484 list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11 2485 signatures to take const_iterator(s). 2486 * include/bits/list.tcc (list<>::insert(const_iterator, size_type, 2487 const value_type&), list<>::insert(const_iterator, _InputIterator, 2488 _InputIterator)): Define. 2489 * include/ext/vstring.h (__versa_string<>::insert(iterator, 2490 size_type, _CharT), __versa_string<>::insert(iterator, 2491 _InputIterator, _InputIterator), __versa_string<>::insert(iterator, 2492 std::initializer_list<>), __versa_string<>::replace(iterator, 2493 iterator, _InputIterator, _InputIterator), __versa_string<>:: 2494 replace(iterator, iterator, std::initializer_list<>)): Adjust C++11 2495 signatures to take const_iterator(s). 2496 (__versa_string<>::_M_replace_dispatch): Take const_iterators. 2497 * include/ext/vstring.tcc: Likewise. 2498 * include/debug/list: Adjust. 2499 * include/profile/list: Likewise. 2500 * testsuite/23_containers/list/operations/splice/const_iterator.cc: 2501 New. 2502 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: 2503 Extend. 2504 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: 2505 Likewise. 2506 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: 2507 Likewise. 2508 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: 2509 Likewise. 2510 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: 2511 Likewise. 2512 2513 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2514 Adjust dg-error line number. 2515 * testsuite/23_containers/list/requirements/dr438/ 2516 constructor_1_neg.cc: Likewise. 2517 * testsuite/23_containers/list/requirements/dr438/ 2518 constructor_2_neg.cc: Likewise. 2519 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2520 Likewise. 2521 25222013-06-30 Paolo Carlini <paolo.carlini@oracle.com> 2523 2524 * include/bits/stl_deque.h (deque<>::insert(iterator, 2525 size_type, const value_type&), deque<>::insert(iterator, 2526 initializer_list<>), deque<>::insert(iterator, _InputIterator, 2527 _InputIterator)): Adjust C++11 signatures to take a const_iterator. 2528 * include/bits/stl_vector.h: Likewise. 2529 * include/bits/stl_bvector.h: Likewise. 2530 * include/debug/deque: Adjust. 2531 * include/debug/vector: Likewise. 2532 * include/profile/deque: Likewise. 2533 * include/profile/vector: Likewise. 2534 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: 2535 Extend. 2536 * testsuite/23_containers/vector/bool/modifiers/insert/ 2537 const_iterator.cc: Likewise. 2538 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: 2539 Likewise. 2540 2541 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 2542 Adjust dg-error line number. 2543 * testsuite/23_containers/deque/requirements/dr438/ 2544 constructor_1_neg.cc: Likewise. 2545 * testsuite/23_containers/deque/requirements/dr438/ 2546 constructor_2_neg.cc: Likewise. 2547 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 2548 Likewise. 2549 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 2550 Likewise. 2551 * testsuite/23_containers/vector/requirements/dr438/ 2552 constructor_1_neg.cc: Likewise. 2553 * testsuite/23_containers/vector/requirements/dr438/ 2554 constructor_2_neg.cc: Likewise. 2555 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 2556 Likewise. 2557 25582013-06-29 François Dumont <fdumont@gcc.gnu.org> 2559 2560 * include/bits/hashtable_policy.h (_Insert_base): Consider hint in 2561 insert methods. 2562 * include/bits/hashtable.h: Likewise. 2563 * testsuite/23_containers/unordered_multimap/insert/hint.cc: New. 2564 * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: 2565 New. 2566 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 2567 Adjust dg-error line number. 2568 * testsuite/23_containers/unordered_set/ 2569 not_default_constructible_hash_neg.cc: Likewise. 2570 * doc/xml/manual/containers.xml: Document hinting in unordered 2571 containers. 2572 25732013-06-27 Paolo Carlini <paolo.carlini@oracle.com> 2574 2575 * testsuite/21_strings/basic_string/operations/*: Move inside 2576 testsuite/21_strings/basic_string/operations/data/. 2577 * testsuite/21_strings/basic_string/compare/*: Move inside 2578 testsuite/21_strings/basic_string/operations/. 2579 * testsuite/21_strings/basic_string/find/*: Likewise. 2580 * testsuite/21_strings/basic_string/rfind/*: Likewise. 2581 * testsuite/21_strings/basic_string/substr/*: Likewise. 2582 25832013-06-27 Paolo Carlini <paolo.carlini@oracle.com> 2584 2585 * testsuite/21_strings/basic_string/append/*: Move inside 2586 testsuite/21_strings/basic_string/modifiers/. 2587 * testsuite/21_strings/basic_string/assign/*: Likewise. 2588 * testsuite/21_strings/basic_string/insert/*: Likewise. 2589 * testsuite/21_strings/basic_string/replace/*: Likewise. 2590 * testsuite/21_strings/basic_string/modifiers/pop_back/char/ 2591 pop_back.cc: Rename to 1.cc. 2592 * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/ 2593 pop_back.cc: Likewise. 2594 * testsuite/ext/vstring/assign/*: Move inside 2595 testsuite/ext/vstring/modifiers/. 2596 25972013-06-27 Paolo Carlini <paolo.carlini@oracle.com> 2598 2599 * include/bits/stl_deque.h (deque<>::insert(iterator, 2600 const value_type&), deque<>::insert(iterator, value_type&&), 2601 deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to 2602 take a const_iterator. 2603 (deque<>::erase): Simplify. 2604 * include/bits/stl_list.h: Likewise. 2605 (_List_iterator<>::_M_const_cast): Add. 2606 * include/bits/stl_vector.h: Likewise. 2607 * include/bits/stl_bvector.h: Likewise. 2608 (_Bit_iterator::_M_const_cast): Add. 2609 * include/bits/deque.tcc: Adjust definitions. 2610 * include/bits/list.tcc: Likewise. 2611 * include/bits/vector.tcc: Likewise. 2612 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): 2613 Define trivial version in C++98 mode. 2614 * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT), 2615 __versa_string<>::replace(iterator, iterator, const __versa_string&), 2616 __versa_string<>::replace(iterator, iterator, const _CharT*, 2617 size_type), __versa_string<>::replace(iterator, iterator, 2618 const _CharT*), __versa_string<>::replace(iterator, iterator, 2619 size_type, _CharT)): Adjust C++11 signatures to take a pair of 2620 const_iterators. 2621 * include/debug/deque: Adjust. 2622 * include/debug/list: Likewise. 2623 * include/debug/vector: Likewise. 2624 * include/profile/deque: Likewise. 2625 * include/profile/list: Likewise. 2626 * include/profile/vector: Likewise. 2627 (vector<>::emplace): Add. 2628 * testsuite/util/exception/safety.h: Update. 2629 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: 2630 New. 2631 * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc: 2632 Likewise. 2633 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: 2634 Likewise. 2635 * testsuite/23_containers/list/modifiers/insert/const_iterator.cc: 2636 Likewise. 2637 * testsuite/23_containers/vector/bool/modifiers/insert/ 2638 const_iterator.cc: Likewise. 2639 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: 2640 Likewise. 2641 * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc: 2642 Likewise. 2643 * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc: 2644 Likewise. 2645 * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc: 2646 Likewise. 2647 * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc: 2648 Likewise. 2649 * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc: 2650 Likewise. 2651 2652 * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/ 2653 ext/vstring/modifiers/erase/char/. 2654 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/ 2655 ext/vstring/modifiers/wchar_t/. 2656 * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/ 2657 ext/vstring/modifiers/pop_back/char/. 2658 * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to 2659 testsuite/ext/vstring/modifiers/pop_back/wchar_t/. 2660 2661 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 2662 Adjust dg-error line number. 2663 * testsuite/23_containers/deque/requirements/dr438/ 2664 constructor_1_neg.cc: Likewise. 2665 * testsuite/23_containers/deque/requirements/dr438/ 2666 constructor_2_neg.cc: Likewise. 2667 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 2668 Likewise. 2669 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 2670 Likewise. 2671 * testsuite/23_containers/list/requirements/dr438/ 2672 constructor_1_neg.cc: Likewise. 2673 * testsuite/23_containers/list/requirements/dr438/ 2674 constructor_2_neg.cc: Likewise. 2675 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 2676 Likewise. 2677 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 2678 Likewise. 2679 * testsuite/23_containers/vector/requirements/dr438/ 2680 constructor_1_neg.cc: Likewise. 2681 * testsuite/23_containers/vector/requirements/dr438/ 2682 constructor_2_neg.cc: Likewise. 2683 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 2684 Likewise. 2685 26862013-06-25 Ed Smith-Rowland <3dw4rd@verizon.net> 2687 2688 Status page for C++2014 library features 2689 * doc/xml/faq.xml: Add link to new C++14 status page. 2690 * doc/xml/manual/intro.xml: Ditto. 2691 * doc/xml/manual/status_cxx2014.xml: New. 2692 26932013-06-25 Paolo Carlini <paolo.carlini@oracle.com> 2694 2695 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid 2696 spurious fails with check-debug. 2697 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: 2698 Likewise. 2699 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise. 2700 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: 2701 Likewise. 2702 27032013-06-25 Paolo Carlini <paolo.carlini@oracle.com> 2704 2705 PR libstdc++/57704 2706 * include/bits/char_traits.h (char_traits<char>::lt): Implement 2707 LWG 467. 2708 * testsuite/21_strings/char_traits/requirements/char/57704.cc: New. 2709 27102013-06-24 Bernd Edlinger <bernd.edlinger@hotmail.de> 2711 2712 PR libstdc++/57691 2713 * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED, 2714 declare per the letter of the C++ standard in terms of void. 2715 * include/c_std/cstdlib: Likewise. 2716 27172013-06-22 Paolo Carlini <paolo.carlini@oracle.com> 2718 2719 PR libstdc++/57674 2720 * include/bits/random.h (binomial_distribution<>::_M_waiting): 2721 Add double parameter. 2722 * include/bits/random.tcc (binomial_distribution<>::operator() 2723 (_UniformRandomNumberGenerator&, const param_type&)): Pass 2724 __param._M_q to _M_waiting. 2725 (_M_waiting): Adjust. 2726 * testsuite/26_numerics/random/binomial_distribution/ 2727 operators/values.cc: Add tests. 2728 27292013-06-21 Paolo Carlini <paolo.carlini@oracle.com> 2730 2731 PR libstdc++/57666 2732 * include/std/valarray (valarray<>::operator=(const _Expr<>&)): 2733 Implement correctly C++11 26.6.2.3/1. 2734 * testsuite/26_numerics/valarray/dr630-3.C: New. 2735 27362013-06-18 Jonathan Wakely <jwakely.gcc@gmail.com> 2737 2738 PR libstdc++/57641 2739 * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common 2740 functionality to new __timed_mutex_impl mixin. Overload try_lock_until 2741 to handle conversion between different clocks. Replace constrained 2742 __try_lock_for_impl overloads with conditional increment. 2743 * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin. 2744 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New. 2745 27462013-06-17 Jonathan Wakely <jwakely.gcc@gmail.com> 2747 Chris Jefferson <chris@bubblescope.net> 2748 2749 * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671 2750 dispatch to traditional std::equal for random-access iterators. 2751 (__equal2_aux, __equal2): Remove. 2752 (__equal::equal): Remove unused overloads. 2753 * include/bits/stl_algo.h (is_permutation): Fix typos. 2754 27552013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> 2756 2757 * include/std/shared_mutex (shared_lock::operator=): Add missing 2758 return statement. 2759 27602013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> 2761 2762 PR libstdc++/57263 2763 * include/bits/forward_list.h (_Fwd_list_base): Convert to/from 2764 allocator's pointer type. 2765 * include/bits/hashtable.h (_Hashtable): Likewise. 2766 * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add. 2767 * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New. 2768 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New. 2769 * testsuite/23_containers/vector/allocator/ext_ptr.cc: New. 2770 27712013-06-16 Jonathan Wakely <jwakely.gcc@gmail.com> 2772 2773 * include/std/shared_mutex: Implement N3659. 2774 * include/bits/c++14_warning.h: New. 2775 * include/Makefile.am: Add new headers. 2776 * include/Makefile.in: Regenerate. 2777 * testsuite/30_threads/shared_lock/cons/1.cc: New. 2778 * testsuite/30_threads/shared_lock/locking/2.cc: New. 2779 * testsuite/30_threads/shared_lock/cons/2.cc: New. 2780 * testsuite/30_threads/shared_lock/locking/3.cc: New. 2781 * testsuite/30_threads/shared_lock/cons/3.cc: New. 2782 * testsuite/30_threads/shared_lock/locking/4.cc: New. 2783 * testsuite/30_threads/shared_lock/cons/4.cc: New. 2784 * testsuite/30_threads/shared_lock/modifiers/1.cc: New. 2785 * testsuite/30_threads/shared_lock/cons/5.cc: New. 2786 * testsuite/30_threads/shared_lock/modifiers/2.cc: New. 2787 * testsuite/30_threads/shared_lock/cons/6.cc: New. 2788 * testsuite/30_threads/shared_lock/requirements/ 2789 explicit_instantiation.cc: New. 2790 * testsuite/30_threads/shared_lock/locking/1.cc: New. 2791 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New. 2792 * testsuite/30_threads/shared_mutex/cons/1.cc: New. 2793 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. 2794 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. 2795 * testsuite/30_threads/shared_mutex/requirements/ 2796 standard_layout.cc: New. 2797 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. 2798 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. 2799 28002013-06-15 Paolo Carlini <paolo.carlini@oracle.com> 2801 2802 PR libstdc++/57619 2803 * include/bits/unordered_map.h (unordered_map<>::insert, 2804 unordered_multimap<>::insert): Use std::forward, not std::move. 2805 * testsuite/23_containers/unordered_map/insert/57619.C: New. 2806 * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. 2807 28082013-06-14 Alan Modra <amodra@gmail.com> 2809 2810 * configure.host (abi_baseline_pair): Match powerpc64*. 2811 28122013-06-13 Daniel Krugler <daniel.kruegler@gmail.com> 2813 2814 * include/std/type_traits (is_function): Support ref-qualified 2815 functions. 2816 (is_copy_constructible, is_move_constructible, is_copy_assignable, 2817 is_move_assignable, is_nothrow_copy_constructible, 2818 is_nothrow_move_constructible, is_nothrow_copy_assignable, 2819 is_nothrow_move_assignable): Implement LWG 2196. 2820 (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement 2821 LWG 2101. 2822 (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove, 2823 unused. 2824 * testsuite/20_util/add_lvalue_reference/value.cc: Extend. 2825 * testsuite/20_util/add_rvalue_reference/value.cc: Likewise. 2826 * testsuite/20_util/decay/requirements/typedefs.cc: Likewise. 2827 * testsuite/20_util/is_assignable/value.cc: Likewise. 2828 * testsuite/20_util/is_constructible/value-2.cc: Likewise. 2829 * testsuite/20_util/is_copy_assignable/value.cc: Likewise. 2830 * testsuite/20_util/is_copy_constructible/value.cc: Likewise. 2831 * testsuite/20_util/is_function/value.cc: Likewise. 2832 * testsuite/20_util/is_move_assignable/value.cc: Likewise. 2833 * testsuite/20_util/is_move_constructible/value.cc: Likewise. 2834 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise. 2835 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise. 2836 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise. 2837 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise. 2838 2839 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 2840 line number. 2841 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 2842 Likewise. 2843 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 2844 Likewise. 2845 28462013-06-13 Paolo Carlini <paolo.carlini@oracle.com> 2847 2848 * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), 2849 __gnu_cxx::__airy_bi()): Remove. 2850 * testsuite/tr1/5_numerical_facilities/special_functions/ 2851 10_cyl_bessel_k/airy.cc: Fix. 2852 28532013-06-12 Ed Smith-Rowland <3dw4rd@verizon.net> 2854 2855 PR libstdc++/56430 2856 * include/tr1/modified_bessel_func.tcc (__airy): Remove return 2857 from void function. 2858 (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions. 2859 * testsuite/tr1/5_numerical_facilities/special_functions/ 2860 10_cyl_bessel_k/airy.cc: New. 2861 28622013-06-11 Ed Smith-Rowland <3dw4rd@verizon.net> 2863 2864 Fix library literals error involving namespace __detail. 2865 * include/std/chrono: Rename __detail to __select_type. Reformat. 2866 * include/bits/basic_string.h: Reformat. 2867 * testsuite/20_util/duration/literals/ns_detail.cc: New. 2868 28692013-06-11 Paolo Carlini <paolo.carlini@oracle.com> 2870 2871 PR libstdc++/56019 2872 * include/c_global/cstddef (max_align_t): Add to namespace std. 2873 * include/c_std/cstddef: Likewise. 2874 * testsuite/18_support/max_align_t/requirements/1.cc: New. 2875 * testsuite/18_support/max_align_t/requirements/2.cc: Likewise. 2876 28772013-06-10 Benjamin Kosnik <bkoz@redhat.com> 2878 2879 * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add. 2880 * include/bits/stl_map.h (erase): Use abi_tag when C++11. 2881 * include/bits/stl_multimap.h: Same. 2882 * include/bits/stl_multiset.h: Same. 2883 * include/bits/stl_set.h: Same. 2884 * include/bits/stl_tree.h: Same. 2885 * include/std/complex (real, imag): Use macro for abi_tag. 2886 2887 * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline. 2888 * testsuite/util/testsuite_containers.h (erase_external): New 2889 declarations. 2890 (erase_external_iterators): Same. 2891 (linkage_check_cxx98_cxx11_erase): Same. 2892 (linkage_check_cxx98_cxx11_erase_iterators): Same. 2893 * testsuite/util/testsuite_shared.cc: Define. 2894 * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New. 2895 * testsuite/23_containers/map/modifiers/erase/ 2896 dr130-linkage-check.cc: New. 2897 * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New. 2898 * testsuite/23_containers/multimap/modifiers/erase/ 2899 dr130-linkage-check.cc: New. 2900 * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New. 2901 * testsuite/23_containers/multiset/modifiers/erase/ 2902 dr130-linkage-check.cc: New. 2903 * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New. 2904 * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc: 2905 New. 2906 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number. 2907 2908 * testsuite/23_containers/map/dr130.cc: Move... 2909 * testsuite/23_containers/map/modifiers/dr130.cc: ...here. 2910 * testsuite/23_containers/multimap/dr130.cc: Move ... 2911 * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here. 2912 * testsuite/23_containers/multiset/dr130.cc: Move... 2913 * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here. 2914 * testsuite/23_containers/set/dr130.cc: Move... 2915 * testsuite/23_containers/set/modifiers/dr130.cc: ...here. 2916 29172013-06-10 Thomas Schwinge <thomas@codesourcery.com> 2918 2919 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current 2920 handling of Linux-based x86 systems to cover all GNU systems. 2921 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise. 2922 * testsuite/18_support/pthread_guard.cc: Likewise. 2923 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: 2924 Likewise. 2925 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: 2926 Likewise. 2927 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. 2928 * testsuite/21_strings/basic_string/pthread4.cc: Likewise. 2929 * testsuite/22_locale/ctype/is/char/2.cc: Likewise. 2930 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise. 2931 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. 2932 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. 2933 * testsuite/23_containers/list/pthread1.cc: Likewise. 2934 * testsuite/23_containers/list/pthread5.cc: Likewise. 2935 * testsuite/23_containers/map/pthread6.cc: Likewise. 2936 * testsuite/23_containers/vector/debug/multithreaded_swap.cc: 2937 Likewise. 2938 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc: 2939 Likewise. 2940 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. 2941 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. 2942 * testsuite/30_threads/async/42819.cc: Likewise. 2943 * testsuite/30_threads/async/49668.cc: Likewise. 2944 * testsuite/30_threads/async/54297.cc: Likewise. 2945 * testsuite/30_threads/async/any.cc: Likewise. 2946 * testsuite/30_threads/async/async.cc: Likewise. 2947 * testsuite/30_threads/async/launch.cc: Likewise. 2948 * testsuite/30_threads/async/sync.cc: Likewise. 2949 * testsuite/30_threads/call_once/39909.cc: Likewise. 2950 * testsuite/30_threads/call_once/49668.cc: Likewise. 2951 * testsuite/30_threads/call_once/call_once1.cc: Likewise. 2952 * testsuite/30_threads/condition_variable/54185.cc: Likewise. 2953 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. 2954 * testsuite/30_threads/condition_variable/members/1.cc: Likewise. 2955 * testsuite/30_threads/condition_variable/members/2.cc: Likewise. 2956 * testsuite/30_threads/condition_variable/members/53841.cc: 2957 Likewise. 2958 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: 2959 Likewise. 2960 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. 2961 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. 2962 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. 2963 * testsuite/30_threads/condition_variable_any/members/1.cc: 2964 Likewise. 2965 * testsuite/30_threads/condition_variable_any/members/2.cc: 2966 Likewise. 2967 * testsuite/30_threads/future/cons/move.cc: Likewise. 2968 * testsuite/30_threads/future/members/45133.cc: Likewise. 2969 * testsuite/30_threads/future/members/get.cc: Likewise. 2970 * testsuite/30_threads/future/members/get2.cc: Likewise. 2971 * testsuite/30_threads/future/members/share.cc: Likewise. 2972 * testsuite/30_threads/future/members/valid.cc: Likewise. 2973 * testsuite/30_threads/future/members/wait.cc: Likewise. 2974 * testsuite/30_threads/future/members/wait_for.cc: Likewise. 2975 * testsuite/30_threads/future/members/wait_until.cc: Likewise. 2976 * testsuite/30_threads/lock/1.cc: Likewise. 2977 * testsuite/30_threads/lock/2.cc: Likewise. 2978 * testsuite/30_threads/lock/3.cc: Likewise. 2979 * testsuite/30_threads/lock/4.cc: Likewise. 2980 * testsuite/30_threads/mutex/cons/1.cc: Likewise. 2981 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. 2982 * testsuite/30_threads/mutex/lock/1.cc: Likewise. 2983 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. 2984 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. 2985 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. 2986 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. 2987 * testsuite/30_threads/mutex/unlock/1.cc: Likewise. 2988 * testsuite/30_threads/packaged_task/49668.cc: Likewise. 2989 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. 2990 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. 2991 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. 2992 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. 2993 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. 2994 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. 2995 * testsuite/30_threads/packaged_task/cons/move_assign.cc: 2996 Likewise. 2997 * testsuite/30_threads/packaged_task/members/get_future.cc: 2998 Likewise. 2999 * testsuite/30_threads/packaged_task/members/get_future2.cc: 3000 Likewise. 3001 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. 3002 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. 3003 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. 3004 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. 3005 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. 3006 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. 3007 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. 3008 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. 3009 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. 3010 * testsuite/30_threads/promise/cons/1.cc: Likewise. 3011 * testsuite/30_threads/promise/cons/alloc.cc: Likewise. 3012 * testsuite/30_threads/promise/cons/move.cc: Likewise. 3013 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. 3014 * testsuite/30_threads/promise/members/get_future.cc: Likewise. 3015 * testsuite/30_threads/promise/members/get_future2.cc: Likewise. 3016 * testsuite/30_threads/promise/members/set_exception.cc: Likewise. 3017 * testsuite/30_threads/promise/members/set_exception2.cc: 3018 Likewise. 3019 * testsuite/30_threads/promise/members/set_value.cc: Likewise. 3020 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 3021 * testsuite/30_threads/promise/members/set_value3.cc: Likewise. 3022 * testsuite/30_threads/promise/members/swap.cc: Likewise. 3023 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. 3024 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: 3025 Likewise. 3026 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. 3027 * testsuite/30_threads/recursive_mutex/native_handle/1.cc: 3028 Likewise. 3029 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: 3030 Likewise. 3031 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. 3032 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. 3033 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. 3034 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. 3035 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: 3036 Likewise. 3037 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. 3038 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. 3039 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: 3040 Likewise. 3041 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: 3042 Likewise. 3043 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: 3044 Likewise. 3045 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: 3046 Likewise. 3047 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: 3048 Likewise. 3049 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: 3050 Likewise. 3051 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: 3052 Likewise. 3053 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: 3054 Likewise. 3055 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: 3056 Likewise. 3057 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: 3058 Likewise. 3059 * testsuite/30_threads/shared_future/cons/move.cc: Likewise. 3060 * testsuite/30_threads/shared_future/members/45133.cc: Likewise. 3061 * testsuite/30_threads/shared_future/members/get.cc: Likewise. 3062 * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 3063 * testsuite/30_threads/shared_future/members/valid.cc: Likewise. 3064 * testsuite/30_threads/shared_future/members/wait.cc: Likewise. 3065 * testsuite/30_threads/shared_future/members/wait_for.cc: 3066 Likewise. 3067 * testsuite/30_threads/shared_future/members/wait_until.cc: 3068 Likewise. 3069 * testsuite/30_threads/this_thread/1.cc: Likewise. 3070 * testsuite/30_threads/this_thread/2.cc: Likewise. 3071 * testsuite/30_threads/this_thread/3.cc: Likewise. 3072 * testsuite/30_threads/this_thread/4.cc: Likewise. 3073 * testsuite/30_threads/thread/cons/1.cc: Likewise. 3074 * testsuite/30_threads/thread/cons/2.cc: Likewise. 3075 * testsuite/30_threads/thread/cons/3.cc: Likewise. 3076 * testsuite/30_threads/thread/cons/4.cc: Likewise. 3077 * testsuite/30_threads/thread/cons/49668.cc: Likewise. 3078 * testsuite/30_threads/thread/cons/5.cc: Likewise. 3079 * testsuite/30_threads/thread/cons/6.cc: Likewise. 3080 * testsuite/30_threads/thread/cons/7.cc: Likewise. 3081 * testsuite/30_threads/thread/cons/8.cc: Likewise. 3082 * testsuite/30_threads/thread/cons/9.cc: Likewise. 3083 * testsuite/30_threads/thread/cons/moveable.cc: Likewise. 3084 * testsuite/30_threads/thread/members/1.cc: Likewise. 3085 * testsuite/30_threads/thread/members/2.cc: Likewise. 3086 * testsuite/30_threads/thread/members/3.cc: Likewise. 3087 * testsuite/30_threads/thread/members/4.cc: Likewise. 3088 * testsuite/30_threads/thread/members/5.cc: Likewise. 3089 * testsuite/30_threads/thread/members/hardware_concurrency.cc: 3090 Likewise. 3091 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. 3092 * testsuite/30_threads/thread/native_handle/typesizes.cc: 3093 Likewise. 3094 * testsuite/30_threads/thread/swap/1.cc: Likewise. 3095 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. 3096 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: 3097 Likewise. 3098 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. 3099 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. 3100 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: 3101 Likewise. 3102 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. 3103 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. 3104 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. 3105 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. 3106 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. 3107 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. 3108 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. 3109 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. 3110 * testsuite/30_threads/try_lock/1.cc: Likewise. 3111 * testsuite/30_threads/try_lock/2.cc: Likewise. 3112 * testsuite/30_threads/try_lock/3.cc: Likewise. 3113 * testsuite/30_threads/try_lock/4.cc: Likewise. 3114 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. 3115 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. 3116 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. 3117 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. 3118 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. 3119 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. 3120 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. 3121 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. 3122 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. 3123 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. 3124 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. 3125 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. 3126 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise. 3127 * testsuite/ext/profile/mh.cc: Likewise. 3128 * testsuite/ext/rope/pthread7-rope.cc: Likewise. 3129 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise. 3130 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: 3131 Likewise. 3132 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: 3133 Likewise. 3134 * testsuite/util/testsuite_performance.h: Extend current handling 3135 of Linux-based systems to cover all glibc-based systems. 3136 31372013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com> 3138 3139 * include/std/mutex (call_once): Remove parentheses to fix error in 3140 c++1y and gnu++1y mode. 3141 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new 3142 thread to avoid undefined behaviour. 3143 31442013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> 3145 3146 Simplify and clean up library literals. 3147 * include/std/chrono: Simplify namespace and versioning management. 3148 * include/bits/basic_string.h: Ditto. 3149 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment. 3150 * testsuite/20_util/duration/literals/values.cc: Ditto. 3151 * testsuite/21_strings/basic_string/literals/types.cc: Ditto. 3152 * testsuite/21_strings/basic_string/literals/values.cc: Ditto. 3153 31542013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net> 3155 3156 Implement N3654 - Quoted Strings Library Proposal 3157 * include/std/iomanip: Add quoted(String, Char delim, Char escape) 3158 manipulators and supporting machinery in c++1y mode. 3159 * testsuite/27_io/manipulators/standard/char/quoted.cc: New. 3160 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New. 3161 31622013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> 3163 3164 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG 3165 2162: Add noexcept. 3166 31672013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> 3168 3169 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671. 3170 * include/bits/stl_algobase.h (equal, mismatch): Likewise. 3171 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case. 3172 * testsuite/25_algorithms/equal/2.cc: New. 3173 * testsuite/25_algorithms/equal/check_type2.cc: New. 3174 * testsuite/25_algorithms/is_permutationqual/2.cc: New. 3175 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New. 3176 * testsuite/25_algorithms/mismatch/2.cc: New. 3177 * testsuite/25_algorithms/mismatch/check_type2.cc: New. 3178 * testsuite/util/testsuite_iterators.h: Fix spelling. 3179 31802013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com> 3181 3182 * include/std/type-traits (integral_constant::operator()): Implement 3183 N3545. 3184 * testsuite/20_util/integral_constant/call_operator.cc: New. 3185 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 3186 line numbers. 3187 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3188 Likewise. 3189 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3190 Likewise. 3191 31922013-06-07 Uros Bizjak <ubizjak@gmail.com> 3193 3194 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 3195 31962013-06-05 Tom Tromey <tromey@redhat.com> 3197 3198 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0. 3199 32002013-06-03 Paolo Carlini <paolo.carlini@oracle.com> 3201 3202 PR c++/57419 3203 * testsuite/20_util/default_delete/48631_neg.cc: Adjust. 3204 32052013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net> 3206 3207 * include/std/chrono: Collapse redundant 'inline' from 'inline 3208 constexpr'. 3209 * include/std/tuple: Ditto. 3210 * include/bits/move.h: Ditto. 3211 32122013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net> 3213 3214 Implement N3642 - User-defined Literals for Standard Library Types 3215 * include/bits/parse_numbers.h: New. 3216 * include/std/chrono: Add duration literal operators. 3217 * include/bits/basic_string.h: Add string literal operators. 3218 * include/Makefile.in: Add parse_numbers.h. 3219 * include/Makefile.am: Ditto. 3220 * testsuite/20_util/duration/literals/values.cc: New. 3221 * testsuite/20_util/duration/literals/types.cc: New. 3222 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust. 3223 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust. 3224 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust. 3225 * testsuite/21_strings/basic_string/literals/values.cc: New. 3226 * testsuite/21_strings/basic_string/literals/types.cc: New. 3227 32282013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com> 3229 3230 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If 3231 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of 3232 calling non-existent from_time_t. 3233 32342013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3235 3236 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: 3237 Regenerate. 3238 32392013-05-24 Benjamin Kosnik <bkoz@redhat.com> 3240 3241 * include/std/chrono: Wrap clocks in inline namespace _V2. 3242 * src/c++11/chrono.cc: Same. 3243 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc 3244 file, with default configure macros selected. 3245 3246 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline 3247 namespace. 3248 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up. 3249 3250 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. 3251 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. 3252 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: 3253 Regenerated. 3254 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 3255 Regenerated. 3256 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. 3257 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: 3258 Regenerated. 3259 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. 3260 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. 3261 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. 3262 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. 3263 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. 3264 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: 3265 Regenerated. 3266 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. 3267 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. 3268 32692013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 3270 3271 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC] 3272 (CLOCK_MONOTONIC): Define. 3273 32742013-05-24 Paolo Carlini <paolo.carlini@oracle.com> 3275 3276 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t 3277 overload. 3278 3279 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused. 3280 32812013-05-24 Jakub Jelinek <jakub@redhat.com> 3282 3283 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, 3284 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X, 3285 don't define system_clock::is_steady, system_clock::now() and 3286 steady_clock::is_steady. 3287 (std::chrono::system_clock::now()): If 3288 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call 3289 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...). 3290 (std::chrono::system_clock::now()): Likewise. Add weak attribute 3291 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will 3292 be non-empty. 3293 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc. 3294 (compatibility-chrono.lo, compatibility-chrono.o): New goals. 3295 * src/c++11/compatibility-chrono.cc: New file. 3296 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for 3297 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp). 3298 * testsuite/util/testsuite_abi.cc (check_version): Add 3299 GLIBCXX_3.4.20 version and make it the latest. 3300 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export 3301 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to 3302 @@GLIBCXX_3.4.20 instead. 3303 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated. 3304 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated. 3305 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: 3306 Regenerated. 3307 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 3308 Regenerated. 3309 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated. 3310 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: 3311 Regenerated. 3312 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated. 3313 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated. 3314 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated. 3315 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated. 3316 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated. 3317 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: 3318 Regenerated. 3319 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated. 3320 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated. 3321 * config.h.in: Regenerated. 3322 * src/Makefile.in: Regenerated. 3323 * configure: Regenerated. 3324 33252013-05-23 Matthias Klose <doko@ubuntu.com> 3326 3327 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. 3328 (ext_headers): Remove ${ext_host_headers}. 3329 (stamp-${host_alias}): Create ${host_builddir}/../ext. 3330 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. 3331 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. 3332 * include/Makefile.in: Regenerate. 3333 * include/ext/random: Include ext/opt_random.h. 3334 33352013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com> 3336 3337 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to 3338 enable features if target OS is known to support them. 3339 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'. 3340 * configure: Regenerate. 3341 33422013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com> 3343 3344 PR libstdc++/57336 3345 * include/std/functional (__invoke): Do not form function types with 3346 abstract return type. 3347 * testsuite/20_util/reference_wrapper/invoke-3.cc: New. 3348 33492013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com> 3350 3351 * include/std/tuple (get): Implement N3670. 3352 * include/std/utility (get): Likewise. 3353 * testsuite/20_util/pair/get.cc: Move to ... 3354 * testsuite/20_util/pair/astuple/get.cc: Here. 3355 * testsuite/20_util/pair/astuple/astuple.cc: New. 3356 * testsuite/20_util/pair/astuple/constexpr_get.cc: New. 3357 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New. 3358 * testsuite/20_util/pair/astuple/get_by_type.cc: New. 3359 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New. 3360 * testsuite/20_util/pair/astuple/get_neg.cc: New. 3361 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New. 3362 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New. 3363 * testsuite/20_util/tuple/element_access/get_by_type.cc: New. 3364 33652013-05-19 Paolo Carlini <paolo.carlini@oracle.com> 3366 3367 * Revert last commit. 3368 33692013-05-19 Matthias Klose <doko@ubuntu.com> 3370 3371 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}. 3372 (ext_headers): Remove ${ext_host_headers}. 3373 (stamp-${host_alias}): Create ${host_builddir}/../ext. 3374 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}. 3375 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}. 3376 * include/Makefile.in: Regenerate. 3377 33782013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3379 3380 * include/std/system_error (error_category::error_category()): LWG 3381 2145: Declare public and constexpr. 3382 * src/c++11/system_error.cc (error_category::error_category()): Move 3383 definition to ... 3384 * src/c++11/compatibility-c++0x.cc: Here. 3385 33862013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3387 3388 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept. 3389 33902013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3391 3392 * include/bits/unique_ptr.h (make_unique): Declare inline. 3393 (unique_ptr<T[],D>::reset()): Combine two overloads into one. 3394 (default_delete, unique_ptr): Add doxygen comments. 3395 * include/bits/shared_ptr_base.h: Improve doxygen comments. 3396 * include/bits/shared_ptr.h: Likewise. 3397 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line 3398 number. 3399 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. 3400 34012013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3402 3403 * doc/xml/manual/status_cxx2011.xml: Fix markup error. 3404 34052013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3406 3407 * doc/xml/manual/status_cxx2011.xml: Fix markup error. 3408 34092013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3410 3411 * include/std/utility (exchange): Define. 3412 * testsuite/20_util/exchange/1.cc: New. 3413 34142013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com> 3415 3416 * include/bits/unique_ptr.h (make_unique): Define. 3417 * testsuite/20_util/unique_ptr/creation/single.cc: New. 3418 * testsuite/20_util/unique_ptr/creation/array.cc: New. 3419 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New. 3420 34212013-05-15 François Dumont <fdumont@gcc.gnu.org> 3422 3423 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix 3424 rendering of std::tr1 unordered containers iterator. 3425 (StdHashtableIterator): New, render std unordered containers iterator. 3426 * testsuite/libstdc++-prettyprinters/tr1.cc: New. 3427 34282013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com> 3429 3430 * include/bits/basic_string.h (getline): Fix doxygen comments. 3431 34322013-05-14 Paolo Carlini <paolo.carlini@oracle.com> 3433 3434 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): 3435 Use std::pointer_traits. 3436 34372013-05-13 Benjamin Kosnik <bkoz@redhat.com> 3438 3439 * libsupc++/Makefile.am (sources): Add bad_array_length.cc, 3440 bad_array_new.cc. 3441 * libsupc++/Makefile.in: Regenerate. 3442 * libsupc++/bad_array_length.cc: Tweak. 3443 * libsupc++/bad_array_new.cc: Tweak. 3444 34452013-05-10 Paolo Carlini <paolo.carlini@oracle.com> 3446 3447 PR libstdc++/54577 3448 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode. 3449 (_Deque_iterator<>::_M_const_cast): Add. 3450 (deque<>::_M_erase): Declare. 3451 * include/bits/deque.tcc: ... and define. 3452 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode. 3453 (_List_const_iterator<>::_M_const_cast): Add. 3454 * include/bits/list.tcc (erase (iterator)): Fix. 3455 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): 3456 Add; include <ext/cast.h>. 3457 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode. 3458 (vector<>::_M_erase): Declare. 3459 * include/bits/stl_bvector.h: Likewise. 3460 * include/bits/vector.tcc (vector<>::_M_erase): Define. 3461 * include/ext/vstring.h (erase): Fix signatures in C++11 mode. 3462 * include/debug/deque: Adjust. 3463 * include/debug/list: Likewise. 3464 * include/debug/vector: Likewise. 3465 * include/profile/deque: Likewise. 3466 * include/profile/list: Likewise. 3467 * include/profile/vector: Likewise. 3468 * testsuite/util/exception/safety.h (erase_base<deque>, 3469 erase_base<deque>, erase_base<vector>): Remove. 3470 (erase_base<__versa_string>): Update. 3471 * testsuite/ext/vstring/modifiers/char/54577.cc: New. 3472 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise. 3473 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise. 3474 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise. 3475 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc: 3476 Likewise. 3477 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise. 3478 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: 3479 Adjust dg-error line numbers. 3480 * testsuite/23_containers/deque/requirements/dr438/ 3481 constructor_1_neg.cc: Likewise. 3482 * testsuite/23_containers/deque/requirements/dr438/ 3483 constructor_2_neg.cc: Likewise. 3484 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 3485 Likewise. 3486 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 3487 Likewise. 3488 * testsuite/23_containers/list/requirements/dr438/ 3489 constructor_1_neg.cc: Likewise. 3490 * testsuite/23_containers/list/requirements/dr438/ 3491 constructor_2_neg.cc: Likewise. 3492 * testsuite/23_containers/list/requirements/dr438/ 3493 insert_neg.cc: Likewise. 3494 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 3495 Likewise. 3496 * testsuite/23_containers/vector/requirements/dr438/ 3497 constructor_1_neg.cc: Likewise. 3498 * testsuite/23_containers/vector/requirements/dr438/ 3499 constructor_2_neg.cc: Likewise. 3500 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 3501 Likewise. 3502 35032013-05-09 Uros Bizjak <ubizjak@gmail.com> 3504 3505 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8. 3506 35072013-05-08 Jason Merrill <jason@redhat.com> 3508 3509 Add std::bad_array_length (N3639) 3510 * libsupc++/new: Add std::bad_array_length. 3511 * libsupc++/bad_array_length.cc: New. 3512 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length. 3513 * libsupc++/Makefile.in: Build them. 3514 * config/abi/pre/gnu.ver: Add new symbols. 3515 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. 3516 35172013-05-08 Andi Kleen <ak@linux.intel.com> 3518 3519 PR target/55947 3520 * libstdc++-v3/include/bits/atomic_base.h 3521 (_GLIBCXX_ALWAYS_INLINE): Add new macro. 3522 (atomic_thread_fence, atomic_signal_fence, test_and_set, 3523 clear, store, load, exchange, compare_exchange_weak) 3524 compare_exchange_strong, fetch_add, fetch_sub, fetch_and, 3525 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE. 3526 35272013-05-08 Jason Merrill <jason@redhat.com> 3528 3529 Add std::bad_array_new_length (N2932) 3530 * libsupc++/new: Add std::bad_array_new_length. 3531 * libsupc++/bad_array_new.cc: New. 3532 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length. 3533 * libsupc++/Makefile.in: Build them. 3534 * config/abi/pre/gnu.ver: Add new symbols. 3535 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols. 3536 35372013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com> 3538 3539 PR libstdc++/57212 3540 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify 3541 to __MINGW32__. 3542 * include/Makefile.in: Regenerated. 3543 35442013-05-07 François Dumont <fdumont@gcc.gnu.org> 3545 3546 * include/profile/unordered_base.h: New. 3547 * include/Makefile.am: Add new profile header. 3548 * include/Makefile.in: Regenerate. 3549 * include/profile/impl/profiler.h 3550 (__profcxx_inefficient_hash_is_on): New macro. 3551 * include/profile/unordered_map (std::profile::unordered_map<>): 3552 Use new _Unordered_profile base class. Use default implementations 3553 for special functions. 3554 (std::profile::unordered_multimap<>): Likewise. 3555 * include/profile/unordered_set (std::profile::unordered_set<>): 3556 Likewise. 3557 (std::profile::unordered_multiset<>): Likewise. 3558 * testsuite/23_containers/unordered_multiset/55043.cc: Fix 3559 MoveOnly equality operator signature. 3560 35612013-05-02 Paolo Carlini <paolo.carlini@oracle.com> 3562 3563 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/ 3564 constexpr_data.cc: Move... 3565 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc: 3566 ... here. 3567 * testsuite/20_util/integral_constant/requirements/ 3568 explicit_instantiation.cc: New. 3569 * testsuite/20_util/integral_constant/requirements/typedefs.cc: 3570 Likewise. 3571 * testsuite/20_util/integral_constant/static_definition.cc: Likewise. 3572 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc: 3573 Likewise. 3574 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise. 3575 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise. 3576 35772013-05-02 Paolo Carlini <paolo.carlini@oracle.com> 3578 3579 * include/std/type_traits (is_null_pointer): Add. 3580 (__is_nullptr_t): Implement in terms of the latter. 3581 (is_fundamental, is_scalar): Adjust. 3582 * testsuite/20_util/is_null_pointer/requirements/ 3583 explicit_instantiation.cc: New. 3584 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc: 3585 Likewise. 3586 * testsuite/20_util/is_null_pointer/value.cc: Likewise. 3587 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error 3588 line number. 3589 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3590 Likewise. 3591 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3592 Likewise. 3593 35942013-05-02 Paolo Carlini <paolo.carlini@oracle.com> 3595 3596 * include/c_global/cstdio: Add comment about LWG 2249. 3597 * include/c_std/cstdio: Likewise. 3598 35992013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com> 3600 3601 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix 3602 comment. 3603 * include/std/mutex (__recursive_mutex_base): Likewise. 3604 36052013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com> 3606 3607 PR libstdc++/51365 3608 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to 3609 implement EBO safely. 3610 (_Sp_counted_base::_M_get_deleter): Add noexcept. 3611 (_Sp_counter_ptr): Use noexcept instead of comments. 3612 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper. 3613 (_Sp_counted_ptr_inplace): Likewise. 3614 * testsuite/20_util/shared_ptr/cons/51365.cc: New. 3615 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to 3616 custom allocator and test construction with custom allocator. 3617 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error 3618 line number. 3619 36202013-04-26 Paolo Carlini <paolo.carlini@oracle.com> 3621 3622 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust 3623 dialect to -std=gnu++11. 3624 36252013-04-26 François Dumont <fdumont@gcc.gnu.org> 3626 3627 * include/bits/hashtable_policy.h 3628 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics. 3629 * testsuite/23_containers/unordered_set/insert/move_range.cc: New. 3630 36312013-04-26 Paolo Carlini <paolo.carlini@oracle.com> 3632 3633 * include/c_global/cstdio (gets): Provide only in C++98 and C++11. 3634 * include/c_std/cstdio (gets): Likewise. 3635 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust. 3636 36372013-04-25 Paolo Carlini <paolo.carlini@oracle.com> 3638 3639 PR libstdc++/57065 3640 * include/debug/unordered_map (unordered_map, unordered_multimap): 3641 Fix default allocator type. 3642 * include/profile/unordered_map (unordered_map, unordered_multimap): 3643 Likewise. 3644 * include/bits/unordered_map.h: Fix comments. 3645 36462013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com> 3647 3648 PR libstdc++/56905 3649 * libsupc++/exception_ptr.h (copy_exception): Deprecate and 3650 move implementation to make_exception_ptr. 3651 * include/std/future (_State_base::_M_break_promise): Replace 3652 copy_exception with make_exception_ptr. 3653 * testsuite/18_support/exception_ptr/move.cc: Likewise. 3654 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise. 3655 * testsuite/30_threads/future/members/get2.cc: Likewise. 3656 * testsuite/30_threads/promise/members/set_exception.cc: Likewise. 3657 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. 3658 * testsuite/30_threads/promise/members/set_value2.cc: Likewise. 3659 * testsuite/30_threads/shared_future/members/get2.cc: Likewise. 3660 36612013-04-22 Jason Merrill <jason@redhat.com> 3662 3663 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h. 3664 3665 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In 3666 substitution" lines. 3667 3668 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving 3669 function-cv-quals. 3670 * testsuite/20_util/is_constructible/value-2.cc: Likewise. 3671 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise. 3672 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise. 3673 36742013-04-22 François Dumont <fdumont@gcc.gnu.org> 3675 3676 * include/bits/hashtable_policy.h: Add C++11 allocator support. 3677 * include/bits/hashtable.h: Likewise. 3678 * include/bits/unordered_set.h: Likewise. 3679 * include/bits/unordered_map.h: Likewise. 3680 * include/debug/unordered_set: Likewise. 3681 * include/debug/unordered_map: Likewise. 3682 * include/std/unordered_set: Remove bits/algobase.h 3683 include. Replace bits/alloc_traits.h by ext/alloc_traits.h. 3684 * include/std/unordered_map: Likewise. 3685 * include/ext/throw_allocator.h: Add checks on calls to allocator 3686 construct/destroy. 3687 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw. 3688 (std::hash<__gnu_cxx::throw_value_random>): Likewise. 3689 * testsuite/util/regression/rand/priority_queue 3690 /container_rand_regression_test.tcc: Adapt. 3691 * testsuite/util/regression/rand/assoc 3692 /container_rand_regression_test.tcc: Likewise. 3693 * testsuite/util/testsuite_counter_type.h: Add count of destructors. 3694 * testsuite/23_containers/unordered_set 3695 /not_default_constructible_hash_neg.cc: Adjust dg-error line number. 3696 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise. 3697 * testsuite/23_containers/unordered_set/allocator/copy.cc: New. 3698 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New. 3699 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New. 3700 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New. 3701 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New. 3702 * testsuite/23_containers/unordered_set/allocator/swap.cc: New. 3703 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New. 3704 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc: 3705 New. 3706 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New. 3707 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc: 3708 New. 3709 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New. 3710 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New. 3711 * testsuite/23_containers/unordered_map/allocator/copy.cc: New. 3712 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New. 3713 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New. 3714 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New. 3715 * testsuite/23_containers/unordered_map/allocator/noexcept.cc: 3716 New. 3717 * testsuite/23_containers/unordered_map/allocator/swap.cc: New. 3718 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New. 3719 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc: 3720 New. 3721 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New. 3722 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc: 3723 New. 3724 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New. 3725 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New. 3726 37272013-04-22 Paolo Carlini <paolo.carlini@oracle.com> 3728 3729 * include/std/type_traits (is_signed): Simplify. 3730 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3731 Adjust dg-error line numbers. 3732 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3733 Likewise. 3734 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. 3735 37362013-04-22 Paolo Carlini <paolo.carlini@oracle.com> 3737 3738 N3669 3739 * include/std/complex (complex<float>::real, complex<float>::imag, 3740 complex<double>::real, complex<double>::imag, 3741 complex<long double>::real, complex<long double>::imag): Declare 3742 as const member functions. 3743 * include/std/type_traits (integral_constant<>::operator value_type): 3744 Likewise. 3745 37462013-04-22 Paolo Carlini <paolo.carlini@oracle.com> 3747 3748 PR libstdc++/57010 3749 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment. 3750 * testsuite/25_algorithms/pop_heap/57010.cc: New. 3751 37522013-04-21 Evgeniy Stepanov <eugenis@google.com> 3753 3754 * src/c++11/system_error.cc (generic_category_instance): Add 3755 initializer. 3756 (system_category_instance): Likewise. 3757 * src/c++11/future.cc (__fec): Likewise. 3758 37592013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com> 3760 3761 * doc/xml/manual/extensions.xml: Fix anachronism. 3762 37632013-04-09 Tom Tromey <tromey@redhat.com> 3764 3765 * configure, config.h.in: Rebuild. 3766 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for 3767 sys/sdt.h. 3768 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun. 3769 37702013-04-09 Uros Bizjak <ubizjak@gmail.com> 3771 3772 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. 3773 37742013-04-08 Paolo Carlini <paolo.carlini@oracle.com> 3775 3776 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>. 3777 37782013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com> 3779 3780 * include/Makefile.am: Add ext/aligned_buffer.h 3781 * include/Makefile.in: Regenerate. 3782 * include/ext/aligned_buffer.h: New. 3783 * include/std/future (_Result): Use __aligned_buffer. 3784 * include/bits/forward_list.h (_Fwd_list_node): Likewise. 3785 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise. 3786 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line 3787 number. 3788 37892013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com> 3790 3791 * include/bits/forward_list.h: Only include required headers. 3792 (forward_list::reference): Define directly, not using __alloc_traits. 3793 (forward_list::const_reference): Likewise. 3794 37952013-04-07 François Dumont <fdumont@gcc.gnu.org> 3796 3797 * include/std/functional (_Derives_from_unary_function): Remove. 3798 (_Derives_from_binary_function): Remove. 3799 * include/std/type_traits (__sfinae_types): Remove. 3800 (__is_assignable_helper): Adapt. 3801 (__is_convertible_helper): Adapt. 3802 (_GLIBCXX_HAS_NESTED_TYPE): Adapt. 3803 Remove several explicit instantiations of integral_constant. 3804 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt. 3805 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: 3806 Adapt dg-error line number. 3807 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: 3808 Likewise. 3809 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. 3810 * testsuite/20_util/bind/ref_neg.cc: Likewise. 3811 38122013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com> 3813 3814 PR libstdc++/56841 3815 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and 3816 get_terminate() accessors. 3817 * libsupc++/eh_throw.cc (__cxa_throw): Likewise. 3818 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not 3819 available. 3820 * libsupc++/new_handler.cc: Likewise. 3821 38222013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com> 3823 3824 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version. 3825 38262013-04-03 Paolo Carlini <paolo.carlini@oracle.com> 3827 3828 PR libstdc++/56834 3829 * include/debug/array (tuple_size, tuple_element): Do not declare. 3830 * include/profile/array: Likewise. 3831 * testsuite/23_containers/array/tuple_interface/ 3832 tuple_element_debug_neg.cc: Adjust dg-error line number. 3833 38342013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com> 3835 3836 * libsupc++/exception (get_terminate(), get_unexpected()): Declare. 3837 * libsupc++/eh_terminate.cc (get_terminate(), get_unexpected()): 3838 Define. 3839 (set_terminate(terminate_handler)): Set atomically. 3840 (set_unexpected(terminate_handler)): Likewise. 3841 * libsupc++/new (get_new_handler()): Declare. 3842 * libsupc++/new_handler.cc (get_new_handler()): Define. 3843 (set_new_handler(new_handler)): Set atomically. 3844 (__new_handler): Use internal linkage. 3845 * libsupc++/new_op.cc (operator new): Use get_new_handler(). 3846 * libsupc++/new_opnt.cc (operator new): Likewise. 3847 * acinclude.m4: Bump libtool_VERSION to 6:19:0. 3848 * configure: Regenerate. 3849 * libsupc++/Makefile.am: Compile above files with -std=gnu++11. 3850 * libsupc++/Makefile.in: Regenerate. 3851 * config/abi/pre/gnu.ver: Add new exports. 3852 * doc/xml/manual/status_cxx2011.xml: Update. 3853 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors 3854 for handlers. 3855 * testsuite/18_support/headers/new/synopsis.cc: Likewise. 3856 * testsuite/18_support/new_handler.cc: New. 3857 * testsuite/18_support/terminate_handler.cc: New. 3858 * testsuite/18_support/unexpected_handler.cc: New. 3859 38602013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com> 3861 3862 * doc/xml/manual/appendix_contributing.xml: Remove broken link and 3863 defer to general documentation on contributing to GCC. 3864 * doc/html/*: Regenerate. 3865 38662013-03-30 Gerald Pfeifer <gerald@pfeifer.com> 3867 3868 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article. 3869 3870 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU 3871 Coding Standards. 3872 3873 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer. 3874 3875 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL. 3876 3877 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link. 3878 3879 * doc/xml/manual/messages.xml: Adjust link to Java API specs. 3880 3881 * doc/xml/manual/policy_data_structures: Remove direct link to 3882 IBM Haifa Research Labs. 3883 3884 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links 3885 for biblio.maverik_lowerbounds and biblio.nelson96stlpq. 3886 3887 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org 3888 papers. 3889 3890 * doc/xml/manual/shared_ptr.xml: Use canonical address for 3891 www.boost.org. 3892 38932013-03-27 Kai Tietz <ktietz@redhat.com> 3894 3895 * crossconfig.m4: Add support for cygwin x64 target. 3896 * configure: Regenerated. 3897 38982013-03-25 Kai Tietz <ktietz@redhat.com> 3899 3900 * testsuite/18_support/50594.cc: For mingw-targets use only static 3901 libstdc++-version. 3902 * testsuite/19_diagnostics/error_category/operators/equal.cc 3903 * testsuite/19_diagnostics/error_code/cons/1.cc 3904 * testsuite/19_diagnostics/error_code/operators/bool.cc 3905 * testsuite/19_diagnostics/error_code/operators/equal.cc 3906 * testsuite/19_diagnostics/error_code/operators/not_equal.cc 3907 * testsuite/19_diagnostics/error_condition/cons/1.cc 3908 * testsuite/19_diagnostics/error_condition/operators/bool.cc 3909 * testsuite/19_diagnostics/error_condition/operators/equal.cc 3910 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc 3911 * testsuite/23_containers/set/requirements/exception/basic.cc 3912 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc 3913 * testsuite/lib/dg-options.exp (dg-additional-options): New option. 3914 39152013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com> 3916 3917 PR libstdc++/56170 3918 * include/ext/debug_allocator.h (debug_allocator): Add missing members 3919 to meet allocator requirements. 3920 * testsuite/ext/debug_allocator/56170.cc: New. 3921 39222013-03-22 Paolo Carlini <paolo.carlini@oracle.com> 3923 3924 PR libstdc++/56678 3925 * include/std/chrono (__is_ratio): Uglify T. 3926 39272013-03-18 Paolo Carlini <paolo.carlini@oracle.com> 3928 3929 PR libstdc++/55977 (partial, std::vector and std::deque bits) 3930 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator, 3931 _InputIterator, std::input_iterator_tag)): Use emplace_back. 3932 * include/bits/deque.tcc (_M_range_initialize(_InputIterator, 3933 _InputIterator, std::input_iterator_tag)): Likewise. 3934 * testsuite/23_containers/vector/cons/55977.cc: New. 3935 * testsuite/23_containers/deque/cons/55977.cc: Likewise. 3936 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: 3937 Adjust dg-error line number. 3938 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 3939 Likewise. 3940 39412013-03-17 Paolo Carlini <paolo.carlini@oracle.com> 3942 3943 PR libstdc++/55979 3944 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator, 3945 _InputIterator, __false_type)): Use emplace_back. 3946 * testsuite/23_containers/list/cons/55979.cc: New. 3947 * testsuite/23_containers/list/modifiers/1.h: Adjust. 3948 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 3949 Adjust dg-error line number. 3950 39512013-03-16 Jason Merrill <jason@redhat.com> 3952 3953 PR c++/55017 3954 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move. 3955 39562013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> 3957 3958 PR libstdc++/56468 3959 * libsupc++/exception_ptr.h (type_info): Declare. 3960 39612013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> 3962 3963 PR libstdc++/56002 3964 * include/std/mutex (lock_guard, unique_lock, lock): Define without 3965 depending on _GLIBCXX_HAS_GTHREADS. 3966 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets. 3967 39682013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> 3969 3970 PR libstdc++/56492 3971 * include/std/future (__future_base::_Result): Add result_type 3972 typedef. 3973 (__future_base::_S_allocate_result): Overload for std::allocator. 3974 (__future_base::_Task_setter): Use _Result::result_type instead of 3975 deducing the type from the task. 3976 (__future_base::_Task_state): Store allocator to allow shared state 3977 to be reset. Replace std::function with member of target object type 3978 accessed via ... 3979 (__future_base::_Task_state_base): New abstract base class. 3980 (__future_base::_Task_state_base::_M_run): New virtual function to 3981 invoke type-erased target object. 3982 (__future_base::_Task_state_base::_M_reset): New virtual function to 3983 create new shared_state using same target object and allocator. 3984 (__future_base::__create_task_state): Allocate a new _Task_state. 3985 (packaged_task::packaged_task): Use __create_task_state. 3986 (packaged_task::reset): Use _Task_state_base::_M_reset. 3987 * testsuite/30_threads/packaged_task/cons/56492.cc: New. 3988 39892013-03-15 Tom Tromey <tromey@redhat.com> 3990 3991 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected. 3992 (PROBE2): New macro. 3993 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe. 3994 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe. 3995 * configure.ac: Check for sys/sdt.h. 3996 * configure, config.h.in: Rebuild. 3997 39982013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com> 3999 4000 PR libstdc++/56613 4001 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use 4002 allocator_traits instead of calling construct directly. 4003 * testsuite/23_containers/map/56613.cc: New. 4004 40052013-03-13 Benjamin Kosnik <bkoz@redhat.com> 4006 4007 * doc/html/*: Regenerate. 4008 40092013-03-13 Paolo Carlini <paolo.carlini@oracle.com> 4010 4011 PR libstdc++/56609 4012 * include/std/type_traits (is_fundamental): Add std::nullptr_t. 4013 * testsuite/20_util/is_fundamental/value.cc: Extend. 4014 * testsuite/20_util/is_compound/value.cc: Likewise. 4015 40162013-03-09 Paolo Carlini <paolo.carlini@oracle.com> 4017 4018 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid 4019 -Wunused warnings. 4020 40212013-03-08 Benjamin Kosnik <bkoz@redhat.com> 4022 4023 * include/bits/memoryfwd.h: New. Centralize forward declarations. 4024 * include/bits/algorithmfwd.h: Consistent comments. 4025 * include/bits/localefwd.h: Same. 4026 * include/ext/vstring_fwd.h: Same. 4027 * include/parallel/algorithmfwd.h: Same. 4028 * include/parallel/numericfwd.h: Same. 4029 * include/std/iosfwd: Same. 4030 4031 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator 4032 forward decl. 4033 * include/ext/alloc_traits.h: Remove allocator forward decl. 4034 * include/bits/stl_construct.h: Same. 4035 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator 4036 forward decl. Consistent comments. 4037 4038 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO. 4039 4040 * include/Makefile.am (bits_headers): Add memoryfwd.h. 4041 * include/Makefile.in: Regenerate. 4042 * configure: Same. 4043 40442013-03-08 François Dumont <fdumont@gcc.gnu.org> 4045 4046 * include/bits/vector.tcc (vector<>operator=(const vector<>&): 4047 Reset pointers after deallocation when memory can be reused. 4048 * testsuite/23_containers/vector/allocator/minimal.cc: Insert 4049 elements to really challenge C++11 allocator integration. 4050 * testsuite/23_containers/vector/allocator/copy.cc: Likewise. 4051 * testsuite/23_containers/vector/allocator/copy_assign.cc: 4052 Likewise. 4053 * testsuite/23_containers/vector/allocator/move_assign.cc: 4054 Likewise. 4055 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and 4056 swap vector back before checks on memory/personality mapping are 4057 performed. 4058 * testsuite/23_containers/forward_list/allocator/minimal.cc: 4059 Insert element to really challenge C++11 allocator integration. 4060 * testsuite/23_containers/forward_list/allocator/copy.cc: 4061 Likewise. 4062 * testsuite/23_containers/forward_list/allocator/copy_assign.cc: 4063 Likewise. 4064 * testsuite/23_containers/forward_list/allocator/move_assign.cc: 4065 Likewise. 4066 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise 4067 and swap forward_list back before checks on memory/personality 4068 mapping are performed. 4069 40702013-03-07 Jakub Jelinek <jakub@redhat.com> 4071 4072 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. 4073 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise. 4074 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: 4075 Likewise. 4076 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise. 4077 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise. 4078 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise. 4079 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise. 4080 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise. 4081 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. 4082 40832013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4084 4085 * scripts/extract_symvers.pl: Omit symbols bound to base 4086 versions. 4087 * scripts/extract_symvers.in: Likewise. 4088 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. 4089 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. 4090 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. 4091 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4092 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4093 40942013-03-04 Ulrich Drepper <drepper@gmail.com> 4095 4096 * include/ext/random (__gnu_cxx::von_mises_distribution<>): 4097 Optimize generation function by pulling computation of __r into the 4098 constructor for param_type. Also compare _M_mu in operator==. 4099 Fix comment. 4100 41012013-03-02 Ulrich Drepper <drepper@gmail.com> 4102 4103 Add triangular and von Mises distributions. 4104 * include/ext/random: Include <ext/cmath>. 4105 Add __gnu_cxx::triangular_distribution<> and 4106 __gnu_cxx::von_mises_distribution<> classes. 4107 * include/ext/random.tcc: Add out-of-line functions for 4108 __gnu_cxx::triangular_distribution<> and 4109 __gnu_cxx::von_mises_distribution<>. 4110 * testsuite/ext/triangular_distribution/cons/default.cc: New file. 4111 * testsuite/ext/triangular_distribution/cons/parms.cc: New file. 4112 * testsuite/ext/triangular_distribution/operators/serialize.cc: 4113 New file. 4114 * testsuite/ext/triangular_distribution/operators/equal.cc: 4115 New file. 4116 * testsuite/ext/triangular_distribution/operators/inequal.cc: 4117 New file. 4118 * testsuite/ext/triangular_distribution/requirements/typedefs.cc: 4119 New file. 4120 * testsuite/ext/triangular_distribution/requirements/ 4121 explicit_instantiation/1.cc: New file. 4122 * testsuite/ext/von_mises_distribution/cons/default.cc: New file. 4123 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file. 4124 * testsuite/ext/von_mises_distribution/operators/serialize.cc: 4125 New file. 4126 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file. 4127 * testsuite/ext/von_mises_distribution/operators/inequal.cc: 4128 New file. 4129 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc: 4130 New file. 4131 * testsuite/ext/von_mises_distribution/requirements/ 4132 explicit_instantiation/1.cc: New file. 4133 4134 Add math constants. 4135 * include/Makefile.am (ext_headers): Add cmath. 4136 * include/Makefile.in: Regenerated. 4137 * include/ext/cmath: New file. 4138 41392013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4140 4141 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate. 4142 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise. 4143 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise. 4144 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. 4145 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. 4146 41472013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com> 4148 4149 PR libstdc++/56012 4150 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion. 4151 * testsuite/29_atomics/atomic/operators/56012.cc: New. 4152 4153 PR libstdc++/56011 4154 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add 4155 missing overload. 4156 * testsuite/29_atomics/atomic/operators/56011.cc: New. 4157 41582013-02-25 Jason Merrill <jason@redhat.com> 4159 4160 * configure.ac: Check for __cxa_thread_atexit_impl. 4161 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward 4162 to it if available. 4163 * config.h.in, configure: Regenerate. 4164 41652013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> 4166 4167 * include/std/streambuf (basic_streambuf): Use injected class name 4168 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen 4169 group. 4170 41712013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> 4172 4173 * doc/html/faq.html: Fix spelling. 4174 * doc/xml/faq.xml: Likewise. 4175 * include/bits/basic_ios.h: Likewise. 4176 * include/bits/regex.h: Likewise. 4177 * include/std/istream: Likewise. 4178 * include/std/streambuf: Likewise. 4179 41802013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com> 4181 4182 * testsuite/23_containers/unordered_set/55043.cc: Add missing 4183 namespace qualification. 4184 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. 4185 41862013-02-19 Benjamin Kosnik <bkoz@redhat.com> 4187 4188 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to 4189 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT, 4190 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1. 4191 * include/bits/stl_pair.h: Add to utilities group. 4192 * include/std/tuple: Same. 4193 * include/std/typeindex: Same. 4194 4195 * include/bits/stringfwd.h: Fix markup. 4196 * include/std/limits: Same. 4197 * include/std/type_traits: Same. 4198 * include/tr1/memory: Same. 4199 * include/tr1/regex: Same. 4200 * scripts/run_doxygen: Comment. 4201 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers. 4202 42032013-02-14 Jason Merrill <jason@redhat.com> 4204 4205 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole 4206 test if unsupported. 4207 42082013-02-13 Marc Glisse <marc.glisse@inria.fr> 4209 4210 PR libstdc++/56111 4211 * include/std/complex (complex): Undefine. 4212 * include/c_compatibility/complex.h (complex): Only undefine if 4213 <complex> has been included. 4214 * testsuite/26_numerics/complex/56111.cc: New testcase. 4215 42162013-02-13 François Dumont <fdumont@gcc.gnu.org> 4217 4218 * include/bits/hashtable_policy.h (_Hash_code_base): Restore 4219 default constructor protected. 4220 * include/bits/hashtable.h: static assert that _Hash_code_base has 4221 a default constructor available through inheritance. 4222 42232013-02-12 Paolo Carlini <paolo.carlini@oracle.com> 4224 4225 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in 4226 C++11 mode. 4227 42282013-02-12 Julian Brown <julian@codesourcery.com> 4229 4230 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01): 4231 Don't expect dots after abbreviated weekday names for ru_RU for 4232 glibc versions >= 2.17. 4233 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01): 4234 Likewise. 4235 42362013-02-12 Paolo Carlini <paolo.carlini@oracle.com> 4237 4238 * include/bits/random.tcc (__transform): Remove. 4239 (__normalize): Add. 4240 (discrete_distribution<>::param_type::_M_initialize): Adjust. 4241 (piecewise_constant_distribution<>::param_type::_M_initialize): 4242 Likewise. 4243 (piecewise_linear_distribution<>::param_type::_M_initialize): 4244 Likewise. 4245 42462013-02-11 Benjamin Kosnik <bkoz@redhat.com> 4247 4248 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o): 4249 Use -fimplicit-templates. 4250 * src/c++11/Makefile.in: Regenerate. 4251 * src/c++11/hashtable_c++0x.cc: Remove instantiation for 4252 std::lower_bound template. 4253 42542013-02-11 Paolo Carlini <paolo.carlini@oracle.com> 4255 4256 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare. 4257 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only 4258 in C++11 mode and if available in the underlying C library. 4259 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with 4260 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and 4261 _GLIBCXX_HAVE_QUICK_EXIT. 4262 42632013-02-11 Benjamin Kosnik <bkoz@redhat.com> 4264 4265 * doc/html/*: Regenerate. 4266 42672013-02-11 Jason Merrill <jason@redhat.com> 4268 4269 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New. 4270 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit. 4271 * config.h.in, configure: Regenerate. 4272 * include/c_std/cstdlib: Add atexit and at_quick_exit. 4273 * include/c_global/cstdlib: Add atexit and at_quick_exit. 4274 * testsuite/18_support/quick_exit/quick_exit.cc: New. 4275 42762013-02-11 Paolo Carlini <paolo.carlini@oracle.com> 4277 4278 PR libstdc++/56282 4279 Revert: 4280 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> 4281 4282 PR libstdc++/56193 4283 * include/bits/basic_ios.h: Replace operator void*() const 4284 with explicit operator bool() const in C++11 and greater. 4285 * testsuite/27_io/basic_ios/pr56193.cc: New file. 4286 42872013-02-10 François Dumont <fdumont@gcc.gnu.org> 4288 Jonathan Wakely <jwakely.gcc@gmail.com> 4289 4290 * doc/xml/manual/containers.xml: Add section on unordered containers. 4291 * doc/xml/manual/using.xml: Fix incomplete sentence. 4292 42932013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com> 4294 4295 PR libstdc++/56267 4296 * include/bits/hashtable.h (__cache_default): Check if hash function 4297 is copy assignable. 4298 * testsuite/23_containers/unordered_set/56267.cc: New. 4299 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust 4300 dg-error line number. 4301 * testsuite/23_containers/unordered_set/ 4302 not_default_constructible_hash_neg.cc: Likewise. 4303 4304 PR libstdc++/56278 4305 * include/bits/hashtable_policy.h (_Hash_code_base): Make default 4306 constructor public. 4307 * testsuite/23_containers/unordered_set/56278.cc: New. 4308 43092013-02-09 François Dumont <fdumont@gcc.gnu.org> 4310 4311 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code 4312 simplification. 4313 43142013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net> 4315 4316 PR libstdc++/56216 4317 * include/tr1/special_function_util.h: Remove spurious const 4318 from numeric arguments. 4319 * include/tr1/riemann_zeta.tcc: Likewise. 4320 * include/tr1/exp_integral.tcc: Likewise. 4321 * include/tr1/bessel_function.tcc: Likewise. 4322 * include/tr1/hypergeometric.tcc: Likewise. 4323 * include/tr1/modified_bessel_func.tcc: Likewise. 4324 * include/tr1/poly_laguerre.tcc: Likewise. 4325 * include/tr1/gamma.tcc: Likewise. 4326 * include/tr1/legendre_function.tcc: Likewise. 4327 * include/tr1/poly_hermite.tcc: Likewise. 4328 * include/tr1/ell_integral.tcc: Likewise. 4329 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): 4330 If argument is zero return function value. 4331 * testsuite/tr1/5_numerical_facilities/special_functions/ 4332 08_cyl_bessel_i/pr56216.cc: New. 4333 43342013-02-07 Paolo Carlini <paolo.carlini@oracle.com> 4335 4336 * testsuite/27_io/basic_ios/pr56193.cc: Tweak. 4337 43382013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net> 4339 4340 PR libstdc++/56193 4341 * include/bits/basic_ios.h: Replace operator void*() const 4342 with explicit operator bool() const in C++11 and greater. 4343 * testsuite/27_io/basic_ios/pr56193.cc: New file. 4344 43452013-02-04 Dodji Seketeli <dodji@redhat.com> 4346 4347 Add missing explicit instantiation for std::lower_bound template 4348 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add 4349 missing instantiation for std::lower_bound template. 4350 43512013-02-04 François Dumont <fdumont@gcc.gnu.org> 4352 4353 * include/bits/functional_hash.h (std::__is_fast_hash<>): New. 4354 * include/bits/basic_string.h: Specialize previous to mark 4355 std::hash for string types as slow. 4356 * include/bits/hashtable.h (__cache_default): Replace is_integral 4357 with __is_fast_hash. 4358 * src/c++11/hash_c++0x.cc: Add type_traits include. 4359 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 4360 Adapt dg-error line number. 4361 * testsuite/23_containers/unordered_set/ 4362 not_default_constructible_hash_neg.cc: Likewise. 4363 43642013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 4365 Paolo Carlini <paolo.carlini@oracle.com> 4366 4367 PR libstdc++/56202 (again) 4368 * include/bits/random.tcc (binomial_distribution<>:: 4369 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko 4370 in previous commit. 4371 4372 * include/bits/random.h: Fix comment typo. 4373 43742013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org> 4375 Paolo Carlini <paolo.carlini@oracle.com> 4376 4377 PR libstdc++/56202 4378 * include/bits/random.tcc (binomial_distribution<>:: 4379 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid 4380 division by zero. 4381 43822013-02-03 Richard Sandiford <rdsandiford@googlemail.com> 4383 4384 Update copyright years. 4385 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc, 4386 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc, 4387 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc, 4388 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc, 4389 testsuite/23_containers/list/requirements/dr438/assign_neg.cc, 4390 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc, 4391 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc, 4392 testsuite/23_containers/list/requirements/dr438/insert_neg.cc, 4393 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc, 4394 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc, 4395 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc, 4396 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc, 4397 testsuite/29_atomics/atomic/cons/assign_neg.cc, 4398 testsuite/29_atomics/atomic/cons/copy_neg.cc, 4399 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc, 4400 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc, 4401 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc, 4402 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc, 4403 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: 4404 Update lines in dg error matches. 4405 44062013-02-03 Richard Sandiford <rdsandiford@googlemail.com> 4407 4408 * config/os/mingw32/ctype_inline.h: Fix copyright typo. 4409 44102013-02-01 François Dumont <fdumont@gcc.gnu.org> 4411 4412 * include/bits/hashtable_policy.h 4413 (_Prime_rehash_policy::_M_next_bkt) 4414 (_Prime_rehash_policy::_M_need_rehash): Move definition... 4415 * src/c++11/hashtable_c++0x.cc: ... here. 4416 * src/shared/hashtable-aux.cc: Remove c++config.h include. 4417 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy 4418 symbols. 4419 44202013-01-29 Jason Merrill <jason@redhat.com> 4421 4422 PR libstdc++/54314 4423 * config/abi/pre/gnu.ver: Don't export construction vtables. 4424 * config/abi/pre/gnu-versioned-namespace.ver: Likewise. 4425 44262013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com> 4427 4428 PR libstdc++/56112 4429 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace 4430 to construct value_type explicitly before trying to extract the key. 4431 * testsuite/23_containers/unordered_map/cons/56112.cc: New. 4432 44332013-01-28 François Dumont <fdumont@gcc.gnu.org> 4434 4435 * include/bits/hashtable_policy.h (_Local_iterator_base): Use 4436 _Hashtable_ebo_helper to embed functors into the local_iterator 4437 when necessary. Pass information about functors involved in hash 4438 code by copy. 4439 * include/bits/hashtable.h (__cache_default): Do not cache for 4440 builtin integral types unless the hash functor is not noexcept 4441 qualified or is not default constructible. Adapt static assertions 4442 and local iterator instantiations. 4443 * include/debug/unordered_set 4444 (std::__debug::unordered_set<>::erase): Detect local iterators to 4445 invalidate using contained node rather than generating a dummy 4446 local_iterator instance. 4447 (std::__debug::unordered_multiset<>::erase): Likewise. 4448 * include/debug/unordered_map 4449 (std::__debug::unordered_map<>::erase): Likewise. 4450 (std::__debug::unordered_multimap<>::erase): Likewise. 4451 * testsuite/performance/23_containers/insert_erase/41975.cc: Test 4452 std::tr1 and std versions of unordered_set regardless of any 4453 macro. Add test on default cache behavior. 4454 * testsuite/performance/23_containers/insert/54075.cc: Likewise. 4455 * testsuite/23_containers/unordered_set/instantiation_neg.cc: 4456 Adapt line number. 4457 * testsuite/23_containers/unordered_set/ 4458 not_default_constructible_hash_neg.cc: New. 4459 * testsuite/23_containers/unordered_set/buckets/swap.cc: New. 4460 44612013-01-24 Paolo Carlini <paolo.carlini@oracle.com> 4462 4463 PR libstdc++/56085 4464 * include/std/complex (pow(const complex<>&, int)): Avoid __n 4465 signed overflow. 4466 44672013-01-22 Jakub Jelinek <jakub@redhat.com> 4468 4469 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: 4470 Tightten scan-assembler-times regexps, add dg-additional-options for 4471 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to 4472 dg-options. 4473 44742013-01-12 Andi Kleen <ak@linux.intel.com> 4475 Jonathan Wakely <jwakely.gcc@gmail.com> 4476 4477 PR libstdc++/55233 4478 * include/bits/atomic_base.h (__memory_order_modifier): Add 4479 __memory_order_mask, __memory_order_modifier_mask, 4480 __memory_order_hle_acquire, __memory_order_hle_release. 4481 (operator|,operator&): Add. 4482 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2. 4483 (__cmpexch_failure_order): Add. 4484 (clear, store, load, compare_exchange_weak, compare_exchange_strong): 4485 Handle flags. 4486 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: 4487 Add. 4488 44892013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com> 4490 4491 PR libstdc++/55861 4492 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)): 4493 Fix return type. 4494 (__basic_future::_M_get_result()): Const qualify. 4495 (shared_future::get()): Likewise. 4496 * testsuite/30_threads/shared_future/members/get.cc: Use const 4497 objects. 4498 44992013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com> 4500 4501 PR libstdc++/55043 (again) 4502 * include/bits/alloc_traits.h (allocator_traits::construct): Disable 4503 unless construction would be well-formed. 4504 (__allow_copy_cons, __check_copy_constructible): Define. 4505 * include/bits/unordered_map.h (__check_copy_constructible): Use as 4506 base class so copy constructor will be deleted if appropriate. 4507 (is_copy_constructible): Remove specialization. 4508 * include/bits/unordered_set.h: Likewise. 4509 * include/debug/unordered_map.h: Undo previous commit. Default copy 4510 and move constructors. 4511 * include/debug/unordered_set.h: Likewise. 4512 * include/profile/unordered_map.h: Undo previous commit. 4513 * include/profile/unordered_set.h: Likewise. 4514 * testsuite/23_containers/unordered_map/55043.cc: Fix test. 4515 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise. 4516 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise. 4517 * testsuite/23_containers/unordered_set/55043.cc: Likewise. 4518 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL, 4519 cannot support incomplete types. 4520 * testsuite/23_containers/unordered_multimap/requirements/53339.cc: 4521 Likewise. 4522 45232013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com> 4524 4525 PR libstdc++/55043 4526 * include/std/unordered_map: Include alloc_traits.h 4527 * include/std/unordered_set: Likewise. 4528 * include/bits/alloc_traits.h: Define __is_copy_insertable. 4529 * include/bits/unordered_map.h: Use it. 4530 * include/bits/unordered_set.h: Likewise. 4531 * include/debug/unordered_map.h: Likewise. 4532 * include/debug/unordered_set.h: Likewise. 4533 * include/profile/unordered_map.h: Likewise. 4534 * include/profile/unordered_set.h: Likewise. 4535 * include/bits/hashtable.h: Fix comment typos. 4536 * testsuite/23_containers/unordered_map/55043.cc: New. 4537 * testsuite/23_containers/unordered_multimap/55043.cc: New. 4538 * testsuite/23_containers/unordered_multiset/55043.cc: New. 4539 * testsuite/23_containers/unordered_set/55043.cc: New. 4540 45412013-01-03 Janis Johnson <janisjo@codesourcery.com> 4542 4543 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running 4544 gdb command. 4545 45462013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> 4547 4548 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing. 4549 45502013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com> 4551 4552 PR libstdc++/55908 4553 * include/std/functional (_Mem_fn::operator()): Fix constraints to 4554 avoid ambiguity. 4555 * testsuite/20_util/function_objects/mem_fn/55908.cc: New. 4556 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers. 4557 45582013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 4559 4560 PR libstdc++/55594 4561 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to 4562 Solaris targets. 4563 * configure: Regenerate. 4564 45652013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com> 4566 4567 PR libstdc++/55847 4568 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string. 4569 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify 4570 string. 4571 4572 PR libstdc++/55728 4573 * include/std/functional (bad_function_call::what()): Declare. 4574 * src/c++11/functional.cc (bad_function_call::what()): Define. 4575 * config/abi/pre/gnu.ver (bad_function_call::what()): Export. 4576 * testsuite/20_util/bad_function_call/what.cc: New. 4577 45782013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com> 4579 4580 * include/bits/unordered_map.h: Fix typo in comments. 4581 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket 4582 counts for unordered associative containers. 4583 45842013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com> 4585 4586 * doc/xml/manual/abi.xml: Update library and symbol versions. 4587 45882013-01-06 Richard Sandiford <rdsandiford@googlemail.com> 4589 4590 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo 4591 in copyright years. 4592 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise. 4593 4594 4595Copyright (C) 2013 Free Software Foundation, Inc. 4596 4597Copying and distribution of this file, with or without modification, 4598are permitted in any medium without royalty provided the copyright 4599notice and this notice are preserved. 4600