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