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