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