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