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