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