1 2016-01-20 Torvald Riegel <triegel@redhat.com>
4 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
6 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
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.
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.
24 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
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.
42 2016-01-18 Torvald Riegel <triegel@redhat.com>
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
53 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
56 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
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.
65 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
66 Use macros for exception handling and fix unused parameter warning.
68 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
71 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
73 2016-01-17 Torvald Riegel <triegel@redhat.com>
75 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
77 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
79 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
82 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
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.
92 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
93 and isnan on AIX. Quote variables.
94 * configure: Regenerate.
96 2016-01-15 Torvald Riegel <triegel@redhat.com>
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
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.
121 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
123 * include/ext/random.tcc: Use __builtin_isfinite instead of
126 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
128 * include/bits/std_mutex.h: Fix Doxygen @file name.
130 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
131 Jonathan Wakely <jwakely@redhat.com>
132 Florian Goth <CaptainSifff@gmx.de>
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.
255 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
258 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
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.
266 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
275 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
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.
290 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
292 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
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.
303 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
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.
311 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
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.
323 * include/bits/uses_allocator.h: Add missing include.
325 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
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):
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.
340 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
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.
353 2016-01-04 Jakub Jelinek <jakub@redhat.com>
355 Update copyright years.
357 Copyright (C) 2016 Free Software Foundation, Inc.
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.