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