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