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