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