1 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
3 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
4 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
5 Test begin and end functions.
6 * testsuite/experimental/filesystem/iterators/
7 recursive_directory_iterator.cc: Likewise.
10 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
11 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
13 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
14 Overload operator* to move from rvalues.
17 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
18 * testsuite/experimental/filesystem/operations/create_directory.cc:
22 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
23 base path to exception.
24 * testsuite/experimental/filesystem/operations/canonical.cc: Test
25 paths contained in exception.
27 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
31 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
33 (directory_iterator::operator++(int)): Return proxy.
34 (recursive_directory_iterator::operator++(int)): Likewise.
35 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
37 * testsuite/experimental/filesystem/iterators/
38 recursive_directory_iterator.cc: Likewise.
40 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
43 * testsuite/experimental/filesystem/iterators/
44 recursive_directory_iterator.cc: Fix test02 to not call member
45 functions on invalid iterator, and use VERIFY not assert.
47 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
49 Avoid endless run-time recursion for copying single-element
50 tuples where the element type is by-value constructible
52 * include/std/tuple (_NotSameTuple): New.
53 * include/std/tuple (tuple(_UElements&&...): Use it.
54 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
56 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
59 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
60 Initialize scalar member variables in default constructor.
61 * testsuite/experimental/filesystem/iterators/
62 recursive_directory_iterator.cc: Test default construction.
64 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
66 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
68 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
70 * testsuite/experimental/filesystem/path/native/string.cc: Add
71 dg-require-filesystem-ts directive.
73 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
76 * include/experimental/memory_resource
77 (__resource_adaptor_imp::do_allocate): Do not default-construct
79 (__resource_adaptor_imp::do_deallocate): Likewise. Use
80 allocator_traits to get pointer type.
81 (__null_memory_resource::do_allocate): Remove unused parameters.
82 (__null_memory_resource::do_deallocate): Likewise.
83 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
84 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
85 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
87 * testsuite/experimental/memory_resource/1.cc: Here.
88 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
89 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
91 2016-04-29 Chris Gregory <czipperz@gmail.com>
93 * config/*: Remove trailing whitespace.
95 * testsuite/tr1/*: Likewise.
96 * testsuite/util/*: Likewise.
98 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
101 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
103 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
105 * include/std/atomic (atomic<_Tp>): Likewise.
106 * include/std/shared_mutex (shared_lock): Likewise.
107 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
108 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
109 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
110 * testsuite/29_atomics/atomic/70766.cc: New test.
111 * testsuite/30_threads/shared_lock/70766.cc: New test.
113 * include/bits/hashtable_policy.h (__detail::_Insert_base,
114 __detail::_Insert): Improve comments.
116 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
119 * include/std/limits: Update comments about DRs.
120 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
121 numeric_limits<const volatile _Tp>): Define unconditionally.
123 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
126 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
127 static counter to return a different path on every call.
129 2016-04-22 Tim Shen <timshen@google.com>
132 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
133 Fix the match_not_bow and match_not_eow behavior.
134 * testsuite/28_regex/regression.cc: Add testcase.
136 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
139 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
140 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
142 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
145 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
146 Override endianness bit in mode.
147 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
148 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
149 that little_endian mode is ignored.
150 * testsuite/experimental/filesystem/path/native/string.cc: New test.
153 * src/filesystem/ops.cc (close_fd): New function.
154 (do_copy_file): Set permissions before copying file contents. Check
155 result of closing file descriptors. Don't copy streambuf when file
157 (copy(const path&, const path&, copy_options, error_code&)): Use
158 lstat for source file when copy_symlinks is set.
159 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
161 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
162 operator~ operator&=, operator|=, operator^=): Add noexcept to
163 overloaded operators for copy_options, perms and directory_options.
164 * src/filesystem/ops.cc (make_file_type, make_file_status,
165 is_not_found_errno, file_time): Add noexcept.
167 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
169 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
171 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
174 * include/bits/random.h: Reword static assertion messages to state
176 * include/bits/random.tcc: Likewise.
177 * include/bits/uniform_int_dist.h: Likewise.
178 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
181 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
183 * config/cpu/sh/atomicity.h: Fix typo in comment.
186 * include/std/thread (operator<, operator==): Move definitions to
188 * testsuite/30_threads/thread/id/70294.cc: New test.
190 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
191 -Wno-pedantic to dg-options.
192 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
193 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
195 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
196 Remove extra semi-colon.
197 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
198 Always supply second argument to static_assert.
199 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
201 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
203 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
204 * testsuite/29_atomics/atomic/60695.cc: Likewise.
205 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
206 alignof when operand is an object not a type.
207 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
208 * testsuite/decimal/make-decimal.cc: Likewise.
209 * testsuite/experimental/type_traits/value.cc: Always supply second
210 argument to static_assert.
211 * testsuite/util/testsuite_common_types.h: Use __extension__ for
214 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
216 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
217 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
218 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
219 Likewise. Add licence and change to compile-only test.
221 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
223 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
225 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
228 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
230 * include/bits/specfun.h: Trivial comment misspelling.
232 2016-04-14 Jason Merrill <jason@redhat.com>
234 Revert Jonathan's empty ABI change from yesterday.
236 2016-04-13 Martin Sebor <msebor@redhat.com>
239 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
240 upper bound is positive.
242 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
244 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
245 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
246 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
247 of functions taking empty structs by value. Add a template parameter
248 to overloads without hints. Rename overloads with hints to
250 (_Hashtable::_M_erase(true_type, const_iterator),
251 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
252 by reordering parameters.
253 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
254 _M_emplace_hint instead of _M_emplace.
255 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
256 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
257 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
258 __shared_ptr): Likewise.
259 * include/bits/stl_algo.h (replace_if): Likewise.
260 * include/bits/stl_pair.h (piecewise_construct_t,
261 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
262 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
263 __uses_alloc0): Likewise.
264 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
265 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
266 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
267 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
268 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
269 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
270 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
272 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
274 Document C++17/TR29124 C++ Special Math Functions.
275 * include/bits/specfun.h: Add Doxygen markup.
277 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
279 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
281 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
283 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
284 * src/Makefile.in: Regenerate.
286 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
289 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
290 __atomic_fetch_add for bool.
291 * configure: Regenerate.
293 * testsuite/30_threads/thread/70503.cc: Require -static to work.
296 * src/c++11/thread.cc (execute_native_thread_routine,
297 execute_native_thread_routine_compat): Give internal linkage.
298 * testsuite/30_threads/thread/70503.cc: New test.
300 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
303 * include/bits/stl_pair.h (_ConstructiblePair,
304 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
305 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
307 * testsuite/20_util/pair/70437.cc: New.
309 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
312 * config/abi/pre/gnu.ver: Add new symbol.
313 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
314 * testsuite/18_support/free_eh_pool.cc: New test.
316 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
318 * include/Makefile.am (install-freestanding-headers): Add
319 concept_check.h and move.h to the installed headers.
320 * include/Makefile.in: Regenerated.
321 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
322 freestanding implementations.
323 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
324 that this macro has no effect for freestanding implementations.
325 * doc/html/manual/using_macros.html: Likewise.
327 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
330 * include/experimental/tuple (__apply_impl): Qualify get and forward.
332 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
334 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
335 * doc/html/*: Regenerate.
338 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
339 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
340 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
341 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
342 trunc) [__cplusplus >= 201103L]: Import from namespace std.
343 (fabs) [__cplusplus < 201103L]: Import from namespace std.
344 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
346 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
347 namespace before including TR1 headers.
348 * testsuite/tr1/headers/c++200x/math.cc: New test.
350 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
353 * include/c_global/cstdarg: Undefine __need___va_list.
354 * include/c_global/cstddef: Undefine all kinds of __need_*.
356 2016-02-16 Tim Shen <timshen@google.com>
359 * include/bits/regex_scanner.h: Add different special character
360 sets for grep and egrep regex.
361 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
362 * testsuite/28_regex/regression.cc: Add new testcase.
364 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
366 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
367 added 'constexpr' in previous commit.
368 * configure: Regenerate.
371 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
372 checks for all targets except *-*-solaris2.* and ensure we find the
373 libc math.h header not our own.
374 * configure: Regenerate.
376 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
378 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
379 New file. Copied over from s390-linux-gnu.
381 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
384 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
385 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
386 * config.h.in: Regenerate.
387 * configure: Regenerate.
388 * testsuite/21_strings/c_strings/char/69626.cc: New.
390 * doc/html/index.html: Regenerate.
392 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
393 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
394 * doc/html/*: Regenerate.
396 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
399 * include/c_compatibility/math.h: Move header guards.
400 * include/c_compatibility/stdlib.h: Likewise.
402 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
405 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
407 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
410 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
411 isinf and isnan functions into two independent checks. Check on hpux.
412 * config.h.in: Regenerate.
413 * configure: Regenerate.
414 * include/c_global/cmath (isinf(double), isnan(double)): Use
415 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
418 2016-01-27 Jakub Jelinek <jakub@redhat.com>
420 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
422 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
425 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
426 -ffp-contract=off, and -ffloat-store to disable excess precision.
427 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
430 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
433 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
434 random_access_iterator_tag>): Check is_move_assignable when moving.
435 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
437 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
438 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
439 * testsuite/25_algorithms/move/69478.cc: New.
440 * testsuite/25_algorithms/move_backward/69478.cc: new.
442 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
444 * include/c_compatibility/stdlib.h: Include wide character related
445 definitions only when they are available in cstdlib.
447 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
450 * include/Makefile.am: Add new header.
451 * include/Makefile.in: Regenerate.
452 * include/bits/random.h (uniform_int_distribution): Move to
453 bits/uniform_int_dist.h.
454 * include/bits/random.tcc (uniform_int_distribution::operator(),
455 uniform_int_distribution::__generate_impl): Likewise.
456 * include/bits/uniform_int_dist.h: New header.
457 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
458 <bits/uniform_int_dist.h> instead of <random>.
459 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
460 move_iterators/1.cc: Include correct header for uninitialized_copy.
461 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
462 move_iterators/1.cc: Likewise.
463 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
465 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
467 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
470 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
472 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
474 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
475 * include/c_compatibility/math.h: Import the TR29124 functions
476 into the global namespace.
477 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
478 xfail and make compile-only.
479 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
480 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
481 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
482 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
483 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
484 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
485 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
486 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
487 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
488 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
489 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
490 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
491 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
492 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
493 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
494 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
495 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
496 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
497 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
498 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
500 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
503 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
504 define result_type for types which can be safely used with valarrays.
505 * testsuite/26_numerics/valarray/69116.cc: New.
508 * config/os/gnu-linux/os_defines.h: Define
509 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
510 * include/c_global/cmath (isinf, isnan): Check it.
511 * doc/xml/manual/internals.xml: Document it.
512 * doc/html/*: Regenerate.
514 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
517 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
518 * include/ext/type_traits.h: Likewise.
519 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
520 for presence of C headers.
521 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
522 dg-error line number.
523 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
524 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
525 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
527 2016-01-20 Torvald Riegel <triegel@redhat.com>
530 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
532 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
535 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
536 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
537 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
538 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
539 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
540 Add using declarations.
541 * testsuite/26_numerics/headers/cmath/60401.cc: New.
544 * include/c_global/ccomplex: Ensure C++ language linkage.
545 * include/c_global/cmath: Likewise.
546 * include/c_global/cstdlib: Likewise.
547 * include/c_global/ctgmath: Likewise.
548 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
550 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
554 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
555 --enable-cheaders=c_global configs.
556 * include/Makefile.in: Regenerate.
557 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
558 test and allow inclusion from C files.
559 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
560 (at_quick_exit, quick_exit): Add using directives.
561 * include/c_global/cmath: Use #include_next for math.h.
562 * include/c_global/cstdlib: Use #include_next for stdlib.h.
563 * testsuite/26_numerics/headers/cmath/14608.cc: New.
564 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
565 Remove xfail for most targets.
566 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
568 2016-01-18 Torvald Riegel <triegel@redhat.com>
570 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
571 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
572 and move after its definition.
573 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
574 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
575 __GXX_WEAK__, and only provide transactional clones if
576 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
579 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
582 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
585 * include/std/functional (_Function_base::_M_not_empty_function):
586 Change overloads for pointers to take arguments by value.
587 * testsuite/20_util/function/cons/57465.cc: Add tests for
588 pointer-to-member cases.
591 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
592 Use macros for exception handling and fix unused parameter warning.
594 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
597 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
599 2016-01-17 Torvald Riegel <triegel@redhat.com>
601 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
603 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
605 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
608 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
611 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
612 static assertion that type is constructible from the arguments.
613 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
614 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
615 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
618 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
619 and isnan on AIX. Quote variables.
620 * configure: Regenerate.
622 2016-01-15 Torvald Riegel <triegel@redhat.com>
624 * include/bits/basic_string.h (basic_string): Declare friends.
625 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
626 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
627 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
628 length_error, out_of_range, runtime_error, range_error,
629 underflow_error, overflow_error): Declare members as transaction-safe.
630 (logic_error, runtime_error): Declare friend functions.
631 * libsupc++/exception (exception, bad_exception): Declare members as
633 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
634 transaction-safe members of exceptions and helper functions.
635 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
636 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
637 (CXXABI_1.3.10): New.
638 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
639 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
640 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
641 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
642 * include/Makefile.in: Regenerate.
643 * config.h.in: Regenerate.
644 * configure: Regenerate.
645 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
647 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
649 * include/ext/random.tcc: Use __builtin_isfinite instead of
652 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
654 * include/bits/std_mutex.h: Fix Doxygen @file name.
656 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
657 Jonathan Wakely <jwakely@redhat.com>
658 Florian Goth <CaptainSifff@gmx.de>
660 Implement TR29124 C++ special Math Functions.
661 * include/Makefile.am: Add new headers.
662 * include/Makefile.in: Regenerate.
663 * include/bits/specfun.h: New.
664 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
665 * include/tr1/bessel_function.tcc: Ditto.
666 * include/tr1/beta_function.tcc: Ditto.
667 * include/tr1/cmath: Ditto.
668 * include/tr1/ell_integral.tcc: Ditto.
669 * include/tr1/exp_integral.tcc: Ditto.
670 * include/tr1/gamma.tcc: Ditto.
671 * include/tr1/hypergeometric.tcc: Ditto.
672 * include/tr1/legendre_function.tcc: Ditto.
673 * include/tr1/modified_bessel_func.tcc: Ditto.
674 * include/tr1/poly_hermite.tcc: Ditto.
675 * include/tr1/poly_laguerre.tcc: Ditto.
676 * include/tr1/riemann_zeta.tcc: Ditto.
677 * include/tr1/special_function_util.h: Ditto.
678 * testsuite/ext/special_functions/conf_hyperg: New.
679 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
680 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
681 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
682 * testsuite/ext/special_functions/hyperg: New.
683 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
684 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
685 * testsuite/ext/special_functions/hyperg/compile.cc: New.
686 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
687 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
688 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
689 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
690 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
691 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
692 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
693 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
694 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
695 * testsuite/special_functions/03_beta/check_nan.cc: New.
696 * testsuite/special_functions/03_beta/check_value.cc: New.
697 * testsuite/special_functions/03_beta/compile.cc: New.
698 * testsuite/special_functions/03_beta/compile_2.cc: New.
699 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
700 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
701 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
702 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
703 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
704 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
705 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
706 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
707 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
708 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
709 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
710 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
711 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
712 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
713 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
714 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
715 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
716 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
717 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
718 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
719 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
720 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
721 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
722 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
723 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
724 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
725 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
726 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
727 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
728 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
729 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
730 * testsuite/special_functions/11_ellint_1/compile.cc: New.
731 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
732 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
733 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
734 * testsuite/special_functions/12_ellint_2/compile.cc: New.
735 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
736 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
737 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
738 * testsuite/special_functions/13_ellint_3/compile.cc: New.
739 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
740 * testsuite/special_functions/14_expint/check_nan.cc: New.
741 * testsuite/special_functions/14_expint/check_value.cc: New.
742 * testsuite/special_functions/14_expint/compile.cc: New.
743 * testsuite/special_functions/14_expint/compile_2.cc: New.
744 * testsuite/special_functions/15_hermite/check_nan.cc: New.
745 * testsuite/special_functions/15_hermite/check_value.cc: New.
746 * testsuite/special_functions/15_hermite/compile.cc: New.
747 * testsuite/special_functions/15_hermite/compile_2.cc: New.
748 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
749 * testsuite/special_functions/16_laguerre/check_value.cc: New.
750 * testsuite/special_functions/16_laguerre/compile.cc: New.
751 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
752 * testsuite/special_functions/17_legendre/check_nan.cc: New.
753 * testsuite/special_functions/17_legendre/check_value.cc: New.
754 * testsuite/special_functions/17_legendre/compile.cc: New.
755 * testsuite/special_functions/17_legendre/compile_2.cc: New.
756 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
757 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
758 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
759 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
760 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
761 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
762 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
763 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
764 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
765 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
766 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
767 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
768 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
769 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
770 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
771 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
772 * testsuite/util/specfun_testcase.h: New.
773 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
774 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
775 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
776 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
777 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
778 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
779 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
781 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
784 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
786 * config.h.in: Regenerate.
787 * configure: Regenerate.
788 * include/c_global/cmath (isinf(double), isnan(double))
789 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
790 * testsuite/26_numerics/headers/cmath/48891.cc: New.
792 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
795 * configure.host (abi_baseline_pair): Use separate baseline for
796 Solaris 11+ and Solaris 10 with gld.
797 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
798 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
799 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
801 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
804 * include/std/type_traits: Following N4511, reimplement __is_swappable
805 and __is_nothrow_swappable. Move __is_swappable to namespace std,
806 adjust callers. Use __is_nothrow_swappable in swap.
807 * include/bits/move.h: Use __is_nothrow_swappable in swap.
808 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
809 __is_swappable related tests.
810 * testsuite/20_util/is_swappable/value.cc: New.
811 * testsuite/20_util/is_swappable/requirements/
812 explicit_instantiation.cc: New.
813 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
814 * testsuite/25_algorithms/swap/68877.cc: New.
816 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
818 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
822 * include/std/functional (function::_Invoke): Remove, use result_of.
823 (function::_Callable): Replace alias template with class template
824 and use partial specialization instead of _NotSelf alias template.
825 (function(_Functor)): Add "not self" constraint so that _Callable is
826 not used while type is incomplete.
827 * testsuite/20_util/function/69222.cc: New.
829 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
832 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
833 Define partial specialization.
834 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
835 destroy members to std::allocator explicit specialization.
837 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
839 * testsuite/26_numerics/headers/cmath/
840 c99_classification_macros_c++.cc: Rename to ...
841 * testsuite/26_numerics/headers/cmath/
842 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
843 * testsuite/26_numerics/headers/cmath/
844 c99_classification_macros_c++0x.cc: Rename to ...
845 * testsuite/26_numerics/headers/cmath/
846 c99_classification_macros_c++11.cc: Here.
849 * include/bits/uses_allocator.h: Add missing include.
851 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
856 * include/bits/stl_iterator.h (back_insert_iterator,
857 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
858 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
859 * include/std/future (__future::base::_State_baseV2::__setter):
861 * include/std/scoped_allocator (__outermost): Likewise.
862 * testsuite/20_util/scoped_allocator/69114.cc: New.
863 * testsuite/20_util/uses_allocator/69114.cc: New.
864 * testsuite/30_threads/promise/69106.cc: New.
866 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
869 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
870 Remove _GLIBCXX_NOEXCEPT.
871 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
873 * include/Makefile.am: Adjust.
874 * include/Makefile.in: Regenerate.
875 * include/bits/mutex.h: Rename to bits/std_mutex.h.
876 * include/std/condition_variable: Adjust include.
877 * include/std/mutex: Likewise.
879 2016-01-04 Jakub Jelinek <jakub@redhat.com>
881 Update copyright years.
883 Copyright (C) 2016 Free Software Foundation, Inc.
885 Copying and distribution of this file, with or without modification,
886 are permitted in any medium without royalty provided the copyright
887 notice and this notice are preserved.