1 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
3 * include/debug/safe_iterator.h
4 (_Safe_iterator<>::operator->()): Implement using underlying iterator
6 * include/debug/safe_local_iterator.h
7 (_Safe_local_iterator<>::operator->()): Likewise.
9 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
11 * testsuite/experimental/memory_resource/1.cc: Add required argument
12 to dg-require-atomic-builtins.
14 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
17 * include/debug/bitset: Add #pragma GCC system_header.
18 * include/debug/deque: Likewise.
19 * include/debug/list: Likewise.
20 * include/debug/map: Likewise.
21 * include/debug/set: Likewise.
22 * include/debug/string: Likewise.
23 * include/debug/unordered_map: Likewise.
24 * include/debug/unordered_set: Likewise.
25 * include/debug/vector: Likewise.
26 * include/debug/functions.h: Adjust whitespace.
28 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
31 * testsuite/experimental/memory_resource/1.cc: Require atomics.
33 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
36 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
37 exception constructors with __sso_string parameters.
39 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
41 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
42 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
43 Test begin and end functions.
44 * testsuite/experimental/filesystem/iterators/
45 recursive_directory_iterator.cc: Likewise.
48 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
49 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
51 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
52 Overload operator* to move from rvalues.
55 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
56 * testsuite/experimental/filesystem/operations/create_directory.cc:
60 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
61 base path to exception.
62 * testsuite/experimental/filesystem/operations/canonical.cc: Test
63 paths contained in exception.
65 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
69 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
71 (directory_iterator::operator++(int)): Return proxy.
72 (recursive_directory_iterator::operator++(int)): Likewise.
73 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
75 * testsuite/experimental/filesystem/iterators/
76 recursive_directory_iterator.cc: Likewise.
78 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
81 * testsuite/experimental/filesystem/iterators/
82 recursive_directory_iterator.cc: Fix test02 to not call member
83 functions on invalid iterator, and use VERIFY not assert.
85 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
87 Avoid endless run-time recursion for copying single-element
88 tuples where the element type is by-value constructible
90 * include/std/tuple (_NotSameTuple): New.
91 * include/std/tuple (tuple(_UElements&&...): Use it.
92 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
94 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
97 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
98 Initialize scalar member variables in default constructor.
99 * testsuite/experimental/filesystem/iterators/
100 recursive_directory_iterator.cc: Test default construction.
102 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
104 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
106 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
108 * testsuite/experimental/filesystem/path/native/string.cc: Add
109 dg-require-filesystem-ts directive.
111 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
114 * include/experimental/memory_resource
115 (__resource_adaptor_imp::do_allocate): Do not default-construct
117 (__resource_adaptor_imp::do_deallocate): Likewise. Use
118 allocator_traits to get pointer type.
119 (__null_memory_resource::do_allocate): Remove unused parameters.
120 (__null_memory_resource::do_deallocate): Likewise.
121 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
122 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
123 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
125 * testsuite/experimental/memory_resource/1.cc: Here.
126 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
127 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
129 2016-04-29 Chris Gregory <czipperz@gmail.com>
131 * config/*: Remove trailing whitespace.
133 * testsuite/tr1/*: Likewise.
134 * testsuite/util/*: Likewise.
136 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
139 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
141 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
143 * include/std/atomic (atomic<_Tp>): Likewise.
144 * include/std/shared_mutex (shared_lock): Likewise.
145 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
146 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
147 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
148 * testsuite/29_atomics/atomic/70766.cc: New test.
149 * testsuite/30_threads/shared_lock/70766.cc: New test.
151 * include/bits/hashtable_policy.h (__detail::_Insert_base,
152 __detail::_Insert): Improve comments.
154 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
157 * include/std/limits: Update comments about DRs.
158 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
159 numeric_limits<const volatile _Tp>): Define unconditionally.
161 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
164 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
165 static counter to return a different path on every call.
167 2016-04-22 Tim Shen <timshen@google.com>
170 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
171 Fix the match_not_bow and match_not_eow behavior.
172 * testsuite/28_regex/regression.cc: Add testcase.
174 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
177 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
178 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
180 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
183 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
184 Override endianness bit in mode.
185 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
186 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
187 that little_endian mode is ignored.
188 * testsuite/experimental/filesystem/path/native/string.cc: New test.
191 * src/filesystem/ops.cc (close_fd): New function.
192 (do_copy_file): Set permissions before copying file contents. Check
193 result of closing file descriptors. Don't copy streambuf when file
195 (copy(const path&, const path&, copy_options, error_code&)): Use
196 lstat for source file when copy_symlinks is set.
197 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
199 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
200 operator~ operator&=, operator|=, operator^=): Add noexcept to
201 overloaded operators for copy_options, perms and directory_options.
202 * src/filesystem/ops.cc (make_file_type, make_file_status,
203 is_not_found_errno, file_time): Add noexcept.
205 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
207 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
209 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
212 * include/bits/random.h: Reword static assertion messages to state
214 * include/bits/random.tcc: Likewise.
215 * include/bits/uniform_int_dist.h: Likewise.
216 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
219 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
221 * config/cpu/sh/atomicity.h: Fix typo in comment.
224 * include/std/thread (operator<, operator==): Move definitions to
226 * testsuite/30_threads/thread/id/70294.cc: New test.
228 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
229 -Wno-pedantic to dg-options.
230 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
231 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
233 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
234 Remove extra semi-colon.
235 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
236 Always supply second argument to static_assert.
237 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
239 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
241 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
242 * testsuite/29_atomics/atomic/60695.cc: Likewise.
243 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
244 alignof when operand is an object not a type.
245 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
246 * testsuite/decimal/make-decimal.cc: Likewise.
247 * testsuite/experimental/type_traits/value.cc: Always supply second
248 argument to static_assert.
249 * testsuite/util/testsuite_common_types.h: Use __extension__ for
252 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
254 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
255 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
256 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
257 Likewise. Add licence and change to compile-only test.
259 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
261 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
263 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
266 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
268 * include/bits/specfun.h: Trivial comment misspelling.
270 2016-04-14 Jason Merrill <jason@redhat.com>
272 Revert Jonathan's empty ABI change from yesterday.
274 2016-04-13 Martin Sebor <msebor@redhat.com>
277 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
278 upper bound is positive.
280 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
282 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
283 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
284 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
285 of functions taking empty structs by value. Add a template parameter
286 to overloads without hints. Rename overloads with hints to
288 (_Hashtable::_M_erase(true_type, const_iterator),
289 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
290 by reordering parameters.
291 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
292 _M_emplace_hint instead of _M_emplace.
293 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
294 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
295 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
296 __shared_ptr): Likewise.
297 * include/bits/stl_algo.h (replace_if): Likewise.
298 * include/bits/stl_pair.h (piecewise_construct_t,
299 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
300 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
301 __uses_alloc0): Likewise.
302 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
303 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
304 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
305 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
306 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
307 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
308 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
310 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
312 Document C++17/TR29124 C++ Special Math Functions.
313 * include/bits/specfun.h: Add Doxygen markup.
315 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
317 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
319 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
321 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
322 * src/Makefile.in: Regenerate.
324 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
327 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
328 __atomic_fetch_add for bool.
329 * configure: Regenerate.
331 * testsuite/30_threads/thread/70503.cc: Require -static to work.
334 * src/c++11/thread.cc (execute_native_thread_routine,
335 execute_native_thread_routine_compat): Give internal linkage.
336 * testsuite/30_threads/thread/70503.cc: New test.
338 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
341 * include/bits/stl_pair.h (_ConstructiblePair,
342 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
343 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
345 * testsuite/20_util/pair/70437.cc: New.
347 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
350 * config/abi/pre/gnu.ver: Add new symbol.
351 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
352 * testsuite/18_support/free_eh_pool.cc: New test.
354 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
356 * include/Makefile.am (install-freestanding-headers): Add
357 concept_check.h and move.h to the installed headers.
358 * include/Makefile.in: Regenerated.
359 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
360 freestanding implementations.
361 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
362 that this macro has no effect for freestanding implementations.
363 * doc/html/manual/using_macros.html: Likewise.
365 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
368 * include/experimental/tuple (__apply_impl): Qualify get and forward.
370 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
372 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
373 * doc/html/*: Regenerate.
376 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
377 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
378 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
379 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
380 trunc) [__cplusplus >= 201103L]: Import from namespace std.
381 (fabs) [__cplusplus < 201103L]: Import from namespace std.
382 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
384 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
385 namespace before including TR1 headers.
386 * testsuite/tr1/headers/c++200x/math.cc: New test.
388 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
391 * include/c_global/cstdarg: Undefine __need___va_list.
392 * include/c_global/cstddef: Undefine all kinds of __need_*.
394 2016-02-16 Tim Shen <timshen@google.com>
397 * include/bits/regex_scanner.h: Add different special character
398 sets for grep and egrep regex.
399 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
400 * testsuite/28_regex/regression.cc: Add new testcase.
402 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
404 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
405 added 'constexpr' in previous commit.
406 * configure: Regenerate.
409 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
410 checks for all targets except *-*-solaris2.* and ensure we find the
411 libc math.h header not our own.
412 * configure: Regenerate.
414 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
416 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
417 New file. Copied over from s390-linux-gnu.
419 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
422 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
423 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
424 * config.h.in: Regenerate.
425 * configure: Regenerate.
426 * testsuite/21_strings/c_strings/char/69626.cc: New.
428 * doc/html/index.html: Regenerate.
430 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
431 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
432 * doc/html/*: Regenerate.
434 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
437 * include/c_compatibility/math.h: Move header guards.
438 * include/c_compatibility/stdlib.h: Likewise.
440 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
443 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
445 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
448 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
449 isinf and isnan functions into two independent checks. Check on hpux.
450 * config.h.in: Regenerate.
451 * configure: Regenerate.
452 * include/c_global/cmath (isinf(double), isnan(double)): Use
453 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
456 2016-01-27 Jakub Jelinek <jakub@redhat.com>
458 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
460 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
463 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
464 -ffp-contract=off, and -ffloat-store to disable excess precision.
465 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
468 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
471 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
472 random_access_iterator_tag>): Check is_move_assignable when moving.
473 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
475 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
476 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
477 * testsuite/25_algorithms/move/69478.cc: New.
478 * testsuite/25_algorithms/move_backward/69478.cc: new.
480 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
482 * include/c_compatibility/stdlib.h: Include wide character related
483 definitions only when they are available in cstdlib.
485 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
488 * include/Makefile.am: Add new header.
489 * include/Makefile.in: Regenerate.
490 * include/bits/random.h (uniform_int_distribution): Move to
491 bits/uniform_int_dist.h.
492 * include/bits/random.tcc (uniform_int_distribution::operator(),
493 uniform_int_distribution::__generate_impl): Likewise.
494 * include/bits/uniform_int_dist.h: New header.
495 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
496 <bits/uniform_int_dist.h> instead of <random>.
497 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
498 move_iterators/1.cc: Include correct header for uninitialized_copy.
499 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
500 move_iterators/1.cc: Likewise.
501 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
503 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
505 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
508 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
510 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
512 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
513 * include/c_compatibility/math.h: Import the TR29124 functions
514 into the global namespace.
515 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
516 xfail and make compile-only.
517 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
518 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
519 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
520 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
521 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
522 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
523 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
524 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
525 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
526 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
527 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
528 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
529 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
530 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
531 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
532 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
533 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
534 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
535 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
536 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
538 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
541 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
542 define result_type for types which can be safely used with valarrays.
543 * testsuite/26_numerics/valarray/69116.cc: New.
546 * config/os/gnu-linux/os_defines.h: Define
547 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
548 * include/c_global/cmath (isinf, isnan): Check it.
549 * doc/xml/manual/internals.xml: Document it.
550 * doc/html/*: Regenerate.
552 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
555 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
556 * include/ext/type_traits.h: Likewise.
557 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
558 for presence of C headers.
559 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
560 dg-error line number.
561 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
562 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
563 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
565 2016-01-20 Torvald Riegel <triegel@redhat.com>
568 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
570 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
573 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
574 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
575 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
576 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
577 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
578 Add using declarations.
579 * testsuite/26_numerics/headers/cmath/60401.cc: New.
582 * include/c_global/ccomplex: Ensure C++ language linkage.
583 * include/c_global/cmath: Likewise.
584 * include/c_global/cstdlib: Likewise.
585 * include/c_global/ctgmath: Likewise.
586 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
588 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
592 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
593 --enable-cheaders=c_global configs.
594 * include/Makefile.in: Regenerate.
595 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
596 test and allow inclusion from C files.
597 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
598 (at_quick_exit, quick_exit): Add using directives.
599 * include/c_global/cmath: Use #include_next for math.h.
600 * include/c_global/cstdlib: Use #include_next for stdlib.h.
601 * testsuite/26_numerics/headers/cmath/14608.cc: New.
602 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
603 Remove xfail for most targets.
604 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
606 2016-01-18 Torvald Riegel <triegel@redhat.com>
608 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
609 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
610 and move after its definition.
611 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
612 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
613 __GXX_WEAK__, and only provide transactional clones if
614 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
617 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
620 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
623 * include/std/functional (_Function_base::_M_not_empty_function):
624 Change overloads for pointers to take arguments by value.
625 * testsuite/20_util/function/cons/57465.cc: Add tests for
626 pointer-to-member cases.
629 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
630 Use macros for exception handling and fix unused parameter warning.
632 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
635 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
637 2016-01-17 Torvald Riegel <triegel@redhat.com>
639 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
641 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
643 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
646 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
649 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
650 static assertion that type is constructible from the arguments.
651 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
652 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
653 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
656 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
657 and isnan on AIX. Quote variables.
658 * configure: Regenerate.
660 2016-01-15 Torvald Riegel <triegel@redhat.com>
662 * include/bits/basic_string.h (basic_string): Declare friends.
663 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
664 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
665 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
666 length_error, out_of_range, runtime_error, range_error,
667 underflow_error, overflow_error): Declare members as transaction-safe.
668 (logic_error, runtime_error): Declare friend functions.
669 * libsupc++/exception (exception, bad_exception): Declare members as
671 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
672 transaction-safe members of exceptions and helper functions.
673 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
674 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
675 (CXXABI_1.3.10): New.
676 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
677 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
678 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
679 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
680 * include/Makefile.in: Regenerate.
681 * config.h.in: Regenerate.
682 * configure: Regenerate.
683 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
685 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
687 * include/ext/random.tcc: Use __builtin_isfinite instead of
690 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
692 * include/bits/std_mutex.h: Fix Doxygen @file name.
694 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
695 Jonathan Wakely <jwakely@redhat.com>
696 Florian Goth <CaptainSifff@gmx.de>
698 Implement TR29124 C++ special Math Functions.
699 * include/Makefile.am: Add new headers.
700 * include/Makefile.in: Regenerate.
701 * include/bits/specfun.h: New.
702 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
703 * include/tr1/bessel_function.tcc: Ditto.
704 * include/tr1/beta_function.tcc: Ditto.
705 * include/tr1/cmath: Ditto.
706 * include/tr1/ell_integral.tcc: Ditto.
707 * include/tr1/exp_integral.tcc: Ditto.
708 * include/tr1/gamma.tcc: Ditto.
709 * include/tr1/hypergeometric.tcc: Ditto.
710 * include/tr1/legendre_function.tcc: Ditto.
711 * include/tr1/modified_bessel_func.tcc: Ditto.
712 * include/tr1/poly_hermite.tcc: Ditto.
713 * include/tr1/poly_laguerre.tcc: Ditto.
714 * include/tr1/riemann_zeta.tcc: Ditto.
715 * include/tr1/special_function_util.h: Ditto.
716 * testsuite/ext/special_functions/conf_hyperg: New.
717 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
718 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
719 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
720 * testsuite/ext/special_functions/hyperg: New.
721 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
722 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
723 * testsuite/ext/special_functions/hyperg/compile.cc: New.
724 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
725 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
726 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
727 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
728 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
729 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
730 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
731 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
732 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
733 * testsuite/special_functions/03_beta/check_nan.cc: New.
734 * testsuite/special_functions/03_beta/check_value.cc: New.
735 * testsuite/special_functions/03_beta/compile.cc: New.
736 * testsuite/special_functions/03_beta/compile_2.cc: New.
737 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
738 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
739 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
740 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
741 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
742 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
743 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
744 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
745 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
746 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
747 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
748 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
749 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
750 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
751 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
752 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
753 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
754 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
755 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
756 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
757 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
758 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
759 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
760 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
761 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
762 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
763 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
764 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
765 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
766 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
767 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
768 * testsuite/special_functions/11_ellint_1/compile.cc: New.
769 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
770 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
771 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
772 * testsuite/special_functions/12_ellint_2/compile.cc: New.
773 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
774 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
775 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
776 * testsuite/special_functions/13_ellint_3/compile.cc: New.
777 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
778 * testsuite/special_functions/14_expint/check_nan.cc: New.
779 * testsuite/special_functions/14_expint/check_value.cc: New.
780 * testsuite/special_functions/14_expint/compile.cc: New.
781 * testsuite/special_functions/14_expint/compile_2.cc: New.
782 * testsuite/special_functions/15_hermite/check_nan.cc: New.
783 * testsuite/special_functions/15_hermite/check_value.cc: New.
784 * testsuite/special_functions/15_hermite/compile.cc: New.
785 * testsuite/special_functions/15_hermite/compile_2.cc: New.
786 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
787 * testsuite/special_functions/16_laguerre/check_value.cc: New.
788 * testsuite/special_functions/16_laguerre/compile.cc: New.
789 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
790 * testsuite/special_functions/17_legendre/check_nan.cc: New.
791 * testsuite/special_functions/17_legendre/check_value.cc: New.
792 * testsuite/special_functions/17_legendre/compile.cc: New.
793 * testsuite/special_functions/17_legendre/compile_2.cc: New.
794 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
795 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
796 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
797 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
798 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
799 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
800 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
801 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
802 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
803 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
804 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
805 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
806 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
807 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
808 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
809 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
810 * testsuite/util/specfun_testcase.h: New.
811 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
812 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
813 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
814 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
815 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
816 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
817 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
819 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
822 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
824 * config.h.in: Regenerate.
825 * configure: Regenerate.
826 * include/c_global/cmath (isinf(double), isnan(double))
827 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
828 * testsuite/26_numerics/headers/cmath/48891.cc: New.
830 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
833 * configure.host (abi_baseline_pair): Use separate baseline for
834 Solaris 11+ and Solaris 10 with gld.
835 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
836 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
837 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
839 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
842 * include/std/type_traits: Following N4511, reimplement __is_swappable
843 and __is_nothrow_swappable. Move __is_swappable to namespace std,
844 adjust callers. Use __is_nothrow_swappable in swap.
845 * include/bits/move.h: Use __is_nothrow_swappable in swap.
846 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
847 __is_swappable related tests.
848 * testsuite/20_util/is_swappable/value.cc: New.
849 * testsuite/20_util/is_swappable/requirements/
850 explicit_instantiation.cc: New.
851 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
852 * testsuite/25_algorithms/swap/68877.cc: New.
854 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
856 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
860 * include/std/functional (function::_Invoke): Remove, use result_of.
861 (function::_Callable): Replace alias template with class template
862 and use partial specialization instead of _NotSelf alias template.
863 (function(_Functor)): Add "not self" constraint so that _Callable is
864 not used while type is incomplete.
865 * testsuite/20_util/function/69222.cc: New.
867 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
870 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
871 Define partial specialization.
872 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
873 destroy members to std::allocator explicit specialization.
875 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
877 * testsuite/26_numerics/headers/cmath/
878 c99_classification_macros_c++.cc: Rename to ...
879 * testsuite/26_numerics/headers/cmath/
880 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
881 * testsuite/26_numerics/headers/cmath/
882 c99_classification_macros_c++0x.cc: Rename to ...
883 * testsuite/26_numerics/headers/cmath/
884 c99_classification_macros_c++11.cc: Here.
887 * include/bits/uses_allocator.h: Add missing include.
889 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
894 * include/bits/stl_iterator.h (back_insert_iterator,
895 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
896 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
897 * include/std/future (__future::base::_State_baseV2::__setter):
899 * include/std/scoped_allocator (__outermost): Likewise.
900 * testsuite/20_util/scoped_allocator/69114.cc: New.
901 * testsuite/20_util/uses_allocator/69114.cc: New.
902 * testsuite/30_threads/promise/69106.cc: New.
904 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
907 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
908 Remove _GLIBCXX_NOEXCEPT.
909 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
911 * include/Makefile.am: Adjust.
912 * include/Makefile.in: Regenerate.
913 * include/bits/mutex.h: Rename to bits/std_mutex.h.
914 * include/std/condition_variable: Adjust include.
915 * include/std/mutex: Likewise.
917 2016-01-04 Jakub Jelinek <jakub@redhat.com>
919 Update copyright years.
921 Copyright (C) 2016 Free Software Foundation, Inc.
923 Copying and distribution of this file, with or without modification,
924 are permitted in any medium without royalty provided the copyright
925 notice and this notice are preserved.