Constrain std::valarray functions and operators
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/69116
4 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
5 define result_type for types which can be safely used with valarrays.
6 * testsuite/26_numerics/valarray/69116.cc: New.
7
8 PR libstdc++/69413
9 * config/os/gnu-linux/os_defines.h: Define
10 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
11 * include/c_global/cmath (isinf, isnan): Check it.
12 * doc/xml/manual/internals.xml: Document it.
13 * doc/html/*: Regenerate.
14
15 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
16
17 PR libstdc++/69406
18 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
19 * include/ext/type_traits.h: Likewise.
20 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
21 for presence of C headers.
22 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
23 dg-error line number.
24 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
25 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
26 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
27
28 2016-01-20 Torvald Riegel <triegel@redhat.com>
29
30 PR libstdc++/69310
31 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
32
33 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
34
35 PR libstdc++/60401
36 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
37 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
38 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
39 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
40 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
41 Add using declarations.
42 * testsuite/26_numerics/headers/cmath/60401.cc: New.
43
44 PR libstdc++/69386
45 * include/c_global/ccomplex: Ensure C++ language linkage.
46 * include/c_global/cmath: Likewise.
47 * include/c_global/cstdlib: Likewise.
48 * include/c_global/ctgmath: Likewise.
49 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
50
51 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
52
53 PR libstdc++/14608
54 PR libstdc++/60401
55 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
56 --enable-cheaders=c_global configs.
57 * include/Makefile.in: Regenerate.
58 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
59 test and allow inclusion from C files.
60 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
61 (at_quick_exit, quick_exit): Add using directives.
62 * include/c_global/cmath: Use #include_next for math.h.
63 * include/c_global/cstdlib: Use #include_next for stdlib.h.
64 * testsuite/26_numerics/headers/cmath/14608.cc: New.
65 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
66 Remove xfail for most targets.
67 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
68
69 2016-01-18 Torvald Riegel <triegel@redhat.com>
70
71 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
72 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
73 and move after its definition.
74 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
75 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
76 __GXX_WEAK__, and only provide transactional clones if
77 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
78 functions.
79
80 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
81
82 PR libstdc++/60637
83 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
84
85 PR libstdc++/69243
86 * include/std/functional (_Function_base::_M_not_empty_function):
87 Change overloads for pointers to take arguments by value.
88 * testsuite/20_util/function/cons/57465.cc: Add tests for
89 pointer-to-member cases.
90
91 PR libstdc++/69340
92 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
93 Use macros for exception handling and fix unused parameter warning.
94
95 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
96
97 PR libstdc++/68734
98 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
99
100 2016-01-17 Torvald Riegel <triegel@redhat.com>
101
102 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
103
104 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
105
106 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
107 __int128 symbols.
108
109 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
110
111 PR libstdc++/69293
112 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
113 static assertion that type is constructible from the arguments.
114 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
115 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
116 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
117
118 PR libstdc++/69294
119 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
120 and isnan on AIX. Quote variables.
121 * configure: Regenerate.
122
123 2016-01-15 Torvald Riegel <triegel@redhat.com>
124
125 * include/bits/basic_string.h (basic_string): Declare friends.
126 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
127 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
128 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
129 length_error, out_of_range, runtime_error, range_error,
130 underflow_error, overflow_error): Declare members as transaction-safe.
131 (logic_error, runtime_error): Declare friend functions.
132 * libsupc++/exception (exception, bad_exception): Declare members as
133 transaction-safe.
134 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
135 transaction-safe members of exceptions and helper functions.
136 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
137 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
138 (CXXABI_1.3.10): New.
139 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
140 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
141 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
142 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
143 * include/Makefile.in: Regenerate.
144 * config.h.in: Regenerate.
145 * configure: Regenerate.
146 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
147
148 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
149
150 * include/ext/random.tcc: Use __builtin_isfinite instead of
151 std::isfinite.
152
153 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
154
155 * include/bits/std_mutex.h: Fix Doxygen @file name.
156
157 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
158 Jonathan Wakely <jwakely@redhat.com>
159 Florian Goth <CaptainSifff@gmx.de>
160
161 Implement TR29124 C++ special Math Functions.
162 * include/Makefile.am: Add new headers.
163 * include/Makefile.in: Regenerate.
164 * include/bits/specfun.h: New.
165 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
166 * include/tr1/bessel_function.tcc: Ditto.
167 * include/tr1/beta_function.tcc: Ditto.
168 * include/tr1/cmath: Ditto.
169 * include/tr1/ell_integral.tcc: Ditto.
170 * include/tr1/exp_integral.tcc: Ditto.
171 * include/tr1/gamma.tcc: Ditto.
172 * include/tr1/hypergeometric.tcc: Ditto.
173 * include/tr1/legendre_function.tcc: Ditto.
174 * include/tr1/modified_bessel_func.tcc: Ditto.
175 * include/tr1/poly_hermite.tcc: Ditto.
176 * include/tr1/poly_laguerre.tcc: Ditto.
177 * include/tr1/riemann_zeta.tcc: Ditto.
178 * include/tr1/special_function_util.h: Ditto.
179 * testsuite/ext/special_functions/conf_hyperg: New.
180 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
181 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
182 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
183 * testsuite/ext/special_functions/hyperg: New.
184 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
185 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
186 * testsuite/ext/special_functions/hyperg/compile.cc: New.
187 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
188 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
189 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
190 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
191 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
192 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
193 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
194 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
195 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
196 * testsuite/special_functions/03_beta/check_nan.cc: New.
197 * testsuite/special_functions/03_beta/check_value.cc: New.
198 * testsuite/special_functions/03_beta/compile.cc: New.
199 * testsuite/special_functions/03_beta/compile_2.cc: New.
200 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
201 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
202 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
203 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
204 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
205 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
206 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
207 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
208 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
209 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
210 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
211 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
212 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
213 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
214 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
215 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
216 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
217 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
218 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
219 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
220 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
221 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
222 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
223 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
224 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
225 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
226 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
227 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
228 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
229 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
230 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
231 * testsuite/special_functions/11_ellint_1/compile.cc: New.
232 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
233 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
234 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
235 * testsuite/special_functions/12_ellint_2/compile.cc: New.
236 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
237 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
238 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
239 * testsuite/special_functions/13_ellint_3/compile.cc: New.
240 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
241 * testsuite/special_functions/14_expint/check_nan.cc: New.
242 * testsuite/special_functions/14_expint/check_value.cc: New.
243 * testsuite/special_functions/14_expint/compile.cc: New.
244 * testsuite/special_functions/14_expint/compile_2.cc: New.
245 * testsuite/special_functions/15_hermite/check_nan.cc: New.
246 * testsuite/special_functions/15_hermite/check_value.cc: New.
247 * testsuite/special_functions/15_hermite/compile.cc: New.
248 * testsuite/special_functions/15_hermite/compile_2.cc: New.
249 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
250 * testsuite/special_functions/16_laguerre/check_value.cc: New.
251 * testsuite/special_functions/16_laguerre/compile.cc: New.
252 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
253 * testsuite/special_functions/17_legendre/check_nan.cc: New.
254 * testsuite/special_functions/17_legendre/check_value.cc: New.
255 * testsuite/special_functions/17_legendre/compile.cc: New.
256 * testsuite/special_functions/17_legendre/compile_2.cc: New.
257 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
258 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
259 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
260 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
261 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
262 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
263 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
264 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
265 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
266 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
267 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
268 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
269 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
270 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
271 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
272 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
273 * testsuite/util/specfun_testcase.h: New.
274 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
275 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
276 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
277 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
278 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
279 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
280 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
281
282 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
283
284 PR libstdc++/48891
285 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
286 and isnan functions.
287 * config.h.in: Regenerate.
288 * configure: Regenerate.
289 * include/c_global/cmath (isinf(double), isnan(double))
290 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
291 * testsuite/26_numerics/headers/cmath/48891.cc: New.
292
293 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
294
295 PR libstdc++/66006
296 * configure.host (abi_baseline_pair): Use separate baseline for
297 Solaris 11+ and Solaris 10 with gld.
298 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
299 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
300 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
301
302 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
303
304 PR libstdc++/68877
305 * include/std/type_traits: Following N4511, reimplement __is_swappable
306 and __is_nothrow_swappable. Move __is_swappable to namespace std,
307 adjust callers. Use __is_nothrow_swappable in swap.
308 * include/bits/move.h: Use __is_nothrow_swappable in swap.
309 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
310 __is_swappable related tests.
311 * testsuite/20_util/is_swappable/value.cc: New.
312 * testsuite/20_util/is_swappable/requirements/
313 explicit_instantiation.cc: New.
314 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
315 * testsuite/25_algorithms/swap/68877.cc: New.
316
317 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
318
319 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
320
321 PR libstdc++/69005
322 PR libstdc++/69222
323 * include/std/functional (function::_Invoke): Remove, use result_of.
324 (function::_Callable): Replace alias template with class template
325 and use partial specialization instead of _NotSelf alias template.
326 (function(_Functor)): Add "not self" constraint so that _Callable is
327 not used while type is incomplete.
328 * testsuite/20_util/function/69222.cc: New.
329
330 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
331
332 PR libstdc++/60976
333 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
334 Define partial specialization.
335 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
336 destroy members to std::allocator explicit specialization.
337
338 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
339
340 * testsuite/26_numerics/headers/cmath/
341 c99_classification_macros_c++.cc: Rename to ...
342 * testsuite/26_numerics/headers/cmath/
343 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
344 * testsuite/26_numerics/headers/cmath/
345 c99_classification_macros_c++0x.cc: Rename to ...
346 * testsuite/26_numerics/headers/cmath/
347 c99_classification_macros_c++11.cc: Here.
348
349 PR libstdc++/69190
350 * include/bits/uses_allocator.h: Add missing include.
351
352 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
353
354 PR libstdc++/69105
355 PR libstdc++/69106
356 PR libstdc++/69114
357 * include/bits/stl_iterator.h (back_insert_iterator,
358 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
359 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
360 * include/std/future (__future::base::_State_baseV2::__setter):
361 Likewise.
362 * include/std/scoped_allocator (__outermost): Likewise.
363 * testsuite/20_util/scoped_allocator/69114.cc: New.
364 * testsuite/20_util/uses_allocator/69114.cc: New.
365 * testsuite/30_threads/promise/69106.cc: New.
366
367 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
368
369 PR libstdc++/69092
370 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
371 Remove _GLIBCXX_NOEXCEPT.
372 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
373
374 * include/Makefile.am: Adjust.
375 * include/Makefile.in: Regenerate.
376 * include/bits/mutex.h: Rename to bits/std_mutex.h.
377 * include/std/condition_variable: Adjust include.
378 * include/std/mutex: Likewise.
379
380 2016-01-04 Jakub Jelinek <jakub@redhat.com>
381
382 Update copyright years.
383 \f
384 Copyright (C) 2016 Free Software Foundation, Inc.
385
386 Copying and distribution of this file, with or without modification,
387 are permitted in any medium without royalty provided the copyright
388 notice and this notice are preserved.