1 2017-01-20 Joe Seymour <joe.s@somniumtech.com>
3 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
4 * configure: Regenerate.
6 2017-01-20 Jonathan Wakely <jwakely@redhat.com>
9 * include/bits/random.h (uniform_real_distribution::param_type)
10 (normal_distribution::param_type, lognormal_distribution::param_type)
11 (gamma_distribution::param_type, chi_squared_distribution::param_type)
12 (cauchy_distribution::param_type, fisher_f_distribution::param_type)
13 (student_t_distribution::param_type)
14 (bernoulli_distribution::param_type, binomial_distribution::param_type)
15 (geometric_distribution::param_type)
16 (negative_binomial_distribution::param_type)
17 (poisson_distribution::param_type)
18 (exponential_distribution::param_type)
19 (weibull_distribution::param_type)
20 (extreme_value_distribution::param_type)
21 (discrete_distribution::param_type)
22 (piecewise_constant_distribution::param_type)
23 (piecewise_linear_distribution::param_type): Define operator!=.
24 * include/bits/uniform_int_dist.h
25 (uniform_int_distribution::param_type): Likewise.
26 * include/ext/random (beta_distribution::param_type)
27 (rice_distribution::param_type, nakagami_distribution::param_type)
28 (pareto_distribution::param_type, k_distribution::param_type)
29 (arcsine_distribution::param_type, hoyt_distribution::param_type)
30 (triangular_distribution::param_type)
31 (von_mises_distribution::param_type)
32 (hypergeometric_distribution::param_type)
33 (logistic_distribution::param_type)
34 (uniform_on_sphere_distribution::param_type)
35 (uniform_inside_sphere_distribution::param_type): Likewise.
36 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
37 Test construction with param_type.
38 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
40 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
42 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
44 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
46 * testsuite/26_numerics/random/extreme_value_distribution/cons/
48 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
50 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
52 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
54 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
56 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
58 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
60 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
62 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
64 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
66 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
68 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
70 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
71 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
72 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
73 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
75 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
76 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
77 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
78 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
79 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
80 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
81 * testsuite/ext/random/triangular_distribution/cons/parms.cc:
83 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
85 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
88 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
89 (__allocator_traits_base::__size_type): Remove.
90 (allocator_traits::_Ptr): New class template to detect const and void
91 pointer types without instantiating pointer_traits::rebind
93 (allocator_traits::_Diff): Likewise for detecting difference_type.
94 (allocator_traits::_Size): New class template to detect size_type
95 without instantiating make_unsigned unnecessarily.
96 * include/bits/ptr_traits.h (pointer_traits::element_type): Use
97 __detected_or_t instead of __detected_or_t_.
98 * include/std/type_traits (__detected_or_t_): Remove.
99 * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
103 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
104 Replace with class template using void_t.
105 (__alloc_rebind): Define in terms of
106 __allocator_traits_base::__rebind.
107 (allocator_traits): Remove unconditional static_assert for
109 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
110 (pointer_traits::__rebind): Replace with class template using void_t.
111 (pointer_traits::rebind): Define in terms of __rebind.
112 (pointer_traits): Remove unconditional static_assert for rebind.
113 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
114 * testsuite/20_util/pointer_traits/rebind.cc: New test.
117 * include/experimental/any (__any_caster): Avoid instantiating
118 manager function for types that can't be stored in any.
119 * include/std/any (__any_caster): Likewise.
120 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
121 * testsuite/experimental/any/misc/any_cast.cc: Likewise.
124 * include/bits/stl_algo.h (is_partitioned): Use increment instead of
127 2017-01-19 Jonathan Wakely <jwakely@redhat.com>
130 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
132 (__enable_shared_from_this): Declare __shared_ptr as a friend.
133 * testsuite/ext/shared_ptr/1.cc: New test.
136 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
138 * testsuite/25_algorithms/is_partitioned/2.cc: New test.
140 * doc/xml/manual/abi.xml: Fix typo.
141 * doc/html/manual/abi.html: Likewise.
144 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
145 converting constructors from _Iter_less_iter.
146 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
148 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
149 (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
150 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
151 (__make_heap, __sort_heap): Change _Compare parameters to references.
152 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
153 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
154 functions as lvalues.
155 (is_heap): Call __is_heap_until directly to avoid copying __comp.
156 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
157 count copies during construction with empty sequence.
160 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
161 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
162 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
164 * testsuite/25_algorithms/make_heap/movable.cc: New test.
167 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
168 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
169 _GLIBCXX_MOVE when passing comparison function to other functions.
170 (is_heap_until, is_heap): Use std::move when passing comparison
172 * testsuite/23_containers/priority_queue/67085.cc: New test.
175 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
176 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
177 Document that the deprecated _GLIBCXX_VERSION macro was removed for
179 * doc/html/*: Regenerate.
180 * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
181 * include/Makefile.in: Regenerate.
182 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
183 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
186 2017-01-18 Jonathan Wakely <jwakely@redhat.com>
189 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
190 aligned buffer instead of default-initialized variable.
191 * testsuite/29_atomics/atomic/69301.cc: New test.
192 * include/experimental/memory (observer_ptr::release): Use reserved
194 * include/ext/pointer.h (_Pointer_adapter::operator++(int))
195 (_Pointer_adapter::operator--(int)): Likewise.
198 * include/experimental/random (randint): Use temporary instead of
201 2017-01-17 Joshua Conner <joshconner@google.com>
203 * crossconfig.m4: Add fuchsia OS.
204 * configure: Regenerate.
206 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
209 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
210 __GLIBCXX__ macro is not useful. Remove redundant date information
211 and link to the GCC release timeline.
212 (abi.versioning.active): Move partial sentence into the previous
214 * doc/html/*: Regenerate.
217 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
219 * testsuite/18_support/nested_exception/79114.cc: New test.
221 2017-01-17 Jakub Jelinek <jakub@redhat.com>
224 * configure.ac: Add GCC_BASE_VER.
225 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
226 get version from BASE-VER file.
227 * po/Makefile.in: Regenerated.
228 * libsupc++/Makefile.in: Regenerated.
229 * testsuite/Makefile.in: Regenerated.
230 * src/Makefile.in: Regenerated.
231 * configure: Regenerated.
232 * Makefile.in: Regenerated.
233 * include/Makefile.in: Regenerated.
234 * doc/Makefile.in: Regenerated.
235 * python/Makefile.in: Regenerated.
236 * src/c++11/Makefile.in: Regenerated.
237 * src/c++98/Makefile.in: Regenerated.
238 * src/filesystem/Makefile.in: Regenerated.
240 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
243 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
245 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
246 for test, so new ios::failure can be caught.
247 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
248 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
249 exceptions_failbit.cc: Likewise.
250 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
251 exceptions_failbit.cc: Likewise.
252 * testsuite/27_io/basic_istream/extractors_other/char/
253 exceptions_null.cc: Likewise.
254 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
255 exceptions_null.cc: Likewise.
256 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
257 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
258 * testsuite/27_io/basic_ostream/inserters_other/char/
259 exceptions_null.cc: Likewise.
260 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
261 exceptions_null.cc: Likewise.
262 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
265 * include/bits/locale_classes.h (locale::facet::__shim): Change from
266 private to protected.
267 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
268 make locale::facet::__shim accessible.
270 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
273 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
274 (merge(list&&, _StrictWeakOrdering)): Likewise.
275 * testsuite/23_containers/list/operations/78389.cc: Add
276 better test for the sizes.
278 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
280 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
281 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
282 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
283 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
285 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
286 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
287 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
288 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
289 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
291 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
293 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
295 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
297 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
299 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
300 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
301 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
302 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
303 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
304 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
305 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
306 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
307 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
308 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
309 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
310 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
311 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
313 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
316 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
317 retry fclose on EINTR.
319 * include/profile/base.h: Remove unused header that leads to header
323 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
325 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
326 basic_string_view arguments.
329 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
330 redundant option from cxxflags.
331 (check_effective_target_cxx11-abi): Define.
332 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
334 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
335 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
337 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
339 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
340 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
342 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
344 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
345 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
347 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
349 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
351 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
353 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
355 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
357 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
359 * testsuite/23_containers/list/61347.cc: Likewise.
360 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
361 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
363 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
366 * include/bits/list.tcc (merge(list&&)):
367 Adjust list sizes if the comparator throws.
368 (merge(list&&, _StrictWeakOrdering)): Likewise.
369 (sort()): Splice elements back from the scratch buffers
370 if the comparator throws.
371 (sort(_StrictWeakOrdering)): Likewise.
372 * testsuite/23_containers/list/operations/78389.cc: New.
374 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
376 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
377 XFAIL for C++17 until node reinsertion supports fancy pointers.
380 * testsuite/20_util/add_pointer/value.cc: Test forming function
383 2017-01-13 Michael Brune <lucdanton@free.fr>
386 * include/std/type_traits (__is_referenceable): Handle noexcept
389 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
392 * include/bits/stl_queue.h (queue, priority_queue): Remove default
393 member-initializers and define default constructors as templates with
395 * include/bits/stl_stack.h (stack): Likewise.
396 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
398 * testsuite/23_containers/priority_queue/requirements/
399 explicit_instantiation/1.cc: Test more instantiations.
400 * testsuite/23_containers/priority_queue/requirements/
401 explicit_instantiation/1_c++98.cc: Likewise.
402 * testsuite/23_containers/queue/requirements/constructible.cc: New.
403 * testsuite/23_containers/stack/requirements/constructible.cc: New.
406 * doc/xml/manual/intro.xml: Document LWG 2781 change.
407 * doc/html/*: Regenerate.
408 * include/std/functional (_Function_base::_Ref_manager): Remove.
409 (_Function_handler): Remove partial specializations for
411 (function::target): Remove special case for const qualification.
412 * testsuite/20_util/function/6.cc: Adjust tests for target type.
413 * testsuite/20_util/function/7.cc: Likewise.
414 * testsuite/20_util/function/8.cc: Likewise.
416 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
419 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
420 (map::equal_range): Fix return type of heterogeneous overloads.
421 * include/bits/stl_multimap.h (multimap::lower_bound)
422 (multimap::upper_bound, multimap::equal_range): Likewise.
423 * include/bits/stl_multiset.h (multiset::lower_bound)
424 (multiset::upper_bound, multiset::equal_range): Likewise.
425 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
426 (set::equal_range): Likewise.
427 * testsuite/23_containers/map/operations/2.cc
428 * testsuite/23_containers/multimap/operations/2.cc
429 * testsuite/23_containers/multiset/operations/2.cc
430 * testsuite/23_containers/set/operations/2.cc
433 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
434 the heterogeneous comparison can only find one match.
435 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
436 * testsuite/23_containers/map/operations/2.cc: Test count works with
437 comparison function that just partitions rather than sorting.
438 * testsuite/23_containers/set/operations/2.cc: Likewise.
440 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
442 Reduce the size of variant, it doesn't need an index of
443 type size_t internally.
444 * include/std/variant (parse_numbers.h): New include.
445 (__select_index): New.
446 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
447 _index_type for comparison with variant_npos.
448 (_Variant_storage<false, _Types...>::__index_type): New.
449 (_Variant_storage<false, _Types...>::_M_index): Change the
450 type from size_t to __index_type.
451 (_Variant_storage<true, _Types...>::__index_type): New.
452 (_Variant_storage<true, _Types...>::_M_index): Change the
453 type from size_t to __index_type.
454 (_Variant_base::_M_valid): Use _Storage::__index_type
455 for comparison with variant_npos.
456 (variant::index): Use _Base::_Storage::__index_type
457 for comparison with variant_npos.
458 * testsuite/20_util/variant/index_type.cc: New.
460 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
462 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
463 effective target selector to prevent running in C++17 mode.
466 * include/bits/stl_queue.h (queue::c): Add default member initializer.
467 (queue::queue()): Add constructor and define as defaulted.
468 (queue::queue(_Sequence&&)): Remove default argument.
469 (priority_queue::c, priority_queue::comp): Add default member
471 (priority_queue::priority_queue()): Add constructor and define as
473 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
474 Remove default argument for first parameter.
475 * include/bits/stl_stack.h (stack::c): Add default member initializer.
476 (stack::stack()): Add constructor and define as defaulted.
477 (stack::stack(const _Sequence&)): Remove default argument.
478 * testsuite/23_containers/priority_queue/requirements/
479 explicit_instantiation/1.cc: Test explicit instantiation with
480 non-DefaultConstructible sequence.
481 * testsuite/23_containers/priority_queue/77528.cc: New test.
482 * testsuite/23_containers/priority_queue/requirements/
483 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
484 * testsuite/23_containers/queue/77528.cc: New test.
485 * testsuite/23_containers/queue/requirements/explicit_instantiation/
486 1.cc: Test explicit instantiation with non-DefaultConstructible
488 * testsuite/23_containers/queue/requirements/explicit_instantiation/
489 1_c++0x.cc: Replace with 1_c++98.cc.
490 * testsuite/23_containers/stack/77528.cc: New test.
491 * testsuite/23_containers/stack/requirements/explicit_instantiation/
492 1.cc: Test explicit instantiation with non-DefaultConstructible
494 * testsuite/23_containers/stack/requirements/explicit_instantiation/
495 1_c++0x.cc: Replace with 1_c++98.cc.
497 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
499 * include/bits/locale_facets_nonio.tcc
500 (time_get::_M_extract_via_format): Avoid compilation errors with
501 non-standard struct tm.
503 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
504 Jonathan Wakely <jwakely@redhat.com>
506 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
507 (is_specialization, strip_versioned_namespace): New helpers functions
508 to work with symbols in the versioned namespace.
509 (Printer.add_version): Add second name using versioned namespace.
510 (add_one_template_type_printer, add_one_type_printer): Add second
511 type printers using versioned namespace.
512 (register_type_printers): Add template type printer for basic_string.
513 (build_libstdcxx_dictionary): Remove dead code.
514 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
516 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
518 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
520 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
523 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
524 functions separately on darwin and if they're missing define
525 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
526 * config.h.in: Regenerate.
527 * configure: Regenerate.
528 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
529 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
531 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
532 to detect correct thread_local destructors.
533 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
536 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
537 Aditya Kumar <hiraditya@msn.com>
540 * include/bits/basic_string.tcc
541 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
543 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
545 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
546 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
548 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
549 Include <cassert> header.
552 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
553 * configure: Regenerate.
555 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
556 Jonathan Wakely <jwakely@redhat.com>
558 * include/std/variant (variant, swap): Replace __and_ usage with fold
561 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
564 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
565 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
566 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
567 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
569 * aclocal.m4: Regenerate.
570 * configure: Regenerate.
571 * Makefile.in, doc/Makefile.in, include/Makefile.in,
572 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
573 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
574 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
576 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
578 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
581 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
582 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
583 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
584 move function objects.
585 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
586 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
587 * testsuite/25_algorithms/sort/78991.cc: New test.
589 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
591 * include/bits/std_function.h (function::_Signature_type): Remove.
592 (function::function(_Functor)): Adjust.
594 2017-01-05 Tim Shen <timshen@google.com>
597 * include/std/variant (__gen_vtable_impl): rename __unused to
598 __dimensions to avoid naming conflict.
600 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
603 * config.h.in: Regenerate.
604 * configure: Likewise.
605 * configure.ac: Check for __cxa_thread_atexit.
606 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
607 Don't define __cxa_thread_atexit if libc provides it.
609 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
611 Implement 2801, Default-constructibility of unique_ptr.
612 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
613 (unique_ptr::_DeleterConstraint): Likewise.
614 (unique_ptr()): Constrain.
615 (unique_ptr(pointer)): Likewise.
616 (unique_ptr(nullptr_t)): Likewise.
617 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
618 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
619 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
620 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
621 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
622 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
623 * testsuite/20_util/unique_ptr/cons/default.cc: New.
624 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
626 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
627 Jonathan Wakely <jwakely@redhat.com>
630 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
631 * config.h.in: Regenerate.
632 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
633 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
634 exports for exception_ptr, nested_exception, and future conditional.
635 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
636 exports for exception_ptr, nested_exception, and future conditional.
637 * configure: Regenerate.
638 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
639 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
640 * libsupc++/eh_atomics.h: New file for internal use only.
641 (__eh_atomic_inc, __eh_atomic_dec): New.
642 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
643 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
644 (rethrow_exception): Use eh_atomics.h reference counting helpers.
645 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
646 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
647 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
648 * libsupc++/exception_ptr.h: Likewise.
649 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
650 * libsupc++/nested_exception.cc: Remove check for
651 ATOMIC_INT_LOCK_FREE.
652 * libsupc++/nested_exception.h: Likewise.
653 * src/c++11/future.cc: Likewise.
654 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
655 * testsuite/18_support/nested_exception/*: Likewise.
656 * testsuite/30_threads/async/*: Likewise.
657 * testsuite/30_threads/future/*: Likewise.
658 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
659 * testsuite/30_threads/packaged_task/*: Likewise.
660 * testsuite/30_threads/promise/*: Likewise.
661 * testsuite/30_threads/shared_future/*: Likewise.
663 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
665 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
666 defaults to https; adjust reference.
668 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
671 * include/std/thread (thread(const thread&&)): Add deleted
673 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
675 * doc/xml/manual/spine.xml: Update copyright years.
676 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
677 * doc/xml/manual/test.xml: Likewise.
678 * doc/html/*: Regenerate.
680 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
682 * doc/xml/faq.xml: Update address of C++ ABI link.
683 * doc/xml/manual/abi.xml: Ditto.
685 2017-01-01 Jakub Jelinek <jakub@redhat.com>
687 Update copyright years.
689 Copyright (C) 2017 Free Software Foundation, Inc.
691 Copying and distribution of this file, with or without modification,
692 are permitted in any medium without royalty provided the copyright
693 notice and this notice are preserved.