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