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