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