libstdc++/69406 Fix test to check for supported headers
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/69406
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
9 dg-error line number.
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.
13
14 2016-01-20 Torvald Riegel <triegel@redhat.com>
15
16 PR libstdc++/69310
17 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
18
19 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
20
21 PR libstdc++/60401
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.
29
30 PR libstdc++/69386
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.
36
37 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
38
39 PR libstdc++/14608
40 PR libstdc++/60401
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.
54
55 2016-01-18 Torvald Riegel <triegel@redhat.com>
56
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
64 functions.
65
66 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
67
68 PR libstdc++/60637
69 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
70
71 PR libstdc++/69243
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.
76
77 PR libstdc++/69340
78 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
79 Use macros for exception handling and fix unused parameter warning.
80
81 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
82
83 PR libstdc++/68734
84 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
85
86 2016-01-17 Torvald Riegel <triegel@redhat.com>
87
88 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
89
90 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
91
92 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
93 __int128 symbols.
94
95 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
96
97 PR libstdc++/69293
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.
103
104 PR libstdc++/69294
105 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
106 and isnan on AIX. Quote variables.
107 * configure: Regenerate.
108
109 2016-01-15 Torvald Riegel <triegel@redhat.com>
110
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
119 transaction-safe.
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.
133
134 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
135
136 * include/ext/random.tcc: Use __builtin_isfinite instead of
137 std::isfinite.
138
139 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
140
141 * include/bits/std_mutex.h: Fix Doxygen @file name.
142
143 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
144 Jonathan Wakely <jwakely@redhat.com>
145 Florian Goth <CaptainSifff@gmx.de>
146
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.
267
268 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
269
270 PR libstdc++/48891
271 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
272 and isnan functions.
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.
278
279 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
280
281 PR libstdc++/66006
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.
287
288 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
289
290 PR libstdc++/68877
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.
302
303 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
304
305 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
306
307 PR libstdc++/69005
308 PR libstdc++/69222
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.
315
316 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
317
318 PR libstdc++/60976
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.
323
324 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
325
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.
334
335 PR libstdc++/69190
336 * include/bits/uses_allocator.h: Add missing include.
337
338 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
339
340 PR libstdc++/69105
341 PR libstdc++/69106
342 PR libstdc++/69114
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):
347 Likewise.
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.
352
353 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
354
355 PR libstdc++/69092
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.
359
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.
365
366 2016-01-04 Jakub Jelinek <jakub@redhat.com>
367
368 Update copyright years.
369 \f
370 Copyright (C) 2016 Free Software Foundation, Inc.
371
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.