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