1 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
4 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
5 _GLIBCXX__ macro is not useful. Remove redundant date information
6 and link to the GCC release timeline.
7 (abi.versioning.active): Move partial sentence into the previous
9 * doc/html/*: Regenerate.
12 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
14 * testsuite/18_support/nested_exception/79114.cc: New test.
16 2017-01-17 Jakub Jelinek <jakub@redhat.com>
19 * configure.ac: Add GCC_BASE_VER.
20 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
21 get version from BASE-VER file.
22 * po/Makefile.in: Regenerated.
23 * libsupc++/Makefile.in: Regenerated.
24 * testsuite/Makefile.in: Regenerated.
25 * src/Makefile.in: Regenerated.
26 * configure: Regenerated.
27 * Makefile.in: Regenerated.
28 * include/Makefile.in: Regenerated.
29 * doc/Makefile.in: Regenerated.
30 * python/Makefile.in: Regenerated.
31 * src/c++11/Makefile.in: Regenerated.
32 * src/c++98/Makefile.in: Regenerated.
33 * src/filesystem/Makefile.in: Regenerated.
35 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
38 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
40 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
41 for test, so new ios::failure can be caught.
42 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
43 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
44 exceptions_failbit.cc: Likewise.
45 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
46 exceptions_failbit.cc: Likewise.
47 * testsuite/27_io/basic_istream/extractors_other/char/
48 exceptions_null.cc: Likewise.
49 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
50 exceptions_null.cc: Likewise.
51 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
52 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
53 * testsuite/27_io/basic_ostream/inserters_other/char/
54 exceptions_null.cc: Likewise.
55 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
56 exceptions_null.cc: Likewise.
57 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
60 * include/bits/locale_classes.h (locale::facet::__shim): Change from
62 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
63 make locale::facet::__shim accessible.
65 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
68 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
69 (merge(list&&, _StrictWeakOrdering)): Likewise.
70 * testsuite/23_containers/list/operations/78389.cc: Add
71 better test for the sizes.
73 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
75 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
76 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
77 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
78 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
80 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
81 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
82 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
83 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
84 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
86 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
88 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
90 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
92 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
94 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
95 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
96 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
97 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
98 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
99 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
100 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
101 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
102 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
103 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
104 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
105 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
106 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
108 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
111 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
112 retry fclose on EINTR.
114 * include/profile/base.h: Remove unused header that leads to header
118 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
120 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
121 basic_string_view arguments.
124 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
125 redundant option from cxxflags.
126 (check_effective_target_cxx11-abi): Define.
127 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
129 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
130 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
132 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
134 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
135 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
137 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
139 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
140 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
142 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
144 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
146 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
148 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
150 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
152 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
154 * testsuite/23_containers/list/61347.cc: Likewise.
155 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
156 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
158 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
161 * include/bits/list.tcc (merge(list&&)):
162 Adjust list sizes if the comparator throws.
163 (merge(list&&, _StrictWeakOrdering)): Likewise.
164 (sort()): Splice elements back from the scratch buffers
165 if the comparator throws.
166 (sort(_StrictWeakOrdering)): Likewise.
167 * testsuite/23_containers/list/operations/78389.cc: New.
169 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
171 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
172 XFAIL for C++17 until node reinsertion supports fancy pointers.
175 * testsuite/20_util/add_pointer/value.cc: Test forming function
178 2017-01-13 Michael Brune <lucdanton@free.fr>
181 * include/std/type_traits (__is_referenceable): Handle noexcept
184 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
187 * include/bits/stl_queue.h (queue, priority_queue): Remove default
188 member-initializers and define default constructors as templates with
190 * include/bits/stl_stack.h (stack): Likewise.
191 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
193 * testsuite/23_containers/priority_queue/requirements/
194 explicit_instantiation/1.cc: Test more instantiations.
195 * testsuite/23_containers/priority_queue/requirements/
196 explicit_instantiation/1_c++98.cc: Likewise.
197 * testsuite/23_containers/queue/requirements/constructible.cc: New.
198 * testsuite/23_containers/stack/requirements/constructible.cc: New.
201 * doc/xml/manual/intro.xml: Document LWG 2781 change.
202 * doc/html/*: Regenerate.
203 * include/std/functional (_Function_base::_Ref_manager): Remove.
204 (_Function_handler): Remove partial specializations for
206 (function::target): Remove special case for const qualification.
207 * testsuite/20_util/function/6.cc: Adjust tests for target type.
208 * testsuite/20_util/function/7.cc: Likewise.
209 * testsuite/20_util/function/8.cc: Likewise.
211 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
214 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
215 (map::equal_range): Fix return type of heterogeneous overloads.
216 * include/bits/stl_multimap.h (multimap::lower_bound)
217 (multimap::upper_bound, multimap::equal_range): Likewise.
218 * include/bits/stl_multiset.h (multiset::lower_bound)
219 (multiset::upper_bound, multiset::equal_range): Likewise.
220 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
221 (set::equal_range): Likewise.
222 * testsuite/23_containers/map/operations/2.cc
223 * testsuite/23_containers/multimap/operations/2.cc
224 * testsuite/23_containers/multiset/operations/2.cc
225 * testsuite/23_containers/set/operations/2.cc
228 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
229 the heterogeneous comparison can only find one match.
230 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
231 * testsuite/23_containers/map/operations/2.cc: Test count works with
232 comparison function that just partitions rather than sorting.
233 * testsuite/23_containers/set/operations/2.cc: Likewise.
235 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
237 Reduce the size of variant, it doesn't need an index of
238 type size_t internally.
239 * include/std/variant (parse_numbers.h): New include.
240 (__select_index): New.
241 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
242 _index_type for comparison with variant_npos.
243 (_Variant_storage<false, _Types...>::__index_type): New.
244 (_Variant_storage<false, _Types...>::_M_index): Change the
245 type from size_t to __index_type.
246 (_Variant_storage<true, _Types...>::__index_type): New.
247 (_Variant_storage<true, _Types...>::_M_index): Change the
248 type from size_t to __index_type.
249 (_Variant_base::_M_valid): Use _Storage::__index_type
250 for comparison with variant_npos.
251 (variant::index): Use _Base::_Storage::__index_type
252 for comparison with variant_npos.
253 * testsuite/20_util/variant/index_type.cc: New.
255 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
257 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
258 effective target selector to prevent running in C++17 mode.
261 * include/bits/stl_queue.h (queue::c): Add default member initializer.
262 (queue::queue()): Add constructor and define as defaulted.
263 (queue::queue(_Sequence&&)): Remove default argument.
264 (priority_queue::c, priority_queue::comp): Add default member
266 (priority_queue::priority_queue()): Add constructor and define as
268 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
269 Remove default argument for first parameter.
270 * include/bits/stl_stack.h (stack::c): Add default member initializer.
271 (stack::stack()): Add constructor and define as defaulted.
272 (stack::stack(const _Sequence&)): Remove default argument.
273 * testsuite/23_containers/priority_queue/requirements/
274 explicit_instantiation/1.cc: Test explicit instantiation with
275 non-DefaultConstructible sequence.
276 * testsuite/23_containers/priority_queue/77528.cc: New test.
277 * testsuite/23_containers/priority_queue/requirements/
278 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
279 * testsuite/23_containers/queue/77528.cc: New test.
280 * testsuite/23_containers/queue/requirements/explicit_instantiation/
281 1.cc: Test explicit instantiation with non-DefaultConstructible
283 * testsuite/23_containers/queue/requirements/explicit_instantiation/
284 1_c++0x.cc: Replace with 1_c++98.cc.
285 * testsuite/23_containers/stack/77528.cc: New test.
286 * testsuite/23_containers/stack/requirements/explicit_instantiation/
287 1.cc: Test explicit instantiation with non-DefaultConstructible
289 * testsuite/23_containers/stack/requirements/explicit_instantiation/
290 1_c++0x.cc: Replace with 1_c++98.cc.
292 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
294 * include/bits/locale_facets_nonio.tcc
295 (time_get::_M_extract_via_format): Avoid compilation errors with
296 non-standard struct tm.
298 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
299 Jonathan Wakely <jwakely@redhat.com>
301 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
302 (is_specialization, strip_versioned_namespace): New helpers functions
303 to work with symbols in the versioned namespace.
304 (Printer.add_version): Add second name using versioned namespace.
305 (add_one_template_type_printer, add_one_type_printer): Add second
306 type printers using versioned namespace.
307 (register_type_printers): Add template type printer for basic_string.
308 (build_libstdcxx_dictionary): Remove dead code.
309 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
311 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
313 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
315 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
318 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
319 functions separately on darwin and if they're missing define
320 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
321 * config.h.in: Regenerate.
322 * configure: Regenerate.
323 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
324 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
326 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
327 to detect correct thread_local destructors.
328 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
331 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
332 Aditya Kumar <hiraditya@msn.com>
335 * include/bits/basic_string.tcc
336 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
338 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
340 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
341 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
343 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
344 Include <cassert> header.
347 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
348 * configure: Regenerate.
350 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
351 Jonathan Wakely <jwakely@redhat.com>
353 * include/std/variant (variant, swap): Replace __and_ usage with fold
356 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
359 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
360 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
361 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
362 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
364 * aclocal.m4: Regenerate.
365 * configure: Regenerate.
366 * Makefile.in, doc/Makefile.in, include/Makefile.in,
367 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
368 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
369 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
371 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
373 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
376 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
377 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
378 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
379 move function objects.
380 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
381 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
382 * testsuite/25_algorithms/sort/78991.cc: New test.
384 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
386 * include/bits/std_function.h (function::_Signature_type): Remove.
387 (function::function(_Functor)): Adjust.
389 2017-01-05 Tim Shen <timshen@google.com>
392 * include/std/variant (__gen_vtable_impl): rename __unused to
393 __dimensions to avoid naming conflict.
395 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
398 * config.h.in: Regenerate.
399 * configure: Likewise.
400 * configure.ac: Check for __cxa_thread_atexit.
401 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
402 Don't define __cxa_thread_atexit if libc provides it.
404 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
406 Implement 2801, Default-constructibility of unique_ptr.
407 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
408 (unique_ptr::_DeleterConstraint): Likewise.
409 (unique_ptr()): Constrain.
410 (unique_ptr(pointer)): Likewise.
411 (unique_ptr(nullptr_t)): Likewise.
412 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
413 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
414 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
415 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
416 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
417 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
418 * testsuite/20_util/unique_ptr/cons/default.cc: New.
419 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
421 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
422 Jonathan Wakely <jwakely@redhat.com>
425 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
426 * config.h.in: Regenerate.
427 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
428 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
429 exports for exception_ptr, nested_exception, and future conditional.
430 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
431 exports for exception_ptr, nested_exception, and future conditional.
432 * configure: Regenerate.
433 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
434 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
435 * libsupc++/eh_atomics.h: New file for internal use only.
436 (__eh_atomic_inc, __eh_atomic_dec): New.
437 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
438 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
439 (rethrow_exception): Use eh_atomics.h reference counting helpers.
440 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
441 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
442 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
443 * libsupc++/exception_ptr.h: Likewise.
444 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
445 * libsupc++/nested_exception.cc: Remove check for
446 ATOMIC_INT_LOCK_FREE.
447 * libsupc++/nested_exception.h: Likewise.
448 * src/c++11/future.cc: Likewise.
449 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
450 * testsuite/18_support/nested_exception/*: Likewise.
451 * testsuite/30_threads/async/*: Likewise.
452 * testsuite/30_threads/future/*: Likewise.
453 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
454 * testsuite/30_threads/packaged_task/*: Likewise.
455 * testsuite/30_threads/promise/*: Likewise.
456 * testsuite/30_threads/shared_future/*: Likewise.
458 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
460 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
461 defaults to https; adjust reference.
463 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
466 * include/std/thread (thread(const thread&&)): Add deleted
468 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
470 * doc/xml/manual/spine.xml: Update copyright years.
471 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
472 * doc/xml/manual/test.xml: Likewise.
473 * doc/html/*: Regenerate.
475 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
477 * doc/xml/faq.xml: Update address of C++ ABI link.
478 * doc/xml/manual/abi.xml: Ditto.
480 2017-01-01 Jakub Jelinek <jakub@redhat.com>
482 Update copyright years.
484 Copyright (C) 2017 Free Software Foundation, Inc.
486 Copying and distribution of this file, with or without modification,
487 are permitted in any medium without royalty provided the copyright
488 notice and this notice are preserved.