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