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