Home | History | Annotate | Line # | Download | only in libstdc++-v3
ChangeLog revision 1.1.1.18
      1 2020-03-04  Release Manager
      2 
      3 	* GCC 8.4.0 released.
      4 
      5 2020-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
      6 
      7 	Backport from mainline
      8 	2020-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
      9 
     10 	PR libstdc++/93205
     11 	* include/bits/random.h (operator>>): Check stream operation succeeds.
     12 	* include/bits/random.tcc (operator>>): Likewise.
     13 	(__extract_params): New function to fill a vector from a stream.
     14 	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
     15 
     16 	Backport from mainline
     17 	2019-12-10  Jonathan Wakely  <jwakely (a] redhat.com>
     18 
     19 	PR libstdc++/92886
     20 	* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
     21 
     22 	Backport from mainline
     23 	2020-01-28  Jonathan Wakely  <jwakely (a] redhat.com>
     24 
     25 	PR libstdc++/93325
     26 	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
     27 	clock_gettime instead of explicit glibc version check.
     28 	* configure: Regenerate.
     29 
     30 2020-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
     31 
     32 	Backport from mainline
     33 	2020-02-04  Jonathan Wakely  <jwakely (a] redhat.com>
     34 
     35 	PR libstdc++/93562
     36 	* include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
     37 	(unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
     38 	* testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
     39 
     40 2020-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
     41 
     42 	Backport from mainline
     43 	2020-01-17  Jonathan Wakely  <jwakely (a] redhat.com>
     44 
     45 	PR libstdc++/92376
     46 	* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
     47 	functions if they were detected by configure.
     48 
     49 2020-02-26  Jonathan Wakely  <jwakely (a] redhat.com>
     50 
     51 	Backport from mainline
     52 	2019-10-09  Jonathan Wakely  <jwakely (a] redhat.com>
     53 
     54 	PR libstdc++/78552
     55 	* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
     56 	locale object for every call.
     57 	(locale::_S_initialize_once()): Construct C locale here.
     58 
     59 	Backport from mainline
     60 	2020-01-23  Jonathan Wakely  <jwakely (a] redhat.com>
     61 
     62 	PR libstdc++/91947
     63 	* include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
     64 	rule.
     65 	* include/Makefile.in: Regenerate.
     66 
     67 	Backport from mainlne
     68 	2019-10-04  Jonathan Wakely  <jwakely (a] redhat.com>
     69 
     70 	PR libstdc++/81091
     71 	PR libstdc++/91947
     72 	* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
     73 	* config.h.in: Regenerate:
     74 	* configure: Regenerate:
     75 	* include/Makefile.am (${host_builddir}/largefile-config.h): New
     76 	target to generate config header for filesystem library.
     77 	(${host_builddir}/c++config.h): Rename macros for large file support.
     78 	* include/Makefile.in: Regenerate.
     79 	* src/filesystem/dir.cc: Include new config header.
     80 	* src/filesystem/ops.cc: Likewise.
     81 	(experimental::filesystem::file_size): Use uintmax_t for size.
     82 	* src/filesystem/std-dir.cc: Include new config header.
     83 	* src/filesystem/std-ops.cc: Likewise.
     84 	(filesystem::file_size): Use uintmax_t for size.
     85 
     86 2020-01-24  Jonathan Wakely  <jwakely (a] redhat.com>
     87 
     88 	Backport from mainline
     89 	2020-01-20  Jonathan Wakely  <jwakely (a] redhat.com>
     90 
     91 	* doc/xml/faq.xml: Fix grammar.
     92 	* doc/xml/manual/appendix_contributing.xml: Improve instructions.
     93 	* doc/xml/manual/spine.xml: Update copyright years.
     94 	* doc/html/*: Regenerate.
     95 
     96 2020-01-19  Eric S. Raymond <esr (a] thyrsus.com>
     97 	    Sandra Loosemore  <sandra (a] codesourcery.com>
     98 
     99 	Partial backport from mainline:
    100 
    101 	2020-01-19  Eric S. Raymond <esr (a] thyrsus.com>
    102 	* doc/xml/faq.xml: Update for SVN -> Git transition.
    103 	* doc/xml/manual/appendix_contributing.xml: Likewise.
    104 
    105 2020-01-13  Jonathan Wakely  <jwakely (a] redhat.com>
    106 
    107 	* doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
    108 	about documenting mainline.
    109 	* doc/xml/manual/status_cxx2011.xml: Likewise.
    110 	* doc/xml/manual/status_cxx2014.xml: Likewise.
    111 	* doc/xml/manual/status_cxx2017.xml: Likewise.
    112 	* doc/xml/manual/status_cxxtr1.xml: Likewise.
    113 	* doc/xml/manual/status_cxxtr24733.xml: Likewise.
    114 	* doc/html/*: Regenerate.
    115 
    116 2020-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
    117 
    118 	PR libstdc++/93201
    119 	* src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
    120 	result of recursive call before incrementing iterator.
    121 	* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
    122 	Likewise.
    123 	* testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
    124 	are reported correctly.
    125 	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
    126 
    127 2019-10-24  Jonathan Wakely  <jwakely (a] redhat.com>
    128 
    129 	Backport from mainline
    130 	2019-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
    131 
    132 	* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
    133 	void.
    134 	* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
    135 	include Library Fundamentals or Networking headers in C++11 mode.
    136 
    137 	Backport from mainline
    138 	2019-10-22  Jonathan Wakely  <jwakely (a] redhat.com>
    139 
    140 	* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
    141 	* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
    142 
    143 	Backport from mainline
    144 	2019-10-18  Jonathan Wakely  <jwakely (a] redhat.com>
    145 
    146 	PR libstdc++/92143
    147 	* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
    148 	to at least sizeof(void*).
    149 
    150 	Backport from mainline
    151 	2019-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
    152 
    153 	* doc/Makefile.am (doc-html-docbook-regenerate): New target.
    154 	(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
    155 	* doc/Makefile.in: Regenerate.
    156 	* doc/xml/manual/documentation_hacking.xml: Document new target.
    157 	* doc/html/*: Regenerate.
    158 
    159 	* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
    160 
    161 	Backport from mainline
    162 	2019-05-31  Gerald Pfeifer  <gerald (a] pfeifer.com>
    163 
    164 	* doc/xml/manual/allocator.xml: Move hoard.org back to http.
    165 
    166 	Backport from mainline
    167 	2019-10-11  Jonathan Wakely  <jwakely (a] redhat.com>
    168 
    169 	PR libstdc++/92059
    170 	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
    171 	special member functions as defaulted. Add noexcept to most members.
    172 	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
    173 	Mask off unwanted bits in the __val parameter. Avoid undefined left
    174 	shifts.
    175 	(__dynamic_bitset_base::_M_assign): Remove.
    176 	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
    177 	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
    178 	block_type has lower rank than int.
    179 	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
    180 	in return types and parameter types.
    181 	(dynamic_bitset::_M_Nb): Add default member initializer.
    182 	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
    183 	defaulted.
    184 	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
    185 	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
    186 	defaulted.
    187 	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
    188 	Define without using swap, to propagate allocator correctly.
    189 	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
    190 	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
    191 	casts to avoid unwanted integer promotions.
    192 	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
    193 	add default template arguments and default argument to simplify usage.
    194 	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
    195 	(operator==(const dynamic_bitset&, const dynamic_bitset&))
    196 	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
    197 	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
    198 	Adjust template parameters to match declaration.
    199 	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
    200 	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
    201 	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
    202 	* testsuite/tr2/dynamic_bitset/move.cc: New test.
    203 	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
    204 
    205 2019-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
    206 
    207 	* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
    208 	Fix syntax error.
    209 
    210 2019-09-02  Jonathan Wakely  <jwakely (a] redhat.com>
    211 
    212 	* doc/html/*: Regenerate.
    213 
    214 	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
    215 	with dg-prune-output for enable_if failure.
    216 	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
    217 	dg-prune-output for enable_if failure.
    218 
    219 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    220 
    221 	Backport from mainline
    222 	2018-10-02  Jonathan Wakely  <jwakely (a] redhat.com>
    223 
    224 	* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
    225 	directly instead of get, as caller ensures correct index is used.
    226 	(holds_alternative, get, get_if): Remove redundant inline specifiers.
    227 	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
    228 
    229 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    230 
    231 	Backport from mainline
    232 	2018-08-16  Jonathan Wakely  <jwakely (a] redhat.com>
    233 
    234 	* include/std/ostream (basic_ostream::sentry::~sentry): Suppress
    235 	deprecation warnings for using uncaught_exception().
    236 
    237 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    238 
    239 	Backport from mainline
    240 	2019-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
    241 
    242 	PR libstdc++/91308
    243 	* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
    244 	constraints on deleter that should only apply to the constructor.
    245 	(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
    246 	(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
    247 	constraints on deleter here.
    248 	* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
    249 
    250 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    251 
    252 	Backport from mainline
    253 	2019-07-29  Jonathan Wakely  <jwakely (a] redhat.com>
    254 
    255 	PR libstdc++/51333
    256 	* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
    257 	constructor inline.
    258 	* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
    259 	constructor.
    260 	* testsuite/18_support/51333.cc: New test.
    261 
    262 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    263 
    264 	Backport from mainline
    265 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    266 
    267 	* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
    268 	P0040R3.
    269 	* doc/html/*: Regenerate.
    270 
    271 	Backport from mainline
    272 	2019-06-20  Jonathan Wakely  <jwakely (a] redhat.com>
    273 
    274 	* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
    275 	C++17 working draft.
    276 
    277 	Backport from mainline
    278 	2019-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
    279 
    280 	* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
    281 
    282 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    283 
    284 	Backport from mainline
    285 	2018-09-21  Jonathan Wakely  <jwakely (a] redhat.com>
    286 
    287 	PR libstdc++/78179
    288 	* testsuite/26_numerics/headers/cmath/hypot.cc: Use lower tolerance
    289 	when sizeof(long double) == sizeof(double).
    290 
    291 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    292 
    293 	Backport from mainline
    294 	2019-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
    295 
    296 	* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
    297 	avoid -Wconversion warnings.
    298 
    299 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    300 
    301 	Backport from mainline
    302 	2019-06-07  Jonathan Wakely  <jwakely (a] redhat.com>
    303 
    304 	PR libstdc++/90770
    305 	* src/Makefile.am (stamp-debug): Also test for missing makefile.
    306 	* src/Makefile.in: Regenerate.
    307 
    308 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    309 
    310 	Backport from mainline
    311 	2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    312 
    313 	* include/bits/random.h (seed_seq::param): Fix non-reserved name.
    314 	* include/experimental/type_traits (is_detected_exact)
    315 	(is_detected_exact_v): Likewise.
    316 	* testsuite/17_intro/names.cc: Check for more non-reserved names.
    317 	* testsuite/experimental/names.cc: New test.
    318 
    319 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    320 
    321 	Backport from mainline
    322 	2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    323 
    324 	PR libstdc++/85965
    325 	* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
    326 	assertions from the destructor.
    327 	* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
    328 	Move static_assert for hash function to here.
    329 	(_Hash_table_base::_M_equals): Move static_assert for equality
    330 	predicate to here.
    331 	* include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
    332 	assertions here. Access the value directly instead of calling _S_value.
    333 	(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
    334 	_S_key(_Const_Link_type).
    335 	* testsuite/23_containers/set/85965.cc: Check construction,
    336 	destruction, assignment and size() do not trigger the assertions.
    337 	* testsuite/23_containers/unordered_set/85965.cc: Likewise.
    338 	* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
    339 	expected errors.
    340 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
    341 	* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
    342 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
    343 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
    344 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
    345 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
    346 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
    347 
    348 2019-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
    349 
    350 	Backport from mainline
    351 	2018-09-03  Jonathan Wakely  <jwakely (a] redhat.com>
    352 
    353 	* include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr):
    354 	Return raw pointer not allocator's pointer type.
    355 	(vector::_Temporary_value::_M_val): Use _M_ptr.
    356 
    357 2019-06-01   Iain Sandoe  <iain (a] sandoe.co.uk>
    358 
    359 	Backport from mainline
    360 	2018-12-22 Iain Sandoe <iain (a] sandoe.co.uk>
    361 
    362 	* /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.
    363 
    364 2019-05-30  Jonathan Wakely  <jwakely (a] redhat.com>
    365 
    366 	* doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
    367 	implementation-defined support for [fs.conform.9945].
    368 	* doc/html/*: Regenerate.
    369 
    370 2019-05-28  Jonathan Wakely  <jwakely (a] redhat.com>
    371 
    372 	PR libstdc++/90634
    373 	* src/filesystem/path.cc (path::_M_split_cmpts()): Fix check for "/".
    374 	* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
    375 	* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
    376 
    377 	PR libstdc++/90634
    378 	* include/bits/fs_path.h (path::path(path&&)): Only call
    379 	_M_split_cmpts() for a path with multiple components.
    380 	(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
    381 	* include/experimental/bits/fs_path.h: Likewise.
    382 	* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
    383 	components and reserve space in vector. Return early when there is
    384 	only one component.
    385 	* src/filesystem/std-path.cc (path::_M_split_cmpts()): Likewise.
    386 
    387 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    388 
    389 	Backport from mainline
    390 	2019-02-27  Jonathan Wakely  <jwakely (a] redhat.com>
    391 
    392 	PR libstdc++/89466
    393 	* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
    394 	stylesheet directories before check for xsltproc. Try to use
    395 	xmlcatalog to find local stylesheet directory before trying hardcoded
    396 	paths. Add path used by suse to hardcoded paths. Adjust xsltproc
    397 	check to look for the same stylesheet as doc/Makefile.am uses. Don't
    398 	use xsltproc if xmlcatalog fails to find a local stylesheet.
    399 	* configure.ac: Check for xmlcatalog.
    400 	* Makefile.in: Regenerate.
    401 	* configure: Likewise.
    402 	* doc/Makefile.in: Likewise.
    403 	* include/Makefile.in: Likewise.
    404 	* libsupc++/Makefile.in: Likewise.
    405 	* po/Makefile.in: Likewise.
    406 	* python/Makefile.in: Likewise.
    407 	* src/Makefile.in: Likewise.
    408 	* src/c++11/Makefile.in: Likewise.
    409 	* src/c++17/Makefile.in: Likewise.
    410 	* src/c++98/Makefile.in: Likewise.
    411 	* src/filesystem/Makefile.in: Likewise.
    412 	* testsuite/Makefile.in: Likewise.
    413 
    414 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    415 
    416 	* doc/html/*: Regenerate.
    417 
    418 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    419 
    420 	Backport from mainline
    421 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    422 
    423 	* include/experimental/any (__any_caster): Use RTTI if comparing
    424 	addresses fails, to support non-unique addresses in shared libraries.
    425 	* include/std/any (__any_caster): Likewise.
    426 	* testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
    427 	line number.
    428 
    429 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    430 
    431 	Backport from mainline
    432 	2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    433 
    434 	PR libstdc++/90220
    435 	* include/experimental/any (__any_caster): Constrain to only be
    436 	callable for object types. Use remove_cv_t instead of decay_t.
    437 	If the type decays or isn't copy constructible, compare the manager
    438 	function to a dummy specialization.
    439 	(__any_caster): Add overload constrained for non-object types.
    440 	(any::_Manager_internal<_Op>): Add dummy specialization.
    441 	* testsuite/experimental/any/misc/any_cast.cc: Test function types
    442 	and array types.
    443 
    444 	Backport from mainline
    445 	2019-04-24  Jonathan Wakely  <jwakely (a] redhat.com>
    446 
    447 	PR libstdc++/90220
    448 	* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
    449 	Avoid a runtime check for types that can never be stored in std::any.
    450 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
    451 	array types.
    452 
    453 	Backport from mainline
    454 	2019-04-24  Jonathan Wakely  <jwakely (a] redhat.com>
    455 
    456 	PR libstdc++/90220 (partial)
    457 	* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
    458 	not attempt ill-formed static_cast to pointers to non-object types.
    459 	* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
    460 	function types.
    461 
    462 2019-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    463 
    464 	Backported from mainline
    465 	2019-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
    466 
    467 	* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
    468 	status.
    469 	* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
    470 	Define.
    471 	* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
    472 	changes are supported.
    473 	* include/std/optional (__cpp_lib_optional): Likewise.
    474 	* include/std/variant (__cpp_lib_variant): Likewise.
    475 	* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
    476 	integer.
    477 
    478 2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
    479 
    480 	Backported from mainline
    481 	2019-05-20  Jonathan Wakely  <jwakely (a] redhat.com>
    482 
    483 	PR c++/90532 Ensure __is_constructible(T[]) is false
    484 	* include/std/type_traits (__do_is_default_constructible_impl)
    485 	(__is_default_constructible_atom, __is_default_constructible_safe):
    486 	Remove.
    487 	(is_default_constructible): Use is_constructible.
    488 	* testsuite/20_util/is_constructible/value.cc: Check int[] case.
    489 	* testsuite/20_util/is_default_constructible/value.cc: Likewise.
    490 	* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
    491 	* testsuite/20_util/is_trivially_default_constructible/value.cc:
    492 	Likewise.
    493 
    494 2019-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
    495 
    496 	Backport from mainline
    497 	2019-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
    498 
    499 	PR libstdc++/90299
    500 	* src/filesystem/std-ops.cc (absolute(const path&)): Report an error
    501 	if the argument is an empty path.
    502 	(absolute(const path&, error_code&)): Use invalid_argument as error
    503 	code instead of no_such_file_or_directory.
    504 	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
    505 	of non-existent paths and empty paths with both overloads of absolute.
    506 
    507 2019-05-15  Jonathan Wakely  <jwakely (a] redhat.com>
    508 
    509 	Backport from mainline
    510 	2019-04-30  Jonathan Wakely  <jwakely (a] redhat.com>
    511 
    512 	* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
    513 	macros accidentally left in.
    514 
    515 	Backport from mainline
    516 	2019-05-13  Jonathan Wakely  <jwakely (a] redhat.com>
    517 
    518 	PR libstdc++/90454.cc path construction from void*
    519 	* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
    520 	pointers to void are rejected as well as void.
    521 	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
    522 	* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
    523 	pointers to void.
    524 	* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
    525 
    526 2019-05-11  Jonathan Wakely  <jwakely (a] redhat.com>
    527 
    528 	Backport from mainline
    529 	2019-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
    530 
    531 	PR libstdc++/81266
    532 	* testsuite/util/thread/all.h: Do not use remove_pointer for
    533 	std::thread::native_handle_type.
    534 
    535 2019-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
    536 
    537 	Backport from mainline
    538 	2019-02-06  Jonathan Wakely  <jwakely (a] redhat.com>
    539 
    540 	PR libstdc++/89102 (partial)
    541 	* include/std/type_traits (common_type<>): Define.
    542 	(common_type<T>): Derive from common_type<T, T>.
    543 	* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
    544 	Test zero-length template argument list.
    545 	* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
    546 	Test additional single argument cases.
    547 	* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
    548 	Adjust expected error.
    549 
    550 	Backport from mainline
    551 	2019-01-22  Jonathan Wakely  <jwakely (a] redhat.com>
    552 
    553 	PR libstdc++/88740
    554 	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
    555 	write to stderr instead of using printf.
    556 
    557 	Backport from mainline
    558 	2019-04-23  Jonathan Wakely  <jwakely (a] redhat.com>
    559 
    560 	PR libstdc++/90165
    561 	* include/std/variant (variant::__is_in_place_tag)
    562 	(variant::__not_in_place_tag): New helpers for variant(T&&)
    563 	constructor constraint.
    564 	(variant::variant(T&&)): Use __not_in_place_tag in constraints.
    565 	* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
    566 	isn't used for in_place_type or in_place_index arguments.
    567 
    568 	Backport from mainline
    569 	2019-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
    570 
    571 	PR libstdc++/90105
    572 	* include/bits/forward_list.tcc (operator==): Do not use operator!= to
    573 	compare elements.
    574 	(forward_list<T, A>::sort(Comp)): When elements are equal take the one
    575 	earlier in the list, so that sort is stable.
    576 	* testsuite/23_containers/forward_list/operations/90105.cc: New test.
    577 	* testsuite/23_containers/forward_list/comparable.cc: Test with
    578 	types that meet the minimum EqualityComparable and LessThanComparable
    579 	requirements. Remove irrelevant comment.
    580 
    581 	Backport from mainline
    582 	2019-04-17  Jonathan Wakely  <jwakely (a] redhat.com>
    583 
    584 	* include/std/optional (optional::value_or(U&&) &&): Add missing
    585 	constexpr specifier.
    586 	* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
    587 	for disengaged optionals and rvalue optionals.
    588 	* testsuite/20_util/optional/observers/4.cc: Likewise.
    589 
    590 	Backport from mainline
    591 	2019-04-10  Jonathan Wakely  <jwakely (a] redhat.com>
    592 
    593 	* doc/xml/faq.xml: Add information about emergency EH pool.
    594 	* doc/xml/manual/debug.xml: Update list of memory debugging tools.
    595 	Move outdated information on mt_allocator to a separate section.
    596 	* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
    597 	doesn't affect the default allocator.
    598 
    599 	Backport from mainline
    600 	2019-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
    601 
    602 	* src/filesystem/std-dir.cc (_Dir::advance(bool, error_code&)): Handle
    603 	d_type == DT_UNKNOWN immediately.
    604 	(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
    605 	handling here.
    606 	* testsuite/27_io/filesystem/iterators/caching.cc: New test.
    607 
    608 	Backport from mainline
    609 	2019-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
    610 
    611 	* include/bits/fs_path.h (path::operator=(path&&)): Check for self
    612 	assignment.
    613 	* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
    614 	assignment.
    615 
    616 	Backport from mainline
    617 	2019-03-26  Jonathan Wakely  <jwakely (a] redhat.com>
    618 
    619 	PR libstdc++/85965
    620 	* include/bits/hashtable.h (_Hashtable): Move static assertions to
    621 	destructor so they are not evaluated until the _Key type is complete.
    622 	* include/bits/stl_tree.h (_Rb_tree): Likewise.
    623 	* testsuite/23_containers/set/85965.cc: New test.
    624 	* testsuite/23_containers/unordered_set/85965.cc: New test.
    625 	* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
    626 	with regexp matching the corresponding _Rb_tree specialization.
    627 	* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
    628 	* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
    629 	* testsuite/23_containers/set/48101_neg.cc: Likewise.
    630 	* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
    631 	* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
    632 	* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
    633 	* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
    634 
    635 	Backport from mainline
    636 	2019-03-11  Jonathan Wakely  <jwakely (a] redhat.com>
    637 
    638 	PR libstdc++/89629
    639 	* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
    640 	Use correct type for len_aligned.
    641 	* testsuite/20_util/hash/89629.cc: New test.
    642 
    643 	Backport from mainline
    644 	2019-03-08  Jonathan Wakely  <jwakely (a] redhat.com>
    645 
    646 	* doc/xml/manual/using.xml: Use link element instead of xref.
    647 
    648 	Backport from mainline
    649 	2019-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
    650 
    651 	* doc/xml/manual/intro.xml: Document LWG 2586 status.
    652 	* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
    653 	allocator type in is_constructible checks.
    654 	* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
    655 	* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
    656 	* testsuite/20_util/tuple/cons/allocators.cc: Add test using
    657 	problematic type from LWG 2586 discussion.
    658 	* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
    659 	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
    660 
    661 	Backport from mainline
    662 	2019-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
    663 
    664 	* doc/xml/manual/intro.xml: Document LWG 2537 status.
    665 	* include/bits/stl_queue.h
    666 	(priority_queue(const Compare&, const Container&, const Alloc&))
    667 	(priority_queue(const Compare&, Container&&, const Alloc&)): Call
    668 	make_heap.
    669 	* testsuite/23_containers/priority_queue/dr2537.cc: New test.
    670 
    671 2019-02-22  Jonathan Wakely  <jwakely (a] redhat.com>
    672 
    673 	PR libstdc++/89446
    674 	* include/bits/char_traits.h (__constant_char_array): Check index is
    675 	in range before dereferencing.
    676 	* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
    677 	New test.
    678 
    679 2019-02-22  Release Manager
    680 
    681 	* GCC 8.3.0 released.
    682 
    683 2019-02-14  Jonathan Wakely  <jwakely (a] redhat.com>
    684 
    685 	PR middle-end/89303
    686 	* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
    687 
    688 2019-02-09  Jonathan Wakely  <jwakely (a] redhat.com>
    689 
    690 	Backport from mainline
    691 	2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
    692 
    693 	PR libstdc++/88066
    694 	* include/bits/locale_conv.h: Use <> for includes not "".
    695 	* include/ext/random: Likewise.
    696 	* include/ext/vstring.h: Likewise.
    697 
    698 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    699 
    700 	* doc/html/*: Regenerate.
    701 
    702 	* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
    703 	if the path is already absolute.
    704 	[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
    705 
    706 	Backport from mainline
    707 	2019-01-11  Jonathan Wakely  <jwakely (a] redhat.com>
    708 
    709 	* include/std/chrono (duration_values::zero(), duration_values::min())
    710 	(duration_values::max()): Add noexcept.
    711 	(duration::zero(), duration::min(), duration::max()): Likewise.
    712 	(time_point::zero(), time_point::min(), time_point::max()): Likewise.
    713 	* testsuite/20_util/duration/requirements/noexcept.cc: New test.
    714 	* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
    715 
    716 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    717 
    718 	Backport from mainline
    719 	2019-01-07  Jonathan Wakely  <jwakely (a] redhat.com>
    720 
    721 	PR libstdc++/87787
    722 	* include/bits/char_traits.h (char_traits::move): Do not pass null
    723 	pointers to memmove.
    724 	* include/bits/locale_facets.h
    725 	(ctype<char>::widen(const char*, const char*, char*)): Do not
    726 	pass null pointers to memcpy.
    727 	(ctype<char>::narrow(const char*, const char*, char, char*)):
    728 	Likewise.
    729 	(ctype<char>::do_widen(const char*, const char*, char*)):
    730 	Likewise.
    731 	(ctype<char>::do_narrow(const char*, const char*, char, char*)):
    732 	Likewise.
    733 
    734 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    735 
    736 	Backport from mainline
    737 	2018-11-23  Martin Sebor  <msebor (a] redhat.com>
    738 		    Jonathan Wakely  <jwakely (a] redhat.com>
    739 
    740 	PR libstdc++/65229
    741 	* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
    742 	exception thrown for std::bitset<0>.
    743 	* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
    744 
    745 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    746 
    747 	Backport from mainline
    748 	2018-11-23  Jonathan Wakely  <jwakely (a] redhat.com>
    749 
    750 	PR libstdc++/87308 (partial)
    751 	* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
    752 	work around PR 88166.
    753 
    754 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    755 
    756 	Backport from mainline
    757 	2019-02-05  Jonathan Wakely  <jwakely (a] redhat.com>
    758 
    759 	PR libstdc++/89128
    760 	* include/bits/stl_queue.h (queue, priority_queue): Add deduction
    761 	guides.
    762 	* include/bits/stl_stack.h (stack): Likewise.
    763 	* testsuite/23_containers/priority_queue/deduction.cc: New test.
    764 	* testsuite/23_containers/queue/deduction.cc: New test.
    765 	* testsuite/23_containers/stack/deduction.cc: New test.
    766 
    767 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    768 
    769 	Backport from mainline
    770 	2018-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    771 
    772 	PR libstdc++/88119
    773 	* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
    774 	(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
    775 	* include/std/type_traits (alignment_of): Use alignof instead of
    776 	__alignof__.
    777 	* testsuite/20_util/alignment_of/value.cc: Fix test to check values
    778 	match alignof not __alignof__, as required by the standard.
    779 
    780 2019-02-08  Jonathan Wakely  <jwakely (a] redhat.com>
    781 
    782 	Backport from mainline
    783 	2018-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    784 
    785 	PR libstdc++/83511
    786 	* include/std/string_view (basic_string_view::substr): Add default
    787 	argument to first parameter.
    788 	* include/experimental/string_view (basic_string_view::substr):
    789 	Likewise.
    790 	* testsuite/21_strings/basic_string_view/operations/substr/char/
    791 	83511.cc: New test.
    792 	* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
    793 	83511.cc: New test.
    794 	* testsuite/experimental/string_view/operations/substr/char/83511.cc:
    795 	New test.
    796 	* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
    797 	New test.
    798 
    799 	Backport from mainline
    800 	2018-11-19  Jonathan Wakely  <jwakely (a] redhat.com>
    801 
    802 	PR libstdc++/88084 - Implement LWG 2777
    803 	* include/std/string_view (basic_string_view::copy): Use traits to
    804 	copy.
    805 	* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
    806 	New test.
    807 	* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
    808 	New test.
    809 
    810 	Backport from mainline
    811 	2018-11-29  Jonathan Wakely  <jwakely (a] redhat.com>
    812 
    813 	PR libstdc++/86910
    814 	PR libstdc++/87846
    815 	* src/filesystem/ops.cc (experimental::create_directories): Report
    816 	an error when the path resolves to an existing non-directory (P1164).
    817 	* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
    818 	empty filenames due to trailing slashes.
    819 	* testsuite/27_io/filesystem/operations/create_directories.cc: Test
    820 	when some component of the path exists and is not a directory. Test
    821 	trailing slashes.
    822 	* testsuite/experimental/filesystem/operations/create_directories.cc:
    823 	Likewise.
    824 
    825 	Backport from mainline
    826 	2018-11-28  Jonathan Wakely  <jwakely (a] redhat.com>
    827 
    828 	* doc/xml/manual/intro.xml: Document LWG 3096 change.
    829 	* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
    830 	Treat a final empty element equivalently to a final dot element.
    831 	* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
    832 	for the examples in the DR.
    833 
    834 	Backport from mainline
    835 	2018-07-20  Jonathan Wakely  <jwakely (a] redhat.com>
    836 
    837 	PR libstdc++/86595
    838 	* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
    839 	noexcept.
    840 
    841 	Backport from mainline
    842 	2018-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
    843 
    844 	* src/filesystem/std-ops.cc (absolute): Report an error for empty
    845 	paths.
    846 	(weakly_canonical(const path&)): Do not call canonical on empty path.
    847 	(weakly_canonical(const path&, error_code&)): Likewise.
    848 	* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
    849 
    850 	Backport from mainline
    851 	2019-01-30  Jonathan Wakely  <jwakely (a] redhat.com>
    852 
    853 	PR libstdc++/89117
    854 	* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
    855 	final component as well as from _M_pathname.
    856 	* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
    857 	Add more test cases.
    858 
    859 2019-01-21  Jonathan Wakely  <jwakely (a] redhat.com>
    860 
    861 	Backport from mainline
    862 	2019-01-18  Jonathan Wakely  <jwakely (a] redhat.com>
    863 
    864 	PR libstdc++/87514
    865 	PR libstdc++/87520
    866 	PR libstdc++/88782
    867 	* include/bits/shared_ptr.h
    868 	(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
    869 	(allocate_shared): Change to use new tag type.
    870 	(_Sp_alloc_shared_tag): Define new type.
    871 	(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
    872 	(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
    873 	Constrain to prevent being called with _Sp_alloc_shared_tag.
    874 	(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
    875 	Replace constructor with ...
    876 	(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
    877 	reference parameter so address of the new object can be returned to
    878 	the caller. Obtain the allocator from the tag type.
    879 	(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
    880 	constructor with ...
    881 	(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
    882 	to the __shared_count constructor.
    883 	(__allocate_shared): Change to use new tag type.
    884 
    885 2019-01-14  Jonathan Wakely  <jwakely (a] redhat.com>
    886 
    887 	PR libstdc++/80762
    888 	* testsuite/experimental/filesystem/path/construct/80762.cc: Add
    889 	dg-require-filesystem-ts directive.
    890 
    891 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    892 
    893 	Backport from mainline
    894 	2019-01-04  Jonathan Wakely  <jwakely (a] redhat.com>
    895 
    896 	(path::lexically_normal()): Use std::vector iterators instead of
    897 	path::iterator. Use pop_back to remove components from the end. Clear
    898 	trailing filename, instead of using erase(const_iterator) to remove
    899 	a non-final component.
    900 	* testsuite/27_io/filesystem/path/generation/normal.cc: Test
    901 	additional cases.
    902 	* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
    903 
    904 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    905 
    906 	Backport from mainline
    907 	2018-12-12  Jonathan Wakely  <jwakely (a] redhat.com>
    908 
    909 	PR libstdc++/80762
    910 	* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
    911 	* include/experimental/bits/fs_path.h (path::_Path): Likewise.
    912 	* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
    913 	* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
    914 
    915 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    916 
    917 	Backport from mainline
    918 	2018-05-23  Jonathan Wakely  <jwakely (a] redhat.com>
    919 
    920 	* include/bits/fs_path.h (path::_M_type): Change default member
    921 	initializer to _Filename.
    922 	(path::begin): Create past-the-end iterator for empty path.
    923 	(path::has_relative_path()): Return false for empty filenames.
    924 	(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
    925 	Fix offset of empty final component.
    926 	* testsuite/27_io/filesystem/path/itr/components.cc: New.
    927 	* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
    928 
    929 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    930 
    931 	Backport from mainline
    932 	2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    933 
    934 	* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
    935 	of the source file containing the caller.
    936 	* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
    937 	directories created by test.
    938 	* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
    939 	Likewise.
    940 	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
    941 	Likewise.
    942 	* testsuite/experimental/filesystem/iterators/
    943 	recursive_directory_iterator.cc: Likewise.
    944 
    945 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    946 
    947 	Backport from mainline
    948 	2018-11-27  Jonathan Wakely  <jwakely (a] redhat.com>
    949 
    950 	* testsuite/27_io/filesystem/operations/canonical.cc: Remove
    951 	directory created by test.
    952 	* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
    953 	symlink created by test.
    954 
    955 2019-01-10  Jonathan Wakely  <jwakely (a] redhat.com>
    956 
    957 	* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
    958 	check that prevents building with -fno-exceptions.
    959 
    960 2019-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
    961 
    962 	* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
    963 	dg-prune-output. Remove unused header.
    964 
    965 	Backport from mainline
    966 	2019-01-08  Jonathan Wakely  <jwakely (a] redhat.com>
    967 
    968 	PR libstdc++/87855
    969 	* include/std/optional (_Optional_payload_base): New class template
    970 	for common code hoisted from _Optional_payload specializations. Use
    971 	a template for the union, to allow a partial specialization for
    972 	types with non-trivial destructors. Add constructors for in-place
    973 	initialization to the union.
    974 	(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
    975 	to perform non-trivial copy construction, instead of relying on
    976 	non-standard copy elision in a delegating constructor.
    977 	(_Optional_payload(bool, _Optional_payload&&)): Likewise for
    978 	non-trivial move construction.
    979 	(_Optional_payload): Derive from _Optional_payload_base and use it
    980 	for everything except the non-trivial assignment operators, which are
    981 	defined as needed.
    982 	(_Optional_payload<false, C, M>): Derive from the specialization
    983 	_Optional_payload<true, false, false> and add a destructor.
    984 	(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
    985 	Forward to corresponding members of _Optional_payload.
    986 	(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
    987 	Hoist common members from _Optional_base.
    988 	(_Optional_base): Make all members and base class public.
    989 	(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
    990 	_Optional_base_impl.
    991 	* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
    992 	support for new std::optional layout.
    993 	* testsuite/libstdc++-prettyprinters/compat.cc: New test.
    994 
    995 	Backport from mainline
    996 	2018-11-19  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
    997 
    998 	PR libstdc++/87855
    999 	Also implement P0602R4 (variant and optional
   1000 	should propagate copy/move triviality) for std::optional.
   1001 	* include/std/optional (_Optional_payload): Change
   1002 	the main constraints to check constructibility in
   1003 	addition to assignability.
   1004 	(operator=): Make constexpr.
   1005 	(_M_reset): Likewise.
   1006 	(_M_construct): Likewise.
   1007 	(operator->): Likewise.
   1008 	* testsuite/20_util/optional/assignment/8.cc: Adjust.
   1009 	* testsuite/20_util/optional/assignment/9.cc: New.
   1010 
   1011 2018-12-23  Iain Sandoe  <iain (a] sandoe.co.uk>
   1012 
   1013 	Backport from mainline
   1014 	2018-12-06  Iain Sandoe  <iain (a] sandoe.co.uk>
   1015 
   1016 	* scripts/make_exports.pl (check names): Dont try to export
   1017 	construction vtable symbols.
   1018 
   1019 2018-12-22  Iain Sandoe  <iain (a] sandoe.co.uk>
   1020 
   1021 	Backport from mainline
   1022 	2018-12-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1023 		    Iain Sandoe  <iain (a] sandoe.co.uk>
   1024 
   1025 	PR libstdc++/64883
   1026 	* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
   1027 	always_inline on Darwin.
   1028 	* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
   1029 	* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
   1030 	* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
   1031 	* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
   1032 
   1033 2018-12-06  Iain Sandoe  <iain (a] sandoe.co.uk>
   1034 
   1035 	Backport from mainline
   1036 	2018-08-25  Iain Sandoe  <iain (a] sandoe.co.uk>
   1037 
   1038 	PR libstdc++/70694
   1039 	* configure.host (OPT_LDFLAGS): Don't append
   1040 	-fvisibility-inlines-hidden for newer Darwin.
   1041 
   1042 2018-11-28  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1043 
   1044 	PR libstdc++/88199
   1045 	* include/bits/hashtable.h
   1046 	(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
   1047 	former buckets after assignment.
   1048 	* testsuite/23_containers/unordered_set/allocator/move_assign.cc
   1049 	(test03): New.
   1050 
   1051 2018-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1052 
   1053 	Backport from mainline
   1054 	2018-11-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1055 
   1056 	PR libstdc++/85930
   1057 	PR libstdc++/87520
   1058 	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
   1059 	[__cpp_rtti]: Define even when RTTI is enabled. Use array of
   1060 	sizeof(type_info) so that type-punned reference binds to an object
   1061 	of the correct size as well as correct alignment.
   1062 	(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
   1063 	_S_ti() reference even when RTTI is enabled.
   1064 	(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
   1065 	[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
   1066 
   1067 2018-10-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1068 
   1069 	Backport from mainline
   1070 	2018-10-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1071 
   1072 	PR libstdc++/87822
   1073 	* include/bits/stl_pair.h (__pair_base): Change to class template.
   1074 	(pair): Make base class type depend on template parameters.
   1075 	* testsuite/20_util/pair/87822.cc: New test.
   1076 
   1077 2018-10-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1078 
   1079 	Backport from mainline
   1080 	2018-10-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1081 
   1082 	PR libstdc++/87809
   1083 	* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
   1084 	trait in exception-specification instead of possibly invalid
   1085 	expression.
   1086 	* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
   1087 	Likewise.
   1088 	* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
   1089 	* testsuite/23_containers/forward_list/cons/87809.cc: New test.
   1090 	* testsuite/23_containers/list/cons/87809.cc: New test.
   1091 	* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
   1092 	* testsuite/23_containers/vector/cons/87809.cc: New test.
   1093 
   1094 2018-10-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1095 
   1096 	PR libstdc++/87749
   1097 	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
   1098 	(basic_string::operator=(basic_string&&)): For short strings copy the
   1099 	buffer inline. Only fall back to using assign(const basic_string&) to
   1100 	do a deep copy when reallocation is needed.
   1101 	* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
   1102 	New test.
   1103 	* testsuite/21_strings/basic_string/modifiers/assign/char/
   1104 	move_assign_optim.cc: New test.
   1105 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
   1106 	New test.
   1107 	* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
   1108 	move_assign_optim.cc: New test.
   1109 
   1110 2018-10-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1111 
   1112 	PR libstdc++/87704
   1113 	* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
   1114 	not delegate to default constructor.
   1115 	(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
   1116 	* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
   1117 
   1118 2018-10-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1119 
   1120 	* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
   1121 	_GLIBCXX_STD_A to refer to normal mode algorithms.
   1122 	* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
   1123 	* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
   1124 	whitespace.
   1125 
   1126 2018-10-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1127 
   1128 	Backport from mainline
   1129 	2018-10-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1130 
   1131 	PR libstdc++/87641
   1132 	* include/bits/valarray_array.h (__valarray_sum): Use first element
   1133 	to initialize accumulator instead of value-initializing it.
   1134 	* testsuite/26_numerics/valarray/87641.cc: New test.
   1135 
   1136 2018-10-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1137 
   1138 	* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
   1139 	account for change to glibc it_IT localedata (glibc bz#10797).
   1140 
   1141 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1142 
   1143 	Backport from mainline
   1144 	2018-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1145 
   1146 	PR libstdc++/86751
   1147 	* include/bits/stl_pair.h (__pair_base): New class with deleted copy
   1148 	assignment operator.
   1149 	(pair): Derive from __pair_base.
   1150 	(pair::operator=): Remove deleted overload.
   1151 	* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
   1152 	so that new base class isn't shown in GDB.
   1153 	* testsuite/20_util/pair/86751.cc: New test.
   1154 	* testsuite/20_util/pair/ref_assign.cc: New test.
   1155 
   1156 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1157 
   1158 	Backport from mainline
   1159 	2018-09-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1160 
   1161 	PR libstdc++/78595
   1162 	* include/bits/stl_map.h (map::insert(_Pair&&))
   1163 	(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
   1164 	* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
   1165 	(multimap::insert(const_iterator, _Pair&&)): Likewise.
   1166 	* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
   1167 	(unordered_map::insert(const_iterator, _Pair&&))
   1168 	(unordered_multimap::insert(_Pair&&))
   1169 	(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
   1170 	* include/std/type_traits (__enable_if_t): Define for C++11.
   1171 	* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
   1172 	* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
   1173 	* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
   1174 	* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
   1175 	test.
   1176 
   1177 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1178 
   1179 	Backport from mainline
   1180 	2018-08-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1181 
   1182 	* include/ext/pointer.h (_Pointer_adapter): Define operators for
   1183 	pointer arithmetic using long long offsets.
   1184 	* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
   1185 	long long values.
   1186 
   1187 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1188 
   1189 	Backport from mainline
   1190 	2018-08-23  Jonathan Wakely  <jwakely (a] redhat.com>
   1191 
   1192 	* testsuite/21_strings/basic_string/init-list.cc:
   1193 	Require cxx11-abi.
   1194 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
   1195 	Likewise.
   1196 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
   1197 	Likewise.
   1198 
   1199 	Backport from mainline
   1200 	2018-08-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1201 
   1202 	PR libstdc++/87061
   1203 	* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
   1204 	(experimental::pmr::match_results, experimental::pmr::cmatch)
   1205 	(experimental::pmr::smatch, experimental::pmr::wcmatch)
   1206 	(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
   1207 	because COW strings don't support C++11 allocator model.
   1208 	* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
   1209 	(experimental::pmr::basic_string, experimental::pmr::string)
   1210 	(experimental::pmr::u16string, experimental::pmr::u32string)
   1211 	(experimental::pmr::wstring): Likewise.
   1212 
   1213 	Backport from mainline
   1214 	2018-08-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1215 
   1216 	* include/experimental/regex: Remove begin/end macros for namespace.
   1217 	* include/experimental/string: Likewise.
   1218 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
   1219 	New test.
   1220 	* testsuite/experimental/polymorphic_allocator/
   1221 	pmr_typedefs_forward_list.cc: New test.
   1222 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
   1223 	New test.
   1224 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
   1225 	New test.
   1226 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
   1227 	New test.
   1228 	* testsuite/experimental/polymorphic_allocator/
   1229 	pmr_typedefs_multimap.cc: New test.
   1230 	* testsuite/experimental/polymorphic_allocator/
   1231 	pmr_typedefs_multiset.cc: New test.
   1232 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
   1233 	New test.
   1234 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
   1235 	New test.
   1236 	* testsuite/experimental/polymorphic_allocator/
   1237 	pmr_typedefs_unordered_map.cc: New test.
   1238 	* testsuite/experimental/polymorphic_allocator/
   1239 	pmr_typedefs_unordered_multimap.cc: New test.
   1240 	* testsuite/experimental/polymorphic_allocator/
   1241 	pmr_typedefs_unordered_multiset.cc: New test.
   1242 	* testsuite/experimental/polymorphic_allocator/
   1243 	pmr_typedefs_unordered_set.cc: New test.
   1244 	* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
   1245 	New test.
   1246 
   1247 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1248 
   1249 	Backport from mainline
   1250 	2018-07-24  Jonathan Wakely  <jwakely (a] redhat.com>
   1251 
   1252 	PR libstdc++/70966
   1253 	* include/experimental/memory_resource (__get_default_resource): Use
   1254 	placement new to create an object with dynamic storage duration.
   1255 
   1256 	Backport from mainline
   1257 	2018-06-20  Jonathan Wakely  <jwakely (a] redhat.com>
   1258 
   1259 	PR libstdc++/70966
   1260 	* include/experimental/memory_resource (__resource_adaptor_imp): Add
   1261 	static assertions to enforce requirements on pointer types.
   1262 	(__resource_adaptor_imp::get_allocator()): Add noexcept.
   1263 	(new_delete_resource, null_memory_resource): Return address of an
   1264 	object with dynamic storage duration.
   1265 	(__null_memory_resource): Remove.
   1266 	* testsuite/experimental/memory_resource/70966.cc: New.
   1267 
   1268 2018-10-12  Jonathan Wakely  <jwakely (a] redhat.com>
   1269 
   1270 	PR libstdc++/77854
   1271 	* doc/xml/manual/status_cxx1998.xml: Document size_type and
   1272 	difference_type for containers.
   1273 	* doc/html/*: Regenerate.
   1274 
   1275 2018-10-08  Joseph Myers  <joseph (a] codesourcery.com>
   1276 
   1277 	Backport from mainline
   1278 	2018-10-02  Joseph Myers  <joseph (a] codesourcery.com>
   1279 
   1280 	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
   1281 	-fno-show-column in default cxxflags.
   1282 
   1283 2018-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1284 
   1285 	Backport from mainline
   1286 	2018-10-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1287 
   1288 	PR libstdc++/87538
   1289 	* include/std/functional (_Not_fn::operator()): Check value of
   1290 	__is_nothrow_invocable as well.
   1291 	* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
   1292 	* testsuite/experimental/functional/87538.cc: New test.
   1293 
   1294 2018-09-11  Jonathan Wakely  <jwakely (a] redhat.com>
   1295 
   1296 	PR libstdc++/87278
   1297 	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
   1298 	remove_const.
   1299 	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.
   1300 
   1301 2018-08-28  Jonathan Wakely  <jwakely (a] redhat.com>
   1302 
   1303 	PR libstdc++/87116
   1304 	* src/filesystem/std-path.cc (path::lexically_normal): When handling
   1305 	a dot-dot filename, preserve an empty final component in the iteration
   1306 	sequence.
   1307 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
   1308 	root-directory.
   1309 	* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
   1310 	for more than two adjacent dot-dot filenames.
   1311 	[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
   1312 	preferred-separator in expected normalized strings.
   1313 
   1314 2018-08-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1315 
   1316 	Revert
   1317 	2018-08-10  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   1318 
   1319 	PR target/85904
   1320 	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
   1321 	Newlib.
   1322 	* configure: Regenerate.
   1323 
   1324 2018-08-10  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   1325 
   1326 	Backport from mainline
   1327 	2018-08-10  Sebastian Huber  <sebastian.huber (a] embedded-brains.de>
   1328 
   1329 	PR target/85904
   1330 	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
   1331 	Newlib.
   1332 	* configure: Regenerate.
   1333 
   1334 2018-08-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1335 
   1336 	* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
   1337 	avoid clashing with an ::aligned_alloc function that was not detected
   1338 	by configure.
   1339 
   1340 	PR libstdc++/86597
   1341 	* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
   1342 	Clear error_code when cached type is used.
   1343 	* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
   1344 
   1345 	* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
   1346 	* doc/html/*: Regenerate.
   1347 
   1348 	* doc/xml/manual/using.xml: Add missing header to table and fix typo.
   1349 	Remove C++17 headers not present on gcc-8-branch.
   1350 	* doc/html/*: Regenerate.
   1351 
   1352 2018-08-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1353 
   1354 	Backport from mainline
   1355 	2018-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1356 
   1357 	* doc/xml/manual/test.xml: Improve documentation on writing tests for
   1358 	newer standards.
   1359 	* doc/xml/manual/using.xml: Document all headers for C++11 and later.
   1360 	* doc/html/*: Regenerate.
   1361 
   1362 	Backport from mainline
   1363 	2018-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1364 
   1365 	PR libstdc++/84535
   1366 	* include/std/thread (thread::__not_same): New SFINAE helper.
   1367 	(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
   1368 	first argument is not a std::thread. Add static assertion to check
   1369 	INVOKE expression is valid.
   1370 	(thread::thread(thread&), thread::thread(const thread&&)): Remove.
   1371 	* testsuite/30_threads/thread/cons/84535.cc: New.
   1372 
   1373 	Backport from mainline
   1374 	2018-08-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1375 
   1376 	* src/c++11/system_error.cc
   1377 	(system_error_category::default_error_condition): Add workaround for
   1378 	ENOTEMPTY and EEXIST having the same value on AIX.
   1379 	* testsuite/19_diagnostics/error_category/system_category.cc: Add
   1380 	extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
   1381 
   1382 	Backport from mainline
   1383 	2018-08-01  Jonathan Wakely  <jwakely (a] redhat.com>
   1384 
   1385 	PR libstdc++/60555
   1386 	* src/c++11/system_error.cc
   1387 	(system_error_category::default_error_condition): New override to
   1388 	check for POSIX errno values.
   1389 	* testsuite/19_diagnostics/error_category/generic_category.cc: New
   1390 	* testsuite/19_diagnostics/error_category/system_category.cc: New
   1391 	test.
   1392 
   1393 	Backport from mainline
   1394 	2018-08-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1395 
   1396 	PR libstdc++/86874
   1397 	* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
   1398 	here instead of in _Move_assign_base.
   1399 	(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
   1400 	(_Copy_assign_base::operator=): Use _M_destructive_move when changing
   1401 	the contained value to another alternative.
   1402 	(_Move_assign_base::operator=): Likewise.
   1403 	(_Move_assign_base::_M_destructive_move): Remove.
   1404 	* testsuite/20_util/variant/86874.cc: New test.
   1405 
   1406 	Backport from mainline
   1407 	2018-08-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1408 
   1409 	PR libstdc++/86861
   1410 	* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
   1411 	Replace macro with inline function.
   1412 	[__sun]: Increase alignment to meet memalign precondition.
   1413 	[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
   1414 	(aligned_alloc): Move check for valid alignment to operator new.
   1415 	Remove redundant check for non-zero size, it's enforced by the caller.
   1416 	(operator new): Move check for valid alignment here. Use
   1417 	__builtin_expect on check for zero size.
   1418 
   1419 2018-07-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1420 
   1421 	Backport from mainline
   1422 	2018-07-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1423 
   1424 	* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
   1425 	workaround for aligned_alloc bug on AIX.
   1426 	* testsuite/18_support/new_aligned.cc: New test.
   1427 
   1428 	Backport from mainline
   1429 	2018-07-20  Fangrui Song  <maskray (a] google.com>
   1430 
   1431 	* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
   1432 	_GLIBCXX_VISIBILITY(default).
   1433 
   1434 	Backport from mainline
   1435 	2018-07-30  Jonathan Wakely  <jwakely (a] redhat.com>
   1436 
   1437 	PR libstdc++/86734
   1438 	* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
   1439 	addressof (LWG 2188).
   1440 	* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
   1441 
   1442 	Backport from mainline
   1443 	2018-05-08  Jonathan Wakely  <jwakely (a] redhat.com>
   1444 
   1445 	PR libstdc++/85672
   1446 	* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
   1447 	to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
   1448 	* include/Makefile.in: Regenerate.
   1449 	* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
   1450 	within conditional block.
   1451 
   1452 	Backport from mainline
   1453 	2018-05-01  Tulio Magno Quites Machado Filho  <tuliom (a] linux.vnet.ibm.com>
   1454 
   1455 	PR libstdc++/84654
   1456 	* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
   1457 	* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
   1458 	* configure: Regenerate.
   1459 	* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
   1460 	based on ENABLE_FLOAT128.
   1461 	* include/Makefile.in: Regenerate.
   1462 	* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
   1463 	[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
   1464 	_GLIBCXX_USE_FLOAT128.
   1465 
   1466 2018-07-26  Marek Polacek  <polacek (a] redhat.com>
   1467 
   1468 	* testsuite/30_threads/condition_variable_any/cond.cc: New.
   1469 
   1470 2018-07-26  Release Manager
   1471 
   1472 	* GCC 8.2.0 released.
   1473 
   1474 2018-07-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1475 
   1476 	Backport from mainline
   1477 	2018-07-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1478 
   1479 	* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
   1480 	COW strings.
   1481 	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
   1482 	Likewise.
   1483 
   1484 	Backport from mainline
   1485 	2018-07-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1486 
   1487 	* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
   1488 	target for std::random_device.
   1489 	* testsuite/26_numerics/random/random_device/cons/default.cc:
   1490 	Likewise.
   1491 	* testsuite/experimental/algorithm/sample-2.cc: Likewise.
   1492 	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
   1493 	* testsuite/experimental/random/randint.cc: Likewise.
   1494 	* testsuite/lib/libstdc++.exp
   1495 	(check_effective_target_random_device): New proc.
   1496 
   1497 	Backport from mainline
   1498 	2018-06-26  David Edelsohn  <dje.gcc (a] gmail.com>
   1499 
   1500 	* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
   1501 	directives.
   1502 	* testsuite/experimental/algorithm/shuffle.cc: Likewise.
   1503 
   1504 	Backport from mainline
   1505 	2018-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1506 
   1507 	* include/experimental/algorithm (sample, shuffle): Add new overloads
   1508 	using per-thread random number engine.
   1509 	* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
   1510 	dependencies by using __gnu_test::test_container.
   1511 	* testsuite/experimental/algorithm/sample-2.cc: New.
   1512 	* testsuite/experimental/algorithm/shuffle.cc: New.
   1513 
   1514 2018-07-16  Andreas Krebbel  <krebbel (a] linux.ibm.com>
   1515 
   1516 	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
   1517 	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
   1518 	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
   1519 
   1520 2018-07-05  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1521 
   1522 	Backport from mainline
   1523 	2018-07-04  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1524 
   1525 	PR libstdc++/86272
   1526 	* include/debug/string
   1527 	(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
   1528 	Use __glibcxx_check_insert_range.
   1529 
   1530 2018-07-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1531 
   1532 	Backport from mainline
   1533 	2018-05-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1534 
   1535 	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
   1536 	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
   1537 	little_endian element in bitmask.
   1538 	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
   1539 	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
   1540 
   1541 	Backport from mainline
   1542 	2018-07-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1543 
   1544 	* include/bits/alloc_traits.h: Remove redundant preprocessor
   1545 	condition.
   1546 
   1547 	Backport from mainline
   1548 	2018-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1549 
   1550 	* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
   1551 	(__is_byte<byte>): Define specialization for std::byte.
   1552 
   1553 	Backport from mainline
   1554 	2018-06-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1555 
   1556 	LWG 3050 Fix cv-qualification of convertibility constraints
   1557 	* include/std/chrono (duration, operator*, operator/, operator%): Use
   1558 	const-qualified type as source type in is_convertible constraints.
   1559 	* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
   1560 	* testsuite/20_util/duration/cons/dr3050.cc: New.
   1561 	* testsuite/20_util/duration/literals/range.cc: Rename to...
   1562 	* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
   1563 	dg-error lineno.
   1564 
   1565 	Backport from mainline
   1566 	2018-06-13  Jonathan Wakely  <jwakely (a] redhat.com>
   1567 
   1568 	PR libstdc++/86127
   1569 	* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
   1570 	unused typedef.
   1571 	(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
   1572 	Use node allocator to create and destroy elements.
   1573 	(forward_list::_Tp_alloc_type): Remove unused typedef.
   1574 	(forward_list::_Alloc_traits): Use allocator_traits instead of
   1575 	__gnu_cxx::__alloc_traits.
   1576 
   1577 	Backport from mainline
   1578 	2018-05-29  Jonathan Wakely  <jwakely (a] redhat.com>
   1579 
   1580 	* include/std/variant (__erased_dtor): Qualify call to __get.
   1581 
   1582 	Backport from mainline
   1583 	2018-05-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1584 
   1585 	* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
   1586 	__invoke to prevent ADL.
   1587 
   1588 	Backport from mainline
   1589 	2018-05-24  Maya Rashish  <coypu (a] sdf.org>
   1590 
   1591 	PR target/85904
   1592 	* crossconfig.m4: Test for aligned_alloc on netbsd.
   1593 	* configure: Regenerate.
   1594 
   1595 	Backport from mainline
   1596 	2018-05-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1597 
   1598 	PR libstdc++/85098
   1599 	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
   1600 	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
   1601 	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
   1602 	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
   1603 	definitions.
   1604 	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
   1605 	whitespace.
   1606 	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
   1607 	braces around body of do-while.
   1608 	* testsuite/28_regex/basic_regex/85098.cc: New
   1609 
   1610 	Backport from mainline
   1611 	2018-05-07  Jonathan Wakely  <jwakely (a] redhat.com>
   1612 
   1613 	PR libstdc++/85671
   1614 	* include/bits/fs_path.h (operator/): Permit copy elision.
   1615 	* include/experimental/bits/fs_path.h (operator/): Likewise.
   1616 
   1617 	Backport from mainline
   1618 	2018-06-14  Daniel Trebbien <dtrebbien (a] gmail.com>
   1619 		    Jonathan Wakely  <jwakely (a] redhat.com>
   1620 
   1621 	PR libstdc++/83982
   1622 	* include/bits/vector.tcc (vector::_M_default_append(size_type)):
   1623 	Default-construct new elements before moving existing ones.
   1624 	* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
   1625 	New.
   1626 
   1627 	Backport from mainline
   1628 	2018-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1629 
   1630 	PR libstdc++/86292
   1631 	* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
   1632 	Add try-catch block.
   1633 	* testsuite/23_containers/vector/cons/86292.cc: New.
   1634 
   1635 	Backport from mainline
   1636 	2018-06-27  Jonathan Wakely  <jwakely (a] redhat.com>
   1637 
   1638 	PR libstdc++/86138
   1639 	* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
   1640 	Declare explicit instantiations of COW empty reps and I/O functions.
   1641 
   1642 	Backport from mainline
   1643 	2018-06-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1644 
   1645 	LWG 3076 basic_string CTAD ambiguity
   1646 	* doc/xml/manual/intro.xml: Document LWG 3076 change.
   1647 	* include/bits/basic_string.h
   1648 	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
   1649 	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
   1650 	template constrained by _RequireAllocator.
   1651 	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
   1652 	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
   1653 	Define.
   1654 	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
   1655 	deduction
   1656 	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
   1657 	Likewise.
   1658 
   1659 	Backport from mainline
   1660 	2018-06-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1661 
   1662 	LWG 3075 basic_string needs deduction guides from basic_string_view
   1663 	* include/bits/basic_string.h: Add deduction guides from string_view.
   1664 	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
   1665 	deduction from string views.
   1666 	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
   1667 	Likewise.
   1668 
   1669 	Backport from mainline
   1670 	2018-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1671 
   1672 	PR libstdc++/84087 LWG DR 2268 basic_string default arguments
   1673 	* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
   1674 	(append(const basic_string&, size_type, size_type)
   1675 	(assign(const basic_string&, size_type, size_type)
   1676 	(insert(size_type, const basic_string&, size_type, size_type)
   1677 	(replace(size_type,size_type,const basic_string&,size_type,size_type)
   1678 	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
   1679 	Add default arguments (LWG 2268).
   1680 	[_GLIBCXX_USE_CXX11_ABI=0]
   1681 	(append(const basic_string&, size_type, size_type)
   1682 	(assign(const basic_string&, size_type, size_type)
   1683 	(insert(size_type, const basic_string&, size_type, size_type)
   1684 	(replace(size_type,size_type,const basic_string&,size_type,size_type)
   1685 	(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
   1686 	Likewise.
   1687 	* testsuite/21_strings/basic_string/dr2268.cc: New test.
   1688 
   1689 	PR libstdc++/86398
   1690 	* include/std/type_traits (is_trivially_constructible): Check
   1691 	is_constructible before __is_trivially_constructible.
   1692 	* testsuite/20_util/is_trivially_constructible/value.cc: Add more
   1693 	tests, including negative cases.
   1694 	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
   1695 	zero for dg-error lineno.
   1696 	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
   1697 	Likewise.
   1698 
   1699 2018-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1700 
   1701 	PR libstdc++/86112
   1702 	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
   1703 	Replace dict comprehension.
   1704 
   1705 2018-06-25  Jonathan Wakely  <jwakely (a] redhat.com>
   1706 
   1707 	PR libstdc++/81092
   1708 	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
   1709 
   1710 2018-06-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1711 
   1712 	Backport from mainline
   1713 	2018-06-22  Jonathan Wakely  <jwakely (a] redhat.com>
   1714 
   1715 	PR libstdc++/86138
   1716 	* include/bits/basic_string.tcc:
   1717 	[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
   1718 	(basic_string<char>::_Rep::_S_empty_rep_storage)
   1719 	(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
   1720 	instantiation declarations.
   1721 	[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
   1722 	explicit instantiation declarations.
   1723 	* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
   1724 	* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
   1725 
   1726 2018-06-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1727 
   1728 	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
   1729 
   1730 2018-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1731 
   1732 	* include/std/utility: Remove unused <exception> header.
   1733 
   1734 2018-06-19  Jonathan Wakely  <jwakely (a] redhat.com>
   1735 
   1736 	Backport from mainline
   1737 	2018-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1738 
   1739 	PR libstdc++/82644
   1740 	* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
   1741 	inline definitions instead of using-declarations.
   1742 	[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
   1743 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1744 	07_conf_hyperg/compile_cxx17.cc: New.
   1745 	* testsuite/tr1/5_numerical_facilities/special_functions/
   1746 	17_hyperg/compile_cxx17.cc: New.
   1747 
   1748 2018-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1749 
   1750 	PR libstdc++/86169
   1751 	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
   1752 	(basic_string::data()): Unshare string.
   1753 	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
   1754 	New.
   1755 
   1756 2018-06-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1757 
   1758 	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
   1759 	define for C++17 and above.
   1760 
   1761 2018-06-06  Jonathan Wakely  <jwakely (a] redhat.com>
   1762 
   1763 	PR libstdc++/86008
   1764 	* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
   1765 	Define new partial specialization.
   1766 	* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
   1767 	new overload.
   1768 	(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
   1769 	value not reference for iteration.
   1770 	* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
   1771 	comment.
   1772 	* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
   1773 	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
   1774 	comment.
   1775 
   1776 2018-06-05  Jonathan Wakely  <jwakely (a] redhat.com>
   1777 
   1778 	* include/std/type_traits: Fix comment typo.
   1779 
   1780 2018-06-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1781 
   1782 	PR libstdc++/85930
   1783 	* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
   1784 	unconditionally. Remove redundant declaration.
   1785 	[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Align the static variable
   1786 	correctly.
   1787 
   1788 2018-05-31  Jonathan Wakely  <jwakely (a] redhat.com>
   1789 
   1790 	PR libstdc++/85951
   1791 	* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
   1792 	uint_least16_t and uint_least32_t.
   1793 	(__make_unsigned<wchar_t>): Define unconditionally.
   1794 	(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
   1795 	(__make_signed<wchar_t>, __make_signed<char16_t>)
   1796 	(__make_signed<char32_t>)): Define unconditionally.
   1797 	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
   1798 	wchar_t, char16_t and char32_t are transformed correctly.
   1799 	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
   1800 	dg-error lineno.
   1801 	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
   1802 	wchar_t, char16_t and char32_t are transformed correctly.
   1803 	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
   1804 	dg-error lineno.
   1805 
   1806 2018-05-21  Franois Dumont  <fdumont (a] gcc.gnu.org>
   1807 
   1808 	* include/debug/map.h
   1809 	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
   1810 	* include/debug/multimap.h
   1811 	(multimap(multimap&&, const_allocator_type&)): Likewise.
   1812 	* include/debug/set.h
   1813 	(set(set&&, const_allocator_type&)): Likewise.
   1814 	* include/debug/multiset.h
   1815 	(multiset(multiset&&, const_allocator_type&)): Likewise.
   1816 
   1817 2018-05-21  Jonathan Wakely  <jwakely (a] redhat.com>
   1818 
   1819 	PR libstdc++/85818
   1820 	* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
   1821 	dg-require-filesystem-ts.
   1822 
   1823 2018-05-17  Jonathan Wakely  <jwakely (a] redhat.com>
   1824 
   1825 	PR libstdc++/85818
   1826 	* src/filesystem/path.cc (path::preferred_separator): Add used
   1827 	attribute.
   1828 	* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
   1829 
   1830 	PR libstdc++/85812
   1831 	* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
   1832 	* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
   1833 	Refactor to separate non-throwing and throwing implementations.
   1834 	[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
   1835 	if constructing the object throws.
   1836 
   1837 2018-05-15  Jonathan Wakely  <jwakely (a] redhat.com>
   1838 
   1839 	PR libstdc++/83891
   1840 	* include/bits/fs_path.h (path::is_absolute()): Use same definition
   1841 	for all operating systems.
   1842 	* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
   1843 	* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
   1844 	* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
   1845 	* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
   1846 
   1847 	* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
   1848 	unused <vector> header.
   1849 	* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
   1850 	* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
   1851 	* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
   1852 	* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
   1853 	* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
   1854 	Likewise.
   1855 	* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
   1856 	Likewise.
   1857 	* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
   1858 	* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
   1859 	* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
   1860 	* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
   1861 	* testsuite/experimental/filesystem/path/decompose/extension.cc:
   1862 	Likewise.
   1863 	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
   1864 	* testsuite/experimental/filesystem/path/query/has_extension.cc:
   1865 	Likewise.
   1866 	* testsuite/experimental/filesystem/path/query/has_filename.cc:
   1867 	Likewise.
   1868 	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
   1869 	Likewise.
   1870 	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
   1871 	Likewise.
   1872 	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
   1873 	Likewise.
   1874 	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
   1875 	Likewise.
   1876 	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
   1877 	Likewise.
   1878 	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
   1879 	* testsuite/experimental/filesystem/path/query/is_relative.cc:
   1880 	Likewise.
   1881 
   1882 	PR libstdc++/84159
   1883 	* include/bits/fs_path.h (path::operator/=, path::append): Construct
   1884 	temporary path before calling _M_append.
   1885 	(path::_M_append): Change parameter to path and implement C++17
   1886 	semantics.
   1887 	* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
   1888 	and more examples from the standard.
   1889 	* testsuite/27_io/filesystem/path/append/source.cc: New.
   1890 	* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
   1891 	* testsuite/27_io/filesystem/path/nonmember/append.cc: New.
   1892 
   1893 2018-05-14  Jonathan Wakely  <jwakely (a] redhat.com>
   1894 
   1895 	PR libstdc++/67554
   1896 	* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
   1897 	(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
   1898 
   1899 	PR libstdc++/82966
   1900 	* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
   1901 	instead of type.
   1902 	* testsuite/23_containers/set/modifiers/node_swap.cc: New.
   1903 
   1904 2018-05-10  Jonathan Wakely  <jwakely (a] redhat.com>
   1905 
   1906 	* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
   1907 	* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
   1908 	of C++11 containers with Debug Mode support.
   1909 	* doc/xml/manual/using.xml: Document that the C++17 Filesystem
   1910 	implementation also needs -lstdc++fs. Document Dual ABI for
   1911 	ios_base::failure.
   1912 	* doc/html/*: Regenerate.
   1913 
   1914 2018-05-07  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1915 
   1916 	Backport from mainline
   1917 	2018-05-07  Edward Smith-Rowland  <3dw4rd (a] verizon.net>
   1918 
   1919 	Moar PR libstdc++/80506
   1920 	* include/bits/random.tcc (gamma_distribution::__generate_impl()):
   1921 	Fix magic number used in loop condition.
   1922 
   1923 2018-05-04  Jonathan Wakely  <jwakely (a] redhat.com>
   1924 
   1925 	PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
   1926 	* include/std/optional (_Optional_payload): Add noexcept to default
   1927 	constructor. Re-indent.
   1928 	(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
   1929 	constructor for copying disengaged payloads.
   1930 	(_Optional_payload<_Tp, true, false, true>): Likewise.
   1931 	(_Optional_payload<_Tp, true, true, false>): Likewise.
   1932 	(_Optional_payload<_Tp, true, false, false>): Likewise.
   1933 	* testsuite/20_util/optional/cons/85642.cc: New.
   1934 	* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
   1935 
   1936 2018-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1937 
   1938 	PR libstdc++/84769
   1939 	* include/std/variant (visit): Qualify std::get call.
   1940 
   1941 2018-05-03  Jonathan Wakely  <jwakely (a] redhat.com>
   1942 
   1943 	PR libstdc++/85632 use uintmax_t for arithmetic
   1944 	* src/filesystem/ops.cc (experimental::filesystem::space): Perform
   1945 	arithmetic in result type.
   1946 	* src/filesystem/std-ops.cc (filesystem::space): Likewise.
   1947 	* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
   1948 	is greater than free space.
   1949 	* testsuite/experimental/filesystem/operations/space.cc: New.
   1950 
   1951 2018-05-02  Release Manager
   1952 
   1953 	* GCC 8.1.0 released.
   1954 
   1955 2018-04-24  H.J. Lu  <hongjiu.lu (a] intel.com>
   1956 
   1957 	* configure: Regenerated.
   1958 
   1959 2018-04-19  Jakub Jelinek  <jakub (a] redhat.com>
   1960 
   1961 	* configure: Regenerated.
   1962 
   1963 2018-04-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1964 	    Jakub Jelinek  <jakub (a] redhat.com>
   1965 
   1966 	PR libstdc++/85442
   1967 	* src/c++11/Makefile.am: Don't generate debuginfo again for
   1968 	cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
   1969 	* src/c++11/Makefile.in: Regenerate.
   1970 
   1971 2018-04-18  Jonathan Wakely  <jwakely (a] redhat.com>
   1972 
   1973 	PR libstdc++/84442
   1974 	* testsuite/30_threads/thread/cons/terminate.cc
   1975 	[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
   1976 
   1977 2018-04-18  David Malcolm  <dmalcolm (a] redhat.com>
   1978 
   1979 	PR jit/85384
   1980 	* configure: Regenerate.
   1981 
   1982 2018-04-16  Jonathan Wakely  <jwakely (a] redhat.com>
   1983 
   1984 	* testsuite/experimental/filesystem/file_status/1.cc: Add
   1985 	-DUSE_FILESYSTEM_TS to dg-options.
   1986 	* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
   1987 	Likewise.
   1988 	* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
   1989 	* testsuite/experimental/filesystem/iterators/
   1990 	recursive_directory_iterator.cc: Likewise.
   1991 	* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
   1992 	* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
   1993 	* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
   1994 	* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
   1995 	* testsuite/experimental/filesystem/operations/create_directories.cc:
   1996 	Likewise.
   1997 	* testsuite/experimental/filesystem/operations/create_directory.cc:
   1998 	Likewise.
   1999 	* testsuite/experimental/filesystem/operations/create_symlink.cc:
   2000 	Likewise.
   2001 	* testsuite/experimental/filesystem/operations/current_path.cc:
   2002 	Likewise.
   2003 	* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
   2004 	* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
   2005 	* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
   2006 	* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
   2007 	* testsuite/experimental/filesystem/operations/last_write_time.cc:
   2008 	Likewise.
   2009 	* testsuite/experimental/filesystem/operations/permissions.cc:
   2010 	Likewise.
   2011 	* testsuite/experimental/filesystem/operations/read_symlink.cc:
   2012 	Likewise.
   2013 	* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
   2014 	* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
   2015 	* testsuite/experimental/filesystem/operations/status.cc: Likewise.
   2016 	* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
   2017 	Likewise.
   2018 	* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
   2019 	* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
   2020 	* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
   2021 	* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
   2022 	* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
   2023 	* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
   2024 	* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
   2025 	* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
   2026 	* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
   2027 	* testsuite/experimental/filesystem/path/construct/default.cc:
   2028 	Likewise.
   2029 	* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
   2030 	* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
   2031 	* testsuite/experimental/filesystem/path/construct/string_view.cc:
   2032 	Likewise.
   2033 	* testsuite/experimental/filesystem/path/decompose/extension.cc:
   2034 	Likewise.
   2035 	* testsuite/experimental/filesystem/path/decompose/filename.cc:
   2036 	Likewise.
   2037 	* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
   2038 	Likewise.
   2039 	* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
   2040 	Likewise.
   2041 	* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
   2042 	Likewise.
   2043 	* testsuite/experimental/filesystem/path/decompose/root_name.cc:
   2044 	Likewise.
   2045 	* testsuite/experimental/filesystem/path/decompose/root_path.cc:
   2046 	Likewise.
   2047 	* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
   2048 	* testsuite/experimental/filesystem/path/generic/generic_string.cc:
   2049 	Likewise.
   2050 	* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
   2051 	* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
   2052 	* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
   2053 	Likewise.
   2054 	* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
   2055 	Likewise.
   2056 	* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
   2057 	Likewise.
   2058 	* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
   2059 	Likewise.
   2060 	* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
   2061 	* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
   2062 	* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
   2063 	Likewise.
   2064 	* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
   2065 	* testsuite/experimental/filesystem/path/query/has_extension.cc:
   2066 	Likewise.
   2067 	* testsuite/experimental/filesystem/path/query/has_filename.cc:
   2068 	Likewise.
   2069 	* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
   2070 	Likewise.
   2071 	* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
   2072 	Likewise.
   2073 	* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
   2074 	Likewise.
   2075 	* testsuite/experimental/filesystem/path/query/has_root_name.cc:
   2076 	Likewise.
   2077 	* testsuite/experimental/filesystem/path/query/has_root_path.cc:
   2078 	Likewise.
   2079 	* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
   2080 	* testsuite/experimental/filesystem/path/query/is_relative.cc:
   2081 	Likewise.
   2082 
   2083 2018-04-13  Jonathan Wakely  <jwakely (a] redhat.com>
   2084 
   2085 	* src/c++11/Makefile.am: Fix sed command.
   2086 	* src/c++11/Makefile.in: Regenerate.
   2087 
   2088 	* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
   2089 	handle mangled names starting with double underscores on darwin.
   2090 	* src/c++11/Makefile.in: Regenerate.
   2091 
   2092 2018-04-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2093 
   2094 	* src/c++11/Makefile.am: Fix comment.
   2095 	* src/c++11/Makefile.in: Regenerate.
   2096 	* src/c++11/cxx11-ios_failure.cc: Fix comment.
   2097 	* src/c++98/ios_failure.cc: Likewise.
   2098 
   2099 	* src/c++11/ios.cc: Remove redundant macro definition.
   2100 
   2101 2018-04-11  Jonathan Wakely  <jwakely (a] redhat.com>
   2102 
   2103 	* doc/xml/manual/abi.xml: Document header locations in recent
   2104 	releases.
   2105 	* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
   2106 	* doc/xml/manual/spine.xml: Update copyright years.
   2107 	* doc/xml/manual/strings.xml: Adjust tolower example to avoid
   2108 	undefined behaviour.
   2109 	* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
   2110 	* doc/html/*: Regenerate.
   2111 
   2112 2018-04-10  Jonathan Wakely  <jwakely (a] redhat.com>
   2113 
   2114 	* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
   2115 	* doc/xml/manual/backwards_compatibility.xml: Likewise.
   2116 	* doc/xml/manual/containers.xml: Likewise.
   2117 	* doc/xml/manual/debug_mode.xml: Likewise.
   2118 	* doc/xml/manual/extensions.xml: Likewise.
   2119 	* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
   2120 	* doc/xml/manual/using.xml: Likewise.
   2121 	* doc/xml/manual/utilities.xml: Likewise.
   2122 
   2123 	PR libstdc++/85222
   2124 	* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
   2125 	cxx11-ios_failure.cc to rewrite type info for __ios_failure.
   2126 	* src/c++11/Makefile.in: Regenerate.
   2127 	* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
   2128 	New types.
   2129 	[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
   2130 	* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
   2131 	* src/c++98/ios_failure.cc (__construct_ios_failure)
   2132 	(__destroy_ios_failure, is_ios_failure_handler): New functions.
   2133 	[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
   2134 	* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
   2135 	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
   2136 	handler types, to always catch std::ios_base::failure.
   2137 	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
   2138 	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
   2139 	exceptions_failbit.cc: Likewise.
   2140 	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
   2141 	exceptions_failbit.cc: Likewise.
   2142 	* testsuite/27_io/basic_istream/extractors_other/char/
   2143 	exceptions_null.cc: Likewise.
   2144 	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
   2145 	exceptions_null.cc: Likewise.
   2146 	* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
   2147 	* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
   2148 	* testsuite/27_io/basic_ostream/inserters_other/char/
   2149 	exceptions_null.cc: Likewise.
   2150 	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
   2151 	exceptions_null.cc: Likewise.
   2152 	* testsuite/27_io/ios_base/storage/2.cc: Likewise.
   2153 
   2154 2018-04-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2155 
   2156 	* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
   2157 	__get calls to avoid ADL and avoid ambiguity due to Clang bug.
   2158 
   2159 2018-04-03  Jonathan Wakely  <jwakely (a] redhat.com>
   2160 
   2161 	PR libstdc++/85183
   2162 	* include/std/variant (_Move_assign_base::operator=): Fix incorrect
   2163 	value categories.
   2164 	* testsuite/20_util/variant/85183.cc: New.
   2165 
   2166 2018-03-26  Jonathan Wakely  <jwakely (a] redhat.com>
   2167 
   2168 	* include/std/variant (__get): Qualify calls to avoid ADL.
   2169 	(__select_index): Adjust whitespace.
   2170 	(variant): Add using-declaration to workaround Clang bug.
   2171 
   2172 2018-03-22  Jonathan Wakely  <jwakely (a] redhat.com>
   2173 
   2174 	PR libstdc++/85040
   2175 	* include/bits/stl_function.h (greater::__not_overloaded)
   2176 	(less::__not_overloaded, greater_equal::__not_overloaded)
   2177 	(less_equal::__not_overloaded): Fix ambiguous specializations.
   2178 	* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
   2179 	tests for type with overloaded operators.
   2180 
   2181 2018-03-22  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   2182 
   2183 	PR libstdc++/77691
   2184 	* testsuite/experimental/memory_resource/resource_adaptor.cc:
   2185 	xfail execution on 32-bit Solaris/x86.
   2186 
   2187 2018-03-21  Jonathan Wakely  <jwakely (a] redhat.com>
   2188 
   2189 	* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
   2190 	VERIFY instead of assert.
   2191 	* testsuite/20_util/hash/84998.cc: New test.
   2192 	* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
   2193 	copy of test adjusted for Debug Mode.
   2194 	* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
   2195 	test in Debug Mode.
   2196 
   2197 2018-03-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2198 
   2199 	PR libstdc++/84998
   2200 	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
   2201 	* include/std/bitset: Likewise.
   2202 	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
   2203 	declaration.
   2204 	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
   2205 	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
   2206 	* include/bits/stl_set.h (std::set<>): Likewise.
   2207 	* include/bits/unordered_map.h (std::unordered_map<>): Fix
   2208 	_Hash_merge_helper friend declaration.
   2209 	(std::unordered_multimap<>): Likewise.
   2210 	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
   2211 	(std::unordered_multiset<>): Likewise.
   2212 
   2213 2018-03-19  Gerald Pfeifer  <gerald (a] pfeifer.com>
   2214 
   2215 	* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
   2216 	trailing slash for domain level link.
   2217 	* doc/xml/faq.xml: Ditto.
   2218 	* doc/xml/manual/appendix_free.xml (software): Ditto.
   2219 	* doc/xml/manual/intro.xml: Ditto.
   2220 	* doc/xml/manual/spine.xml: Ditto.
   2221 	* doc/xml/spine.xml: Ditto.
   2222 
   2223 2018-03-19  Gerald Pfeifer  <gerald (a] pfeifer.com>
   2224 
   2225 	* doc/xml/manual/documentation_hacking.xml: Adjust link to
   2226 	docbook.org.
   2227 
   2228 2018-03-17  Jonathan Wakely  <jwakely (a] redhat.com>
   2229 
   2230 	* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
   2231 	to compile as C++98.
   2232 
   2233 2018-03-14  Jonathan Wakely  <jwakely (a] redhat.com>
   2234 
   2235 	PR libstdc++/78420
   2236 	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
   2237 	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
   2238 	to ensure total order for pointers.
   2239 	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
   2240 	Add operator() overloads for pointer arguments and make generic
   2241 	overloads dispatch to new _S_cmp functions when comparisons would
   2242 	use built-in operators for pointers.
   2243 	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
   2244 
   2245 2018-03-12  Jonathan Wakely  <jwakely (a] redhat.com>
   2246 
   2247 	PR libstdc++/84773
   2248 	PR libstdc++/83662
   2249 	* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
   2250 	* configure: Regenerate.
   2251 	* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
   2252 	(aligned_alloc): Add using-declaration.
   2253 	* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
   2254 
   2255 2018-03-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2256 
   2257 	* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
   2258 	Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
   2259 	registration.
   2260 
   2261 2018-03-09  Jonathan Wakely  <jwakely (a] redhat.com>
   2262 
   2263 	PR libstdc++/84769
   2264 	* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
   2265 	Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
   2266 
   2267 	src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
   2268 	src/filesystem/std-ops.cc (create_dir): Likewise.
   2269 
   2270 2018-03-08  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2271 
   2272 	* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
   2273 	(StdListIteratorPrinter): Inherit from latter.
   2274 	(StdFwdListIteratorPrinter): New, inherit from latter.
   2275 	(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
   2276 	when iterator has no associated container.
   2277 	(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
   2278 	__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
   2279 	registrations.
   2280 	* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
   2281 	* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
   2282 
   2283 2018-03-06  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   2284 
   2285 	PR libstdc++/84601
   2286 	* include/std/optional (_Optional_payload): Split into multiple
   2287 	specializations that can handle different cases of trivial or
   2288 	non-trivial assignment operators.
   2289 	* testsuite/20_util/optional/84601.cc: New.
   2290 	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
   2291 
   2292 2018-03-02  Jonathan Wakely  <jwakely (a] redhat.com>
   2293 
   2294 	PR libstdc++/84671
   2295 	* include/bits/parse_numbers.h (_Number_help): Add partial
   2296 	specialization to handle digit separators. Adjust partial
   2297 	specialization for recursion temrination to require _Pow == 1ULL.
   2298 	* testsuite/20_util/duration/literals/84671.cc: New
   2299 
   2300 2018-02-27  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   2301 
   2302 	Implement the missing bits of LWG 2769
   2303 	* include/std/any (any_cast(const any&)): Add static_assert.
   2304 	(any_cast(any&)): Likewise.
   2305 	(any_cast(any&&)): Likewise, and remove the handling
   2306 	for copyable-but-not-movable type.
   2307 	* testsuite/20_util/any/misc/any_cast.cc: Adjust.
   2308 	* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
   2309 	add new tests.
   2310 
   2311 2018-02-23  Jonathan Wakely  <jwakely (a] redhat.com>
   2312 
   2313 	PR libstdc++/84532
   2314 	* include/std/thread (thread::__make_invoker): Construct tuple
   2315 	directly instead of using make_tuple.
   2316 	* testsuite/30_threads/async/84532.cc: New.
   2317 	* testsuite/30_threads/thread/84532.cc: New.
   2318 
   2319 2018-02-20  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2320 
   2321 	* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
   2322 	(template<> __aligned_buffer): Define as __aligned_membuf alias.
   2323 
   2324 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist (a] intel.com>
   2325 
   2326 	PR target/84148
   2327 	* configure: Regenerate.
   2328 
   2329 2018-02-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2330 
   2331 	PR libstdc++/81797
   2332 	* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
   2333 	* configure: Regenerate.
   2334 	* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
   2335 	defined.
   2336 	* include/Makefile.in: Regenerate.
   2337 
   2338 2018-01-29  Jonathan Wakely  <jwakely (a] redhat.com>
   2339 
   2340 	PR libstdc++/83833
   2341 	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
   2342 	Add -ffloat-store to options for m68k and ia32.
   2343 
   2344 	* doc/xml/faq.xml: Update copyright years.
   2345 	* doc/html/*: Regenerate.
   2346 
   2347 	PR libstdc++/83658
   2348 	* include/std/any (any::__do_emplace): Only set _M_manager after
   2349 	constructing the contained object.
   2350 	* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
   2351 	* testsuite/20_util/any/modifiers/83658.cc: New test.
   2352 
   2353 2018-01-25  Jonathan Wakely  <jwakely (a] redhat.com>
   2354 
   2355 	PR libstdc++/81076
   2356 	* include/c_global/cstddef (__byte_operand): Define primary template.
   2357 	* testsuite/18_support/byte/81076.cc: New test.
   2358 
   2359 2018-01-19  Christophe Lyon  <christophe.lyon (a] linaro.org>
   2360 
   2361 	* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
   2362 	dg-options and dg-add-options order.
   2363 	* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
   2364 	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
   2365 	Likewise.
   2366 	* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
   2367 	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
   2368 	Likewise.
   2369 	* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
   2370 	Likewise.
   2371 	* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
   2372 	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
   2373 	Likewise.
   2374 	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
   2375 	Likewise.
   2376 	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
   2377 	Likewise.
   2378 	* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
   2379 	Likewise.
   2380 	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
   2381 	Likewise.
   2382 	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
   2383 	Likewise.
   2384 	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
   2385 	Likewise.
   2386 	* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
   2387 	Likewise.
   2388 	* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
   2389 	* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
   2390 	* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
   2391 	* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
   2392 	* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
   2393 	* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
   2394 	* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
   2395 	* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
   2396 	* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
   2397 	Likewise.
   2398 	* testsuite/special_functions/19_sph_bessel/check_nan.cc:
   2399 	Likewise.
   2400 	* testsuite/special_functions/20_sph_legendre/check_nan.cc:
   2401 	Likewise.
   2402 	* testsuite/special_functions/21_sph_neumann/check_nan.cc:
   2403 	Likewise.
   2404 
   2405 2018-01-18  Uros Bizjak  <ubizjak (a] gmail.com>
   2406 
   2407 	* configure.ac (AC_CHECK_HEADERS): Add linux/types.h.  Conditionally
   2408 	include linux/types.h when checking linux/random.h header.
   2409 	* config.h.in: Regenerate.
   2410 	* configure: Ditto.
   2411 	* src/c++11/random.cc: Conditionally include linux/types.h.
   2412 
   2413 2018-01-16  Eric Botcazou  <ebotcazou (a] adacore.com>
   2414 
   2415 	* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
   2416 
   2417 2018-01-16  Jonathan Wakely  <jwakely (a] redhat.com>
   2418 
   2419 	PR libstdc++/83834
   2420 	* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
   2421 	pattern with exact match for std::cerr.
   2422 
   2423 2018-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2424 
   2425 	PR libstdc++/83833
   2426 	* include/bits/random.h (chi_squared_distribution::param): Update
   2427 	gamma distribution parameter.
   2428 	* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
   2429 	test.
   2430 
   2431 	PR libstdc++/83830
   2432 	* include/std/type_traits (has_unique_object_representations_v): Add
   2433 	variable template.
   2434 	* testsuite/20_util/has_unique_object_representations/value.cc: Check
   2435 	variable template.
   2436 
   2437 2018-01-15  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   2438 
   2439 	Make optional conditionally
   2440 	trivially_{copy,move}_{constructible,assignable}
   2441 	* include/std/optional (_Optional_payload): Fix the comment in
   2442 	the class head and turn into a primary and one specialization.
   2443 	(_Optional_payload::_M_engaged): Strike the NSDMI.
   2444 	(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
   2445 	New.
   2446 	(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
   2447 	Likewise.
   2448 	(_Optional_payload<_Tp, false>::_M_get): Likewise.
   2449 	(_Optional_payload<_Tp, false>::_M_reset): Likewise.
   2450 	(_Optional_base_impl): Likewise.
   2451 	(_Optional_base): Turn into a primary and three specializations.
   2452 	(optional(nullopt)): Change the base init.
   2453 	* testsuite/20_util/optional/assignment/8.cc: New.
   2454 	* testsuite/20_util/optional/cons/trivial.cc: Likewise.
   2455 	* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
   2456 
   2457 2018-01-15  Jonathan Wakely  <jwakely (a] redhat.com>
   2458 
   2459 	PR libstdc++/80276
   2460 	* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
   2461 	(get_template_arg_list): New.
   2462 	(StdVariantPrinter._template_args): Remove, use get_template_arg_list
   2463 	instead.
   2464 	(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
   2465 	of strings and regular expressions.
   2466 	(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
   2467 	(FilteringTypePrinter): Add docstring. Match using startswith. Use
   2468 	strip_inline_namespaces instead of strip_versioned_namespace.
   2469 	(add_one_type_printer): Prepend namespace to match argument.
   2470 	(register_type_printers): Add type printers for char16_t and char32_t
   2471 	string types and for types using cxx11 ABI. Update calls to
   2472 	add_one_template_type_printer to provide default argument dicts.
   2473 	* testsuite/libstdc++-prettyprinters/80276.cc: New test.
   2474 	* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
   2475 	basic_string<unsigned char> and basic_string<signed char>.
   2476 	* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
   2477 	to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
   2478 
   2479 2018-01-14  Andreas Schwab  <schwab (a] linux-m68k.org>
   2480 
   2481 	PR libstdc++/81092
   2482 	* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
   2483 
   2484 2018-01-13  Tim Shen  <timshen (a] google.com>
   2485 
   2486 	PR libstdc++/83601
   2487 	* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
   2488 	* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
   2489 	* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
   2490 
   2491 2018-01-12  Rainer Orth  <ro (a] CeBiTec.Uni-Bielefeld.DE>
   2492 
   2493 	PR libstdc++/64054
   2494 	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
   2495 	Remove dg-xfail-run-if.
   2496 
   2497 2018-01-10  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2498 
   2499 	* include/bits/forward_list.h
   2500 	(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
   2501 	(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
   2502 	(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
   2503 	(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
   2504 	(_Fwd_list_impl()): Add noexcept qualification.
   2505 	(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
   2506 	(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
   2507 	(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
   2508 	(_Fwd_list_base()): Default.
   2509 	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
   2510 	(_Fwd_list_base(_Fwd_list_base&&)): Default.
   2511 	(forward_list<>()): Default.
   2512 	(forward_list<>(forward_list&&)): Default.
   2513 	(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
   2514 	(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
   2515 	(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
   2516 	* include/bits/forward_list.tcc
   2517 	(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
   2518 	_M_impl._M_head move assignment.
   2519 	(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
   2520 	* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
   2521 
   2522 2018-01-09  Jonathan Wakely  <jwakely (a] redhat.com>
   2523 
   2524 	PR libstdc++/80276
   2525 	* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
   2526 	(UniquePointerPrinter): Print correct template argument, not type of
   2527 	the pointer.
   2528 	(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
   2529 	a type.
   2530 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
   2531 	array type.
   2532 	* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
   2533 	weak_ptr of array types.
   2534 
   2535 2018-01-09  Franois Dumont  <fdumont (a] gcc.gnu.org>
   2536 
   2537 	PR libstdc++/83709
   2538 	* include/bits/hashtable_policy.h
   2539 	(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
   2540 	__first != __last.
   2541 	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
   2542 	(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
   2543 	Add false_type parameter.
   2544 	(_Insert_base::insert): Adapt.
   2545 	* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
   2546 	Adapt.
   2547 	(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
   2548 	 Add __n_elt parameter, defaulted to 1.
   2549 	(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
   2550 	policy _M_need_rehash.
   2551 	(_Hashtable::_M_merge_unique): Pass target number of elements to add to
   2552 	produce only 1 rehash if necessary.
   2553 	* testsuite/23_containers/unordered_map/insert/83709.cc: New.
   2554 	* testsuite/23_containers/unordered_set/insert/83709.cc: New.
   2555 
   2556 2018-01-09  Juraj Oruli  <juraj.orsulic (a] fer.hr>
   2557 	    Jonathan Wakely  <jwakely (a] redhat.com>
   2558 
   2559 	PR libstdc++/59253 (partial)
   2560 	* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
   2561 	type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
   2562 	(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
   2563 	children.
   2564 	* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
   2565 	of unique_ptr printer.
   2566 	* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
   2567 	output of shared_ptr printer.
   2568 
   2569 2018-01-05  Jonathan Wakely  <jwakely (a] redhat.com>
   2570 
   2571 	PR libstdc++/83626
   2572 	* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
   2573 	unnecessary symlink_status call.
   2574 	(remove_all(const path&, error_code&)): Use filesystem::remove.
   2575 	* src/filesystem/std-ops.cc: Likewise.
   2576 
   2577 	PR libstdc++/83279
   2578 	* src/filesystem/std-ops.cc  (do_copy_file): Use non-null offset with
   2579 	sendfile.
   2580 
   2581 	PR libstdc++/83626
   2582 	* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
   2583 	report an error for ENOENT.
   2584 	(remove_all(const path&)): Fix type of result variable.
   2585 	(remove_all(const path&, error_code&)): Use non-throwing increment
   2586 	for directory iterator. Call POSIX remove directly to avoid redundant
   2587 	calls to symlink_status. Do not report errors for ENOENT.
   2588 	* src/filesystem/std-ops.cc: Likewise.
   2589 	* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
   2590 	overload.
   2591 	* testsuite/experimental/filesystem/operations/remove_all.cc:
   2592 	Likewise.
   2593 
   2594 2018-01-04  Jonathan Wakely  <jwakely (a] redhat.com>
   2595 
   2596 	PR libstdc++/83626
   2597 	* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
   2598 	redundant call to ec.clear().
   2599 	(remove_all(const path&, error_code&))): Do not return an error for
   2600 	non-existent paths.
   2601 	* src/filesystem/std-ops.cc: Likewise.
   2602 	* testsuite/27_io/filesystem/operations/remove.cc: New test.
   2603 	* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
   2604 	results for non-existent paths.
   2605 	* testsuite/experimental/filesystem/operations/remove.cc: New test.
   2606 	* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
   2607 	expected results for non-existent paths.
   2608 
   2609 	* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
   2610 	check status_known once.
   2611 	* include/experimental/bits/fs_ops.h: Likewise.
   2612 
   2613 	PR libstdc++/83607
   2614 	* include/std/functional (__is_byte_like): New trait.
   2615 	(__is_std_equal_to): Remove.
   2616 	(__boyer_moore_base_t): Use __is_byte_like instead of
   2617 	__is_std_equal_to.
   2618 	* include/experimental/functional (__is_std_equal_to): Remove.
   2619 	(__boyer_moore_base_t): Use __is_byte_like instead of
   2620 	__is_std_equal_to.
   2621 	* testsuite/20_util/function_objects/83607.cc: New test.
   2622 
   2623 2018-01-03  Ville Voutilainen  <ville.voutilainen (a] gmail.com>
   2624 
   2625 	Protect optional's deduction guide with the feature macro
   2626 	* include/std/optional: Use the feature macro.
   2627 
   2628 2018-01-03  Jakub Jelinek  <jakub (a] redhat.com>
   2629 
   2630 	Update copyright years.
   2631 
   2633 Copyright (C) 2018 Free Software Foundation, Inc.
   2634 
   2635 Copying and distribution of this file, with or without modification,
   2636 are permitted in any medium without royalty provided the copyright
   2637 notice and this notice are preserved.
   2638