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