Add test for PR 60637
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/60637
4 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
5
6 PR libstdc++/69243
7 * include/std/functional (_Function_base::_M_not_empty_function):
8 Change overloads for pointers to take arguments by value.
9 * testsuite/20_util/function/cons/57465.cc: Add tests for
10 pointer-to-member cases.
11
12 PR libstdc++/69340
13 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
14 Use macros for exception handling and fix unused parameter warning.
15
16 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
17
18 PR libstdc++/68734
19 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
20
21 2016-01-17 Torvald Riegel <triegel@redhat.com>
22
23 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
24
25 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
26
27 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
28 __int128 symbols.
29
30 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
31
32 PR libstdc++/69293
33 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
34 static assertion that type is constructible from the arguments.
35 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
36 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
37 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
38
39 PR libstdc++/69294
40 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
41 and isnan on AIX. Quote variables.
42 * configure: Regenerate.
43
44 2016-01-15 Torvald Riegel <triegel@redhat.com>
45
46 * include/bits/basic_string.h (basic_string): Declare friends.
47 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
48 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
49 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
50 length_error, out_of_range, runtime_error, range_error,
51 underflow_error, overflow_error): Declare members as transaction-safe.
52 (logic_error, runtime_error): Declare friend functions.
53 * libsupc++/exception (exception, bad_exception): Declare members as
54 transaction-safe.
55 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
56 transaction-safe members of exceptions and helper functions.
57 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
58 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
59 (CXXABI_1.3.10): New.
60 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
61 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
62 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
63 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
64 * include/Makefile.in: Regenerate.
65 * config.h.in: Regenerate.
66 * configure: Regenerate.
67 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
68
69 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
70
71 * include/ext/random.tcc: Use __builtin_isfinite instead of
72 std::isfinite.
73
74 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
75
76 * include/bits/std_mutex.h: Fix Doxygen @file name.
77
78 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
79 Jonathan Wakely <jwakely@redhat.com>
80 Florian Goth <CaptainSifff@gmx.de>
81
82 Implement TR29124 C++ special Math Functions.
83 * include/Makefile.am: Add new headers.
84 * include/Makefile.in: Regenerate.
85 * include/bits/specfun.h: New.
86 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
87 * include/tr1/bessel_function.tcc: Ditto.
88 * include/tr1/beta_function.tcc: Ditto.
89 * include/tr1/cmath: Ditto.
90 * include/tr1/ell_integral.tcc: Ditto.
91 * include/tr1/exp_integral.tcc: Ditto.
92 * include/tr1/gamma.tcc: Ditto.
93 * include/tr1/hypergeometric.tcc: Ditto.
94 * include/tr1/legendre_function.tcc: Ditto.
95 * include/tr1/modified_bessel_func.tcc: Ditto.
96 * include/tr1/poly_hermite.tcc: Ditto.
97 * include/tr1/poly_laguerre.tcc: Ditto.
98 * include/tr1/riemann_zeta.tcc: Ditto.
99 * include/tr1/special_function_util.h: Ditto.
100 * testsuite/ext/special_functions/conf_hyperg: New.
101 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
102 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
103 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
104 * testsuite/ext/special_functions/hyperg: New.
105 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
106 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
107 * testsuite/ext/special_functions/hyperg/compile.cc: New.
108 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
109 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
110 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
111 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
112 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
113 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
114 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
115 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
116 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
117 * testsuite/special_functions/03_beta/check_nan.cc: New.
118 * testsuite/special_functions/03_beta/check_value.cc: New.
119 * testsuite/special_functions/03_beta/compile.cc: New.
120 * testsuite/special_functions/03_beta/compile_2.cc: New.
121 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
122 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
123 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
124 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
125 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
126 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
127 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
128 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
129 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
130 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
131 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
132 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
133 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
134 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
135 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
136 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
137 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
138 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
139 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
140 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
141 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
142 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
143 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
144 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
145 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
146 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
147 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
148 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
149 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
150 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
151 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
152 * testsuite/special_functions/11_ellint_1/compile.cc: New.
153 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
154 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
155 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
156 * testsuite/special_functions/12_ellint_2/compile.cc: New.
157 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
158 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
159 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
160 * testsuite/special_functions/13_ellint_3/compile.cc: New.
161 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
162 * testsuite/special_functions/14_expint/check_nan.cc: New.
163 * testsuite/special_functions/14_expint/check_value.cc: New.
164 * testsuite/special_functions/14_expint/compile.cc: New.
165 * testsuite/special_functions/14_expint/compile_2.cc: New.
166 * testsuite/special_functions/15_hermite/check_nan.cc: New.
167 * testsuite/special_functions/15_hermite/check_value.cc: New.
168 * testsuite/special_functions/15_hermite/compile.cc: New.
169 * testsuite/special_functions/15_hermite/compile_2.cc: New.
170 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
171 * testsuite/special_functions/16_laguerre/check_value.cc: New.
172 * testsuite/special_functions/16_laguerre/compile.cc: New.
173 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
174 * testsuite/special_functions/17_legendre/check_nan.cc: New.
175 * testsuite/special_functions/17_legendre/check_value.cc: New.
176 * testsuite/special_functions/17_legendre/compile.cc: New.
177 * testsuite/special_functions/17_legendre/compile_2.cc: New.
178 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
179 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
180 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
181 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
182 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
183 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
184 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
185 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
186 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
187 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
188 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
189 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
190 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
191 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
192 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
193 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
194 * testsuite/util/specfun_testcase.h: New.
195 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
196 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
197 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
198 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
199 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
200 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
201 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
202
203 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
204
205 PR libstdc++/48891
206 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
207 and isnan functions.
208 * config.h.in: Regenerate.
209 * configure: Regenerate.
210 * include/c_global/cmath (isinf(double), isnan(double))
211 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
212 * testsuite/26_numerics/headers/cmath/48891.cc: New.
213
214 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
215
216 PR libstdc++/66006
217 * configure.host (abi_baseline_pair): Use separate baseline for
218 Solaris 11+ and Solaris 10 with gld.
219 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
220 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
221 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
222
223 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
224
225 PR libstdc++/68877
226 * include/std/type_traits: Following N4511, reimplement __is_swappable
227 and __is_nothrow_swappable. Move __is_swappable to namespace std,
228 adjust callers. Use __is_nothrow_swappable in swap.
229 * include/bits/move.h: Use __is_nothrow_swappable in swap.
230 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
231 __is_swappable related tests.
232 * testsuite/20_util/is_swappable/value.cc: New.
233 * testsuite/20_util/is_swappable/requirements/
234 explicit_instantiation.cc: New.
235 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
236 * testsuite/25_algorithms/swap/68877.cc: New.
237
238 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
239
240 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
241
242 PR libstdc++/69005
243 PR libstdc++/69222
244 * include/std/functional (function::_Invoke): Remove, use result_of.
245 (function::_Callable): Replace alias template with class template
246 and use partial specialization instead of _NotSelf alias template.
247 (function(_Functor)): Add "not self" constraint so that _Callable is
248 not used while type is incomplete.
249 * testsuite/20_util/function/69222.cc: New.
250
251 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
252
253 PR libstdc++/60976
254 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
255 Define partial specialization.
256 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
257 destroy members to std::allocator explicit specialization.
258
259 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
260
261 * testsuite/26_numerics/headers/cmath/
262 c99_classification_macros_c++.cc: Rename to ...
263 * testsuite/26_numerics/headers/cmath/
264 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
265 * testsuite/26_numerics/headers/cmath/
266 c99_classification_macros_c++0x.cc: Rename to ...
267 * testsuite/26_numerics/headers/cmath/
268 c99_classification_macros_c++11.cc: Here.
269
270 PR libstdc++/69190
271 * include/bits/uses_allocator.h: Add missing include.
272
273 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
274
275 PR libstdc++/69105
276 PR libstdc++/69106
277 PR libstdc++/69114
278 * include/bits/stl_iterator.h (back_insert_iterator,
279 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
280 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
281 * include/std/future (__future::base::_State_baseV2::__setter):
282 Likewise.
283 * include/std/scoped_allocator (__outermost): Likewise.
284 * testsuite/20_util/scoped_allocator/69114.cc: New.
285 * testsuite/20_util/uses_allocator/69114.cc: New.
286 * testsuite/30_threads/promise/69106.cc: New.
287
288 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
289
290 PR libstdc++/69092
291 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
292 Remove _GLIBCXX_NOEXCEPT.
293 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
294
295 * include/Makefile.am: Adjust.
296 * include/Makefile.in: Regenerate.
297 * include/bits/mutex.h: Rename to bits/std_mutex.h.
298 * include/std/condition_variable: Adjust include.
299 * include/std/mutex: Likewise.
300
301 2016-01-04 Jakub Jelinek <jakub@redhat.com>
302
303 Update copyright years.
304 \f
305 Copyright (C) 2016 Free Software Foundation, Inc.
306
307 Copying and distribution of this file, with or without modification,
308 are permitted in any medium without royalty provided the copyright
309 notice and this notice are preserved.