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