1 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3 Add a feature macro for C++17 make_from_tuple.
4 * include/std/tuple (__cpp_lib_make_from_tuple): New.
5 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
6 Qualify the call to get<>().
7 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
9 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
11 * src/filesystem/ops.cc: Always include ostream and
13 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
14 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
15 sendfile fails with ENOSYS or EINVAL.
17 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
20 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
23 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
25 Implement C++17 make_from_tuple.
26 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
27 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
29 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
32 * include/bits/basic_string.h
33 (append(__sv_type, size_type, size_type)): Turn into a template,
34 change parameter type, constrain, add a conversion to __sv_type
35 from the dependent parameter type.
36 (assign(__sv_type, size_type, size_type)): Likewise.
37 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
38 (replace(size_type, size_type, __sv_type, size_type, size_type)):
40 (compare(size_type, size_type,__sv_type, size_type, size_type)):
42 * testsuite/21_strings/basic_string/lwg2758.cc: New.
44 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
46 * doc/xml/manual/status_cxx2017.xml: Update status table.
47 * doc/html/manual/status.html: Regenerate.
49 * testsuite/lib/libstdc++.exp: Fix typo in comment.
52 * include/std/functional (_Function_base::_Base_manager::_M_clone):
54 * testsuite/20_util/function/cons/72820.cc: New test.
56 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
57 * doc/html/manual/status.html: Regenerate.
58 * include/Makefile.am: Add new header.
59 * include/Makefile.in: Regenerate.
60 * include/bits/invoke.h: New header.
61 (__invoke): Make constexpr. Add && to types in exception specification.
62 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
63 names. Include <bits/invoke.h> and use std::__invoke.
64 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
66 (invoke): Add && to types in exception specification.
67 * include/std/tuple (apply, __apply_impl): Define for C++17.
68 * testsuite/20_util/tuple/apply/1.cc: New test.
69 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
72 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
74 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
75 * doc/html/manual/status.html: Regenerate.
77 * include/std/chrono (floor, ceil, round, abs): New for C++17.
78 * testsuite/20_util/duration_cast/rounding.cc: New test.
79 * testsuite/20_util/time_point_cast/rounding.cc: New test.
80 * doc/xml/manual/status_cxx2017.xml: Update status table.
81 * doc/html/manual/status.html: Regenerate.
82 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
84 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
85 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
86 * testsuite/20_util/duration/literals/range.cc: Likewise.
88 * include/std/functional (__callable_functor): Remove.
89 (_Function_handler::_M_invoke): Use __invoke instead of
90 __callable_functor or mem_fn.
91 (function::_Callable): Use lvalue in result_of expression.
92 (function): Remove TODO comments about allocators.
93 * testsuite/20_util/function/cons/refqual.cc: New test.
95 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
97 * doc/xml/manual/status_cxx2017.xml: Update status table.
98 * include/std/functional (__inv_unwrap): Move to <type_traits>.
99 (__invoke_impl): Remove exception specifications.
100 (__invoke, invoke): Add exception specifications using
101 __is_nothrow_callable.
102 * include/std/type_traits (__inv_unwrap): Move from <functional>.
103 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
104 (__is_callable, __is_nothrow_callable): New traits.
105 (is_callable, is_callable_v): New C++17 traits.
106 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
107 * testsuite/20_util/is_callable/requirements/
108 explicit_instantiation.cc: New test.
109 * testsuite/20_util/is_callable/requirements/
110 explicit_instantiation_ext.cc: New test.
111 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
112 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
114 * testsuite/20_util/is_callable/value.cc: New test.
115 * testsuite/20_util/is_callable/value_ext.cc: New test.
116 * testsuite/20_util/is_nothrow_callable/requirements/
117 explicit_instantiation.cc: New test.
118 * testsuite/20_util/is_nothrow_callable/requirements/
119 explicit_instantiation_ext.cc: New test.
120 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
122 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
124 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
125 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
127 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
128 * doc/html/manual/status.html: Regenerate.
130 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
131 effective target not dg-options. Move check for feature-test macro to:
132 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
135 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
137 (__invoke_impl): Remove unused template parameters.
138 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
140 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
141 and test __invoke extension for C++11.
143 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
145 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
146 Define feature-test macro.
147 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
150 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
151 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
152 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
153 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
154 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
156 * include/std/utility (as_const): Define.
157 * testsuite/20_util/as_const/1.cc: New test.
158 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
160 * include/bits/shared_ptr.h (owner_less): Add default template
162 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
164 (owner_less<void>): Define specialization.
165 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
167 * testsuite/20_util/owner_less/void.cc: New test.
168 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
170 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
171 Define feature-test macro.
172 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
173 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
174 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
175 (__cpp_lib_type_trait_variable_templates): Define.
177 * include/bits/stl_function.h: Remove commented-out macro.
178 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
179 Define feature-test macro.
180 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
182 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
183 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
185 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
187 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
188 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
189 * include/tr1/bessel_function.tcc: Likewise.
190 * include/tr1/beta_function.tcc: Likewise.
191 * include/tr1/cmath: Likewise.
192 * include/tr1/ell_integral.tcc: Likewise.
193 * include/tr1/exp_integral.tcc: Likewise.
194 * include/tr1/gamma.tcc: Likewise.
195 * include/tr1/hypergeometric.tcc: Likewise.
196 * include/tr1/legendre_function.tcc: Likewise.
197 * include/tr1/modified_bessel_func.tcc: Likewise.
198 * include/tr1/poly_hermite.tcc: Likewise.
199 * include/tr1/poly_laguerre.tcc: Likewise.
200 * include/tr1/riemann_zeta.tcc: Likewise.
201 * include/tr1/special_function_util.h: Likewise.
202 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
204 * include/std/type_traits (has_trivial_default_constructor): Remove.
205 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
206 * testsuite/20_util/has_trivial_copy_assign/requirements/
207 explicit_instantiation.cc: Remove test.
208 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
210 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
212 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
213 * testsuite/20_util/has_trivial_copy_constructor/requirements/
214 explicit_instantiation.cc: Likewise.
215 * testsuite/20_util/has_trivial_copy_constructor/requirements/
216 typedefs.cc: Likewise.
217 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
218 * testsuite/20_util/has_trivial_default_constructor/requirements/
219 explicit_instantiation.cc: Likewise.
220 * testsuite/20_util/has_trivial_default_constructor/requirements/
221 typedefs.cc: Likewise.
222 * testsuite/20_util/has_trivial_default_constructor/value.cc:
224 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
225 Check has_trivial_default_constructor, has_trivial_copy_constructor,
226 and has_trivial_copy_assign are not defined.
227 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
229 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
230 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
231 dg-error line number.
232 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
235 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
237 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
238 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
239 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
241 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
243 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
245 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
247 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
249 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
252 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
255 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
256 dg-error to relevant line.
257 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
259 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
261 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
263 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
264 options are present that aren't valid for C.
265 * testsuite/abi/header_cxxabi.c: Likewise.
267 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
268 check_value.cc: Do not add special functions to namespace std in TR1
271 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
272 run for C++11 and later.
273 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
275 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
276 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
277 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
278 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
279 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
281 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
283 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
284 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
286 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
288 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
290 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
291 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
292 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
293 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
294 * testsuite/special_functions/03_beta/compile.cc: Likewise.
295 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
296 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
297 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
299 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
300 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
301 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
302 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
304 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
305 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
306 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
307 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
309 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
310 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
311 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
312 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
314 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
315 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
316 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
317 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
318 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
320 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
321 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
322 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
323 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
325 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
326 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
327 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
328 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
329 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
330 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
331 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
332 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
333 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
334 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
335 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
336 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
337 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
338 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
339 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
340 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
341 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
342 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
343 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
344 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
345 * testsuite/special_functions/14_expint/compile.cc: Likewise.
346 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
347 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
348 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
349 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
350 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
351 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
352 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
353 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
354 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
355 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
356 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
357 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
358 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
359 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
360 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
362 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
363 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
364 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
365 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
366 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
367 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
368 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
369 * testsuite/special_functions/20_sph_legendre/check_value.cc:
371 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
372 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
373 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
374 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
375 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
376 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
378 * testsuite/tr1/5_numerical_facilities/special_functions/
379 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
381 * testsuite/tr1/5_numerical_facilities/special_functions/
382 09_cyl_bessel_j/check_value.cc: Likewise.
383 * testsuite/tr1/5_numerical_facilities/special_functions/
384 10_cyl_bessel_k/check_value.cc: Likewise.
385 * testsuite/tr1/5_numerical_facilities/special_functions/
386 11_cyl_neumann/check_value.cc: Likewise.
387 * testsuite/tr1/5_numerical_facilities/special_functions/
388 21_sph_bessel/check_value.cc: Likewise.
389 * testsuite/tr1/5_numerical_facilities/special_functions/
390 23_sph_neumann/check_value.cc: Likewise.
392 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
394 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
395 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
396 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
397 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
398 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
399 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
401 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
403 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
406 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
407 additional flags for compiling libtestc++.a objects.
409 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
411 * include/bits/basic_string.h (data() const): Update comment.
412 (data()): Add non-const overload for C++17.
413 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
414 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
416 * include/bits/basic_string.tcc: Disable explicit instantiation
417 declarations for C++17.
419 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
420 ignored "xfail" from { dg-do compile { xfail selector } } directive.
421 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
423 * testsuite/26_numerics/headers/cmath/
424 c99_classification_macros_c++11.cc: Likewise.
425 * testsuite/26_numerics/headers/cmath/
426 c99_classification_macros_c++98.cc: Likewise.
427 * testsuite/26_numerics/headers/cmath/
428 c99_classification_macros_c.cc: Likewise.
430 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
431 for different construct/destroy counts in C++98 mode.
433 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
435 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
437 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
440 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
441 C++98-compatible initialization for array.
443 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
444 unused header and variable from compile-only test.
445 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
446 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
447 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
448 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
451 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
452 Remove duplicate dg-options directive.
454 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
455 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
457 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
458 linker options from compile-only tests.
459 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
462 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
463 supported for C++11 and later.
464 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
465 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
467 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
469 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
471 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
473 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
476 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
477 Ensure test is compiled with optimization.
479 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
480 Adjust dg-prune-output pattern for error in C++98 mode.
482 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
483 run for C++11 or later.
485 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
486 test to not rely on GNU extension (escaped normal characters in POSIX
487 BRE). Enable tests for other strings which are now supported.
489 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
490 c++11 instead of setting -std=gnu++14.
493 * include/std/array (get): Use positive message for static assertions.
494 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
495 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
496 specialization for invalid indices, with static assertion.
497 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
499 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
500 dg-error to relevant line.
501 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
503 * testsuite/23_containers/forward_list/requirements/dr438/
504 assign_neg.cc: Likewise.
505 * testsuite/23_containers/forward_list/requirements/dr438/
506 constructor_1_neg.cc: Likewise.
507 * testsuite/23_containers/forward_list/requirements/dr438/
508 constructor_2_neg.cc: Likewise.
509 * testsuite/23_containers/forward_list/requirements/dr438/
510 insert_neg.cc: Likewise.
511 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
513 * testsuite/26_numerics/random/linear_congruential_engine/
514 requirements/non_uint_neg.cc: Likewise.
515 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
516 Likewise. Also test for std::atomic_address.
518 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
520 Add missing variable traits, fix testsuite failures.
521 * include/bits/uses_allocator.h (uses_allocator_v): New.
522 * include/std/functional (is_bind_expression_v, is_placeholder_v):
524 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
525 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
526 * testsuite/20_util/duration/literals/range.cc: Likewise.
527 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
528 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
529 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
530 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
531 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
533 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
534 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
537 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
539 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
540 not test 128-bit types.
541 * testsuite/20_util/is_floating_point/value.cc: Likewise.
542 * testsuite/20_util/is_integral/value.cc: Likewise.
543 * testsuite/20_util/is_signed/value.cc: Likewise.
544 * testsuite/20_util/is_unsigned/value.cc: Likewise.
545 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
546 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
547 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
549 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
552 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
554 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
556 Implement C++17 variable templates for type traits.
557 * include/std/chrono (treat_as_floating_point_v): New.
558 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
559 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
560 (ratio_greater_equal_v): Likewise.
561 * include/std/system_error (is_error_code_enum_v)
562 (is_error_condition_enum_v): Likewise.
563 * include/std/tuple (tuple_size_v): Likewise.
564 * type_traits (conjunction_v, disjunction_v, negation_v)
565 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
566 (is_array_v, is_pointer_v, is_lvalue_reference_v)
567 (is_rvalue_reference_v, is_member_object_pointer_v)
568 (is_member_function_pointer_v, is_enum_v, is_union_v)
569 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
570 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
571 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
572 (is_trivially_copyable_v, is_standard_layout_v)
573 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
574 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
575 (is_constructible_v, is_default_constructible_v)
576 (is_copy_constructible_v, is_move_constructible_v)
577 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
578 (is_destructible_v, is_trivially_constructible_v)
579 (is_trivially_default_constructible_v)
580 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
581 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
582 (is_trivially_move_assignable_v, is_trivially_destructible_v)
583 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
584 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
585 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
586 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
587 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
588 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
589 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
590 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
592 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
593 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
594 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
596 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
598 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
599 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
600 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
602 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
604 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
605 * doc/html/manual/abi.html: Regenerate.
607 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
608 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
610 * configure: Regenerate.
611 * testsuite/util/testsuite_abi.cc: Add new symbol version.
613 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
614 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
615 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
616 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
618 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
619 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
620 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
622 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
624 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
625 Adjust dg-prune-output pattern for error in C++98 mode.
626 * testsuite/23_containers/deque/requirements/dr438/
627 constructor_1_neg.cc: Likewise.
628 * testsuite/23_containers/deque/requirements/dr438/
629 constructor_2_neg.cc: Likewise.
630 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
632 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
634 * testsuite/23_containers/list/requirements/dr438/
635 constructor_1_neg.cc: Likewise.
636 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
638 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
640 * testsuite/23_containers/vector/requirements/dr438/
641 constructor_1_neg.cc: Likewise.
642 * testsuite/23_containers/vector/requirements/dr438/
643 constructor_2_neg.cc: Likewise.
644 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
647 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
648 for different construct/destroy counts in C++98 mode.
650 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
651 dg-options to dg-additional-options so that default options are used.
652 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
654 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
655 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
657 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
658 Use dg-additional-options instead of repeating the common options.
660 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
661 dg-do compile directive.
662 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
664 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
666 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
668 Implement std::string_view and P0254r2,
669 Integrating std::string_view and std::string.
670 * include/Makefile.am: Add string_view and string_view.tcc
671 to the exported headers.
672 * include/Makefile.in: Likewise.
673 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
675 (basic_string(__sv_type, const _Alloc&)): Likewise.
676 (operator=(__sv_type)): Likewise.
677 (operator __sv_type()): Likewise.
678 (operator+=(__sv_type)): Likewise.
679 (append(__sv_type __sv)): Likewise.
680 (append(__sv_type, size_type, size_type)): Likewise.
681 (assign(__sv_type)): Likewise.
682 (assign(__sv_type, size_type, size_type)): Likewise.
683 (insert(size_type, __sv_type)): Likewise.
684 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
685 (replace(size_type, size_type, __sv_type)): Likewise.
686 (replace(size_type, size_type, __sv_type, size_type, size_type)):
688 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
689 (find(__sv_type, size_type)): Likewise.
690 (rfind(__sv_type, size_type)): Likewise.
691 (find_first_of(__sv_type, size_type)): Likewise.
692 (find_last_of(__sv_type, size_type)): Likewise.
693 (find_first_not_of(__sv_type, size_type)): Likewise.
694 (find_last_not_of(__sv_type, size_type)): Likewise.
695 (compare(__sv_type)): Likewise.
696 (compare(size_type, size_type, __sv_type)): Likewise.
697 (compare(size_type, size_type, __sv_type, size_type, size_type)):
699 * include/bits/string_view.tcc: New.
700 * include/std/string_view: Likewise.
701 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
702 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
703 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
705 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
707 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
709 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
711 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
713 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
715 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
717 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
719 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
721 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
723 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
725 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
727 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
728 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
729 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
730 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
731 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
732 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
733 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
734 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
735 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
736 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
738 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
740 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
742 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
744 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
746 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
748 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
750 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
752 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
753 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
754 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
755 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
756 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
758 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
760 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
762 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
764 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
766 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
768 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
770 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
772 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
774 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
776 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
778 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
780 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
782 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
784 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
786 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
788 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
790 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
792 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
794 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
796 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
798 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
800 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
802 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
804 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
806 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
808 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
810 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
812 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
814 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
816 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
818 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
820 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
822 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
823 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
825 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
827 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
829 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
831 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
833 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
835 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
837 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
839 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
841 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
842 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
844 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
846 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
848 2016-07-25 Georeth Chow <georeth2010@gmail.com>
850 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
851 _S_concat enumerator.
852 * testsuite/ext/rope/6.cc: New test.
854 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
856 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
857 std::mt19937, std::thread and std::atomic to simplify test.
858 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
860 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
863 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
864 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
865 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
866 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
867 * testsuite/23_containers/set/allocator/71964.cc: New test.
869 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
870 delete[] instead of delete.
872 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
874 * include/experimental/propagate_const (propagate_const::__t): Rename
875 to _M_t and remove comment. Qualify std::move and std::forward.
876 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
878 * testsuite/23_containers/vector/zero_sized_allocations.cc:
879 Define sized deallocation function.
880 * testsuite/util/testsuite_new_operators.h:
881 (operator delete(void*, const std::nothrow_t&)): Define nothrow
882 deallocation function.
884 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
885 reads past the end of strings.
886 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
888 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
889 invalid array accesses.
890 * testsuite/experimental/string_view/operations/compare/char/1.cc:
891 Fix read past the end of string.
892 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
894 * testsuite/24_iterators/container_access.cc: Fix missing returns.
895 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
897 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
898 leak) memory for arguments to placement delete.
899 * testsuite/20_util/addressof/1.cc: Don't leak memory.
900 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
901 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
904 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
906 * doc/xml/manual/intro.xml: Document DR 2684 status.
907 * doc/html/*: Regenerate.
909 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
910 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
911 (atomic_uint64_t): Define (LWG 2441).
912 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
914 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
916 * doc/xml/manual/intro.xml: Document DR 2441 status.
918 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
919 to use perfect forwarding (LWG 2328).
920 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
921 * doc/xml/manual/intro.xml: Document DR 2328 status.
923 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
924 static objects for catching nullptr as pointer to member types.
926 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
928 Clean up optional's comments.
929 * include/std/optional: Remove incorrect section headers
930 from comments when redundant, replace bare section
931 headers with more descriptive comments.
933 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
935 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
936 * include/bits/move.h: Likewise.
937 * include/bits/postypes.h: Likewise.
938 * include/debug/bitset: Likewise.
939 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
940 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
942 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
943 * testsuite/util/thread/all.h: Likewise.
945 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
949 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
950 nullptr match handlers of pointer type.
952 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
954 Implement C++17 P0025 clamp.
955 * include/bits/algorithmfwd.h: Declare clamp overloads.
956 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
957 * testsuite/25_algorithms/clamp/1.cc: New test.
958 * testsuite/25_algorithms/clamp/2.cc: New test.
959 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
960 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
962 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
965 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
967 Fix the constraints for any's assignment operator template to properly
968 reject assignment from a non-copyable lvalue.
969 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
970 type for is_copy_constructible,
971 * testsuite/20_util/any/requirements.cc: Add a test for
972 non-copyable lvalues.
974 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
976 * include/experimental/functional: Include <parallel/algorithm> in
979 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
983 * include/bits/forward_list.h (forward_list): Update doxygen comments
984 to reflect allocator propagation semantics. Remove ambiguous
985 statements about data being lost.
986 * include/bits/stl_deque.h (deque): Likewise.
987 * include/bits/stl_list.h (list): Likewise.
988 * include/bits/stl_map.h (map): Likewise.
989 * include/bits/stl_multimap.h (multimap): Likewise.
990 * include/bits/stl_multiset.h (multiset): Likewise.
991 * include/bits/stl_set.h (set): Likewise.
992 * include/bits/stl_vector.h (vector): Likewise.
993 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
995 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
998 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1000 Implement P0032R3, Homogeneous interface for variant, any and optional,
1001 for the parts concerning any and optional.
1002 * include/std/any (_Storage()): Make constexpr and have it
1004 (any()): Make constexpr.
1005 (any(const any&)): Adjust.
1006 (any(any&&)): Likewise.
1007 (__any_constructible_t): New.
1008 (any(_ValueType&&)): Constrain.
1009 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1010 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1013 (operator=(const any&)): Likewise.
1014 (operator=(any&&)): Likewise.
1015 (operator=(_ValueType&&)): Constrain.
1016 (emplace(_Args&&...)): New.
1017 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1020 (swap(any&)): Adjust.
1024 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1025 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1026 (make_any(_Args&&...)): Likewise.
1027 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1028 * include/std/optional (in_place_t, in_place): Remove.
1029 (bad_optional_access): Add a comment referring to LEWG 72.
1030 (emplace(_Args&&...)): Constrain.
1032 (reset()): Likewise.
1033 (make_optional(_Args&&...)): Likewise.
1034 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1035 * include/std/utility (in_place_tag): New.
1036 (__in_place, __in_place_type, __in_place_index): Likewise.
1037 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1038 (in_place(__in_place*)): Likewise.
1039 (in_place(__in_place_type<_Tp>*)): Likewise.
1040 (in_place(__in_place_index<_Idx>*)): Likewise.
1041 * testsuite/20_util/any/assign/1.cc: Adjust.
1042 * testsuite/20_util/any/assign/emplace.cc: New.
1043 * testsuite/20_util/any/assign/self.cc: Adjust.
1044 * testsuite/20_util/any/cons/1.cc: Likewise.
1045 * testsuite/20_util/any/cons/in_place.cc: New.
1046 * testsuite/20_util/any/make_any.cc: Likewise.
1047 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1048 * testsuite/20_util/any/misc/swap.cc: Likewise.
1049 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1050 * testsuite/20_util/any/requirements.cc: New.
1051 * testsuite/20_util/in_place/requirements.cc: Likewise.
1052 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1053 * testsuite/20_util/optional/in_place.cc: Likewise.
1054 * testsuite/20_util/optional/make_optional.cc: Add tests for
1055 the new overloads of make_optional.
1057 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1059 Implement P0307R2, Making Optional Greater Equal Again.
1060 * include/experimental/optional (_Has_addressof): Fix the comment.
1061 * include/std/optional (_Has_addressof): Likewise.
1062 (operator=(_Up&&)): Constrain.
1063 (operator=(const optional<_Up>&)): Likewise.
1064 (operator=(optional<_Up>&&)): Likewise.
1065 (__optional_relop_t): New.
1066 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1067 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1068 Constrain and make transparent.
1069 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1070 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1071 Constrain and make transparent.
1072 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1073 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1074 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1075 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1076 (operator!=(const optional<_Tp>&, _Tp const&)):
1077 Constrain and make transparent.
1078 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1079 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1080 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1081 (operator>(const optional<_Tp>&, const _Tp&)):
1082 Constrain and make transparent.
1083 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1084 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1085 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1086 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1087 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1088 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1089 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1090 * testsuite/20_util/optional/relops/1.cc: Likewise.
1091 * testsuite/20_util/optional/relops/2.cc: Likewise.
1092 * testsuite/20_util/optional/relops/3.cc: Likewise.
1093 * testsuite/20_util/optional/relops/4.cc: Likewise.
1094 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1095 that optional's relops are transparent and don't synthesize
1096 operators. Also test that assignment sfinaes.
1098 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1101 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1102 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1103 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1104 on _GLIBCXX_ASSERTIONS.
1105 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1106 Include <unistd.h> for sleep.
1107 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1108 * include/parallel/merge.h: Likewise.
1109 * include/parallel/multiway_merge.h: Likewise.
1110 * include/parallel/partition.h: Likewise.
1111 * include/parallel/queue.h: Likewise.
1112 * include/parallel/sort.h: Likewise.
1113 * testsuite/25_algorithms/headers/algorithm/
1114 parallel_algorithm_assert.cc: New.
1116 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1117 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1118 Forward to different overload.
1120 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1123 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1125 Revert "Add non-const overload of std::string::data()".
1127 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1129 Implement P0307R2, Making Optional Greater Equal Again.
1130 * include/experimental/optional (_Has_addressof): Fix the comment.
1131 * include/std/optional (_Has_addressof): Likewise.
1132 (operator=(_Up&&)): Constrain.
1133 (operator=(const optional<_Up>&)): Likewise.
1134 (operator=(optional<_Up>&&)): Likewise.
1135 (__optional_relop_t): New.
1136 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1137 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1138 Constrain and make transparent.
1139 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1140 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1141 Constrain and make transparent.
1142 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1143 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1144 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1145 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1146 (operator!=(const optional<_Tp>&, _Tp const&)):
1147 Constrain and make transparent.
1148 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1149 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1150 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1151 (operator>(const optional<_Tp>&, const _Tp&)):
1152 Constrain and make transparent.
1153 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1154 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1155 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1156 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1157 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1158 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1159 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1160 * testsuite/20_util/optional/relops/1.cc: Likewise.
1161 * testsuite/20_util/optional/relops/2.cc: Likewise.
1162 * testsuite/20_util/optional/relops/3.cc: Likewise.
1163 * testsuite/20_util/optional/relops/4.cc: Likewise.
1164 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1165 that optional's relops are transparent and don't synthesize
1166 operators. Also test that assignment sfinaes.
1168 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1170 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1172 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1173 instead of _M_data().
1174 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1176 (append(const basic_string&)): Likewise.
1177 (append(const basic_string&, size_type, size_type)): Likewise.
1178 (assign(const basic_string&, size_type, size_type)): Likewise.
1179 (insert(size_type, const basic_string&)): Likewise.
1180 (insert(size_type, const basic_string&, size_type, size_type)):
1182 (replace(size_type, size_type, const basic_string&, size_type,
1183 size_type)): Likewise.
1184 (replace(__const_iterator, __const_iterator, const basic_string&)):
1186 (c_str(), data()): Use c_str() instead of _M_data().
1187 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1188 (compare(const basic_string&)): Use data() instead of _M_data().
1189 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1190 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1191 Pass raw pointers to _S_copy.
1192 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1194 (find(const _CharT*, size_type, size_type)): Use data instead of
1196 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1197 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1198 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1200 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
1202 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1203 * doc/xml/manual/intro.xml: Document DR 2458 status.
1204 * doc/html*: Regenerate.
1206 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1207 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1208 Only include <array>.
1209 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1211 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1212 * doc/html*: Regenerate.
1214 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1215 Add testcase from LWG 2164.
1217 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
1219 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1220 to _M_realloc_insert.
1221 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1222 (_M_realloc_insert): Declare new function.
1223 (_M_emplace_back_aux): Remove definition.
1224 * include/bits/vector.tcc (emplace_back(_Args...)):
1225 Use _M_realloc_insert.
1226 (insert(const_iterator, const value_type&)): Likewise.
1227 (_M_insert_rval, _M_emplace_aux): Likewise.
1228 (_M_emplace_back_aux): Remove declaration.
1229 (_M_realloc_insert): Define.
1230 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1231 Adjust expected results for emplacing an lvalue with reallocation.
1233 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1235 Implement std::optional.
1236 * include/Makefile.am: Add optional to exported headers.
1237 * include/Makefile.in: Likewise.
1238 * include/std/optional: New.
1239 * testsuite/20_util/optional/typedefs.cc: Likewise.
1240 * testsuite/20_util/optional/relops/2.cc: Likewise.
1241 * testsuite/20_util/optional/relops/3.cc: Likewise.
1242 * testsuite/20_util/optional/relops/4.cc: Likewise.
1243 * testsuite/20_util/optional/relops/5.cc: Likewise.
1244 * testsuite/20_util/optional/relops/1.cc: Likewise.
1245 * testsuite/20_util/optional/relops/6.cc: Likewise.
1246 * testsuite/20_util/optional/nullopt.cc: Likewise.
1247 * testsuite/20_util/optional/in_place.cc: Likewise.
1248 * testsuite/20_util/optional/make_optional.cc: Likewise.
1249 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1250 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1251 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1252 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1253 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1254 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1255 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1256 * testsuite/20_util/optional/cons/default.cc: Likewise.
1257 * testsuite/20_util/optional/cons/move.cc: Likewise.
1258 * testsuite/20_util/optional/cons/value.cc: Likewise.
1259 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1260 * testsuite/20_util/optional/requirements.cc: Likewise.
1261 * testsuite/20_util/optional/observers/2.cc: Likewise.
1262 * testsuite/20_util/optional/observers/3.cc: Likewise.
1263 * testsuite/20_util/optional/observers/4.cc: Likewise.
1264 * testsuite/20_util/optional/observers/5.cc: Likewise.
1265 * testsuite/20_util/optional/observers/1.cc: Likewise.
1266 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1267 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1268 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1269 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1270 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1271 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1272 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1273 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1274 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1275 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1276 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1277 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1278 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1279 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1280 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1281 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1282 * testsuite/20_util/optional/swap/1.cc: Likewise.
1284 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
1286 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1288 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
1290 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1291 * doc/html/*: Regenerate.
1293 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1296 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1297 * include/Makefile.in: Likewise.
1298 * include/std/any: New.
1299 * testsuite/20_util/any/assign/1.cc: Likewise.
1300 * testsuite/20_util/any/assign/2.cc: Likewise.
1301 * testsuite/20_util/any/assign/self.cc: Likewise.
1302 * testsuite/20_util/any/cons/1.cc: Likewise.
1303 * testsuite/20_util/any/cons/2.cc: Likewise.
1304 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1305 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1306 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1307 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1308 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1309 * testsuite/20_util/any/misc/swap.cc: Likewise.
1310 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1311 * testsuite/20_util/any/observers/type.cc: Likewise.
1312 * testsuite/20_util/any/typedefs.cc: Likewise.
1314 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1316 Add a new header for diagnosing the use of C++17 facilities
1318 * include/bits/c++17_warning.h: New.
1320 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1322 Implement LWG 2451, optional<T> should 'forward' T's
1323 implicit conversions.
1324 * include/experimental/optional (__is_optional_impl, __is_optional):
1326 (optional()): Make constexpr and default.
1327 (optional(_Up&&), optional(const optional<_Up>&),
1328 optional(optional<_Up>&& __t): New.
1329 (operator=(_Up&&)): Constrain.
1330 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1331 * testsuite/experimental/optional/cons/value.cc:
1332 Add tests for the functionality added by LWG 2451.
1333 * testsuite/experimental/optional/cons/value_neg.cc: New.
1335 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1338 any_cast doesn't work with rvalue reference targets and cannot
1339 move with a value target.
1340 * include/experimental/any (any(_ValueType&&)): Constrain and
1341 add an overload that doesn't forward.
1342 (any_cast(any&&)): Constrain and add an overload that moves.
1343 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1344 the functionality added by LWG 2509.
1346 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
1348 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1350 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1353 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
1355 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1356 Define inline. Forward to _M_emplace_aux.
1357 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1358 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1359 (_Temporary_value): New RAII type using allocator to construct/destroy.
1360 (_S_insert_aux_assign): Remove.
1361 (_M_insert_aux): Make non-variadic.
1362 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1363 Use _Temporary_value.
1364 (emplace(const_iterator, _Args&&...)): Remove definition.
1365 (_M_insert_rval, _M_emplace_aux): Define.
1366 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1367 (_M_fill_insert): Use _Temporary_value.
1368 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1369 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1370 Adjust expected results for emplacing an lvalue with reallocation.
1371 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1372 expected results to account for construction/destruction of temporary
1374 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1376 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1379 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1380 Call remove_all for children of a directory.
1381 * testsuite/experimental/filesystem/operations/create_directories.cc:
1384 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
1386 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1387 dg-error line numbers.
1388 * testsuite/23_containers/array/tuple_interface/
1389 tuple_element_debug_neg.cc: Likewise.
1390 * testsuite/25_algorithms/lexicographical_compare/debug/
1391 irreflexive_neg.cc: Remove.
1393 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1395 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1396 than specific target.
1398 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
1401 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1404 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
1406 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1409 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1411 * configure.host: Remove mep-* support.
1413 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1415 * configure: Regenerate.
1416 * configure.host: Remove support for knetbsd.
1417 * crossconfig.m4: Likewise.
1419 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
1422 * include/tr1/hashtable_policy.h
1423 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1424 dereferenceable to avoid check on lower_bound result.
1425 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1426 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1427 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1428 Always return a value greater than input value. Set _M_next_resize to
1429 max value when reaching highest prime number.
1430 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1432 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1433 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1435 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1436 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1439 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1442 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1443 Remove irreflexive checks.
1444 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1445 binary_search): Likewise.
1446 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1447 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1448 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1449 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1450 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1451 Add constructor from array.
1453 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
1455 * include/debug/debug.h
1456 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1457 (__glibcxx_requires_subscript): Move...
1458 * include/debug/assertions.h: ...here and add __builtin_expect.
1459 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1460 * include/bits/stl_deque.h
1461 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1462 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1463 (std::deque<>::back()): Likewise.
1464 (std::deque<>::pop_front()): Likewise.
1465 (std::deque<>::pop_back()): Likewise.
1466 (std::deque<>::swap(deque&)): Add allocator check.
1467 * include/bits/stl_vector.h
1468 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1469 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1470 (std::vector<>::back()): Likewise.
1471 (std::vector<>::pop_back()): Likewise.
1472 (std::vector<>::swap(vector&)): Add allocator check.
1474 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1476 Provide swappable traits (p0185r1)
1477 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1478 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1479 is_nothrow_swappable_v, is_swappable_with_v,
1480 is_nothrow_swappable_with_v): New.
1481 * include/bits/stl_pair.h: Use it as per p0185r1.
1482 * include/bits/stl_queue.h: Likewise.
1483 * include/bits/stl_stack.h: Likewise.
1484 * include/bits/unique_ptr.h: Likewise.
1485 * include/std/tuple: Likewise.
1486 * include/std/array: Likewise. Fix zero-size member swap.
1487 * include/bits/hashtable.h: Use __and_.
1488 * testsuite/20_util/is_nothrow_swappable/requirements/
1489 explicit_instantiation.cc: Change test options to std=gnu++17.
1490 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1492 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1493 * testsuite/20_util/is_swappable/requirements/
1494 explicit_instantiation.cc: Likewise.
1495 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1496 * testsuite/20_util/is_swappable/value.cc: Likewise.
1497 * testsuite/20_util/is_nothrow_swappable/requirements/
1498 explicit_instantiation_ext.cc: New.
1499 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1501 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1502 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1503 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1504 explicit_instantiation.cc: New.
1505 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1507 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1508 * testsuite/20_util/is_swappable/requirements/
1509 explicit_instantiation_ext.cc: New.
1510 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1511 * testsuite/20_util/is_swappable/value.h: New.
1512 * testsuite/20_util/is_swappable/value_ext.cc: New.
1513 * testsuite/20_util/is_swappable_with/requirements/
1514 explicit_instantiation.cc: New.
1515 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1516 * testsuite/20_util/is_swappable_with/value.cc: New.
1517 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1518 dg-error line numbers.
1519 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1522 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
1524 * include/std/array: Remove trailing whitespace.
1525 * include/std/atomic: Likewise.
1526 * include/std/bitset: Likewise.
1527 * include/std/chrono: Likewise.
1528 * include/std/complex: Likewise.
1529 * include/std/condition_variable: Likewise.
1530 * include/std/fstream: Likewise.
1531 * include/std/functional: Likewise.
1532 * include/std/future: Likewise.
1533 * include/std/iomanip: Likewise.
1534 * include/std/iosfwd: Likewise.
1535 * include/std/istream: Likewise.
1536 * include/std/limits: Likewise.
1537 * include/std/ratio: Likewise.
1538 * include/std/scoped_allocator: Likewise.
1539 * include/std/sstream: Likewise.
1540 * include/std/stdexcept: Likewise.
1541 * include/std/string: Likewise.
1542 * include/std/system_error: Likewise.
1543 * include/std/thread: Likewise.
1544 * include/std/tuple: Likewise.
1545 * include/std/type_traits: Likewise.
1546 * include/std/utility: Likewise.
1547 * include/std/valarray: Likewise.
1548 * include/std/vector: Likewise.
1550 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1551 new overloaded functions.
1552 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1553 to avoid creating a redundant temporary.
1554 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1557 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1559 * include/bits/stl_deque.h
1560 (std::deque<>::operator=): Call _M_assign_aux.
1561 (std::deque<>::assign(initializer_list<>)): Likewise.
1562 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1563 (std::deque<>::insert(const_iterator, initializer_list<>)):
1564 Call _M_range_insert_aux.
1565 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1567 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1568 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1569 * include/bits/deque.tcc
1570 (std::deque<>::operator=): Call _M_range_insert_aux.
1571 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1573 * include/bits/stl_vector.h
1574 (std::vector<>::operator=): Call _M_assign_aux.
1575 (std::vector<>::assign(initializer_list<>)): Likewise.
1576 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1577 (std::vector<>::insert(const_iterator, initializer_list<>)):
1578 Call _M_range_insert.
1579 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1581 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1583 * include/std/tuple (_Head_base<>): Default specialization condition at
1586 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1588 Support allocators in tuples of zero size.
1589 * include/std/tuple (tuple<>::tuple(),
1590 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1591 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1592 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1594 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1597 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1598 Add or remove permissions according to perms argument.
1599 * testsuite/experimental/filesystem/operations/permissions.cc: New
1602 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1604 Protect allocator-overloads of tuple-from-tuple constructors
1605 from cases that would create dangling references.
1606 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1607 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1608 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1609 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1611 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1613 * doc/xml/manual/backwards_compatibility.xml: Adjust
1614 lists.debian.org link to https.
1615 * doc/html/manual/backwards.html: Regenerate.
1617 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1619 * doc/xml/manual/abi.xml: Adjust URL to use https.
1620 * doc/html/manual/*: Regenerate.
1622 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1625 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1626 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1627 check for _NotSameTuple.
1628 * include/std/tuple (_TMCT): New.
1629 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1630 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1631 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1632 const tuple<_UElements...>&)): Likewise.
1633 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1634 tuple<_UElements...>&&)): Likewise.
1635 * testsuite/20_util/tuple/cons/66338.cc: New.
1637 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1639 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1640 * configure: Regenerate.
1641 * config.h.in: Regenerate.
1643 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1644 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1645 Remove const qualification on function. Replace
1646 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1647 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1648 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1650 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1652 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1653 * include/bits/hashtable_policy.h
1654 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1655 having load factor management.
1656 (_Mask_range_hashing): New.
1658 (_Power2_rehash_policy): New.
1659 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1660 partial specializations only depend on whether iterators are constant
1662 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1663 test new hash policy.
1664 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1666 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1668 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1670 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1672 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1674 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1675 using the new hash policy.
1676 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1678 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1680 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1682 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1684 * include/debug/safe_iterator.h
1685 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1687 * include/debug/safe_local_iterator.h
1688 (_Safe_local_iterator<>::operator->()): Likewise.
1690 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1692 * testsuite/experimental/memory_resource/1.cc: Add required argument
1693 to dg-require-atomic-builtins.
1695 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1698 * include/debug/bitset: Add #pragma GCC system_header.
1699 * include/debug/deque: Likewise.
1700 * include/debug/list: Likewise.
1701 * include/debug/map: Likewise.
1702 * include/debug/set: Likewise.
1703 * include/debug/string: Likewise.
1704 * include/debug/unordered_map: Likewise.
1705 * include/debug/unordered_set: Likewise.
1706 * include/debug/vector: Likewise.
1707 * include/debug/functions.h: Adjust whitespace.
1709 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1712 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1714 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1717 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1718 exception constructors with __sso_string parameters.
1720 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1722 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1723 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1724 Test begin and end functions.
1725 * testsuite/experimental/filesystem/iterators/
1726 recursive_directory_iterator.cc: Likewise.
1729 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1730 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1732 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1733 Overload operator* to move from rvalues.
1736 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1737 * testsuite/experimental/filesystem/operations/create_directory.cc:
1741 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1742 base path to exception.
1743 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1744 paths contained in exception.
1746 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1750 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1752 (directory_iterator::operator++(int)): Return proxy.
1753 (recursive_directory_iterator::operator++(int)): Likewise.
1754 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1755 Test post-increment.
1756 * testsuite/experimental/filesystem/iterators/
1757 recursive_directory_iterator.cc: Likewise.
1759 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1762 * testsuite/experimental/filesystem/iterators/
1763 recursive_directory_iterator.cc: Fix test02 to not call member
1764 functions on invalid iterator, and use VERIFY not assert.
1766 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1768 Avoid endless run-time recursion for copying single-element
1769 tuples where the element type is by-value constructible
1771 * include/std/tuple (_NotSameTuple): New.
1772 * include/std/tuple (tuple(_UElements&&...): Use it.
1773 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1775 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1778 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1779 Initialize scalar member variables in default constructor.
1780 * testsuite/experimental/filesystem/iterators/
1781 recursive_directory_iterator.cc: Test default construction.
1783 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1785 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1787 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1789 * testsuite/experimental/filesystem/path/native/string.cc: Add
1790 dg-require-filesystem-ts directive.
1792 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1795 * include/experimental/memory_resource
1796 (__resource_adaptor_imp::do_allocate): Do not default-construct
1798 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1799 allocator_traits to get pointer type.
1800 (__null_memory_resource::do_allocate): Remove unused parameters.
1801 (__null_memory_resource::do_deallocate): Likewise.
1802 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1803 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1804 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1806 * testsuite/experimental/memory_resource/1.cc: Here.
1807 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1808 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1810 2016-04-29 Chris Gregory <czipperz@gmail.com>
1812 * config/*: Remove trailing whitespace.
1814 * testsuite/tr1/*: Likewise.
1815 * testsuite/util/*: Likewise.
1817 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1820 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1822 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1824 * include/std/atomic (atomic<_Tp>): Likewise.
1825 * include/std/shared_mutex (shared_lock): Likewise.
1826 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1827 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1828 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1829 * testsuite/29_atomics/atomic/70766.cc: New test.
1830 * testsuite/30_threads/shared_lock/70766.cc: New test.
1832 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1833 __detail::_Insert): Improve comments.
1835 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1838 * include/std/limits: Update comments about DRs.
1839 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1840 numeric_limits<const volatile _Tp>): Define unconditionally.
1842 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1845 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1846 static counter to return a different path on every call.
1848 2016-04-22 Tim Shen <timshen@google.com>
1851 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1852 Fix the match_not_bow and match_not_eow behavior.
1853 * testsuite/28_regex/regression.cc: Add testcase.
1855 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1858 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1859 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1861 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1864 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
1865 Override endianness bit in mode.
1866 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1867 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1868 that little_endian mode is ignored.
1869 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1872 * src/filesystem/ops.cc (close_fd): New function.
1873 (do_copy_file): Set permissions before copying file contents. Check
1874 result of closing file descriptors. Don't copy streambuf when file
1876 (copy(const path&, const path&, copy_options, error_code&)): Use
1877 lstat for source file when copy_symlinks is set.
1878 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1880 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1881 operator~ operator&=, operator|=, operator^=): Add noexcept to
1882 overloaded operators for copy_options, perms and directory_options.
1883 * src/filesystem/ops.cc (make_file_type, make_file_status,
1884 is_not_found_errno, file_time): Add noexcept.
1886 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1888 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1890 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1893 * include/bits/random.h: Reword static assertion messages to state
1894 positive conditions.
1895 * include/bits/random.tcc: Likewise.
1896 * include/bits/uniform_int_dist.h: Likewise.
1897 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1900 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1902 * config/cpu/sh/atomicity.h: Fix typo in comment.
1905 * include/std/thread (operator<, operator==): Move definitions to
1907 * testsuite/30_threads/thread/id/70294.cc: New test.
1909 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1910 -Wno-pedantic to dg-options.
1911 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1912 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1914 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1915 Remove extra semi-colon.
1916 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1917 Always supply second argument to static_assert.
1918 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1920 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1922 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1923 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1924 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1925 alignof when operand is an object not a type.
1926 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1927 * testsuite/decimal/make-decimal.cc: Likewise.
1928 * testsuite/experimental/type_traits/value.cc: Always supply second
1929 argument to static_assert.
1930 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1933 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1935 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1936 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1937 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1938 Likewise. Add licence and change to compile-only test.
1940 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1942 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1944 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1947 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1949 * include/bits/specfun.h: Trivial comment misspelling.
1951 2016-04-14 Jason Merrill <jason@redhat.com>
1953 Revert Jonathan's empty ABI change from yesterday.
1955 2016-04-13 Martin Sebor <msebor@redhat.com>
1958 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1959 upper bound is positive.
1961 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1963 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1964 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1965 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1966 of functions taking empty structs by value. Add a template parameter
1967 to overloads without hints. Rename overloads with hints to
1969 (_Hashtable::_M_erase(true_type, const_iterator),
1970 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1971 by reordering parameters.
1972 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1973 _M_emplace_hint instead of _M_emplace.
1974 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1975 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1976 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1977 __shared_ptr): Likewise.
1978 * include/bits/stl_algo.h (replace_if): Likewise.
1979 * include/bits/stl_pair.h (piecewise_construct_t,
1980 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1981 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1982 __uses_alloc0): Likewise.
1983 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1984 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1985 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1986 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1987 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1988 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1989 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1991 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1993 Document C++17/TR29124 C++ Special Math Functions.
1994 * include/bits/specfun.h: Add Doxygen markup.
1996 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1998 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2000 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2002 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2003 * src/Makefile.in: Regenerate.
2005 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2008 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2009 __atomic_fetch_add for bool.
2010 * configure: Regenerate.
2012 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2015 * src/c++11/thread.cc (execute_native_thread_routine,
2016 execute_native_thread_routine_compat): Give internal linkage.
2017 * testsuite/30_threads/thread/70503.cc: New test.
2019 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2022 * include/bits/stl_pair.h (_ConstructiblePair,
2023 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2024 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2025 for same-type cases.
2026 * testsuite/20_util/pair/70437.cc: New.
2028 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2031 * config/abi/pre/gnu.ver: Add new symbol.
2032 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2033 * testsuite/18_support/free_eh_pool.cc: New test.
2035 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2037 * include/Makefile.am (install-freestanding-headers): Add
2038 concept_check.h and move.h to the installed headers.
2039 * include/Makefile.in: Regenerated.
2040 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2041 freestanding implementations.
2042 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2043 that this macro has no effect for freestanding implementations.
2044 * doc/html/manual/using_macros.html: Likewise.
2046 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2049 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2051 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2053 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2054 * doc/html/*: Regenerate.
2057 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2058 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2059 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2060 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2061 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2062 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2063 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2065 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2066 namespace before including TR1 headers.
2067 * testsuite/tr1/headers/c++200x/math.cc: New test.
2069 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2072 * include/c_global/cstdarg: Undefine __need___va_list.
2073 * include/c_global/cstddef: Undefine all kinds of __need_*.
2075 2016-02-16 Tim Shen <timshen@google.com>
2078 * include/bits/regex_scanner.h: Add different special character
2079 sets for grep and egrep regex.
2080 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2081 * testsuite/28_regex/regression.cc: Add new testcase.
2083 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2085 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2086 added 'constexpr' in previous commit.
2087 * configure: Regenerate.
2090 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2091 checks for all targets except *-*-solaris2.* and ensure we find the
2092 libc math.h header not our own.
2093 * configure: Regenerate.
2095 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2097 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2098 New file. Copied over from s390-linux-gnu.
2100 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2103 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2104 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2105 * config.h.in: Regenerate.
2106 * configure: Regenerate.
2107 * testsuite/21_strings/c_strings/char/69626.cc: New.
2109 * doc/html/index.html: Regenerate.
2111 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2112 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2113 * doc/html/*: Regenerate.
2115 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2118 * include/c_compatibility/math.h: Move header guards.
2119 * include/c_compatibility/stdlib.h: Likewise.
2121 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2124 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2126 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2129 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2130 isinf and isnan functions into two independent checks. Check on hpux.
2131 * config.h.in: Regenerate.
2132 * configure: Regenerate.
2133 * include/c_global/cmath (isinf(double), isnan(double)): Use
2134 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2137 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2139 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2141 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2144 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2145 -ffp-contract=off, and -ffloat-store to disable excess precision.
2146 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2149 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2152 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2153 random_access_iterator_tag>): Check is_move_assignable when moving.
2154 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2156 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2157 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2158 * testsuite/25_algorithms/move/69478.cc: New.
2159 * testsuite/25_algorithms/move_backward/69478.cc: new.
2161 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2163 * include/c_compatibility/stdlib.h: Include wide character related
2164 definitions only when they are available in cstdlib.
2166 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2169 * include/Makefile.am: Add new header.
2170 * include/Makefile.in: Regenerate.
2171 * include/bits/random.h (uniform_int_distribution): Move to
2172 bits/uniform_int_dist.h.
2173 * include/bits/random.tcc (uniform_int_distribution::operator(),
2174 uniform_int_distribution::__generate_impl): Likewise.
2175 * include/bits/uniform_int_dist.h: New header.
2176 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2177 <bits/uniform_int_dist.h> instead of <random>.
2178 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2179 move_iterators/1.cc: Include correct header for uninitialized_copy.
2180 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2181 move_iterators/1.cc: Likewise.
2182 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2184 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2186 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
2189 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2191 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2193 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2194 * include/c_compatibility/math.h: Import the TR29124 functions
2195 into the global namespace.
2196 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2197 xfail and make compile-only.
2198 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2199 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2200 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2201 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2202 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2203 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2204 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2205 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2206 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2207 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2208 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2209 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2210 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2211 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2212 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2213 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2214 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2215 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2216 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2217 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2219 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2222 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2223 define result_type for types which can be safely used with valarrays.
2224 * testsuite/26_numerics/valarray/69116.cc: New.
2227 * config/os/gnu-linux/os_defines.h: Define
2228 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2229 * include/c_global/cmath (isinf, isnan): Check it.
2230 * doc/xml/manual/internals.xml: Document it.
2231 * doc/html/*: Regenerate.
2233 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2236 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2237 * include/ext/type_traits.h: Likewise.
2238 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2239 for presence of C headers.
2240 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2241 dg-error line number.
2242 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2243 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2244 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2246 2016-01-20 Torvald Riegel <triegel@redhat.com>
2249 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2251 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2254 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2255 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2256 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2257 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2258 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2259 Add using declarations.
2260 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2263 * include/c_global/ccomplex: Ensure C++ language linkage.
2264 * include/c_global/cmath: Likewise.
2265 * include/c_global/cstdlib: Likewise.
2266 * include/c_global/ctgmath: Likewise.
2267 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2269 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
2273 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2274 --enable-cheaders=c_global configs.
2275 * include/Makefile.in: Regenerate.
2276 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2277 test and allow inclusion from C files.
2278 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2279 (at_quick_exit, quick_exit): Add using directives.
2280 * include/c_global/cmath: Use #include_next for math.h.
2281 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2282 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2283 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2284 Remove xfail for most targets.
2285 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2287 2016-01-18 Torvald Riegel <triegel@redhat.com>
2289 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2290 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2291 and move after its definition.
2292 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2293 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2294 __GXX_WEAK__, and only provide transactional clones if
2295 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2298 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2301 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2304 * include/std/functional (_Function_base::_M_not_empty_function):
2305 Change overloads for pointers to take arguments by value.
2306 * testsuite/20_util/function/cons/57465.cc: Add tests for
2307 pointer-to-member cases.
2310 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2311 Use macros for exception handling and fix unused parameter warning.
2313 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
2316 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2318 2016-01-17 Torvald Riegel <triegel@redhat.com>
2320 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2322 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2324 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2327 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2330 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2331 static assertion that type is constructible from the arguments.
2332 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2333 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2334 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2337 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2338 and isnan on AIX. Quote variables.
2339 * configure: Regenerate.
2341 2016-01-15 Torvald Riegel <triegel@redhat.com>
2343 * include/bits/basic_string.h (basic_string): Declare friends.
2344 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2345 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2346 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2347 length_error, out_of_range, runtime_error, range_error,
2348 underflow_error, overflow_error): Declare members as transaction-safe.
2349 (logic_error, runtime_error): Declare friend functions.
2350 * libsupc++/exception (exception, bad_exception): Declare members as
2352 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2353 transaction-safe members of exceptions and helper functions.
2354 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2355 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2356 (CXXABI_1.3.10): New.
2357 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2358 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2359 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2360 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2361 * include/Makefile.in: Regenerate.
2362 * config.h.in: Regenerate.
2363 * configure: Regenerate.
2364 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2366 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
2368 * include/ext/random.tcc: Use __builtin_isfinite instead of
2371 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2373 * include/bits/std_mutex.h: Fix Doxygen @file name.
2375 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2376 Jonathan Wakely <jwakely@redhat.com>
2377 Florian Goth <CaptainSifff@gmx.de>
2379 Implement TR29124 C++ special Math Functions.
2380 * include/Makefile.am: Add new headers.
2381 * include/Makefile.in: Regenerate.
2382 * include/bits/specfun.h: New.
2383 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2384 * include/tr1/bessel_function.tcc: Ditto.
2385 * include/tr1/beta_function.tcc: Ditto.
2386 * include/tr1/cmath: Ditto.
2387 * include/tr1/ell_integral.tcc: Ditto.
2388 * include/tr1/exp_integral.tcc: Ditto.
2389 * include/tr1/gamma.tcc: Ditto.
2390 * include/tr1/hypergeometric.tcc: Ditto.
2391 * include/tr1/legendre_function.tcc: Ditto.
2392 * include/tr1/modified_bessel_func.tcc: Ditto.
2393 * include/tr1/poly_hermite.tcc: Ditto.
2394 * include/tr1/poly_laguerre.tcc: Ditto.
2395 * include/tr1/riemann_zeta.tcc: Ditto.
2396 * include/tr1/special_function_util.h: Ditto.
2397 * testsuite/ext/special_functions/conf_hyperg: New.
2398 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2399 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2400 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2401 * testsuite/ext/special_functions/hyperg: New.
2402 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2403 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2404 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2405 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2406 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2407 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2408 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2409 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2410 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2411 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2412 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2413 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2414 * testsuite/special_functions/03_beta/check_nan.cc: New.
2415 * testsuite/special_functions/03_beta/check_value.cc: New.
2416 * testsuite/special_functions/03_beta/compile.cc: New.
2417 * testsuite/special_functions/03_beta/compile_2.cc: New.
2418 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2419 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2420 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2421 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2422 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2423 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2424 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2425 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2426 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2427 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2428 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2429 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2430 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2431 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2432 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2433 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2434 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2435 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2436 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2437 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2438 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2439 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2440 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2441 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2442 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2443 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2444 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2445 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2446 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2447 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2448 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2449 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2450 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2451 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2452 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2453 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2454 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2455 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2456 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2457 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2458 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2459 * testsuite/special_functions/14_expint/check_nan.cc: New.
2460 * testsuite/special_functions/14_expint/check_value.cc: New.
2461 * testsuite/special_functions/14_expint/compile.cc: New.
2462 * testsuite/special_functions/14_expint/compile_2.cc: New.
2463 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2464 * testsuite/special_functions/15_hermite/check_value.cc: New.
2465 * testsuite/special_functions/15_hermite/compile.cc: New.
2466 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2467 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2468 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2469 * testsuite/special_functions/16_laguerre/compile.cc: New.
2470 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2471 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2472 * testsuite/special_functions/17_legendre/check_value.cc: New.
2473 * testsuite/special_functions/17_legendre/compile.cc: New.
2474 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2475 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2476 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2477 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2478 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2479 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2480 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2481 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2482 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2483 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2484 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2485 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2486 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2487 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2488 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2489 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2490 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2491 * testsuite/util/specfun_testcase.h: New.
2492 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2493 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2494 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2495 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2496 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2497 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2498 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2500 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
2503 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2504 and isnan functions.
2505 * config.h.in: Regenerate.
2506 * configure: Regenerate.
2507 * include/c_global/cmath (isinf(double), isnan(double))
2508 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2509 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2511 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2514 * configure.host (abi_baseline_pair): Use separate baseline for
2515 Solaris 11+ and Solaris 10 with gld.
2516 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2517 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2518 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2520 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2523 * include/std/type_traits: Following N4511, reimplement __is_swappable
2524 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2525 adjust callers. Use __is_nothrow_swappable in swap.
2526 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2527 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2528 __is_swappable related tests.
2529 * testsuite/20_util/is_swappable/value.cc: New.
2530 * testsuite/20_util/is_swappable/requirements/
2531 explicit_instantiation.cc: New.
2532 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2533 * testsuite/25_algorithms/swap/68877.cc: New.
2535 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2537 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2541 * include/std/functional (function::_Invoke): Remove, use result_of.
2542 (function::_Callable): Replace alias template with class template
2543 and use partial specialization instead of _NotSelf alias template.
2544 (function(_Functor)): Add "not self" constraint so that _Callable is
2545 not used while type is incomplete.
2546 * testsuite/20_util/function/69222.cc: New.
2548 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2551 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2552 Define partial specialization.
2553 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2554 destroy members to std::allocator explicit specialization.
2556 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2558 * testsuite/26_numerics/headers/cmath/
2559 c99_classification_macros_c++.cc: Rename to ...
2560 * testsuite/26_numerics/headers/cmath/
2561 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2562 * testsuite/26_numerics/headers/cmath/
2563 c99_classification_macros_c++0x.cc: Rename to ...
2564 * testsuite/26_numerics/headers/cmath/
2565 c99_classification_macros_c++11.cc: Here.
2568 * include/bits/uses_allocator.h: Add missing include.
2570 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2575 * include/bits/stl_iterator.h (back_insert_iterator,
2576 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2577 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2578 * include/std/future (__future::base::_State_baseV2::__setter):
2580 * include/std/scoped_allocator (__outermost): Likewise.
2581 * testsuite/20_util/scoped_allocator/69114.cc: New.
2582 * testsuite/20_util/uses_allocator/69114.cc: New.
2583 * testsuite/30_threads/promise/69106.cc: New.
2585 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2588 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2589 Remove _GLIBCXX_NOEXCEPT.
2590 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2592 * include/Makefile.am: Adjust.
2593 * include/Makefile.in: Regenerate.
2594 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2595 * include/std/condition_variable: Adjust include.
2596 * include/std/mutex: Likewise.
2598 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2600 Update copyright years.
2602 Copyright (C) 2016 Free Software Foundation, Inc.
2604 Copying and distribution of this file, with or without modification,
2605 are permitted in any medium without royalty provided the copyright
2606 notice and this notice are preserved.