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