Daily bump.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob6193f4e5ae684ecf07a4f3e66ad8c2cf6599899e
1 2017-02-23  Jonathan Wakely  <jwakely@redhat.com>
3         * include/experimental/iterator: Include <iterator>.
4         * testsuite/experimental/iterator/requirements.cc: Check for contents
5         of <iterator>.
7 2017-02-19  Dinka Ranns  <dinka.ranns@googlemail.com>
9         C++17 GB50 resolution
10         * include/std/chrono (duration::operator++()): Add
11         _GLIBCXX17_CONSTEXPR.
12         (duration::operator++(int)): Likewise.
13         (duration::operator--()): Likewise.
14         (duration::operator--(int)): Likewise.
15         (duration::operator+=(const duration&)): Likewise.
16         (duration::operator-=(const duration&)): Likewise.
17         (duration::operator*=(const rep&)): Likewise.
18         (duration::operator/=(const rep&)): Likewise.
19         (duration::operator%=(const rep&)): Likewise.
20         (duration::operator%=(const duration&)): Likewise.
21         (time_point::operator+=(const duration&)): Likewise.
22         (time_point::operator-=(const duration&)): Likewise.
23         * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
24         * testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
25         * testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
27 2017-02-19  Gerald Pfeifer  <gerald@pfeifer.com>
29         * doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
31 2017-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
33         * doc/xml/manual/io.xml: Update link to groups.google.com.
34         Tweak link description.
36 2017-02-18  Gerald Pfeifer  <gerald@pfeifer.com>
37         
38         * doc/xml/manual/profile_mode.xml: Fix link.
40 2017-02-16  Gerald Pfeifer  <gerald@pfeifer.com>
42         * doc/xml/manual/policy_data_structures.xml: Simplify and
43         standardize references to boost.org.
44         * doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
45         * doc/xml/manual/shared_ptr.xml: Ditto.
47 2017-02-16  Jonathan Wakely  <jwakely@redhat.com>
49         PR libstdc++/60936
50         * src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
51         written to buffer, not length remaining in buffer.
53 2017-02-15  Tim Shen  <timshen@google.com>
55         PR libstdc++/78723
56         * include/std/variant (operator<(), operator>(), operator<=(),
57         operator>=(), operator==(), operator!=()): Implement P0393R3.
58         * testsuite/20_util/variant/compile.cc: Adjust tests.
59         * testsuite/20_util/variant/run.cc: Adjust tests.
61 2017-02-15  Tim Shen  <timshen@google.com>
63         PR libstdc++/79513
64         * include/std/variant (visit()): Forward variant types to the return
65         type detection code.
66         * testsuite/20_util/variant/compile.cc: Add test cases.
68 2017-02-13  H.J. Lu  <hongjiu.lu@intel.com>
70         PR libstdc++/79348
71         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
73 2017-02-13  Jakub Jelinek  <jakub@redhat.com>
75         PR libstdc++/79348
76         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
77         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
78         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
79         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
80         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
81         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
82         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
83         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
84         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
86 2017-02-13  Jonathan Wakely  <jwakely@redhat.com>
88         PR libstdc++/79486
89         * include/std/future (__future_base::_Task_state::_M_run)
90         (__future_base::_Task_state::_M_run_delayed): Use lvalue types in
91         result_of expressions.
92         * testsuite/30_threads/packaged_task/79486.cc: New.
94 2017-02-11  Jonathan Wakely  <jwakely@redhat.com>
96         PR libstdc++/79467
97         * include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
98         (__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
99         __is_callable check.
100         * testsuite/20_util/shared_ptr/cons/79467.cc: New.
102         * include/bits/atomic_base.h: Re-indent.
104 2017-02-10  Gerald Pfeifer  <gerald@pfeifer.com> 
106         * doc/xml/manual/profile_mode.xml: Update a paper reference. 
108 2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
110         * src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
112 2017-02-08  Jonathan Wakely  <jwakely@redhat.com>
114         * doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
115         name.
116         * doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
117         broken links to texts that are no longer online.
118         * doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
119         LCPC 2006 paper.
120         * doc/xml/manual/using.xml: Update links to memory model information.
121         * doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
122         Standard-Library Exception Safety".
123         * doc/html/*: Regenerate.
125 2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
126         
127         * doc/xml/manual/profile_mode.xml: Unbreak link to
128         "Optimizing Sorting with Machine Learning Algorithms".
130 2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
131         
132         * src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
134 2017-02-08  Gerald Pfeifer  <gerald@pfeifer.com>
135         
136         * doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
137         Migration Guide".
139 2017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
141         * doc/html/ext/lwg-active.html: Remove.
142         * doc/html/ext/lwg-closed.html: Ditto.
143         * doc/html/ext/lwg-defects.html: Ditto.
145         * doc/Makefile.am (xml_extradir): Remove.
146         (xml_extra): Ditto.
147         (stamp-html-docbook-lwg): Remove recipe...
148         (stamp-html-docbook-data): ...and its use here.
149         * doc/Makefile.in: Regenerate.
151         * doc/xml/manual/intro.xml: Shorten two paragraphs explaining
152         the relationship to the upstream working group.
153         Replace a local link to ../ext/lwg-active.html by the upstream one.
154         Replace all reference to ../ext/lwg-defects.html by a new entity
155         &DR; which refers to the upstream address.
157 2017-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
159         * doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
161 2017-02-06  Jonathan Wakely  <jwakely@redhat.com>
163         PR libstdc++/79323
164         * testsuite/20_util/duration/literals/range.cc: Prune extra output
165         at -O0.
167 2017-02-06  Gerald Pfeifer  <gerald@pfeifer.com>
169         * doc/xml/manual/documentation_hacking.xml: Update URL of the
170         DocBook Element Reference.  Use that term as link description
171         instead of "online".
172         epubcheck has moved to GitHub.
173         Remove obsolete link to DocBook Publishing Tools.
175 2017-02-03  Jonathan Wakely  <jwakely@redhat.com>
177         PR libstdc++/66145
178         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
179         so new ios::failure can be caught even when old ABI is the default.
180         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
181         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
182         exceptions_failbit.cc: Likewise.
183         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
184         exceptions_failbit.cc: Likewise.
185         * testsuite/27_io/basic_istream/extractors_other/char/
186         exceptions_null.cc: Likewise.
187         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
188         exceptions_null.cc: Likewise.
189         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
190         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
191         * testsuite/27_io/basic_ostream/inserters_other/char/
192         exceptions_null.cc: Likewise.
193         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
194         exceptions_null.cc: Likewise.
195         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
197         PR libstdc++/60936
198         * src/c++11/Makefile.am: Add new files.
199         * src/c++11/Makefile.in: Regenerate.
200         * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
201         (operator<<, operator>>, getline): Move explicit instantiations to ...
202         * src/c++11/cow-string-io-inst.cc: ... new file.
203         * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
204         (operator<<, operator>>, getline): Move explicit instantiations to ...
205         * src/c++11/cow-wstring-io-inst.cc: ... new file.
206         * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
207         (__throw_future_error, __throw_bad_function_call):
208         (__throw_regex_error): Move functions for C++11 exceptions to the
209         files that define the exception types.
210         * src/c++11/functional.cc (__throw_bad_function_call): Move here.
211         * src/c++11/future.cc (__throw_future_error): Likewise.
212         * src/c++11/ios.cc (__throw_ios_failure): Likewise.
213         * src/c++11/regex.cc (__throw_regex_error): Likewise.
214         * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
215         representation directly instead of calling __int_to_char.
216         * src/c++11/sso_string.cc (__sso_string): New file for definition
217         of __sso_string type.
218         * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
219         explicit instantiations of narrow string I/O functions.
220         * src/c++11/system_error.cc (__throw_system_error): Move here.
221         (__sso_string): Move to new file.
222         * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
223         explicit instantiations of wide string I/O functions.
224         * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
225         (operator>>, getline): Remove explicit instantiations from here.
227 2017-02-02  H.J. Lu  <hongjiu.lu@intel.com>
229         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
231 2017-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
233         * configure.host: Separate Solaris/SPARC and x86 baselines.
234         * config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
235         * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
236         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
237         * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
238         ... here.
239         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
240         * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
241         * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
242         * config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
243         * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
244         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
245         * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
246         ... here.
247         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
248         * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
249         * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
251         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
252         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
253         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
254         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
255         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
256         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
258 2017-02-01  Jonathan Wakely  <jwakely@redhat.com>
260         PR libstdc++/78346
261         * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
262         not its referent.
263         (_Iter_comp_to_iter): Likewise.
264         * testsuite/25_algorithms/search/78346.cc: New test.
266         PR libstdc++/79254
267         * config/abi/pre/gnu.ver: Remove recently added symbols.
268         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
269         (basic_string::_M_copy_assign): Remove.
270         (basic_string::operator=(const basic_string&)): Don't dispatch to
271         _M_copy_assign. If source object is small just deallocate, otherwise
272         perform new allocation before making any changes.
273         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
274         (basic_string::_M_copy_assign(const basic_string&, true_type)):
275         Remove.
276         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
277         Test cases where the allocators are equal or the string is small.
278         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
279         Likewise.
281 2017-01-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
283         Implement LWG 2825, LWG 2756 breaks class template argument
284         deduction for optional.
285         * include/std/optional: Add a deduction guide.
286         * testsuite/20_util/optional/cons/deduction_guide.cc: New.
288 2017-01-27  Jonathan Wakely  <jwakely@redhat.com>
290         PR libstdc++/79254
291         * config/abi/pre/gnu.ver: Add new symbols.
292         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
293         (basic_string::_M_copy_assign): New overloaded functions to perform
294         copy assignment.
295         (basic_string::operator=(const basic_string&)): Dispatch to
296         _M_copy_assign.
297         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
298         (basic_string::_M_copy_assign(const basic_string&, true_type)):
299         Define, performing rollback on exception.
300         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
301         Test exception-safety guarantee.
302         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
303         Likewise.
304         * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
305         std::swap visible.
307 2017-01-26  Jonathan Wakely  <jwakely@redhat.com>
309         PR libstdc++/70607
310         * include/tr1/complex (conj): Remove using-declaration and restore
311         overloads, reverting previous change.
313         * testsuite/23_containers/list/operations/78389.cc: Fix for C++11
314         mode.
315         * testsuite/23_containers/priority_queue/requirements/constructible.cc:
316         Mark as unsupported in C++98 mode.
317         * testsuite/23_containers/queue/requirements/constructible.cc:
318         Likewise.
319         * testsuite/23_containers/stack/requirements/constructible.cc:
320         Likewise.
321         * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
323         PR libstdc++/79243
324         * include/bits/c++config (literals::string_view_literals::__7): Add.
325         Only declare versioned namespaces for the relevant C++ dialects.
326         * include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
327         Add versioning macros.
328         * include/experimental/bits/lfts_config.h:
329         (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
330         * include/experimental/string_view (fundamentals_v2::__detail):
331         Add versioning macros.
332         (fundamentals_v2::__detail::__identity): Remove.
333         (fundamentals_v2::__detail::__idt): Use common_type instead of
334         __detail::__identity.
335         * include/std/string_view (__detail::__identity, __detail::__idt):
336         Likewise.
337         (literals::string_view_literals): Fix nesting of versioning macros.
339         PR libstdc++/79190
340         * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
341         [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
342         && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
343         Retrieve original pointer value allocated by malloc.
344         * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
345         && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
346         && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
347         Define, adjusting pointer value allocated by malloc and storing for
348         retrieval by operator delete.
350 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
352         * libsupc++/eh_atomics.h: Update copyright years.
353         * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
355 2017-01-25  Jonathan Wakely  <jwakely@redhat.com>
357         PR libstdc++/61791
358         PR libstdc++/70607
359         * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
360         (proj(T), conj(T)): Change return types per DR 1522.
361         * include/tr1/complex (conj): Remove overloads and use std::conj.
362         * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
363         * testsuite/26_numerics/complex/dr781.cc: ... this, and update.
364         * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
365         real(T) and imag(T). Allow testing for C++11 too.
367 2017-01-24  Jonathan Wakely  <jwakely@redhat.com>
369         PR libstdc++/79206
370         * include/experimental/string_view (operator==): Check sizes first.
371         * include/std/string_view (operator==): Likewise.
373 2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
375         * testsuite/experimental/array/make_array.cc: Restore <functional>
376         inclusion.
378 2017-01-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
380         * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
382 2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
384         PR libstdc++/79195
385         * include/experimental/array (__make_array_elem): New class template
386         and partial specialization.
387         (__is_reference_wrapper): Move into __make_array_elem specialization.
388         (make_array): Use __make_array_elem to determine element type and move
389         static assertion into specialization. Qualify std::forward call.
390         (to_array): Add exception specifiation.
391         * testsuite/experimental/array/make_array.cc: Test argument types
392         without a common type.
393         * testsuite/experimental/array/neg.cc: Adjust expected error message.
395 2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
397         * doc/xml/manual/debug.xml: code.google.com uses https now.
399 2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
400         
401         * doc/xml/manual/test.xml: Fix link into gccint online manual.
403 2017-01-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
405         Make poisoned hashes SFINAE away the call operator of the hash.
406         * include/bits/functional_hash.h
407         (__poison_hash::__enable_hash_call): New.
408         * include/std/optional (__optional_hash_call_base): New.
409         (hash<optional<_Tp>>): Derive from the new base,
410         move the hash function into that base.
411         * include/std/variant (__variant_hash_call_base_impl): New.
412         (__variant_hash_call_base): Likewise.
413         (hash<variant<_Types...>>): Derive from the new base,
414         move the hash function into that base.
415         * testsuite/20_util/optional/hash.cc: Add tests for is_callable.
416         * testsuite/20_util/variant/hash.cc: Likewise.
418 2017-01-20  Joe Seymour  <joe.s@somniumtech.com>
420         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
421         * configure: Regenerate.
423 2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
425         PR libstdc++/69240
426         * include/bits/random.h (uniform_real_distribution::param_type)
427         (normal_distribution::param_type, lognormal_distribution::param_type)
428         (gamma_distribution::param_type, chi_squared_distribution::param_type)
429         (cauchy_distribution::param_type, fisher_f_distribution::param_type)
430         (student_t_distribution::param_type)
431         (bernoulli_distribution::param_type, binomial_distribution::param_type)
432         (geometric_distribution::param_type)
433         (negative_binomial_distribution::param_type)
434         (poisson_distribution::param_type)
435         (exponential_distribution::param_type)
436         (weibull_distribution::param_type)
437         (extreme_value_distribution::param_type)
438         (discrete_distribution::param_type)
439         (piecewise_constant_distribution::param_type)
440         (piecewise_linear_distribution::param_type): Define operator!=.
441         * include/bits/uniform_int_dist.h
442         (uniform_int_distribution::param_type): Likewise.
443         * include/ext/random (beta_distribution::param_type)
444         (rice_distribution::param_type, nakagami_distribution::param_type)
445         (pareto_distribution::param_type, k_distribution::param_type)
446         (arcsine_distribution::param_type, hoyt_distribution::param_type)
447         (triangular_distribution::param_type)
448         (von_mises_distribution::param_type)
449         (hypergeometric_distribution::param_type)
450         (logistic_distribution::param_type)
451         (uniform_on_sphere_distribution::param_type)
452         (uniform_inside_sphere_distribution::param_type): Likewise.
453         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
454         Test construction with param_type.
455         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
456         Likewise.
457         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
458         Likewise.
459         * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
460         Likewise.
461         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
462         Likewise.
463         * testsuite/26_numerics/random/extreme_value_distribution/cons/
464         parms.cc: Likewise.
465         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
466         Likewise.
467         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
468         Likewise.
469         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
470         Likewise.
471         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
472         Likewise.
473         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
474         parms.cc: Likewise.
475         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
476         Likewise.
477         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
478         Likewise.
479         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
480         Likewise.
481         * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
482         Likewise.
483         * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
484         Likewise.
485         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
486         Likewise.
487         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
488         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
489         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
490         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
491         Likewise.
492         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
493         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
494         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
495         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
496         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
497         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
498         * testsuite/ext/random/triangular_distribution/cons/parms.cc:
499         Likewise.
500         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
501         parms.cc: Likewise.
502         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
504         PR libstdc++/72792
505         * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
506         (__allocator_traits_base::__size_type): Remove.
507         (allocator_traits::_Ptr): New class template to detect const and void
508         pointer types without instantiating pointer_traits::rebind
509         unnecessarily.
510         (allocator_traits::_Diff): Likewise for detecting difference_type.
511         (allocator_traits::_Size): New class template to detect size_type
512         without instantiating make_unsigned unnecessarily.
513         * include/bits/ptr_traits.h (pointer_traits::element_type): Use
514         __detected_or_t instead of __detected_or_t_.
515         * include/std/type_traits (__detected_or_t_): Remove.
516         * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
518         PR libstdc++/72792
519         PR libstdc++/72793
520         * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
521         Replace with class template using void_t.
522         (__alloc_rebind): Define in terms of
523         __allocator_traits_base::__rebind.
524         (allocator_traits): Remove unconditional static_assert for
525         rebind_alloc.
526         * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
527         (pointer_traits::__rebind): Replace with class template using void_t.
528         (pointer_traits::rebind): Define in terms of __rebind.
529         (pointer_traits): Remove unconditional static_assert for rebind.
530         * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
531         * testsuite/20_util/pointer_traits/rebind.cc: New test.
533         PR libstdc++/69321
534         * include/experimental/any (__any_caster): Avoid instantiating
535         manager function for types that can't be stored in any.
536         * include/std/any (__any_caster): Likewise.
537         * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
538         * testsuite/experimental/any/misc/any_cast.cc: Likewise.
540         PR libstdc++/64903
541         * include/bits/stl_algo.h (is_partitioned): Use increment instead of
542         std::advance.
544 2017-01-19  Jonathan Wakely  <jwakely@redhat.com>
546         PR libstdc++/79156
547         * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
548         Fix return type.
549         (__enable_shared_from_this): Declare __shared_ptr as a friend.
550         * testsuite/ext/shared_ptr/1.cc: New test.
552         PR libstdc++/64903
553         * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
554         point.
555         * testsuite/25_algorithms/is_partitioned/2.cc: New test.
557         * doc/xml/manual/abi.xml: Fix typo.
558         * doc/html/manual/abi.html: Likewise.
560         PR libstdc++/67085
561         * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
562         converting constructors from _Iter_less_iter.
563         (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
564         _Iter_comp_iter.
565         (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
566         (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
567         * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
568         (__make_heap, __sort_heap): Change _Compare parameters to references.
569         (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
570         (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
571         functions as lvalues.
572         (is_heap): Call __is_heap_until directly to avoid copying __comp.
573         * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
574         count copies during construction with empty sequence.
576         PR libstdc++/67085
577         * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
578         (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
579         * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
580         number of copies.
581         * testsuite/25_algorithms/make_heap/movable.cc: New test.
583         PR libstdc++/67085
584         * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
585         (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
586         _GLIBCXX_MOVE when passing comparison function to other functions.
587         (is_heap_until, is_heap): Use std::move when passing comparison
588         function.
589         * testsuite/23_containers/priority_queue/67085.cc: New test.
591         PR libstdc++/78905
592         * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
593         macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
594         Document that the deprecated _GLIBCXX_VERSION macro was removed for
595         the 4.0.0 release.
596         * doc/html/*: Regenerate.
597         * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
598         * include/Makefile.in: Regenerate.
599         * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
600         * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
601         dg-error.
603 2017-01-18  Jonathan Wakely  <jwakely@redhat.com>
605         PR libstdc++/69301
606         * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
607         aligned buffer instead of default-initialized variable.
608         * testsuite/29_atomics/atomic/69301.cc: New test.
609         * include/experimental/memory (observer_ptr::release): Use reserved
610         name.
611         * include/ext/pointer.h (_Pointer_adapter::operator++(int))
612         (_Pointer_adapter::operator--(int)): Likewise.
614         PR libstdc++/68925
615         * include/experimental/random (randint): Use temporary instead of
616         thread_local static.
618 2017-01-17  Joshua Conner  <joshconner@google.com>
620         * crossconfig.m4: Add fuchsia OS.
621         * configure: Regenerate. 
623 2017-01-17  Jonathan Wakely  <jwakely@redhat.com>
625         PR libstdc++/69699
626         * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
627         __GLIBCXX__ macro is not useful. Remove redundant date information
628         and link to the GCC release timeline.
629         (abi.versioning.active): Move partial sentence into the previous
630         paragraph.
631         * doc/html/*: Regenerate.
633         PR libstdc++/79114
634         * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
635         of remove_reference.
636         * testsuite/18_support/nested_exception/79114.cc: New test.
638 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
640         PR other/79046
641         * configure.ac: Add GCC_BASE_VER.
642         * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
643         get version from BASE-VER file.
644         * po/Makefile.in: Regenerated.
645         * libsupc++/Makefile.in: Regenerated.
646         * testsuite/Makefile.in: Regenerated.
647         * src/Makefile.in: Regenerated.
648         * configure: Regenerated.
649         * Makefile.in: Regenerated.
650         * include/Makefile.in: Regenerated.
651         * doc/Makefile.in: Regenerated.
652         * python/Makefile.in: Regenerated.
653         * src/c++11/Makefile.in: Regenerated.
654         * src/c++98/Makefile.in: Regenerated.
655         * src/filesystem/Makefile.in: Regenerated.
657 2017-01-16  Jonathan Wakely  <jwakely@redhat.com>
659         PR libstdc++/66145
660         * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
661         exceptions.
662         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
663         for test, so new ios::failure can be caught.
664         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
665         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
666         exceptions_failbit.cc: Likewise.
667         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
668         exceptions_failbit.cc: Likewise.
669         * testsuite/27_io/basic_istream/extractors_other/char/
670         exceptions_null.cc: Likewise.
671         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
672         exceptions_null.cc: Likewise.
673         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
674         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
675         * testsuite/27_io/basic_ostream/inserters_other/char/
676         exceptions_null.cc: Likewise.
677         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
678         exceptions_null.cc: Likewise.
679         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
681         PR libstdc++/78702
682         * include/bits/locale_classes.h (locale::facet::__shim): Change from
683         private to protected.
684         * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
685         make locale::facet::__shim accessible.
687 2017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
689         PR libstdc++/78389
690         * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
691         (merge(list&&, _StrictWeakOrdering)): Likewise.
692         * testsuite/23_containers/list/operations/78389.cc: Add
693         better test for the sizes.
695 2017-01-14  Jonathan Wakely  <jwakely@redhat.com>
697         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
698         Skip test when -D_GLIBCXX_PROFILE mode is included in options.
699         * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
700         * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
701         Likewise.
702         * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
703         * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
704         * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
705         * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
706         * testsuite/23_containers/unordered_map/modifiers/extract.cc:
707         Likewise.
708         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
709         Likewise.
710         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
711         Likewise.
712         * testsuite/23_containers/unordered_set/modifiers/extract.cc:
713         Likewise.
714         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
715         Likewise.
716         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
717         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
718         * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
719         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
720         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
721         * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
722         * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
723         * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
724         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
725         * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
726         * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
727         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
728         * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
730 2017-01-13  Jonathan Wakely  <jwakely@redhat.com>
732         PR libstdc++/65411
733         * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
734         retry fclose on EINTR.
736         * include/profile/base.h: Remove unused header that leads to header
737         cycle in C++17 mode.
739         PR libstdc++/79075
740         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
741         Make _If_sv private.
742         [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
743         basic_string_view arguments.
745         PR libstdc++/79075
746         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
747         redundant option from cxxflags.
748         (check_effective_target_cxx11-abi): Define.
749         * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
750         effective target.
751         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
752         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
753         Likewise.
754         * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
755         Likewise.
756         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
757         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
758         Likewise.
759         * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
760         Likewise.
761         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
762         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
763         Likewise.
764         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
765         Likewise.
766         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
767         Likewise.
768         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
769         Likewise.
770         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
771         Likewise.
772         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
773         Likewise.
774         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
775         Likewise.
776         * testsuite/23_containers/list/61347.cc: Likewise.
777         * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
778         * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
780 2017-01-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
782         PR libstdc++/78389
783         * include/bits/list.tcc (merge(list&&)):
784         Adjust list sizes if the comparator throws.
785         (merge(list&&, _StrictWeakOrdering)): Likewise.
786         (sort()): Splice elements back from the scratch buffers
787         if the comparator throws.
788         (sort(_StrictWeakOrdering)): Likewise.
789         * testsuite/23_containers/list/operations/78389.cc: New.
791 2017-01-13  Jonathan Wakely  <jwakely@redhat.com>
793         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
794         XFAIL for C++17 until node reinsertion supports fancy pointers.
796         PR libstdc++/78361
797         * testsuite/20_util/add_pointer/value.cc: Test forming function
798         pointers.
800 2017-01-13  Michael Brune  <lucdanton@free.fr>
802         PR libstdc++/78361
803         * include/std/type_traits (__is_referenceable): Handle noexcept
804         function types.
806 2017-01-12  Jonathan Wakely  <jwakely@redhat.com>
808         PR libstdc++/77528
809         * include/bits/stl_queue.h (queue, priority_queue): Remove default
810         member-initializers and define default constructors as templates with
811         constraints.
812         * include/bits/stl_stack.h (stack): Likewise.
813         * testsuite/23_containers/priority_queue/requirements/constructible.cc:
814         New.
815         * testsuite/23_containers/priority_queue/requirements/
816         explicit_instantiation/1.cc: Test more instantiations.
817         * testsuite/23_containers/priority_queue/requirements/
818         explicit_instantiation/1_c++98.cc: Likewise.
819         * testsuite/23_containers/queue/requirements/constructible.cc: New.
820         * testsuite/23_containers/stack/requirements/constructible.cc: New.
822         PR libstdc++/66284
823         * doc/xml/manual/intro.xml: Document LWG 2781 change.
824         * doc/html/*: Regenerate.
825         * include/std/functional (_Function_base::_Ref_manager): Remove.
826         (_Function_handler): Remove partial specializations for
827         reference_wrapper.
828         (function::target): Remove special case for const qualification.
829         * testsuite/20_util/function/6.cc: Adjust tests for target type.
830         * testsuite/20_util/function/7.cc: Likewise.
831         * testsuite/20_util/function/8.cc: Likewise.
833 2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
835         PR libstdc++/78134
836         * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
837         (map::equal_range): Fix return type of heterogeneous overloads.
838         * include/bits/stl_multimap.h (multimap::lower_bound)
839         (multimap::upper_bound, multimap::equal_range): Likewise.
840         * include/bits/stl_multiset.h (multiset::lower_bound)
841         (multiset::upper_bound, multiset::equal_range): Likewise.
842         * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
843         (set::equal_range): Likewise.
844         * testsuite/23_containers/map/operations/2.cc
845         * testsuite/23_containers/multimap/operations/2.cc
846         * testsuite/23_containers/multiset/operations/2.cc
847         * testsuite/23_containers/set/operations/2.cc
849         PR libstdc++/78273
850         * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
851         the heterogeneous comparison can only find one match.
852         * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
853         * testsuite/23_containers/map/operations/2.cc: Test count works with
854         comparison function that just partitions rather than sorting.
855         * testsuite/23_containers/set/operations/2.cc: Likewise.
857 2017-01-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
859         Reduce the size of variant, it doesn't need an index of
860         type size_t internally.
861         * include/std/variant (parse_numbers.h): New include.
862         (__select_index): New.
863         (_Variant_storage<false, _Types...>::_M_reset_impl): Use
864         _index_type for comparison with variant_npos.
865         (_Variant_storage<false, _Types...>::__index_type): New.
866         (_Variant_storage<false, _Types...>::_M_index): Change the
867         type from size_t to __index_type.
868         (_Variant_storage<true, _Types...>::__index_type): New.
869         (_Variant_storage<true, _Types...>::_M_index): Change the
870         type from size_t to __index_type.
871         (_Variant_base::_M_valid): Use _Storage::__index_type
872         for comparison with variant_npos.
873         (variant::index): Use _Base::_Storage::__index_type
874         for comparison with variant_npos.
875         * testsuite/20_util/variant/index_type.cc: New.
877 2017-01-10  Jonathan Wakely  <jwakely@redhat.com>
879         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
880         effective target selector to prevent running in C++17 mode.
882         PR libstdc++/77528
883         * include/bits/stl_queue.h (queue::c): Add default member initializer.
884         (queue::queue()): Add constructor and define as defaulted.
885         (queue::queue(_Sequence&&)): Remove default argument.
886         (priority_queue::c, priority_queue::comp): Add default member
887         initializers.
888         (priority_queue::priority_queue()): Add constructor and define as
889         defaulted.
890         (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
891         Remove default argument for first parameter.
892         * include/bits/stl_stack.h (stack::c): Add default member initializer.
893         (stack::stack()): Add constructor and define as defaulted.
894         (stack::stack(const _Sequence&)): Remove default argument.
895         * testsuite/23_containers/priority_queue/requirements/
896         explicit_instantiation/1.cc: Test explicit instantiation with
897         non-DefaultConstructible sequence.
898         * testsuite/23_containers/priority_queue/77528.cc: New test.
899         * testsuite/23_containers/priority_queue/requirements/
900         explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
901         * testsuite/23_containers/queue/77528.cc: New test.
902         * testsuite/23_containers/queue/requirements/explicit_instantiation/
903         1.cc: Test explicit instantiation with non-DefaultConstructible
904         sequence.
905         * testsuite/23_containers/queue/requirements/explicit_instantiation/
906         1_c++0x.cc: Replace with 1_c++98.cc.
907         * testsuite/23_containers/stack/77528.cc: New test.
908         * testsuite/23_containers/stack/requirements/explicit_instantiation/
909         1.cc: Test explicit instantiation with non-DefaultConstructible
910         sequence.
911         * testsuite/23_containers/stack/requirements/explicit_instantiation/
912         1_c++0x.cc: Replace with 1_c++98.cc.
914 2017-01-10  Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
916         * include/bits/locale_facets_nonio.tcc
917         (time_get::_M_extract_via_format): Avoid compilation errors with
918         non-standard struct tm.
920 2017-01-10  François Dumont  <fdumont@gcc.gnu.org>
921             Jonathan Wakely  <jwakely@redhat.com>
923         * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
924         (is_specialization, strip_versioned_namespace): New helpers functions
925         to work with symbols in the versioned namespace.
926         (Printer.add_version): Add second name using versioned namespace.
927         (add_one_template_type_printer, add_one_type_printer): Add second
928         type printers using versioned namespace.
929         (register_type_printers): Add template type printer for basic_string.
930         (build_libstdcxx_dictionary): Remove dead code.
931         * python/libstdcxx/v6/xmethods.py: Make all matchers look for
932         versioned namespace.
933         * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
934         results.
935         * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
937 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
939         PR libstdc++/79017
940         * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
941         functions separately on darwin and if they're missing define
942         _GLIBCXX_NO_C99_ROUNDING_FUNCS.
943         * config.h.in: Regenerate.
944         * configure: Regenerate.
945         * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
946         (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
948         * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
949         to detect correct thread_local destructors.
950         * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
951         Define.
953 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
954             Aditya Kumar  <hiraditya@msn.com>
956         PR libstdc++/66414
957         * include/bits/basic_string.tcc
958         (basic_string::find(const CharT*, size_type, size_type)): Optimize.
960 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
962         * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
963         * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
965         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
966         Include <cassert> header.
968         PR libstdc++/78968
969         * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
970         * configure: Regenerate.
972 2017-01-06  Barrett Adair  <barrettellisadair@gmail.com>
973             Jonathan Wakely  <jwakely@redhat.com>
975         * include/std/variant (variant, swap): Replace __and_ usage with fold
976         expressions.
978 2017-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
980         PR go/78978
981         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
982         * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
983         GLIBCXX_CHECK_ASSEMBLER_HWCAP.
984         * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
985         HWCAP_FLAGS.
986         * aclocal.m4: Regenerate.
987         * configure: Regenerate.
988         * Makefile.in, doc/Makefile.in, include/Makefile.in,
989         libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
990         src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
991         src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
993 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
995         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
997         PR libstdc++/78991
998         * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
999         (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
1000         (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
1001         move function objects.
1002         (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
1003         (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
1004         * testsuite/25_algorithms/sort/78991.cc: New test.
1006 2017-01-05  Jonathan Wakely  <jwakely@redhat.com>
1008         * include/bits/std_function.h (function::_Signature_type): Remove.
1009         (function::function(_Functor)): Adjust.
1011 2017-01-05  Tim Shen  <timshen@google.com>
1013         PR libstdc++/78996
1014         * include/std/variant (__gen_vtable_impl): rename __unused to
1015         __dimensions to avoid naming conflict.
1017 2017-01-04  Jonathan Wakely  <jwakely@redhat.com>
1019         PR libstdc++/78968
1020         * config.h.in: Regenerate.
1021         * configure: Likewise.
1022         * configure.ac: Check for __cxa_thread_atexit.
1023         * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
1024         Don't define __cxa_thread_atexit if libc provides it.
1026 2017-01-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
1028         Implement 2801, Default-constructibility of unique_ptr.
1029         * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
1030         (unique_ptr::_DeleterConstraint): Likewise.
1031         (unique_ptr()): Constrain.
1032         (unique_ptr(pointer)): Likewise.
1033         (unique_ptr(nullptr_t)): Likewise.
1034         (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
1035         (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
1036         (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
1037         (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
1038         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
1039         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
1040         * testsuite/20_util/unique_ptr/cons/default.cc: New.
1041         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
1043 2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
1044             Jonathan Wakely  <jwakely@redhat.com>
1046         PR libstdc++/64735
1047         * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
1048         * config.h.in: Regenerate.
1049         * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
1050         (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
1051         exports for exception_ptr, nested_exception, and future conditional.
1052         [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
1053         exports for exception_ptr, nested_exception, and future conditional.
1054         * configure: Regenerate.
1055         * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
1056         * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
1057         * libsupc++/eh_atomics.h: New file for internal use only.
1058         (__eh_atomic_inc, __eh_atomic_dec): New.
1059         * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
1060         (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
1061         (rethrow_exception): Use eh_atomics.h reference counting helpers.
1062         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
1063         * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
1064         * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
1065         * libsupc++/exception_ptr.h: Likewise.
1066         * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
1067         * libsupc++/nested_exception.cc: Remove check for
1068         ATOMIC_INT_LOCK_FREE.
1069         * libsupc++/nested_exception.h: Likewise.
1070         * src/c++11/future.cc: Likewise.
1071         * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
1072         * testsuite/18_support/nested_exception/*: Likewise.
1073         * testsuite/30_threads/async/*: Likewise.
1074         * testsuite/30_threads/future/*: Likewise.
1075         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
1076         * testsuite/30_threads/packaged_task/*: Likewise.
1077         * testsuite/30_threads/promise/*: Likewise.
1078         * testsuite/30_threads/shared_future/*: Likewise.
1080 2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
1082         * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
1083         defaults to https; adjust reference.
1085 2017-01-03  Jonathan Wakely  <jwakely@redhat.com>
1087         PR libstdc++/78956
1088         * include/std/thread (thread(const thread&&)): Add deleted
1089         constructor.
1090         * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
1092         * doc/xml/manual/spine.xml: Update copyright years.
1093         * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
1094         * doc/xml/manual/test.xml: Likewise.
1095         * doc/html/*: Regenerate.
1097 2017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
1099         * doc/xml/faq.xml: Update address of C++ ABI link.
1100         * doc/xml/manual/abi.xml: Ditto.
1101         
1102 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
1104         Update copyright years.
1106 Copyright (C) 2017 Free Software Foundation, Inc.
1108 Copying and distribution of this file, with or without modification,
1109 are permitted in any medium without royalty provided the copyright
1110 notice and this notice are preserved.