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