1 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
5 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
7 * include/debug/safe_iterator.h
8 (_Safe_iterator<>::operator->()): Implement using underlying iterator
10 * include/debug/safe_local_iterator.h
11 (_Safe_local_iterator<>::operator->()): Likewise.
13 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
15 * testsuite/experimental/memory_resource/1.cc: Add required argument
16 to dg-require-atomic-builtins.
18 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
21 * include/debug/bitset: Add #pragma GCC system_header.
22 * include/debug/deque: Likewise.
23 * include/debug/list: Likewise.
24 * include/debug/map: Likewise.
25 * include/debug/set: Likewise.
26 * include/debug/string: Likewise.
27 * include/debug/unordered_map: Likewise.
28 * include/debug/unordered_set: Likewise.
29 * include/debug/vector: Likewise.
30 * include/debug/functions.h: Adjust whitespace.
32 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
35 * testsuite/experimental/memory_resource/1.cc: Require atomics.
37 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
40 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
41 exception constructors with __sso_string parameters.
43 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
45 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
46 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
47 Test begin and end functions.
48 * testsuite/experimental/filesystem/iterators/
49 recursive_directory_iterator.cc: Likewise.
52 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
53 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
55 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
56 Overload operator* to move from rvalues.
59 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
60 * testsuite/experimental/filesystem/operations/create_directory.cc:
64 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
65 base path to exception.
66 * testsuite/experimental/filesystem/operations/canonical.cc: Test
67 paths contained in exception.
69 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
73 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
75 (directory_iterator::operator++(int)): Return proxy.
76 (recursive_directory_iterator::operator++(int)): Likewise.
77 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
79 * testsuite/experimental/filesystem/iterators/
80 recursive_directory_iterator.cc: Likewise.
82 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
85 * testsuite/experimental/filesystem/iterators/
86 recursive_directory_iterator.cc: Fix test02 to not call member
87 functions on invalid iterator, and use VERIFY not assert.
89 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
91 Avoid endless run-time recursion for copying single-element
92 tuples where the element type is by-value constructible
94 * include/std/tuple (_NotSameTuple): New.
95 * include/std/tuple (tuple(_UElements&&...): Use it.
96 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
98 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
101 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
102 Initialize scalar member variables in default constructor.
103 * testsuite/experimental/filesystem/iterators/
104 recursive_directory_iterator.cc: Test default construction.
106 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
108 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
110 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
112 * testsuite/experimental/filesystem/path/native/string.cc: Add
113 dg-require-filesystem-ts directive.
115 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
118 * include/experimental/memory_resource
119 (__resource_adaptor_imp::do_allocate): Do not default-construct
121 (__resource_adaptor_imp::do_deallocate): Likewise. Use
122 allocator_traits to get pointer type.
123 (__null_memory_resource::do_allocate): Remove unused parameters.
124 (__null_memory_resource::do_deallocate): Likewise.
125 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
126 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
127 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
129 * testsuite/experimental/memory_resource/1.cc: Here.
130 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
131 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
133 2016-04-29 Chris Gregory <czipperz@gmail.com>
135 * config/*: Remove trailing whitespace.
137 * testsuite/tr1/*: Likewise.
138 * testsuite/util/*: Likewise.
140 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
143 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
145 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
147 * include/std/atomic (atomic<_Tp>): Likewise.
148 * include/std/shared_mutex (shared_lock): Likewise.
149 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
150 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
151 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
152 * testsuite/29_atomics/atomic/70766.cc: New test.
153 * testsuite/30_threads/shared_lock/70766.cc: New test.
155 * include/bits/hashtable_policy.h (__detail::_Insert_base,
156 __detail::_Insert): Improve comments.
158 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
161 * include/std/limits: Update comments about DRs.
162 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
163 numeric_limits<const volatile _Tp>): Define unconditionally.
165 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
168 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
169 static counter to return a different path on every call.
171 2016-04-22 Tim Shen <timshen@google.com>
174 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
175 Fix the match_not_bow and match_not_eow behavior.
176 * testsuite/28_regex/regression.cc: Add testcase.
178 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
181 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
182 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
184 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
187 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
188 Override endianness bit in mode.
189 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
190 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
191 that little_endian mode is ignored.
192 * testsuite/experimental/filesystem/path/native/string.cc: New test.
195 * src/filesystem/ops.cc (close_fd): New function.
196 (do_copy_file): Set permissions before copying file contents. Check
197 result of closing file descriptors. Don't copy streambuf when file
199 (copy(const path&, const path&, copy_options, error_code&)): Use
200 lstat for source file when copy_symlinks is set.
201 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
203 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
204 operator~ operator&=, operator|=, operator^=): Add noexcept to
205 overloaded operators for copy_options, perms and directory_options.
206 * src/filesystem/ops.cc (make_file_type, make_file_status,
207 is_not_found_errno, file_time): Add noexcept.
209 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
211 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
213 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
216 * include/bits/random.h: Reword static assertion messages to state
218 * include/bits/random.tcc: Likewise.
219 * include/bits/uniform_int_dist.h: Likewise.
220 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
223 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
225 * config/cpu/sh/atomicity.h: Fix typo in comment.
228 * include/std/thread (operator<, operator==): Move definitions to
230 * testsuite/30_threads/thread/id/70294.cc: New test.
232 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
233 -Wno-pedantic to dg-options.
234 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
235 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
237 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
238 Remove extra semi-colon.
239 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
240 Always supply second argument to static_assert.
241 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
243 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
245 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
246 * testsuite/29_atomics/atomic/60695.cc: Likewise.
247 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
248 alignof when operand is an object not a type.
249 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
250 * testsuite/decimal/make-decimal.cc: Likewise.
251 * testsuite/experimental/type_traits/value.cc: Always supply second
252 argument to static_assert.
253 * testsuite/util/testsuite_common_types.h: Use __extension__ for
256 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
258 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
259 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
260 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
261 Likewise. Add licence and change to compile-only test.
263 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
265 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
267 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
270 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
272 * include/bits/specfun.h: Trivial comment misspelling.
274 2016-04-14 Jason Merrill <jason@redhat.com>
276 Revert Jonathan's empty ABI change from yesterday.
278 2016-04-13 Martin Sebor <msebor@redhat.com>
281 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
282 upper bound is positive.
284 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
286 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
287 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
288 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
289 of functions taking empty structs by value. Add a template parameter
290 to overloads without hints. Rename overloads with hints to
292 (_Hashtable::_M_erase(true_type, const_iterator),
293 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
294 by reordering parameters.
295 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
296 _M_emplace_hint instead of _M_emplace.
297 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
298 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
299 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
300 __shared_ptr): Likewise.
301 * include/bits/stl_algo.h (replace_if): Likewise.
302 * include/bits/stl_pair.h (piecewise_construct_t,
303 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
304 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
305 __uses_alloc0): Likewise.
306 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
307 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
308 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
309 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
310 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
311 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
312 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
314 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
316 Document C++17/TR29124 C++ Special Math Functions.
317 * include/bits/specfun.h: Add Doxygen markup.
319 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
321 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
323 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
325 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
326 * src/Makefile.in: Regenerate.
328 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
331 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
332 __atomic_fetch_add for bool.
333 * configure: Regenerate.
335 * testsuite/30_threads/thread/70503.cc: Require -static to work.
338 * src/c++11/thread.cc (execute_native_thread_routine,
339 execute_native_thread_routine_compat): Give internal linkage.
340 * testsuite/30_threads/thread/70503.cc: New test.
342 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
345 * include/bits/stl_pair.h (_ConstructiblePair,
346 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
347 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
349 * testsuite/20_util/pair/70437.cc: New.
351 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
354 * config/abi/pre/gnu.ver: Add new symbol.
355 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
356 * testsuite/18_support/free_eh_pool.cc: New test.
358 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
360 * include/Makefile.am (install-freestanding-headers): Add
361 concept_check.h and move.h to the installed headers.
362 * include/Makefile.in: Regenerated.
363 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
364 freestanding implementations.
365 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
366 that this macro has no effect for freestanding implementations.
367 * doc/html/manual/using_macros.html: Likewise.
369 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
372 * include/experimental/tuple (__apply_impl): Qualify get and forward.
374 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
376 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
377 * doc/html/*: Regenerate.
380 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
381 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
382 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
383 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
384 trunc) [__cplusplus >= 201103L]: Import from namespace std.
385 (fabs) [__cplusplus < 201103L]: Import from namespace std.
386 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
388 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
389 namespace before including TR1 headers.
390 * testsuite/tr1/headers/c++200x/math.cc: New test.
392 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
395 * include/c_global/cstdarg: Undefine __need___va_list.
396 * include/c_global/cstddef: Undefine all kinds of __need_*.
398 2016-02-16 Tim Shen <timshen@google.com>
401 * include/bits/regex_scanner.h: Add different special character
402 sets for grep and egrep regex.
403 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
404 * testsuite/28_regex/regression.cc: Add new testcase.
406 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
408 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
409 added 'constexpr' in previous commit.
410 * configure: Regenerate.
413 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
414 checks for all targets except *-*-solaris2.* and ensure we find the
415 libc math.h header not our own.
416 * configure: Regenerate.
418 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
420 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
421 New file. Copied over from s390-linux-gnu.
423 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
426 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
427 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
428 * config.h.in: Regenerate.
429 * configure: Regenerate.
430 * testsuite/21_strings/c_strings/char/69626.cc: New.
432 * doc/html/index.html: Regenerate.
434 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
435 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
436 * doc/html/*: Regenerate.
438 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
441 * include/c_compatibility/math.h: Move header guards.
442 * include/c_compatibility/stdlib.h: Likewise.
444 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
447 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
449 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
452 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
453 isinf and isnan functions into two independent checks. Check on hpux.
454 * config.h.in: Regenerate.
455 * configure: Regenerate.
456 * include/c_global/cmath (isinf(double), isnan(double)): Use
457 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
460 2016-01-27 Jakub Jelinek <jakub@redhat.com>
462 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
464 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
467 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
468 -ffp-contract=off, and -ffloat-store to disable excess precision.
469 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
472 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
475 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
476 random_access_iterator_tag>): Check is_move_assignable when moving.
477 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
479 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
480 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
481 * testsuite/25_algorithms/move/69478.cc: New.
482 * testsuite/25_algorithms/move_backward/69478.cc: new.
484 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
486 * include/c_compatibility/stdlib.h: Include wide character related
487 definitions only when they are available in cstdlib.
489 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
492 * include/Makefile.am: Add new header.
493 * include/Makefile.in: Regenerate.
494 * include/bits/random.h (uniform_int_distribution): Move to
495 bits/uniform_int_dist.h.
496 * include/bits/random.tcc (uniform_int_distribution::operator(),
497 uniform_int_distribution::__generate_impl): Likewise.
498 * include/bits/uniform_int_dist.h: New header.
499 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
500 <bits/uniform_int_dist.h> instead of <random>.
501 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
502 move_iterators/1.cc: Include correct header for uninitialized_copy.
503 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
504 move_iterators/1.cc: Likewise.
505 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
507 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
509 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
512 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
514 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
516 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
517 * include/c_compatibility/math.h: Import the TR29124 functions
518 into the global namespace.
519 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
520 xfail and make compile-only.
521 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
522 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
523 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
524 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
525 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
526 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
527 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
528 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
529 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
530 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
531 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
532 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
533 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
534 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
535 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
536 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
537 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
538 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
539 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
540 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
542 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
545 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
546 define result_type for types which can be safely used with valarrays.
547 * testsuite/26_numerics/valarray/69116.cc: New.
550 * config/os/gnu-linux/os_defines.h: Define
551 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
552 * include/c_global/cmath (isinf, isnan): Check it.
553 * doc/xml/manual/internals.xml: Document it.
554 * doc/html/*: Regenerate.
556 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
559 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
560 * include/ext/type_traits.h: Likewise.
561 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
562 for presence of C headers.
563 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
564 dg-error line number.
565 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
566 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
567 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
569 2016-01-20 Torvald Riegel <triegel@redhat.com>
572 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
574 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
577 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
578 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
579 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
580 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
581 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
582 Add using declarations.
583 * testsuite/26_numerics/headers/cmath/60401.cc: New.
586 * include/c_global/ccomplex: Ensure C++ language linkage.
587 * include/c_global/cmath: Likewise.
588 * include/c_global/cstdlib: Likewise.
589 * include/c_global/ctgmath: Likewise.
590 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
592 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
596 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
597 --enable-cheaders=c_global configs.
598 * include/Makefile.in: Regenerate.
599 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
600 test and allow inclusion from C files.
601 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
602 (at_quick_exit, quick_exit): Add using directives.
603 * include/c_global/cmath: Use #include_next for math.h.
604 * include/c_global/cstdlib: Use #include_next for stdlib.h.
605 * testsuite/26_numerics/headers/cmath/14608.cc: New.
606 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
607 Remove xfail for most targets.
608 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
610 2016-01-18 Torvald Riegel <triegel@redhat.com>
612 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
613 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
614 and move after its definition.
615 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
616 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
617 __GXX_WEAK__, and only provide transactional clones if
618 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
621 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
624 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
627 * include/std/functional (_Function_base::_M_not_empty_function):
628 Change overloads for pointers to take arguments by value.
629 * testsuite/20_util/function/cons/57465.cc: Add tests for
630 pointer-to-member cases.
633 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
634 Use macros for exception handling and fix unused parameter warning.
636 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
639 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
641 2016-01-17 Torvald Riegel <triegel@redhat.com>
643 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
645 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
647 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
650 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
653 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
654 static assertion that type is constructible from the arguments.
655 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
656 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
657 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
660 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
661 and isnan on AIX. Quote variables.
662 * configure: Regenerate.
664 2016-01-15 Torvald Riegel <triegel@redhat.com>
666 * include/bits/basic_string.h (basic_string): Declare friends.
667 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
668 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
669 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
670 length_error, out_of_range, runtime_error, range_error,
671 underflow_error, overflow_error): Declare members as transaction-safe.
672 (logic_error, runtime_error): Declare friend functions.
673 * libsupc++/exception (exception, bad_exception): Declare members as
675 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
676 transaction-safe members of exceptions and helper functions.
677 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
678 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
679 (CXXABI_1.3.10): New.
680 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
681 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
682 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
683 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
684 * include/Makefile.in: Regenerate.
685 * config.h.in: Regenerate.
686 * configure: Regenerate.
687 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
689 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
691 * include/ext/random.tcc: Use __builtin_isfinite instead of
694 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
696 * include/bits/std_mutex.h: Fix Doxygen @file name.
698 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
699 Jonathan Wakely <jwakely@redhat.com>
700 Florian Goth <CaptainSifff@gmx.de>
702 Implement TR29124 C++ special Math Functions.
703 * include/Makefile.am: Add new headers.
704 * include/Makefile.in: Regenerate.
705 * include/bits/specfun.h: New.
706 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
707 * include/tr1/bessel_function.tcc: Ditto.
708 * include/tr1/beta_function.tcc: Ditto.
709 * include/tr1/cmath: Ditto.
710 * include/tr1/ell_integral.tcc: Ditto.
711 * include/tr1/exp_integral.tcc: Ditto.
712 * include/tr1/gamma.tcc: Ditto.
713 * include/tr1/hypergeometric.tcc: Ditto.
714 * include/tr1/legendre_function.tcc: Ditto.
715 * include/tr1/modified_bessel_func.tcc: Ditto.
716 * include/tr1/poly_hermite.tcc: Ditto.
717 * include/tr1/poly_laguerre.tcc: Ditto.
718 * include/tr1/riemann_zeta.tcc: Ditto.
719 * include/tr1/special_function_util.h: Ditto.
720 * testsuite/ext/special_functions/conf_hyperg: New.
721 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
722 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
723 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
724 * testsuite/ext/special_functions/hyperg: New.
725 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
726 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
727 * testsuite/ext/special_functions/hyperg/compile.cc: New.
728 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
729 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
730 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
731 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
732 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
733 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
734 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
735 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
736 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
737 * testsuite/special_functions/03_beta/check_nan.cc: New.
738 * testsuite/special_functions/03_beta/check_value.cc: New.
739 * testsuite/special_functions/03_beta/compile.cc: New.
740 * testsuite/special_functions/03_beta/compile_2.cc: New.
741 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
742 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
743 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
744 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
745 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
746 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
747 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
748 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
749 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
750 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
751 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
752 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
753 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
754 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
755 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
756 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
757 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
758 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
759 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
760 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
761 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
762 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
763 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
764 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
765 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
766 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
767 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
768 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
769 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
770 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
771 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
772 * testsuite/special_functions/11_ellint_1/compile.cc: New.
773 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
774 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
775 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
776 * testsuite/special_functions/12_ellint_2/compile.cc: New.
777 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
778 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
779 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
780 * testsuite/special_functions/13_ellint_3/compile.cc: New.
781 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
782 * testsuite/special_functions/14_expint/check_nan.cc: New.
783 * testsuite/special_functions/14_expint/check_value.cc: New.
784 * testsuite/special_functions/14_expint/compile.cc: New.
785 * testsuite/special_functions/14_expint/compile_2.cc: New.
786 * testsuite/special_functions/15_hermite/check_nan.cc: New.
787 * testsuite/special_functions/15_hermite/check_value.cc: New.
788 * testsuite/special_functions/15_hermite/compile.cc: New.
789 * testsuite/special_functions/15_hermite/compile_2.cc: New.
790 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
791 * testsuite/special_functions/16_laguerre/check_value.cc: New.
792 * testsuite/special_functions/16_laguerre/compile.cc: New.
793 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
794 * testsuite/special_functions/17_legendre/check_nan.cc: New.
795 * testsuite/special_functions/17_legendre/check_value.cc: New.
796 * testsuite/special_functions/17_legendre/compile.cc: New.
797 * testsuite/special_functions/17_legendre/compile_2.cc: New.
798 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
799 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
800 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
801 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
802 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
803 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
804 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
805 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
806 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
807 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
808 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
809 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
810 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
811 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
812 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
813 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
814 * testsuite/util/specfun_testcase.h: New.
815 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
816 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
817 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
818 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
819 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
820 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
821 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
823 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
826 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
828 * config.h.in: Regenerate.
829 * configure: Regenerate.
830 * include/c_global/cmath (isinf(double), isnan(double))
831 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
832 * testsuite/26_numerics/headers/cmath/48891.cc: New.
834 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
837 * configure.host (abi_baseline_pair): Use separate baseline for
838 Solaris 11+ and Solaris 10 with gld.
839 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
840 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
841 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
843 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
846 * include/std/type_traits: Following N4511, reimplement __is_swappable
847 and __is_nothrow_swappable. Move __is_swappable to namespace std,
848 adjust callers. Use __is_nothrow_swappable in swap.
849 * include/bits/move.h: Use __is_nothrow_swappable in swap.
850 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
851 __is_swappable related tests.
852 * testsuite/20_util/is_swappable/value.cc: New.
853 * testsuite/20_util/is_swappable/requirements/
854 explicit_instantiation.cc: New.
855 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
856 * testsuite/25_algorithms/swap/68877.cc: New.
858 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
860 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
864 * include/std/functional (function::_Invoke): Remove, use result_of.
865 (function::_Callable): Replace alias template with class template
866 and use partial specialization instead of _NotSelf alias template.
867 (function(_Functor)): Add "not self" constraint so that _Callable is
868 not used while type is incomplete.
869 * testsuite/20_util/function/69222.cc: New.
871 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
874 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
875 Define partial specialization.
876 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
877 destroy members to std::allocator explicit specialization.
879 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
881 * testsuite/26_numerics/headers/cmath/
882 c99_classification_macros_c++.cc: Rename to ...
883 * testsuite/26_numerics/headers/cmath/
884 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
885 * testsuite/26_numerics/headers/cmath/
886 c99_classification_macros_c++0x.cc: Rename to ...
887 * testsuite/26_numerics/headers/cmath/
888 c99_classification_macros_c++11.cc: Here.
891 * include/bits/uses_allocator.h: Add missing include.
893 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
898 * include/bits/stl_iterator.h (back_insert_iterator,
899 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
900 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
901 * include/std/future (__future::base::_State_baseV2::__setter):
903 * include/std/scoped_allocator (__outermost): Likewise.
904 * testsuite/20_util/scoped_allocator/69114.cc: New.
905 * testsuite/20_util/uses_allocator/69114.cc: New.
906 * testsuite/30_threads/promise/69106.cc: New.
908 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
911 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
912 Remove _GLIBCXX_NOEXCEPT.
913 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
915 * include/Makefile.am: Adjust.
916 * include/Makefile.in: Regenerate.
917 * include/bits/mutex.h: Rename to bits/std_mutex.h.
918 * include/std/condition_variable: Adjust include.
919 * include/std/mutex: Likewise.
921 2016-01-04 Jakub Jelinek <jakub@redhat.com>
923 Update copyright years.
925 Copyright (C) 2016 Free Software Foundation, Inc.
927 Copying and distribution of this file, with or without modification,
928 are permitted in any medium without royalty provided the copyright
929 notice and this notice are preserved.