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