1 2016-08-22 Release Manager
5 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
8 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
10 * include/std/functional (function::_Callable): Use lvalue in
12 * testsuite/20_util/function/cons/refqual.cc: New test.
14 Backport from mainline
15 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
18 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
19 * testsuite/23_containers/set/allocator/71964.cc: New test.
21 Backport from mainline
22 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
24 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
25 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
26 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
28 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
30 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
32 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
34 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
36 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
39 Backport from mainline
40 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
43 * include/experimental/memory_resource
44 (__resource_adaptor_imp::do_allocate): Do not default-construct
46 (__resource_adaptor_imp::do_deallocate): Likewise. Use
47 allocator_traits to get pointer type.
48 (__null_memory_resource::do_allocate): Remove unused parameters.
49 (__null_memory_resource::do_deallocate): Likewise.
50 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
51 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
52 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
54 * testsuite/experimental/memory_resource/1.cc: Here.
55 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
56 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
58 Backport from mainline
59 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
61 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
62 Define feature-test macro.
63 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
64 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
66 Backport from mainline
67 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
69 * include/bits/stl_function.h: Remove commented-out macro.
70 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
71 Define feature-test macro.
72 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
74 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
77 * doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to
78 refer to the release series.
79 * doc/xml/manual/status_cxx2014.xml: Likewise. Update TS status.
80 * doc/xml/manual/status_cxx2017.xml: Likewise.
81 * doc/html/manual/status.html: Regenerate.
83 * include/experimental/propagate_const (propagate_const::__t): Rename
84 to _M_t and remove comment. Qualify std::move and std::forward.
85 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
87 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
89 * testsuite/lib/libstdc++.exp (v3-build_support): Add
90 -fno-lto to additional flags for compiling libtestc++.a objects.
92 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
94 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
95 * doc/html/manual/abi.html: Regenerate.
97 2016-07-19 Jonathan Wakely <jwakely@redhat.com>
99 Backport from mainline
100 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
102 * include/experimental/functional: Include <parallel/algorithm> in
105 Backport from mainline
106 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
108 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
112 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
113 * include/parallel/balanced_quicksort.h: Include <unistd.h> for sleep.
114 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
117 Backport from mainline
118 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
121 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
122 Add or remove permissions according to perms argument.
123 * testsuite/experimental/filesystem/operations/permissions.cc: New
126 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
128 Implement LWG 2451, optional<T> should 'forward' T's
129 implicit conversions.
130 * include/experimental/optional (__is_optional_impl, __is_optional):
132 (optional()): Make constexpr and default.
133 (optional(_Up&&), optional(const optional<_Up>&),
134 optional(optional<_Up>&& __t): New.
135 (operator=(_Up&&)): Constrain.
136 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
137 * testsuite/experimental/optional/cons/value.cc:
138 Add tests for the functionality added by LWG 2451.
139 * testsuite/experimental/optional/cons/value_neg.cc: New.
141 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
144 any_cast doesn't work with rvalue reference targets and cannot
145 move with a value target.
146 * include/experimental/any (any(_ValueType&&)): Constrain and
147 add an overload that doesn't forward.
148 (any_cast(any&&)): Constrain and add an overload that moves.
149 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
150 the functionality added by LWG 2509.
152 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
155 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
156 Call remove_all for children of a directory.
157 * testsuite/experimental/filesystem/operations/create_directories.cc:
160 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
163 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
164 Remove irreflexive checks.
165 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
166 binary_search): Likewise.
167 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
168 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
169 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
170 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
171 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
172 Add constructor from array.
174 2016-05-26 Jonathan Wakely <jwakely@redhat.com>
176 Backport from mainline
177 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
180 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
181 static counter to return a different path on every call.
183 * testsuite/experimental/filesystem/path/native/string.cc: Add
184 dg-require-filesystem-ts directive.
186 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
188 Backport from mainline
189 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
192 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
193 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
195 Backport from mainline
196 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
199 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
200 Override endianness bit in mode.
201 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
202 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
203 that little_endian mode is ignored.
204 * testsuite/experimental/filesystem/path/native/string.cc: New test.
206 Backport from mainline
207 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
209 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
210 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
211 Test begin and end functions.
212 * testsuite/experimental/filesystem/iterators/
213 recursive_directory_iterator.cc: Likewise.
215 Backport from mainline
216 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
219 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
220 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
222 Backport from mainline
223 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
225 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
226 Overload operator* to move from rvalues.
228 Backport from mainline
229 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
232 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
233 * testsuite/experimental/filesystem/operations/create_directory.cc:
236 Backport from mainline
237 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
240 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
241 base path to exception.
242 * testsuite/experimental/filesystem/operations/canonical.cc: Test
243 paths contained in exception.
245 Backport from mainline
246 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
249 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
251 (directory_iterator::operator++(int)): Return proxy.
252 (recursive_directory_iterator::operator++(int)): Likewise.
253 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
255 * testsuite/experimental/filesystem/iterators/
256 recursive_directory_iterator.cc: Likewise.
258 Backport from mainline
259 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
262 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
263 Initialize scalar member variables in default constructor.
264 * testsuite/experimental/filesystem/iterators/
265 recursive_directory_iterator.cc: Test default construction.
267 Backport from mainline
268 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
271 * src/filesystem/ops.cc (close_fd): New function.
272 (do_copy_file): Set permissions before copying file contents. Check
273 result of closing file descriptors. Don't copy streambuf when file
275 (copy(const path&, const path&, copy_options, error_code&)): Use
276 lstat for source file when copy_symlinks is set.
277 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
279 Backport from mainline
280 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
282 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
283 operator~ operator&=, operator|=, operator^=): Add noexcept to
284 overloaded operators for copy_options, perms and directory_options.
285 * src/filesystem/ops.cc (make_file_type, make_file_status,
286 is_not_found_errno, file_time): Add noexcept.
288 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
291 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
292 exception constructors with __sso_string parameters.
294 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
296 Avoid endless run-time recursion for copying single-element
297 tuples where the element type is by-value constructible
299 * include/std/tuple (_NotSameTuple): New.
300 * include/std/tuple (tuple(_UElements&&...): Use it.
301 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
303 2016-04-27 Release Manager
305 * GCC 6.1.0 released.
307 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
309 * include/bits/random.h: Fix filename in comment.
311 2016-04-14 Jason Merrill <jason@redhat.com>
313 Revert Jonathan's empty ABI change from yesterday.
315 2016-04-13 Martin Sebor <msebor@redhat.com>
318 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
319 upper bound is positive.
321 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
323 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
324 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
325 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
326 of functions taking empty structs by value. Add a template parameter
327 to overloads without hints. Rename overloads with hints to
329 (_Hashtable::_M_erase(true_type, const_iterator),
330 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
331 by reordering parameters.
332 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
333 _M_emplace_hint instead of _M_emplace.
334 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
335 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
336 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
337 __shared_ptr): Likewise.
338 * include/bits/stl_algo.h (replace_if): Likewise.
339 * include/bits/stl_pair.h (piecewise_construct_t,
340 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
341 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
342 __uses_alloc0): Likewise.
343 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
344 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
345 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
346 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
347 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
348 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
349 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
351 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
353 Document C++17/TR29124 C++ Special Math Functions.
354 * include/bits/specfun.h: Add Doxygen markup.
356 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
358 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
360 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
362 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
363 * src/Makefile.in: Regenerate.
365 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
368 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
369 __atomic_fetch_add for bool.
370 * configure: Regenerate.
372 * testsuite/30_threads/thread/70503.cc: Require -static to work.
375 * src/c++11/thread.cc (execute_native_thread_routine,
376 execute_native_thread_routine_compat): Give internal linkage.
377 * testsuite/30_threads/thread/70503.cc: New test.
379 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
382 * include/bits/stl_pair.h (_ConstructiblePair,
383 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
384 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
386 * testsuite/20_util/pair/70437.cc: New.
388 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
391 * config/abi/pre/gnu.ver: Add new symbol.
392 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
393 * testsuite/18_support/free_eh_pool.cc: New test.
395 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
397 * include/Makefile.am (install-freestanding-headers): Add
398 concept_check.h and move.h to the installed headers.
399 * include/Makefile.in: Regenerated.
400 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
401 freestanding implementations.
402 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
403 that this macro has no effect for freestanding implementations.
404 * doc/html/manual/using_macros.html: Likewise.
406 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
409 * include/experimental/tuple (__apply_impl): Qualify get and forward.
411 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
413 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
414 * doc/html/*: Regenerate.
417 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
418 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
419 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
420 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
421 trunc) [__cplusplus >= 201103L]: Import from namespace std.
422 (fabs) [__cplusplus < 201103L]: Import from namespace std.
423 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
425 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
426 namespace before including TR1 headers.
427 * testsuite/tr1/headers/c++200x/math.cc: New test.
429 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
432 * include/c_global/cstdarg: Undefine __need___va_list.
433 * include/c_global/cstddef: Undefine all kinds of __need_*.
435 2016-02-16 Tim Shen <timshen@google.com>
438 * include/bits/regex_scanner.h: Add different special character
439 sets for grep and egrep regex.
440 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
441 * testsuite/28_regex/regression.cc: Add new testcase.
443 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
445 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
446 added 'constexpr' in previous commit.
447 * configure: Regenerate.
450 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
451 checks for all targets except *-*-solaris2.* and ensure we find the
452 libc math.h header not our own.
453 * configure: Regenerate.
455 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
457 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
458 New file. Copied over from s390-linux-gnu.
460 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
463 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
464 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
465 * config.h.in: Regenerate.
466 * configure: Regenerate.
467 * testsuite/21_strings/c_strings/char/69626.cc: New.
469 * doc/html/index.html: Regenerate.
471 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
472 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
473 * doc/html/*: Regenerate.
475 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
478 * include/c_compatibility/math.h: Move header guards.
479 * include/c_compatibility/stdlib.h: Likewise.
481 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
484 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
486 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
489 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
490 isinf and isnan functions into two independent checks. Check on hpux.
491 * config.h.in: Regenerate.
492 * configure: Regenerate.
493 * include/c_global/cmath (isinf(double), isnan(double)): Use
494 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
497 2016-01-27 Jakub Jelinek <jakub@redhat.com>
499 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
501 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
504 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
505 -ffp-contract=off, and -ffloat-store to disable excess precision.
506 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
509 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
512 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
513 random_access_iterator_tag>): Check is_move_assignable when moving.
514 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
516 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
517 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
518 * testsuite/25_algorithms/move/69478.cc: New.
519 * testsuite/25_algorithms/move_backward/69478.cc: new.
521 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
523 * include/c_compatibility/stdlib.h: Include wide character related
524 definitions only when they are available in cstdlib.
526 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
529 * include/Makefile.am: Add new header.
530 * include/Makefile.in: Regenerate.
531 * include/bits/random.h (uniform_int_distribution): Move to
532 bits/uniform_int_dist.h.
533 * include/bits/random.tcc (uniform_int_distribution::operator(),
534 uniform_int_distribution::__generate_impl): Likewise.
535 * include/bits/uniform_int_dist.h: New header.
536 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
537 <bits/uniform_int_dist.h> instead of <random>.
538 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
539 move_iterators/1.cc: Include correct header for uninitialized_copy.
540 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
541 move_iterators/1.cc: Likewise.
542 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
544 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
546 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
549 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
551 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
553 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
554 * include/c_compatibility/math.h: Import the TR29124 functions
555 into the global namespace.
556 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
557 xfail and make compile-only.
558 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
559 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
560 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
561 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
562 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
563 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
564 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
565 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
566 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
567 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
568 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
569 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
570 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
571 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
572 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
573 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
574 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
575 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
576 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
577 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
579 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
582 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
583 define result_type for types which can be safely used with valarrays.
584 * testsuite/26_numerics/valarray/69116.cc: New.
587 * config/os/gnu-linux/os_defines.h: Define
588 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
589 * include/c_global/cmath (isinf, isnan): Check it.
590 * doc/xml/manual/internals.xml: Document it.
591 * doc/html/*: Regenerate.
593 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
596 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
597 * include/ext/type_traits.h: Likewise.
598 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
599 for presence of C headers.
600 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
601 dg-error line number.
602 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
603 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
604 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
606 2016-01-20 Torvald Riegel <triegel@redhat.com>
609 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
611 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
614 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
615 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
616 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
617 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
618 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
619 Add using declarations.
620 * testsuite/26_numerics/headers/cmath/60401.cc: New.
623 * include/c_global/ccomplex: Ensure C++ language linkage.
624 * include/c_global/cmath: Likewise.
625 * include/c_global/cstdlib: Likewise.
626 * include/c_global/ctgmath: Likewise.
627 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
629 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
633 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
634 --enable-cheaders=c_global configs.
635 * include/Makefile.in: Regenerate.
636 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
637 test and allow inclusion from C files.
638 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
639 (at_quick_exit, quick_exit): Add using directives.
640 * include/c_global/cmath: Use #include_next for math.h.
641 * include/c_global/cstdlib: Use #include_next for stdlib.h.
642 * testsuite/26_numerics/headers/cmath/14608.cc: New.
643 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
644 Remove xfail for most targets.
645 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
647 2016-01-18 Torvald Riegel <triegel@redhat.com>
649 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
650 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
651 and move after its definition.
652 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
653 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
654 __GXX_WEAK__, and only provide transactional clones if
655 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
658 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
661 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
664 * include/std/functional (_Function_base::_M_not_empty_function):
665 Change overloads for pointers to take arguments by value.
666 * testsuite/20_util/function/cons/57465.cc: Add tests for
667 pointer-to-member cases.
670 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
671 Use macros for exception handling and fix unused parameter warning.
673 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
676 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
678 2016-01-17 Torvald Riegel <triegel@redhat.com>
680 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
682 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
684 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
687 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
690 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
691 static assertion that type is constructible from the arguments.
692 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
693 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
694 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
697 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
698 and isnan on AIX. Quote variables.
699 * configure: Regenerate.
701 2016-01-15 Torvald Riegel <triegel@redhat.com>
703 * include/bits/basic_string.h (basic_string): Declare friends.
704 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
705 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
706 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
707 length_error, out_of_range, runtime_error, range_error,
708 underflow_error, overflow_error): Declare members as transaction-safe.
709 (logic_error, runtime_error): Declare friend functions.
710 * libsupc++/exception (exception, bad_exception): Declare members as
712 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
713 transaction-safe members of exceptions and helper functions.
714 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
715 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
716 (CXXABI_1.3.10): New.
717 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
718 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
719 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
720 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
721 * include/Makefile.in: Regenerate.
722 * config.h.in: Regenerate.
723 * configure: Regenerate.
724 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
726 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
728 * include/ext/random.tcc: Use __builtin_isfinite instead of
731 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
733 * include/bits/std_mutex.h: Fix Doxygen @file name.
735 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
736 Jonathan Wakely <jwakely@redhat.com>
737 Florian Goth <CaptainSifff@gmx.de>
739 Implement TR29124 C++ special Math Functions.
740 * include/Makefile.am: Add new headers.
741 * include/Makefile.in: Regenerate.
742 * include/bits/specfun.h: New.
743 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
744 * include/tr1/bessel_function.tcc: Ditto.
745 * include/tr1/beta_function.tcc: Ditto.
746 * include/tr1/cmath: Ditto.
747 * include/tr1/ell_integral.tcc: Ditto.
748 * include/tr1/exp_integral.tcc: Ditto.
749 * include/tr1/gamma.tcc: Ditto.
750 * include/tr1/hypergeometric.tcc: Ditto.
751 * include/tr1/legendre_function.tcc: Ditto.
752 * include/tr1/modified_bessel_func.tcc: Ditto.
753 * include/tr1/poly_hermite.tcc: Ditto.
754 * include/tr1/poly_laguerre.tcc: Ditto.
755 * include/tr1/riemann_zeta.tcc: Ditto.
756 * include/tr1/special_function_util.h: Ditto.
757 * testsuite/ext/special_functions/conf_hyperg: New.
758 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
759 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
760 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
761 * testsuite/ext/special_functions/hyperg: New.
762 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
763 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
764 * testsuite/ext/special_functions/hyperg/compile.cc: New.
765 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
766 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
767 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
768 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
769 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
770 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
771 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
772 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
773 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
774 * testsuite/special_functions/03_beta/check_nan.cc: New.
775 * testsuite/special_functions/03_beta/check_value.cc: New.
776 * testsuite/special_functions/03_beta/compile.cc: New.
777 * testsuite/special_functions/03_beta/compile_2.cc: New.
778 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
779 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
780 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
781 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
782 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
783 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
784 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
785 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
786 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
787 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
788 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
789 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
790 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
791 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
792 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
793 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
794 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
795 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
796 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
797 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
798 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
799 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
800 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
801 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
802 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
803 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
804 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
805 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
806 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
807 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
808 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
809 * testsuite/special_functions/11_ellint_1/compile.cc: New.
810 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
811 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
812 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
813 * testsuite/special_functions/12_ellint_2/compile.cc: New.
814 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
815 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
816 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
817 * testsuite/special_functions/13_ellint_3/compile.cc: New.
818 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
819 * testsuite/special_functions/14_expint/check_nan.cc: New.
820 * testsuite/special_functions/14_expint/check_value.cc: New.
821 * testsuite/special_functions/14_expint/compile.cc: New.
822 * testsuite/special_functions/14_expint/compile_2.cc: New.
823 * testsuite/special_functions/15_hermite/check_nan.cc: New.
824 * testsuite/special_functions/15_hermite/check_value.cc: New.
825 * testsuite/special_functions/15_hermite/compile.cc: New.
826 * testsuite/special_functions/15_hermite/compile_2.cc: New.
827 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
828 * testsuite/special_functions/16_laguerre/check_value.cc: New.
829 * testsuite/special_functions/16_laguerre/compile.cc: New.
830 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
831 * testsuite/special_functions/17_legendre/check_nan.cc: New.
832 * testsuite/special_functions/17_legendre/check_value.cc: New.
833 * testsuite/special_functions/17_legendre/compile.cc: New.
834 * testsuite/special_functions/17_legendre/compile_2.cc: New.
835 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
836 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
837 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
838 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
839 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
840 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
841 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
842 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
843 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
844 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
845 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
846 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
847 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
848 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
849 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
850 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
851 * testsuite/util/specfun_testcase.h: New.
852 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
853 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
854 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
855 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
856 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
857 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
858 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
860 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
863 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
865 * config.h.in: Regenerate.
866 * configure: Regenerate.
867 * include/c_global/cmath (isinf(double), isnan(double))
868 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
869 * testsuite/26_numerics/headers/cmath/48891.cc: New.
871 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
874 * configure.host (abi_baseline_pair): Use separate baseline for
875 Solaris 11+ and Solaris 10 with gld.
876 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
877 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
878 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
880 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
883 * include/std/type_traits: Following N4511, reimplement __is_swappable
884 and __is_nothrow_swappable. Move __is_swappable to namespace std,
885 adjust callers. Use __is_nothrow_swappable in swap.
886 * include/bits/move.h: Use __is_nothrow_swappable in swap.
887 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
888 __is_swappable related tests.
889 * testsuite/20_util/is_swappable/value.cc: New.
890 * testsuite/20_util/is_swappable/requirements/
891 explicit_instantiation.cc: New.
892 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
893 * testsuite/25_algorithms/swap/68877.cc: New.
895 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
897 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
901 * include/std/functional (function::_Invoke): Remove, use result_of.
902 (function::_Callable): Replace alias template with class template
903 and use partial specialization instead of _NotSelf alias template.
904 (function(_Functor)): Add "not self" constraint so that _Callable is
905 not used while type is incomplete.
906 * testsuite/20_util/function/69222.cc: New.
908 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
911 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
912 Define partial specialization.
913 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
914 destroy members to std::allocator explicit specialization.
916 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
918 * testsuite/26_numerics/headers/cmath/
919 c99_classification_macros_c++.cc: Rename to ...
920 * testsuite/26_numerics/headers/cmath/
921 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
922 * testsuite/26_numerics/headers/cmath/
923 c99_classification_macros_c++0x.cc: Rename to ...
924 * testsuite/26_numerics/headers/cmath/
925 c99_classification_macros_c++11.cc: Here.
928 * include/bits/uses_allocator.h: Add missing include.
930 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
935 * include/bits/stl_iterator.h (back_insert_iterator,
936 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
937 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
938 * include/std/future (__future::base::_State_baseV2::__setter):
940 * include/std/scoped_allocator (__outermost): Likewise.
941 * testsuite/20_util/scoped_allocator/69114.cc: New.
942 * testsuite/20_util/uses_allocator/69114.cc: New.
943 * testsuite/30_threads/promise/69106.cc: New.
945 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
948 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
949 Remove _GLIBCXX_NOEXCEPT.
950 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
952 * include/Makefile.am: Adjust.
953 * include/Makefile.in: Regenerate.
954 * include/bits/mutex.h: Rename to bits/std_mutex.h.
955 * include/std/condition_variable: Adjust include.
956 * include/std/mutex: Likewise.
958 2016-01-04 Jakub Jelinek <jakub@redhat.com>
960 Update copyright years.
962 Copyright (C) 2016 Free Software Foundation, Inc.
964 Copying and distribution of this file, with or without modification,
965 are permitted in any medium without royalty provided the copyright
966 notice and this notice are preserved.