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