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