1 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
3 Avoid endless run-time recursion for copying single-element
4 tuples where the element type is by-value constructible
6 * include/std/tuple (_NotSameTuple): New.
7 * include/std/tuple (tuple(_UElements&&...): Use it.
8 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
10 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
13 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
14 Initialize scalar member variables in default constructor.
15 * testsuite/experimental/filesystem/iterators/
16 recursive_directory_iterator.cc: Teste default construction.
18 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
20 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
22 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
24 * testsuite/experimental/filesystem/path/native/string.cc: Add
25 dg-require-filesystem-ts directive.
27 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
30 * include/experimental/memory_resource
31 (__resource_adaptor_imp::do_allocate): Do not default-construct
33 (__resource_adaptor_imp::do_deallocate): Likewise. Use
34 allocator_traits to get pointer type.
35 (__null_memory_resource::do_allocate): Remove unused parameters.
36 (__null_memory_resource::do_deallocate): Likewise.
37 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
38 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
39 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
41 * testsuite/experimental/memory_resource/1.cc: Here.
42 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
43 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
45 2016-04-29 Chris Gregory <czipperz@gmail.com>
47 * config/*: Remove trailing whitespace.
49 * testsuite/tr1/*: Likewise.
50 * testsuite/util/*: Likewise.
52 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
55 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
57 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
59 * include/std/atomic (atomic<_Tp>): Likewise.
60 * include/std/shared_mutex (shared_lock): Likewise.
61 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
62 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
63 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
64 * testsuite/29_atomics/atomic/70766.cc: New test.
65 * testsuite/30_threads/shared_lock/70766.cc: New test.
67 * include/bits/hashtable_policy.h (__detail::_Insert_base,
68 __detail::_Insert): Improve comments.
70 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
73 * include/std/limits: Update comments about DRs.
74 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
75 numeric_limits<const volatile _Tp>): Define unconditionally.
77 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
80 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
81 static counter to return a different path on every call.
83 2016-04-22 Tim Shen <timshen@google.com>
86 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
87 Fix the match_not_bow and match_not_eow behavior.
88 * testsuite/28_regex/regression.cc: Add testcase.
90 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
93 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
94 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
96 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
99 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
100 Override endianness bit in mode.
101 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
102 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
103 that little_endian mode is ignored.
104 * testsuite/experimental/filesystem/path/native/string.cc: New test.
107 * src/filesystem/ops.cc (close_fd): New function.
108 (do_copy_file): Set permissions before copying file contents. Check
109 result of closing file descriptors. Don't copy streambuf when file
111 (copy(const path&, const path&, copy_options, error_code&)): Use
112 lstat for source file when copy_symlinks is set.
113 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
115 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
116 operator~ operator&=, operator|=, operator^=): Add noexcept to
117 overloaded operators for copy_options, perms and directory_options.
118 * src/filesystem/ops.cc (make_file_type, make_file_status,
119 is_not_found_errno, file_time): Add noexcept.
121 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
123 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
125 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
128 * include/bits/random.h: Reword static assertion messages to state
130 * include/bits/random.tcc: Likewise.
131 * include/bits/uniform_int_dist.h: Likewise.
132 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
135 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
137 * config/cpu/sh/atomicity.h: Fix typo in comment.
140 * include/std/thread (operator<, operator==): Move definitions to
142 * testsuite/30_threads/thread/id/70294.cc: New test.
144 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
145 -Wno-pedantic to dg-options.
146 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
147 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
149 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
150 Remove extra semi-colon.
151 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
152 Always supply second argument to static_assert.
153 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
155 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
157 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
158 * testsuite/29_atomics/atomic/60695.cc: Likewise.
159 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
160 alignof when operand is an object not a type.
161 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
162 * testsuite/decimal/make-decimal.cc: Likewise.
163 * testsuite/experimental/type_traits/value.cc: Always supply second
164 argument to static_assert.
165 * testsuite/util/testsuite_common_types.h: Use __extension__ for
168 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
170 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
171 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
172 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
173 Likewise. Add licence and change to compile-only test.
175 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
177 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
179 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
182 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
184 * include/bits/specfun.h: Trivial comment misspelling.
186 2016-04-14 Jason Merrill <jason@redhat.com>
188 Revert Jonathan's empty ABI change from yesterday.
190 2016-04-13 Martin Sebor <msebor@redhat.com>
193 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
194 upper bound is positive.
196 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
198 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
199 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
200 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
201 of functions taking empty structs by value. Add a template parameter
202 to overloads without hints. Rename overloads with hints to
204 (_Hashtable::_M_erase(true_type, const_iterator),
205 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
206 by reordering parameters.
207 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
208 _M_emplace_hint instead of _M_emplace.
209 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
210 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
211 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
212 __shared_ptr): Likewise.
213 * include/bits/stl_algo.h (replace_if): Likewise.
214 * include/bits/stl_pair.h (piecewise_construct_t,
215 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
216 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
217 __uses_alloc0): Likewise.
218 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
219 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
220 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
221 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
222 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
223 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
224 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
226 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
228 Document C++17/TR29124 C++ Special Math Functions.
229 * include/bits/specfun.h: Add Doxygen markup.
231 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
233 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
235 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
237 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
238 * src/Makefile.in: Regenerate.
240 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
243 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
244 __atomic_fetch_add for bool.
245 * configure: Regenerate.
247 * testsuite/30_threads/thread/70503.cc: Require -static to work.
250 * src/c++11/thread.cc (execute_native_thread_routine,
251 execute_native_thread_routine_compat): Give internal linkage.
252 * testsuite/30_threads/thread/70503.cc: New test.
254 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
257 * include/bits/stl_pair.h (_ConstructiblePair,
258 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
259 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
261 * testsuite/20_util/pair/70437.cc: New.
263 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
266 * config/abi/pre/gnu.ver: Add new symbol.
267 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
268 * testsuite/18_support/free_eh_pool.cc: New test.
270 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
272 * include/Makefile.am (install-freestanding-headers): Add
273 concept_check.h and move.h to the installed headers.
274 * include/Makefile.in: Regenerated.
275 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
276 freestanding implementations.
277 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
278 that this macro has no effect for freestanding implementations.
279 * doc/html/manual/using_macros.html: Likewise.
281 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
284 * include/experimental/tuple (__apply_impl): Qualify get and forward.
286 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
288 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
289 * doc/html/*: Regenerate.
292 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
293 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
294 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
295 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
296 trunc) [__cplusplus >= 201103L]: Import from namespace std.
297 (fabs) [__cplusplus < 201103L]: Import from namespace std.
298 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
300 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
301 namespace before including TR1 headers.
302 * testsuite/tr1/headers/c++200x/math.cc: New test.
304 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
307 * include/c_global/cstdarg: Undefine __need___va_list.
308 * include/c_global/cstddef: Undefine all kinds of __need_*.
310 2016-02-16 Tim Shen <timshen@google.com>
313 * include/bits/regex_scanner.h: Add different special character
314 sets for grep and egrep regex.
315 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
316 * testsuite/28_regex/regression.cc: Add new testcase.
318 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
320 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
321 added 'constexpr' in previous commit.
322 * configure: Regenerate.
325 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
326 checks for all targets except *-*-solaris2.* and ensure we find the
327 libc math.h header not our own.
328 * configure: Regenerate.
330 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
332 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
333 New file. Copied over from s390-linux-gnu.
335 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
338 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
339 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
340 * config.h.in: Regenerate.
341 * configure: Regenerate.
342 * testsuite/21_strings/c_strings/char/69626.cc: New.
344 * doc/html/index.html: Regenerate.
346 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
347 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
348 * doc/html/*: Regenerate.
350 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
353 * include/c_compatibility/math.h: Move header guards.
354 * include/c_compatibility/stdlib.h: Likewise.
356 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
359 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
361 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
364 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
365 isinf and isnan functions into two independent checks. Check on hpux.
366 * config.h.in: Regenerate.
367 * configure: Regenerate.
368 * include/c_global/cmath (isinf(double), isnan(double)): Use
369 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
372 2016-01-27 Jakub Jelinek <jakub@redhat.com>
374 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
376 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
379 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
380 -ffp-contract=off, and -ffloat-store to disable excess precision.
381 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
384 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
387 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
388 random_access_iterator_tag>): Check is_move_assignable when moving.
389 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
391 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
392 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
393 * testsuite/25_algorithms/move/69478.cc: New.
394 * testsuite/25_algorithms/move_backward/69478.cc: new.
396 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
398 * include/c_compatibility/stdlib.h: Include wide character related
399 definitions only when they are available in cstdlib.
401 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
404 * include/Makefile.am: Add new header.
405 * include/Makefile.in: Regenerate.
406 * include/bits/random.h (uniform_int_distribution): Move to
407 bits/uniform_int_dist.h.
408 * include/bits/random.tcc (uniform_int_distribution::operator(),
409 uniform_int_distribution::__generate_impl): Likewise.
410 * include/bits/uniform_int_dist.h: New header.
411 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
412 <bits/uniform_int_dist.h> instead of <random>.
413 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
414 move_iterators/1.cc: Include correct header for uninitialized_copy.
415 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
416 move_iterators/1.cc: Likewise.
417 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
419 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
421 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
424 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
426 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
428 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
429 * include/c_compatibility/math.h: Import the TR29124 functions
430 into the global namespace.
431 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
432 xfail and make compile-only.
433 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
434 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
435 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
436 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
437 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
438 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
439 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
440 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
441 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
442 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
443 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
444 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
445 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
446 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
447 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
448 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
449 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
450 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
451 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
452 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
454 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
457 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
458 define result_type for types which can be safely used with valarrays.
459 * testsuite/26_numerics/valarray/69116.cc: New.
462 * config/os/gnu-linux/os_defines.h: Define
463 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
464 * include/c_global/cmath (isinf, isnan): Check it.
465 * doc/xml/manual/internals.xml: Document it.
466 * doc/html/*: Regenerate.
468 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
471 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
472 * include/ext/type_traits.h: Likewise.
473 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
474 for presence of C headers.
475 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
476 dg-error line number.
477 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
478 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
479 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
481 2016-01-20 Torvald Riegel <triegel@redhat.com>
484 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
486 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
489 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
490 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
491 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
492 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
493 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
494 Add using declarations.
495 * testsuite/26_numerics/headers/cmath/60401.cc: New.
498 * include/c_global/ccomplex: Ensure C++ language linkage.
499 * include/c_global/cmath: Likewise.
500 * include/c_global/cstdlib: Likewise.
501 * include/c_global/ctgmath: Likewise.
502 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
504 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
508 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
509 --enable-cheaders=c_global configs.
510 * include/Makefile.in: Regenerate.
511 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
512 test and allow inclusion from C files.
513 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
514 (at_quick_exit, quick_exit): Add using directives.
515 * include/c_global/cmath: Use #include_next for math.h.
516 * include/c_global/cstdlib: Use #include_next for stdlib.h.
517 * testsuite/26_numerics/headers/cmath/14608.cc: New.
518 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
519 Remove xfail for most targets.
520 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
522 2016-01-18 Torvald Riegel <triegel@redhat.com>
524 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
525 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
526 and move after its definition.
527 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
528 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
529 __GXX_WEAK__, and only provide transactional clones if
530 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
533 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
536 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
539 * include/std/functional (_Function_base::_M_not_empty_function):
540 Change overloads for pointers to take arguments by value.
541 * testsuite/20_util/function/cons/57465.cc: Add tests for
542 pointer-to-member cases.
545 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
546 Use macros for exception handling and fix unused parameter warning.
548 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
551 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
553 2016-01-17 Torvald Riegel <triegel@redhat.com>
555 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
557 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
559 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
562 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
565 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
566 static assertion that type is constructible from the arguments.
567 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
568 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
569 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
572 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
573 and isnan on AIX. Quote variables.
574 * configure: Regenerate.
576 2016-01-15 Torvald Riegel <triegel@redhat.com>
578 * include/bits/basic_string.h (basic_string): Declare friends.
579 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
580 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
581 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
582 length_error, out_of_range, runtime_error, range_error,
583 underflow_error, overflow_error): Declare members as transaction-safe.
584 (logic_error, runtime_error): Declare friend functions.
585 * libsupc++/exception (exception, bad_exception): Declare members as
587 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
588 transaction-safe members of exceptions and helper functions.
589 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
590 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
591 (CXXABI_1.3.10): New.
592 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
593 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
594 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
595 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
596 * include/Makefile.in: Regenerate.
597 * config.h.in: Regenerate.
598 * configure: Regenerate.
599 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
601 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
603 * include/ext/random.tcc: Use __builtin_isfinite instead of
606 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
608 * include/bits/std_mutex.h: Fix Doxygen @file name.
610 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
611 Jonathan Wakely <jwakely@redhat.com>
612 Florian Goth <CaptainSifff@gmx.de>
614 Implement TR29124 C++ special Math Functions.
615 * include/Makefile.am: Add new headers.
616 * include/Makefile.in: Regenerate.
617 * include/bits/specfun.h: New.
618 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
619 * include/tr1/bessel_function.tcc: Ditto.
620 * include/tr1/beta_function.tcc: Ditto.
621 * include/tr1/cmath: Ditto.
622 * include/tr1/ell_integral.tcc: Ditto.
623 * include/tr1/exp_integral.tcc: Ditto.
624 * include/tr1/gamma.tcc: Ditto.
625 * include/tr1/hypergeometric.tcc: Ditto.
626 * include/tr1/legendre_function.tcc: Ditto.
627 * include/tr1/modified_bessel_func.tcc: Ditto.
628 * include/tr1/poly_hermite.tcc: Ditto.
629 * include/tr1/poly_laguerre.tcc: Ditto.
630 * include/tr1/riemann_zeta.tcc: Ditto.
631 * include/tr1/special_function_util.h: Ditto.
632 * testsuite/ext/special_functions/conf_hyperg: New.
633 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
634 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
635 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
636 * testsuite/ext/special_functions/hyperg: New.
637 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
638 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
639 * testsuite/ext/special_functions/hyperg/compile.cc: New.
640 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
641 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
642 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
643 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
644 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
645 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
646 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
647 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
648 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
649 * testsuite/special_functions/03_beta/check_nan.cc: New.
650 * testsuite/special_functions/03_beta/check_value.cc: New.
651 * testsuite/special_functions/03_beta/compile.cc: New.
652 * testsuite/special_functions/03_beta/compile_2.cc: New.
653 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
654 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
655 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
656 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
657 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
658 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
659 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
660 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
661 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
662 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
663 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
664 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
665 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
666 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
667 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
668 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
669 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
670 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
671 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
672 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
673 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
674 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
675 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
676 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
677 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
678 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
679 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
680 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
681 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
682 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
683 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
684 * testsuite/special_functions/11_ellint_1/compile.cc: New.
685 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
686 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
687 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
688 * testsuite/special_functions/12_ellint_2/compile.cc: New.
689 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
690 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
691 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
692 * testsuite/special_functions/13_ellint_3/compile.cc: New.
693 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
694 * testsuite/special_functions/14_expint/check_nan.cc: New.
695 * testsuite/special_functions/14_expint/check_value.cc: New.
696 * testsuite/special_functions/14_expint/compile.cc: New.
697 * testsuite/special_functions/14_expint/compile_2.cc: New.
698 * testsuite/special_functions/15_hermite/check_nan.cc: New.
699 * testsuite/special_functions/15_hermite/check_value.cc: New.
700 * testsuite/special_functions/15_hermite/compile.cc: New.
701 * testsuite/special_functions/15_hermite/compile_2.cc: New.
702 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
703 * testsuite/special_functions/16_laguerre/check_value.cc: New.
704 * testsuite/special_functions/16_laguerre/compile.cc: New.
705 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
706 * testsuite/special_functions/17_legendre/check_nan.cc: New.
707 * testsuite/special_functions/17_legendre/check_value.cc: New.
708 * testsuite/special_functions/17_legendre/compile.cc: New.
709 * testsuite/special_functions/17_legendre/compile_2.cc: New.
710 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
711 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
712 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
713 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
714 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
715 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
716 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
717 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
718 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
719 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
720 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
721 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
722 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
723 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
724 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
725 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
726 * testsuite/util/specfun_testcase.h: New.
727 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
728 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
729 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
730 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
731 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
732 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
733 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
735 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
738 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
740 * config.h.in: Regenerate.
741 * configure: Regenerate.
742 * include/c_global/cmath (isinf(double), isnan(double))
743 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
744 * testsuite/26_numerics/headers/cmath/48891.cc: New.
746 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
749 * configure.host (abi_baseline_pair): Use separate baseline for
750 Solaris 11+ and Solaris 10 with gld.
751 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
752 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
753 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
755 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
758 * include/std/type_traits: Following N4511, reimplement __is_swappable
759 and __is_nothrow_swappable. Move __is_swappable to namespace std,
760 adjust callers. Use __is_nothrow_swappable in swap.
761 * include/bits/move.h: Use __is_nothrow_swappable in swap.
762 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
763 __is_swappable related tests.
764 * testsuite/20_util/is_swappable/value.cc: New.
765 * testsuite/20_util/is_swappable/requirements/
766 explicit_instantiation.cc: New.
767 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
768 * testsuite/25_algorithms/swap/68877.cc: New.
770 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
772 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
776 * include/std/functional (function::_Invoke): Remove, use result_of.
777 (function::_Callable): Replace alias template with class template
778 and use partial specialization instead of _NotSelf alias template.
779 (function(_Functor)): Add "not self" constraint so that _Callable is
780 not used while type is incomplete.
781 * testsuite/20_util/function/69222.cc: New.
783 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
786 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
787 Define partial specialization.
788 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
789 destroy members to std::allocator explicit specialization.
791 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
793 * testsuite/26_numerics/headers/cmath/
794 c99_classification_macros_c++.cc: Rename to ...
795 * testsuite/26_numerics/headers/cmath/
796 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
797 * testsuite/26_numerics/headers/cmath/
798 c99_classification_macros_c++0x.cc: Rename to ...
799 * testsuite/26_numerics/headers/cmath/
800 c99_classification_macros_c++11.cc: Here.
803 * include/bits/uses_allocator.h: Add missing include.
805 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
810 * include/bits/stl_iterator.h (back_insert_iterator,
811 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
812 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
813 * include/std/future (__future::base::_State_baseV2::__setter):
815 * include/std/scoped_allocator (__outermost): Likewise.
816 * testsuite/20_util/scoped_allocator/69114.cc: New.
817 * testsuite/20_util/uses_allocator/69114.cc: New.
818 * testsuite/30_threads/promise/69106.cc: New.
820 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
823 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
824 Remove _GLIBCXX_NOEXCEPT.
825 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
827 * include/Makefile.am: Adjust.
828 * include/Makefile.in: Regenerate.
829 * include/bits/mutex.h: Rename to bits/std_mutex.h.
830 * include/std/condition_variable: Adjust include.
831 * include/std/mutex: Likewise.
833 2016-01-04 Jakub Jelinek <jakub@redhat.com>
835 Update copyright years.
837 Copyright (C) 2016 Free Software Foundation, Inc.
839 Copying and distribution of this file, with or without modification,
840 are permitted in any medium without royalty provided the copyright
841 notice and this notice are preserved.