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