libstdc++/69703 ignore endianness in codecvt_utf8
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
2
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.
10
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().
19
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.
25
26 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
27
28 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
29
30 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
31
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.
39
40 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
41
42 * config/cpu/sh/atomicity.h: Fix typo in comment.
43
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.
48
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.
72
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.
79
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.
83
84 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
85 warnings.
86
87 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
88
89 * include/bits/specfun.h: Trivial comment misspelling.
90
91 2016-04-14 Jason Merrill <jason@redhat.com>
92
93 Revert Jonathan's empty ABI change from yesterday.
94
95 2016-04-13 Martin Sebor <msebor@redhat.com>
96
97 PR c++/69517
98 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
99 upper bound is positive.
100
101 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
102
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.
130
131 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
132
133 Document C++17/TR29124 C++ Special Math Functions.
134 * include/bits/specfun.h: Add Doxygen markup.
135
136 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
137
138 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
139
140 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
141
142 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
143 * src/Makefile.in: Regenerate.
144
145 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
146
147 PR libstdc++/70554
148 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
149 __atomic_fetch_add for bool.
150 * configure: Regenerate.
151
152 * testsuite/30_threads/thread/70503.cc: Require -static to work.
153
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.
158
159 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
160
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.
167
168 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
169
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.
174
175 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
176
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.
185
186 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
187
188 PR libstdc++/69939
189 * include/experimental/tuple (__apply_impl): Qualify get and forward.
190
191 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
192
193 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
194 * doc/html/*: Regenerate.
195
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.
208
209 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
210
211 PR libstdc++/69881
212 * include/c_global/cstdarg: Undefine __need___va_list.
213 * include/c_global/cstddef: Undefine all kinds of __need_*.
214
215 2016-02-16 Tim Shen <timshen@google.com>
216
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.
222
223 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
224
225 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
226 added 'constexpr' in previous commit.
227 * configure: Regenerate.
228
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.
234
235 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
236
237 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
238 New file. Copied over from s390-linux-gnu.
239
240 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
241
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.
248
249 * doc/html/index.html: Regenerate.
250
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.
254
255 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
256
257 PR libstdc++/69581
258 * include/c_compatibility/math.h: Move header guards.
259 * include/c_compatibility/stdlib.h: Likewise.
260
261 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
262
263 PR libstdc++/69506
264 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
265
266 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
267
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.
276
277 2016-01-27 Jakub Jelinek <jakub@redhat.com>
278
279 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
280
281 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
282
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.
288
289 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
290
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.
300
301 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
302
303 * include/c_compatibility/stdlib.h: Include wide character related
304 definitions only when they are available in cstdlib.
305
306 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
307
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.
325
326 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
327
328 PR libstdc++/69446
329 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
330
331 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
332
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.
358
359 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
360
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.
365
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.
372
373 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
374
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.
385
386 2016-01-20 Torvald Riegel <triegel@redhat.com>
387
388 PR libstdc++/69310
389 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
390
391 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
392
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.
401
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.
408
409 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
410
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.
426
427 2016-01-18 Torvald Riegel <triegel@redhat.com>
428
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.
437
438 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
439
440 PR libstdc++/60637
441 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
442
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.
448
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.
452
453 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
454
455 PR libstdc++/68734
456 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
457
458 2016-01-17 Torvald Riegel <triegel@redhat.com>
459
460 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
461
462 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
463
464 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
465 __int128 symbols.
466
467 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
468
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.
475
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.
480
481 2016-01-15 Torvald Riegel <triegel@redhat.com>
482
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.
505
506 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
507
508 * include/ext/random.tcc: Use __builtin_isfinite instead of
509 std::isfinite.
510
511 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
512
513 * include/bits/std_mutex.h: Fix Doxygen @file name.
514
515 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
516 Jonathan Wakely <jwakely@redhat.com>
517 Florian Goth <CaptainSifff@gmx.de>
518
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.
639
640 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
641
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.
650
651 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
652
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.
659
660 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
661
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.
674
675 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
676
677 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
678
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.
687
688 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
689
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.
695
696 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
697
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.
706
707 PR libstdc++/69190
708 * include/bits/uses_allocator.h: Add missing include.
709
710 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
711
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.
724
725 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
726
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.
731
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.
737
738 2016-01-04 Jakub Jelinek <jakub@redhat.com>
739
740 Update copyright years.
741 \f
742 Copyright (C) 2016 Free Software Foundation, Inc.
743
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.