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