1 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
3 Implement LWG 2744 and LWG 2754.
4 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
5 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
6 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
8 (emplace(_Args&&...)): Likewise.
9 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
10 * include/std/utility: (__is_in_place_type_impl): New.
11 (__is_in_place_type): Likewise.
12 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
14 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
16 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
17 * testsuite/20_util/any/requirements.cc: Add a test for
18 in_place-constructing a non-default-constructible type.
20 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
22 Add a feature macro for C++17 make_from_tuple.
23 * include/std/tuple (__cpp_lib_make_from_tuple): New.
24 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
25 Qualify the call to get<>().
26 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
28 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
30 * src/filesystem/ops.cc: Always include ostream and
32 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
33 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
34 sendfile fails with ENOSYS or EINVAL.
36 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
39 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
42 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
44 Implement C++17 make_from_tuple.
45 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
46 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
48 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
51 * include/bits/basic_string.h
52 (append(__sv_type, size_type, size_type)): Turn into a template,
53 change parameter type, constrain, add a conversion to __sv_type
54 from the dependent parameter type.
55 (assign(__sv_type, size_type, size_type)): Likewise.
56 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
57 (replace(size_type, size_type, __sv_type, size_type, size_type)):
59 (compare(size_type, size_type,__sv_type, size_type, size_type)):
61 * testsuite/21_strings/basic_string/lwg2758.cc: New.
63 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
65 * doc/xml/manual/status_cxx2017.xml: Update status table.
66 * doc/html/manual/status.html: Regenerate.
68 * testsuite/lib/libstdc++.exp: Fix typo in comment.
71 * include/std/functional (_Function_base::_Base_manager::_M_clone):
73 * testsuite/20_util/function/cons/72820.cc: New test.
75 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
76 * doc/html/manual/status.html: Regenerate.
77 * include/Makefile.am: Add new header.
78 * include/Makefile.in: Regenerate.
79 * include/bits/invoke.h: New header.
80 (__invoke): Make constexpr. Add && to types in exception specification.
81 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
82 names. Include <bits/invoke.h> and use std::__invoke.
83 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
85 (invoke): Add && to types in exception specification.
86 * include/std/tuple (apply, __apply_impl): Define for C++17.
87 * testsuite/20_util/tuple/apply/1.cc: New test.
88 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
91 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
93 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
94 * doc/html/manual/status.html: Regenerate.
96 * include/std/chrono (floor, ceil, round, abs): New for C++17.
97 * testsuite/20_util/duration_cast/rounding.cc: New test.
98 * testsuite/20_util/time_point_cast/rounding.cc: New test.
99 * doc/xml/manual/status_cxx2017.xml: Update status table.
100 * doc/html/manual/status.html: Regenerate.
101 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
103 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
104 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
105 * testsuite/20_util/duration/literals/range.cc: Likewise.
107 * include/std/functional (__callable_functor): Remove.
108 (_Function_handler::_M_invoke): Use __invoke instead of
109 __callable_functor or mem_fn.
110 (function::_Callable): Use lvalue in result_of expression.
111 (function): Remove TODO comments about allocators.
112 * testsuite/20_util/function/cons/refqual.cc: New test.
114 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
116 * doc/xml/manual/status_cxx2017.xml: Update status table.
117 * include/std/functional (__inv_unwrap): Move to <type_traits>.
118 (__invoke_impl): Remove exception specifications.
119 (__invoke, invoke): Add exception specifications using
120 __is_nothrow_callable.
121 * include/std/type_traits (__inv_unwrap): Move from <functional>.
122 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
123 (__is_callable, __is_nothrow_callable): New traits.
124 (is_callable, is_callable_v): New C++17 traits.
125 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
126 * testsuite/20_util/is_callable/requirements/
127 explicit_instantiation.cc: New test.
128 * testsuite/20_util/is_callable/requirements/
129 explicit_instantiation_ext.cc: New test.
130 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
131 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
133 * testsuite/20_util/is_callable/value.cc: New test.
134 * testsuite/20_util/is_callable/value_ext.cc: New test.
135 * testsuite/20_util/is_nothrow_callable/requirements/
136 explicit_instantiation.cc: New test.
137 * testsuite/20_util/is_nothrow_callable/requirements/
138 explicit_instantiation_ext.cc: New test.
139 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
141 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
143 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
144 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
146 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
147 * doc/html/manual/status.html: Regenerate.
149 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
150 effective target not dg-options. Move check for feature-test macro to:
151 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
154 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
156 (__invoke_impl): Remove unused template parameters.
157 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
159 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
160 and test __invoke extension for C++11.
162 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
164 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
165 Define feature-test macro.
166 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
169 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
170 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
171 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
172 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
173 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
175 * include/std/utility (as_const): Define.
176 * testsuite/20_util/as_const/1.cc: New test.
177 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
179 * include/bits/shared_ptr.h (owner_less): Add default template
181 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
183 (owner_less<void>): Define specialization.
184 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
186 * testsuite/20_util/owner_less/void.cc: New test.
187 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
189 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
190 Define feature-test macro.
191 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
192 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
193 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
194 (__cpp_lib_type_trait_variable_templates): Define.
196 * include/bits/stl_function.h: Remove commented-out macro.
197 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
198 Define feature-test macro.
199 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
201 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
202 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
204 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
206 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
207 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
208 * include/tr1/bessel_function.tcc: Likewise.
209 * include/tr1/beta_function.tcc: Likewise.
210 * include/tr1/cmath: Likewise.
211 * include/tr1/ell_integral.tcc: Likewise.
212 * include/tr1/exp_integral.tcc: Likewise.
213 * include/tr1/gamma.tcc: Likewise.
214 * include/tr1/hypergeometric.tcc: Likewise.
215 * include/tr1/legendre_function.tcc: Likewise.
216 * include/tr1/modified_bessel_func.tcc: Likewise.
217 * include/tr1/poly_hermite.tcc: Likewise.
218 * include/tr1/poly_laguerre.tcc: Likewise.
219 * include/tr1/riemann_zeta.tcc: Likewise.
220 * include/tr1/special_function_util.h: Likewise.
221 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
223 * include/std/type_traits (has_trivial_default_constructor): Remove.
224 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
225 * testsuite/20_util/has_trivial_copy_assign/requirements/
226 explicit_instantiation.cc: Remove test.
227 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
229 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
231 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
232 * testsuite/20_util/has_trivial_copy_constructor/requirements/
233 explicit_instantiation.cc: Likewise.
234 * testsuite/20_util/has_trivial_copy_constructor/requirements/
235 typedefs.cc: Likewise.
236 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
237 * testsuite/20_util/has_trivial_default_constructor/requirements/
238 explicit_instantiation.cc: Likewise.
239 * testsuite/20_util/has_trivial_default_constructor/requirements/
240 typedefs.cc: Likewise.
241 * testsuite/20_util/has_trivial_default_constructor/value.cc:
243 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
244 Check has_trivial_default_constructor, has_trivial_copy_constructor,
245 and has_trivial_copy_assign are not defined.
246 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
248 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
249 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
250 dg-error line number.
251 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
254 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
256 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
257 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
258 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
260 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
262 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
264 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
266 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
268 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
271 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
274 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
275 dg-error to relevant line.
276 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
278 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
280 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
282 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
283 options are present that aren't valid for C.
284 * testsuite/abi/header_cxxabi.c: Likewise.
286 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
287 check_value.cc: Do not add special functions to namespace std in TR1
290 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
291 run for C++11 and later.
292 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
294 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
295 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
296 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
297 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
298 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
300 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
302 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
303 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
305 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
307 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
309 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
310 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
311 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
312 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
313 * testsuite/special_functions/03_beta/compile.cc: Likewise.
314 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
315 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
316 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
318 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
319 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
320 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
321 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
323 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
324 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
325 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
326 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
328 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
329 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
330 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
331 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
333 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
334 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
335 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
336 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
337 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
339 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
340 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
341 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
342 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
344 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
345 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
346 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
347 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
348 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
349 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
350 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
351 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
352 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
353 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
354 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
355 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
356 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
357 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
358 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
359 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
360 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
361 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
362 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
363 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
364 * testsuite/special_functions/14_expint/compile.cc: Likewise.
365 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
366 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
367 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
368 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
369 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
370 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
371 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
372 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
373 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
374 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
375 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
376 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
377 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
378 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
379 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
381 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
382 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
383 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
384 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
385 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
386 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
387 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
388 * testsuite/special_functions/20_sph_legendre/check_value.cc:
390 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
391 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
392 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
393 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
394 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
395 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
397 * testsuite/tr1/5_numerical_facilities/special_functions/
398 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
400 * testsuite/tr1/5_numerical_facilities/special_functions/
401 09_cyl_bessel_j/check_value.cc: Likewise.
402 * testsuite/tr1/5_numerical_facilities/special_functions/
403 10_cyl_bessel_k/check_value.cc: Likewise.
404 * testsuite/tr1/5_numerical_facilities/special_functions/
405 11_cyl_neumann/check_value.cc: Likewise.
406 * testsuite/tr1/5_numerical_facilities/special_functions/
407 21_sph_bessel/check_value.cc: Likewise.
408 * testsuite/tr1/5_numerical_facilities/special_functions/
409 23_sph_neumann/check_value.cc: Likewise.
411 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
413 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
414 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
415 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
416 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
417 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
418 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
420 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
422 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
425 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
426 additional flags for compiling libtestc++.a objects.
428 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
430 * include/bits/basic_string.h (data() const): Update comment.
431 (data()): Add non-const overload for C++17.
432 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
433 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
435 * include/bits/basic_string.tcc: Disable explicit instantiation
436 declarations for C++17.
438 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
439 ignored "xfail" from { dg-do compile { xfail selector } } directive.
440 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
442 * testsuite/26_numerics/headers/cmath/
443 c99_classification_macros_c++11.cc: Likewise.
444 * testsuite/26_numerics/headers/cmath/
445 c99_classification_macros_c++98.cc: Likewise.
446 * testsuite/26_numerics/headers/cmath/
447 c99_classification_macros_c.cc: Likewise.
449 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
450 for different construct/destroy counts in C++98 mode.
452 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
454 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
456 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
459 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
460 C++98-compatible initialization for array.
462 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
463 unused header and variable from compile-only test.
464 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
465 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
466 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
467 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
470 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
471 Remove duplicate dg-options directive.
473 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
474 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
476 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
477 linker options from compile-only tests.
478 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
481 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
482 supported for C++11 and later.
483 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
484 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
486 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
488 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
490 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
492 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
495 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
496 Ensure test is compiled with optimization.
498 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
499 Adjust dg-prune-output pattern for error in C++98 mode.
501 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
502 run for C++11 or later.
504 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
505 test to not rely on GNU extension (escaped normal characters in POSIX
506 BRE). Enable tests for other strings which are now supported.
508 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
509 c++11 instead of setting -std=gnu++14.
512 * include/std/array (get): Use positive message for static assertions.
513 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
514 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
515 specialization for invalid indices, with static assertion.
516 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
518 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
519 dg-error to relevant line.
520 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
522 * testsuite/23_containers/forward_list/requirements/dr438/
523 assign_neg.cc: Likewise.
524 * testsuite/23_containers/forward_list/requirements/dr438/
525 constructor_1_neg.cc: Likewise.
526 * testsuite/23_containers/forward_list/requirements/dr438/
527 constructor_2_neg.cc: Likewise.
528 * testsuite/23_containers/forward_list/requirements/dr438/
529 insert_neg.cc: Likewise.
530 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
532 * testsuite/26_numerics/random/linear_congruential_engine/
533 requirements/non_uint_neg.cc: Likewise.
534 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
535 Likewise. Also test for std::atomic_address.
537 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
539 Add missing variable traits, fix testsuite failures.
540 * include/bits/uses_allocator.h (uses_allocator_v): New.
541 * include/std/functional (is_bind_expression_v, is_placeholder_v):
543 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
544 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
545 * testsuite/20_util/duration/literals/range.cc: Likewise.
546 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
547 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
548 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
549 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
550 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
552 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
553 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
556 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
558 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
559 not test 128-bit types.
560 * testsuite/20_util/is_floating_point/value.cc: Likewise.
561 * testsuite/20_util/is_integral/value.cc: Likewise.
562 * testsuite/20_util/is_signed/value.cc: Likewise.
563 * testsuite/20_util/is_unsigned/value.cc: Likewise.
564 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
565 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
566 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
568 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
571 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
573 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
575 Implement C++17 variable templates for type traits.
576 * include/std/chrono (treat_as_floating_point_v): New.
577 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
578 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
579 (ratio_greater_equal_v): Likewise.
580 * include/std/system_error (is_error_code_enum_v)
581 (is_error_condition_enum_v): Likewise.
582 * include/std/tuple (tuple_size_v): Likewise.
583 * type_traits (conjunction_v, disjunction_v, negation_v)
584 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
585 (is_array_v, is_pointer_v, is_lvalue_reference_v)
586 (is_rvalue_reference_v, is_member_object_pointer_v)
587 (is_member_function_pointer_v, is_enum_v, is_union_v)
588 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
589 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
590 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
591 (is_trivially_copyable_v, is_standard_layout_v)
592 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
593 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
594 (is_constructible_v, is_default_constructible_v)
595 (is_copy_constructible_v, is_move_constructible_v)
596 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
597 (is_destructible_v, is_trivially_constructible_v)
598 (is_trivially_default_constructible_v)
599 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
600 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
601 (is_trivially_move_assignable_v, is_trivially_destructible_v)
602 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
603 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
604 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
605 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
606 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
607 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
608 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
609 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
611 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
612 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
613 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
615 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
617 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
618 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
619 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
621 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
623 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
624 * doc/html/manual/abi.html: Regenerate.
626 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
627 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
629 * configure: Regenerate.
630 * testsuite/util/testsuite_abi.cc: Add new symbol version.
632 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
633 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
634 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
635 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
637 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
638 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
639 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
641 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
643 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
644 Adjust dg-prune-output pattern for error in C++98 mode.
645 * testsuite/23_containers/deque/requirements/dr438/
646 constructor_1_neg.cc: Likewise.
647 * testsuite/23_containers/deque/requirements/dr438/
648 constructor_2_neg.cc: Likewise.
649 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
651 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
653 * testsuite/23_containers/list/requirements/dr438/
654 constructor_1_neg.cc: Likewise.
655 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
657 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
659 * testsuite/23_containers/vector/requirements/dr438/
660 constructor_1_neg.cc: Likewise.
661 * testsuite/23_containers/vector/requirements/dr438/
662 constructor_2_neg.cc: Likewise.
663 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
666 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
667 for different construct/destroy counts in C++98 mode.
669 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
670 dg-options to dg-additional-options so that default options are used.
671 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
673 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
674 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
676 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
677 Use dg-additional-options instead of repeating the common options.
679 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
680 dg-do compile directive.
681 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
683 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
685 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
687 Implement std::string_view and P0254r2,
688 Integrating std::string_view and std::string.
689 * include/Makefile.am: Add string_view and string_view.tcc
690 to the exported headers.
691 * include/Makefile.in: Likewise.
692 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
694 (basic_string(__sv_type, const _Alloc&)): Likewise.
695 (operator=(__sv_type)): Likewise.
696 (operator __sv_type()): Likewise.
697 (operator+=(__sv_type)): Likewise.
698 (append(__sv_type __sv)): Likewise.
699 (append(__sv_type, size_type, size_type)): Likewise.
700 (assign(__sv_type)): Likewise.
701 (assign(__sv_type, size_type, size_type)): Likewise.
702 (insert(size_type, __sv_type)): Likewise.
703 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
704 (replace(size_type, size_type, __sv_type)): Likewise.
705 (replace(size_type, size_type, __sv_type, size_type, size_type)):
707 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
708 (find(__sv_type, size_type)): Likewise.
709 (rfind(__sv_type, size_type)): Likewise.
710 (find_first_of(__sv_type, size_type)): Likewise.
711 (find_last_of(__sv_type, size_type)): Likewise.
712 (find_first_not_of(__sv_type, size_type)): Likewise.
713 (find_last_not_of(__sv_type, size_type)): Likewise.
714 (compare(__sv_type)): Likewise.
715 (compare(size_type, size_type, __sv_type)): Likewise.
716 (compare(size_type, size_type, __sv_type, size_type, size_type)):
718 * include/bits/string_view.tcc: New.
719 * include/std/string_view: Likewise.
720 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
721 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
722 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
724 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
726 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
728 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
730 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
732 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
734 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
736 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
738 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
740 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
742 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
744 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
746 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
747 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
748 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
749 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
750 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
751 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
752 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
753 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
754 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
755 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
757 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
759 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
761 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
763 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
765 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
767 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
769 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
771 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
772 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
773 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
774 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
775 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
777 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
779 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
781 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
783 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
785 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
787 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
789 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
791 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
793 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
795 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
797 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
799 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
801 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
803 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
805 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
807 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
809 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
811 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
813 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
815 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
817 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
819 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
821 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
823 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
825 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
827 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
829 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
831 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
833 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
835 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
837 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
839 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
841 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
842 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
844 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
846 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
848 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
850 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
852 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
854 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
856 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
858 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
860 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
861 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
863 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
865 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
867 2016-07-25 Georeth Chow <georeth2010@gmail.com>
869 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
870 _S_concat enumerator.
871 * testsuite/ext/rope/6.cc: New test.
873 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
875 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
876 std::mt19937, std::thread and std::atomic to simplify test.
877 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
879 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
882 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
883 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
884 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
885 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
886 * testsuite/23_containers/set/allocator/71964.cc: New test.
888 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
889 delete[] instead of delete.
891 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
893 * include/experimental/propagate_const (propagate_const::__t): Rename
894 to _M_t and remove comment. Qualify std::move and std::forward.
895 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
897 * testsuite/23_containers/vector/zero_sized_allocations.cc:
898 Define sized deallocation function.
899 * testsuite/util/testsuite_new_operators.h:
900 (operator delete(void*, const std::nothrow_t&)): Define nothrow
901 deallocation function.
903 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
904 reads past the end of strings.
905 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
907 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
908 invalid array accesses.
909 * testsuite/experimental/string_view/operations/compare/char/1.cc:
910 Fix read past the end of string.
911 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
913 * testsuite/24_iterators/container_access.cc: Fix missing returns.
914 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
916 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
917 leak) memory for arguments to placement delete.
918 * testsuite/20_util/addressof/1.cc: Don't leak memory.
919 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
920 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
923 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
925 * doc/xml/manual/intro.xml: Document DR 2684 status.
926 * doc/html/*: Regenerate.
928 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
929 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
930 (atomic_uint64_t): Define (LWG 2441).
931 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
933 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
935 * doc/xml/manual/intro.xml: Document DR 2441 status.
937 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
938 to use perfect forwarding (LWG 2328).
939 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
940 * doc/xml/manual/intro.xml: Document DR 2328 status.
942 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
943 static objects for catching nullptr as pointer to member types.
945 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
947 Clean up optional's comments.
948 * include/std/optional: Remove incorrect section headers
949 from comments when redundant, replace bare section
950 headers with more descriptive comments.
952 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
954 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
955 * include/bits/move.h: Likewise.
956 * include/bits/postypes.h: Likewise.
957 * include/debug/bitset: Likewise.
958 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
959 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
961 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
962 * testsuite/util/thread/all.h: Likewise.
964 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
968 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
969 nullptr match handlers of pointer type.
971 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
973 Implement C++17 P0025 clamp.
974 * include/bits/algorithmfwd.h: Declare clamp overloads.
975 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
976 * testsuite/25_algorithms/clamp/1.cc: New test.
977 * testsuite/25_algorithms/clamp/2.cc: New test.
978 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
979 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
981 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
984 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
986 Fix the constraints for any's assignment operator template to properly
987 reject assignment from a non-copyable lvalue.
988 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
989 type for is_copy_constructible,
990 * testsuite/20_util/any/requirements.cc: Add a test for
991 non-copyable lvalues.
993 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
995 * include/experimental/functional: Include <parallel/algorithm> in
998 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1002 * include/bits/forward_list.h (forward_list): Update doxygen comments
1003 to reflect allocator propagation semantics. Remove ambiguous
1004 statements about data being lost.
1005 * include/bits/stl_deque.h (deque): Likewise.
1006 * include/bits/stl_list.h (list): Likewise.
1007 * include/bits/stl_map.h (map): Likewise.
1008 * include/bits/stl_multimap.h (multimap): Likewise.
1009 * include/bits/stl_multiset.h (multiset): Likewise.
1010 * include/bits/stl_set.h (set): Likewise.
1011 * include/bits/stl_vector.h (vector): Likewise.
1012 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1014 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1017 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1019 Implement P0032R3, Homogeneous interface for variant, any and optional,
1020 for the parts concerning any and optional.
1021 * include/std/any (_Storage()): Make constexpr and have it
1023 (any()): Make constexpr.
1024 (any(const any&)): Adjust.
1025 (any(any&&)): Likewise.
1026 (__any_constructible_t): New.
1027 (any(_ValueType&&)): Constrain.
1028 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1029 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1032 (operator=(const any&)): Likewise.
1033 (operator=(any&&)): Likewise.
1034 (operator=(_ValueType&&)): Constrain.
1035 (emplace(_Args&&...)): New.
1036 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1039 (swap(any&)): Adjust.
1043 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1044 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1045 (make_any(_Args&&...)): Likewise.
1046 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1047 * include/std/optional (in_place_t, in_place): Remove.
1048 (bad_optional_access): Add a comment referring to LEWG 72.
1049 (emplace(_Args&&...)): Constrain.
1051 (reset()): Likewise.
1052 (make_optional(_Args&&...)): Likewise.
1053 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1054 * include/std/utility (in_place_tag): New.
1055 (__in_place, __in_place_type, __in_place_index): Likewise.
1056 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1057 (in_place(__in_place*)): Likewise.
1058 (in_place(__in_place_type<_Tp>*)): Likewise.
1059 (in_place(__in_place_index<_Idx>*)): Likewise.
1060 * testsuite/20_util/any/assign/1.cc: Adjust.
1061 * testsuite/20_util/any/assign/emplace.cc: New.
1062 * testsuite/20_util/any/assign/self.cc: Adjust.
1063 * testsuite/20_util/any/cons/1.cc: Likewise.
1064 * testsuite/20_util/any/cons/in_place.cc: New.
1065 * testsuite/20_util/any/make_any.cc: Likewise.
1066 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1067 * testsuite/20_util/any/misc/swap.cc: Likewise.
1068 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1069 * testsuite/20_util/any/requirements.cc: New.
1070 * testsuite/20_util/in_place/requirements.cc: Likewise.
1071 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1072 * testsuite/20_util/optional/in_place.cc: Likewise.
1073 * testsuite/20_util/optional/make_optional.cc: Add tests for
1074 the new overloads of make_optional.
1076 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1078 Implement P0307R2, Making Optional Greater Equal Again.
1079 * include/experimental/optional (_Has_addressof): Fix the comment.
1080 * include/std/optional (_Has_addressof): Likewise.
1081 (operator=(_Up&&)): Constrain.
1082 (operator=(const optional<_Up>&)): Likewise.
1083 (operator=(optional<_Up>&&)): Likewise.
1084 (__optional_relop_t): New.
1085 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1086 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1087 Constrain and make transparent.
1088 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1089 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1090 Constrain and make transparent.
1091 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1092 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1093 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1094 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1095 (operator!=(const optional<_Tp>&, _Tp const&)):
1096 Constrain and make transparent.
1097 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1098 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1099 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1100 (operator>(const optional<_Tp>&, const _Tp&)):
1101 Constrain and make transparent.
1102 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1103 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1104 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1105 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1106 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1107 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1108 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1109 * testsuite/20_util/optional/relops/1.cc: Likewise.
1110 * testsuite/20_util/optional/relops/2.cc: Likewise.
1111 * testsuite/20_util/optional/relops/3.cc: Likewise.
1112 * testsuite/20_util/optional/relops/4.cc: Likewise.
1113 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1114 that optional's relops are transparent and don't synthesize
1115 operators. Also test that assignment sfinaes.
1117 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1120 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1121 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1122 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1123 on _GLIBCXX_ASSERTIONS.
1124 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1125 Include <unistd.h> for sleep.
1126 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1127 * include/parallel/merge.h: Likewise.
1128 * include/parallel/multiway_merge.h: Likewise.
1129 * include/parallel/partition.h: Likewise.
1130 * include/parallel/queue.h: Likewise.
1131 * include/parallel/sort.h: Likewise.
1132 * testsuite/25_algorithms/headers/algorithm/
1133 parallel_algorithm_assert.cc: New.
1135 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1136 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1137 Forward to different overload.
1139 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1142 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1144 Revert "Add non-const overload of std::string::data()".
1146 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1148 Implement P0307R2, Making Optional Greater Equal Again.
1149 * include/experimental/optional (_Has_addressof): Fix the comment.
1150 * include/std/optional (_Has_addressof): Likewise.
1151 (operator=(_Up&&)): Constrain.
1152 (operator=(const optional<_Up>&)): Likewise.
1153 (operator=(optional<_Up>&&)): Likewise.
1154 (__optional_relop_t): New.
1155 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1156 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1157 Constrain and make transparent.
1158 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1159 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1160 Constrain and make transparent.
1161 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1162 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1163 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1164 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1165 (operator!=(const optional<_Tp>&, _Tp const&)):
1166 Constrain and make transparent.
1167 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1168 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1169 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1170 (operator>(const optional<_Tp>&, const _Tp&)):
1171 Constrain and make transparent.
1172 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1173 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1174 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1175 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1176 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1177 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1178 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1179 * testsuite/20_util/optional/relops/1.cc: Likewise.
1180 * testsuite/20_util/optional/relops/2.cc: Likewise.
1181 * testsuite/20_util/optional/relops/3.cc: Likewise.
1182 * testsuite/20_util/optional/relops/4.cc: Likewise.
1183 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1184 that optional's relops are transparent and don't synthesize
1185 operators. Also test that assignment sfinaes.
1187 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1189 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1191 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1192 instead of _M_data().
1193 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1195 (append(const basic_string&)): Likewise.
1196 (append(const basic_string&, size_type, size_type)): Likewise.
1197 (assign(const basic_string&, size_type, size_type)): Likewise.
1198 (insert(size_type, const basic_string&)): Likewise.
1199 (insert(size_type, const basic_string&, size_type, size_type)):
1201 (replace(size_type, size_type, const basic_string&, size_type,
1202 size_type)): Likewise.
1203 (replace(__const_iterator, __const_iterator, const basic_string&)):
1205 (c_str(), data()): Use c_str() instead of _M_data().
1206 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1207 (compare(const basic_string&)): Use data() instead of _M_data().
1208 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1209 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1210 Pass raw pointers to _S_copy.
1211 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1213 (find(const _CharT*, size_type, size_type)): Use data instead of
1215 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1216 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1217 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1219 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
1221 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1222 * doc/xml/manual/intro.xml: Document DR 2458 status.
1223 * doc/html*: Regenerate.
1225 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1226 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1227 Only include <array>.
1228 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1230 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1231 * doc/html*: Regenerate.
1233 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1234 Add testcase from LWG 2164.
1236 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
1238 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1239 to _M_realloc_insert.
1240 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1241 (_M_realloc_insert): Declare new function.
1242 (_M_emplace_back_aux): Remove definition.
1243 * include/bits/vector.tcc (emplace_back(_Args...)):
1244 Use _M_realloc_insert.
1245 (insert(const_iterator, const value_type&)): Likewise.
1246 (_M_insert_rval, _M_emplace_aux): Likewise.
1247 (_M_emplace_back_aux): Remove declaration.
1248 (_M_realloc_insert): Define.
1249 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1250 Adjust expected results for emplacing an lvalue with reallocation.
1252 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1254 Implement std::optional.
1255 * include/Makefile.am: Add optional to exported headers.
1256 * include/Makefile.in: Likewise.
1257 * include/std/optional: New.
1258 * testsuite/20_util/optional/typedefs.cc: Likewise.
1259 * testsuite/20_util/optional/relops/2.cc: Likewise.
1260 * testsuite/20_util/optional/relops/3.cc: Likewise.
1261 * testsuite/20_util/optional/relops/4.cc: Likewise.
1262 * testsuite/20_util/optional/relops/5.cc: Likewise.
1263 * testsuite/20_util/optional/relops/1.cc: Likewise.
1264 * testsuite/20_util/optional/relops/6.cc: Likewise.
1265 * testsuite/20_util/optional/nullopt.cc: Likewise.
1266 * testsuite/20_util/optional/in_place.cc: Likewise.
1267 * testsuite/20_util/optional/make_optional.cc: Likewise.
1268 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1269 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1270 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1271 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1272 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1273 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1274 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1275 * testsuite/20_util/optional/cons/default.cc: Likewise.
1276 * testsuite/20_util/optional/cons/move.cc: Likewise.
1277 * testsuite/20_util/optional/cons/value.cc: Likewise.
1278 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1279 * testsuite/20_util/optional/requirements.cc: Likewise.
1280 * testsuite/20_util/optional/observers/2.cc: Likewise.
1281 * testsuite/20_util/optional/observers/3.cc: Likewise.
1282 * testsuite/20_util/optional/observers/4.cc: Likewise.
1283 * testsuite/20_util/optional/observers/5.cc: Likewise.
1284 * testsuite/20_util/optional/observers/1.cc: Likewise.
1285 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1286 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1287 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1288 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1289 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1290 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1291 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1292 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1293 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1294 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1295 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1296 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1297 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1298 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1299 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1300 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1301 * testsuite/20_util/optional/swap/1.cc: Likewise.
1303 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
1305 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1307 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
1309 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1310 * doc/html/*: Regenerate.
1312 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1315 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1316 * include/Makefile.in: Likewise.
1317 * include/std/any: New.
1318 * testsuite/20_util/any/assign/1.cc: Likewise.
1319 * testsuite/20_util/any/assign/2.cc: Likewise.
1320 * testsuite/20_util/any/assign/self.cc: Likewise.
1321 * testsuite/20_util/any/cons/1.cc: Likewise.
1322 * testsuite/20_util/any/cons/2.cc: Likewise.
1323 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1324 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1325 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1326 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1327 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1328 * testsuite/20_util/any/misc/swap.cc: Likewise.
1329 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1330 * testsuite/20_util/any/observers/type.cc: Likewise.
1331 * testsuite/20_util/any/typedefs.cc: Likewise.
1333 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1335 Add a new header for diagnosing the use of C++17 facilities
1337 * include/bits/c++17_warning.h: New.
1339 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1341 Implement LWG 2451, optional<T> should 'forward' T's
1342 implicit conversions.
1343 * include/experimental/optional (__is_optional_impl, __is_optional):
1345 (optional()): Make constexpr and default.
1346 (optional(_Up&&), optional(const optional<_Up>&),
1347 optional(optional<_Up>&& __t): New.
1348 (operator=(_Up&&)): Constrain.
1349 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1350 * testsuite/experimental/optional/cons/value.cc:
1351 Add tests for the functionality added by LWG 2451.
1352 * testsuite/experimental/optional/cons/value_neg.cc: New.
1354 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1357 any_cast doesn't work with rvalue reference targets and cannot
1358 move with a value target.
1359 * include/experimental/any (any(_ValueType&&)): Constrain and
1360 add an overload that doesn't forward.
1361 (any_cast(any&&)): Constrain and add an overload that moves.
1362 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1363 the functionality added by LWG 2509.
1365 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
1367 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1369 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1372 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
1374 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1375 Define inline. Forward to _M_emplace_aux.
1376 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1377 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1378 (_Temporary_value): New RAII type using allocator to construct/destroy.
1379 (_S_insert_aux_assign): Remove.
1380 (_M_insert_aux): Make non-variadic.
1381 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1382 Use _Temporary_value.
1383 (emplace(const_iterator, _Args&&...)): Remove definition.
1384 (_M_insert_rval, _M_emplace_aux): Define.
1385 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1386 (_M_fill_insert): Use _Temporary_value.
1387 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1388 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1389 Adjust expected results for emplacing an lvalue with reallocation.
1390 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1391 expected results to account for construction/destruction of temporary
1393 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1395 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1398 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1399 Call remove_all for children of a directory.
1400 * testsuite/experimental/filesystem/operations/create_directories.cc:
1403 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
1405 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1406 dg-error line numbers.
1407 * testsuite/23_containers/array/tuple_interface/
1408 tuple_element_debug_neg.cc: Likewise.
1409 * testsuite/25_algorithms/lexicographical_compare/debug/
1410 irreflexive_neg.cc: Remove.
1412 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1414 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1415 than specific target.
1417 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
1420 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1423 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
1425 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1428 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1430 * configure.host: Remove mep-* support.
1432 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1434 * configure: Regenerate.
1435 * configure.host: Remove support for knetbsd.
1436 * crossconfig.m4: Likewise.
1438 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
1441 * include/tr1/hashtable_policy.h
1442 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1443 dereferenceable to avoid check on lower_bound result.
1444 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1445 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1446 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1447 Always return a value greater than input value. Set _M_next_resize to
1448 max value when reaching highest prime number.
1449 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1451 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1452 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1454 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1455 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1458 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1461 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1462 Remove irreflexive checks.
1463 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1464 binary_search): Likewise.
1465 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1466 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1467 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1468 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1469 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1470 Add constructor from array.
1472 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
1474 * include/debug/debug.h
1475 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1476 (__glibcxx_requires_subscript): Move...
1477 * include/debug/assertions.h: ...here and add __builtin_expect.
1478 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1479 * include/bits/stl_deque.h
1480 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1481 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1482 (std::deque<>::back()): Likewise.
1483 (std::deque<>::pop_front()): Likewise.
1484 (std::deque<>::pop_back()): Likewise.
1485 (std::deque<>::swap(deque&)): Add allocator check.
1486 * include/bits/stl_vector.h
1487 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1488 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1489 (std::vector<>::back()): Likewise.
1490 (std::vector<>::pop_back()): Likewise.
1491 (std::vector<>::swap(vector&)): Add allocator check.
1493 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1495 Provide swappable traits (p0185r1)
1496 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1497 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1498 is_nothrow_swappable_v, is_swappable_with_v,
1499 is_nothrow_swappable_with_v): New.
1500 * include/bits/stl_pair.h: Use it as per p0185r1.
1501 * include/bits/stl_queue.h: Likewise.
1502 * include/bits/stl_stack.h: Likewise.
1503 * include/bits/unique_ptr.h: Likewise.
1504 * include/std/tuple: Likewise.
1505 * include/std/array: Likewise. Fix zero-size member swap.
1506 * include/bits/hashtable.h: Use __and_.
1507 * testsuite/20_util/is_nothrow_swappable/requirements/
1508 explicit_instantiation.cc: Change test options to std=gnu++17.
1509 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1511 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1512 * testsuite/20_util/is_swappable/requirements/
1513 explicit_instantiation.cc: Likewise.
1514 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1515 * testsuite/20_util/is_swappable/value.cc: Likewise.
1516 * testsuite/20_util/is_nothrow_swappable/requirements/
1517 explicit_instantiation_ext.cc: New.
1518 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1520 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1521 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1522 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1523 explicit_instantiation.cc: New.
1524 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1526 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1527 * testsuite/20_util/is_swappable/requirements/
1528 explicit_instantiation_ext.cc: New.
1529 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1530 * testsuite/20_util/is_swappable/value.h: New.
1531 * testsuite/20_util/is_swappable/value_ext.cc: New.
1532 * testsuite/20_util/is_swappable_with/requirements/
1533 explicit_instantiation.cc: New.
1534 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1535 * testsuite/20_util/is_swappable_with/value.cc: New.
1536 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1537 dg-error line numbers.
1538 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1541 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
1543 * include/std/array: Remove trailing whitespace.
1544 * include/std/atomic: Likewise.
1545 * include/std/bitset: Likewise.
1546 * include/std/chrono: Likewise.
1547 * include/std/complex: Likewise.
1548 * include/std/condition_variable: Likewise.
1549 * include/std/fstream: Likewise.
1550 * include/std/functional: Likewise.
1551 * include/std/future: Likewise.
1552 * include/std/iomanip: Likewise.
1553 * include/std/iosfwd: Likewise.
1554 * include/std/istream: Likewise.
1555 * include/std/limits: Likewise.
1556 * include/std/ratio: Likewise.
1557 * include/std/scoped_allocator: Likewise.
1558 * include/std/sstream: Likewise.
1559 * include/std/stdexcept: Likewise.
1560 * include/std/string: Likewise.
1561 * include/std/system_error: Likewise.
1562 * include/std/thread: Likewise.
1563 * include/std/tuple: Likewise.
1564 * include/std/type_traits: Likewise.
1565 * include/std/utility: Likewise.
1566 * include/std/valarray: Likewise.
1567 * include/std/vector: Likewise.
1569 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1570 new overloaded functions.
1571 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1572 to avoid creating a redundant temporary.
1573 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1576 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1578 * include/bits/stl_deque.h
1579 (std::deque<>::operator=): Call _M_assign_aux.
1580 (std::deque<>::assign(initializer_list<>)): Likewise.
1581 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1582 (std::deque<>::insert(const_iterator, initializer_list<>)):
1583 Call _M_range_insert_aux.
1584 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1586 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1587 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1588 * include/bits/deque.tcc
1589 (std::deque<>::operator=): Call _M_range_insert_aux.
1590 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1592 * include/bits/stl_vector.h
1593 (std::vector<>::operator=): Call _M_assign_aux.
1594 (std::vector<>::assign(initializer_list<>)): Likewise.
1595 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1596 (std::vector<>::insert(const_iterator, initializer_list<>)):
1597 Call _M_range_insert.
1598 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1600 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1602 * include/std/tuple (_Head_base<>): Default specialization condition at
1605 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1607 Support allocators in tuples of zero size.
1608 * include/std/tuple (tuple<>::tuple(),
1609 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1610 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1611 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1613 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1616 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1617 Add or remove permissions according to perms argument.
1618 * testsuite/experimental/filesystem/operations/permissions.cc: New
1621 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1623 Protect allocator-overloads of tuple-from-tuple constructors
1624 from cases that would create dangling references.
1625 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1626 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1627 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1628 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1630 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1632 * doc/xml/manual/backwards_compatibility.xml: Adjust
1633 lists.debian.org link to https.
1634 * doc/html/manual/backwards.html: Regenerate.
1636 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1638 * doc/xml/manual/abi.xml: Adjust URL to use https.
1639 * doc/html/manual/*: Regenerate.
1641 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1644 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1645 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1646 check for _NotSameTuple.
1647 * include/std/tuple (_TMCT): New.
1648 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1649 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1650 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1651 const tuple<_UElements...>&)): Likewise.
1652 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1653 tuple<_UElements...>&&)): Likewise.
1654 * testsuite/20_util/tuple/cons/66338.cc: New.
1656 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1658 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1659 * configure: Regenerate.
1660 * config.h.in: Regenerate.
1662 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1663 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1664 Remove const qualification on function. Replace
1665 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1666 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1667 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1669 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1671 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1672 * include/bits/hashtable_policy.h
1673 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1674 having load factor management.
1675 (_Mask_range_hashing): New.
1677 (_Power2_rehash_policy): New.
1678 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1679 partial specializations only depend on whether iterators are constant
1681 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1682 test new hash policy.
1683 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1685 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1687 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1689 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1691 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1693 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1694 using the new hash policy.
1695 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1697 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1699 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1701 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1703 * include/debug/safe_iterator.h
1704 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1706 * include/debug/safe_local_iterator.h
1707 (_Safe_local_iterator<>::operator->()): Likewise.
1709 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1711 * testsuite/experimental/memory_resource/1.cc: Add required argument
1712 to dg-require-atomic-builtins.
1714 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1717 * include/debug/bitset: Add #pragma GCC system_header.
1718 * include/debug/deque: Likewise.
1719 * include/debug/list: Likewise.
1720 * include/debug/map: Likewise.
1721 * include/debug/set: Likewise.
1722 * include/debug/string: Likewise.
1723 * include/debug/unordered_map: Likewise.
1724 * include/debug/unordered_set: Likewise.
1725 * include/debug/vector: Likewise.
1726 * include/debug/functions.h: Adjust whitespace.
1728 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1731 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1733 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1736 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1737 exception constructors with __sso_string parameters.
1739 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1741 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1742 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1743 Test begin and end functions.
1744 * testsuite/experimental/filesystem/iterators/
1745 recursive_directory_iterator.cc: Likewise.
1748 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1749 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1751 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1752 Overload operator* to move from rvalues.
1755 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1756 * testsuite/experimental/filesystem/operations/create_directory.cc:
1760 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1761 base path to exception.
1762 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1763 paths contained in exception.
1765 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1769 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1771 (directory_iterator::operator++(int)): Return proxy.
1772 (recursive_directory_iterator::operator++(int)): Likewise.
1773 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1774 Test post-increment.
1775 * testsuite/experimental/filesystem/iterators/
1776 recursive_directory_iterator.cc: Likewise.
1778 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1781 * testsuite/experimental/filesystem/iterators/
1782 recursive_directory_iterator.cc: Fix test02 to not call member
1783 functions on invalid iterator, and use VERIFY not assert.
1785 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1787 Avoid endless run-time recursion for copying single-element
1788 tuples where the element type is by-value constructible
1790 * include/std/tuple (_NotSameTuple): New.
1791 * include/std/tuple (tuple(_UElements&&...): Use it.
1792 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1794 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1797 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1798 Initialize scalar member variables in default constructor.
1799 * testsuite/experimental/filesystem/iterators/
1800 recursive_directory_iterator.cc: Test default construction.
1802 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1804 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1806 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1808 * testsuite/experimental/filesystem/path/native/string.cc: Add
1809 dg-require-filesystem-ts directive.
1811 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1814 * include/experimental/memory_resource
1815 (__resource_adaptor_imp::do_allocate): Do not default-construct
1817 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1818 allocator_traits to get pointer type.
1819 (__null_memory_resource::do_allocate): Remove unused parameters.
1820 (__null_memory_resource::do_deallocate): Likewise.
1821 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1822 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1823 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1825 * testsuite/experimental/memory_resource/1.cc: Here.
1826 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1827 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1829 2016-04-29 Chris Gregory <czipperz@gmail.com>
1831 * config/*: Remove trailing whitespace.
1833 * testsuite/tr1/*: Likewise.
1834 * testsuite/util/*: Likewise.
1836 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1839 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1841 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1843 * include/std/atomic (atomic<_Tp>): Likewise.
1844 * include/std/shared_mutex (shared_lock): Likewise.
1845 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1846 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1847 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1848 * testsuite/29_atomics/atomic/70766.cc: New test.
1849 * testsuite/30_threads/shared_lock/70766.cc: New test.
1851 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1852 __detail::_Insert): Improve comments.
1854 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1857 * include/std/limits: Update comments about DRs.
1858 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1859 numeric_limits<const volatile _Tp>): Define unconditionally.
1861 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1864 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1865 static counter to return a different path on every call.
1867 2016-04-22 Tim Shen <timshen@google.com>
1870 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1871 Fix the match_not_bow and match_not_eow behavior.
1872 * testsuite/28_regex/regression.cc: Add testcase.
1874 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1877 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1878 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1880 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1883 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
1884 Override endianness bit in mode.
1885 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1886 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1887 that little_endian mode is ignored.
1888 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1891 * src/filesystem/ops.cc (close_fd): New function.
1892 (do_copy_file): Set permissions before copying file contents. Check
1893 result of closing file descriptors. Don't copy streambuf when file
1895 (copy(const path&, const path&, copy_options, error_code&)): Use
1896 lstat for source file when copy_symlinks is set.
1897 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1899 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1900 operator~ operator&=, operator|=, operator^=): Add noexcept to
1901 overloaded operators for copy_options, perms and directory_options.
1902 * src/filesystem/ops.cc (make_file_type, make_file_status,
1903 is_not_found_errno, file_time): Add noexcept.
1905 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1907 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1909 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1912 * include/bits/random.h: Reword static assertion messages to state
1913 positive conditions.
1914 * include/bits/random.tcc: Likewise.
1915 * include/bits/uniform_int_dist.h: Likewise.
1916 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1919 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1921 * config/cpu/sh/atomicity.h: Fix typo in comment.
1924 * include/std/thread (operator<, operator==): Move definitions to
1926 * testsuite/30_threads/thread/id/70294.cc: New test.
1928 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1929 -Wno-pedantic to dg-options.
1930 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1931 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1933 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1934 Remove extra semi-colon.
1935 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1936 Always supply second argument to static_assert.
1937 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1939 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1941 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1942 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1943 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1944 alignof when operand is an object not a type.
1945 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1946 * testsuite/decimal/make-decimal.cc: Likewise.
1947 * testsuite/experimental/type_traits/value.cc: Always supply second
1948 argument to static_assert.
1949 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1952 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1954 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1955 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1956 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1957 Likewise. Add licence and change to compile-only test.
1959 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1961 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1963 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1966 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1968 * include/bits/specfun.h: Trivial comment misspelling.
1970 2016-04-14 Jason Merrill <jason@redhat.com>
1972 Revert Jonathan's empty ABI change from yesterday.
1974 2016-04-13 Martin Sebor <msebor@redhat.com>
1977 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1978 upper bound is positive.
1980 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1982 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1983 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1984 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1985 of functions taking empty structs by value. Add a template parameter
1986 to overloads without hints. Rename overloads with hints to
1988 (_Hashtable::_M_erase(true_type, const_iterator),
1989 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1990 by reordering parameters.
1991 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1992 _M_emplace_hint instead of _M_emplace.
1993 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1994 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1995 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1996 __shared_ptr): Likewise.
1997 * include/bits/stl_algo.h (replace_if): Likewise.
1998 * include/bits/stl_pair.h (piecewise_construct_t,
1999 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2000 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2001 __uses_alloc0): Likewise.
2002 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2003 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2004 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2005 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2006 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2007 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2008 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2010 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2012 Document C++17/TR29124 C++ Special Math Functions.
2013 * include/bits/specfun.h: Add Doxygen markup.
2015 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
2017 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2019 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2021 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2022 * src/Makefile.in: Regenerate.
2024 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2027 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2028 __atomic_fetch_add for bool.
2029 * configure: Regenerate.
2031 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2034 * src/c++11/thread.cc (execute_native_thread_routine,
2035 execute_native_thread_routine_compat): Give internal linkage.
2036 * testsuite/30_threads/thread/70503.cc: New test.
2038 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2041 * include/bits/stl_pair.h (_ConstructiblePair,
2042 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2043 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2044 for same-type cases.
2045 * testsuite/20_util/pair/70437.cc: New.
2047 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2050 * config/abi/pre/gnu.ver: Add new symbol.
2051 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2052 * testsuite/18_support/free_eh_pool.cc: New test.
2054 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2056 * include/Makefile.am (install-freestanding-headers): Add
2057 concept_check.h and move.h to the installed headers.
2058 * include/Makefile.in: Regenerated.
2059 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2060 freestanding implementations.
2061 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2062 that this macro has no effect for freestanding implementations.
2063 * doc/html/manual/using_macros.html: Likewise.
2065 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2068 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2070 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2072 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2073 * doc/html/*: Regenerate.
2076 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2077 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2078 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2079 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2080 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2081 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2082 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2084 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2085 namespace before including TR1 headers.
2086 * testsuite/tr1/headers/c++200x/math.cc: New test.
2088 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2091 * include/c_global/cstdarg: Undefine __need___va_list.
2092 * include/c_global/cstddef: Undefine all kinds of __need_*.
2094 2016-02-16 Tim Shen <timshen@google.com>
2097 * include/bits/regex_scanner.h: Add different special character
2098 sets for grep and egrep regex.
2099 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2100 * testsuite/28_regex/regression.cc: Add new testcase.
2102 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2104 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2105 added 'constexpr' in previous commit.
2106 * configure: Regenerate.
2109 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2110 checks for all targets except *-*-solaris2.* and ensure we find the
2111 libc math.h header not our own.
2112 * configure: Regenerate.
2114 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2116 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2117 New file. Copied over from s390-linux-gnu.
2119 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2122 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2123 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2124 * config.h.in: Regenerate.
2125 * configure: Regenerate.
2126 * testsuite/21_strings/c_strings/char/69626.cc: New.
2128 * doc/html/index.html: Regenerate.
2130 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2131 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2132 * doc/html/*: Regenerate.
2134 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2137 * include/c_compatibility/math.h: Move header guards.
2138 * include/c_compatibility/stdlib.h: Likewise.
2140 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2143 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2145 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2148 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2149 isinf and isnan functions into two independent checks. Check on hpux.
2150 * config.h.in: Regenerate.
2151 * configure: Regenerate.
2152 * include/c_global/cmath (isinf(double), isnan(double)): Use
2153 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2156 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2158 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2160 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2163 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2164 -ffp-contract=off, and -ffloat-store to disable excess precision.
2165 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2168 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2171 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2172 random_access_iterator_tag>): Check is_move_assignable when moving.
2173 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2175 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2176 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2177 * testsuite/25_algorithms/move/69478.cc: New.
2178 * testsuite/25_algorithms/move_backward/69478.cc: new.
2180 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2182 * include/c_compatibility/stdlib.h: Include wide character related
2183 definitions only when they are available in cstdlib.
2185 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2188 * include/Makefile.am: Add new header.
2189 * include/Makefile.in: Regenerate.
2190 * include/bits/random.h (uniform_int_distribution): Move to
2191 bits/uniform_int_dist.h.
2192 * include/bits/random.tcc (uniform_int_distribution::operator(),
2193 uniform_int_distribution::__generate_impl): Likewise.
2194 * include/bits/uniform_int_dist.h: New header.
2195 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2196 <bits/uniform_int_dist.h> instead of <random>.
2197 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2198 move_iterators/1.cc: Include correct header for uninitialized_copy.
2199 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2200 move_iterators/1.cc: Likewise.
2201 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2203 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2205 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
2208 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2210 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2212 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2213 * include/c_compatibility/math.h: Import the TR29124 functions
2214 into the global namespace.
2215 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2216 xfail and make compile-only.
2217 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2218 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2219 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2220 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2221 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2222 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2223 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2224 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2225 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2226 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2227 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2228 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2229 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2230 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2231 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2232 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2233 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2234 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2235 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2236 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2238 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2241 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2242 define result_type for types which can be safely used with valarrays.
2243 * testsuite/26_numerics/valarray/69116.cc: New.
2246 * config/os/gnu-linux/os_defines.h: Define
2247 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2248 * include/c_global/cmath (isinf, isnan): Check it.
2249 * doc/xml/manual/internals.xml: Document it.
2250 * doc/html/*: Regenerate.
2252 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2255 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2256 * include/ext/type_traits.h: Likewise.
2257 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2258 for presence of C headers.
2259 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2260 dg-error line number.
2261 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2262 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2263 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2265 2016-01-20 Torvald Riegel <triegel@redhat.com>
2268 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2270 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2273 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2274 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2275 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2276 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2277 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2278 Add using declarations.
2279 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2282 * include/c_global/ccomplex: Ensure C++ language linkage.
2283 * include/c_global/cmath: Likewise.
2284 * include/c_global/cstdlib: Likewise.
2285 * include/c_global/ctgmath: Likewise.
2286 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2288 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
2292 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2293 --enable-cheaders=c_global configs.
2294 * include/Makefile.in: Regenerate.
2295 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2296 test and allow inclusion from C files.
2297 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2298 (at_quick_exit, quick_exit): Add using directives.
2299 * include/c_global/cmath: Use #include_next for math.h.
2300 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2301 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2302 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2303 Remove xfail for most targets.
2304 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2306 2016-01-18 Torvald Riegel <triegel@redhat.com>
2308 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2309 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2310 and move after its definition.
2311 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2312 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2313 __GXX_WEAK__, and only provide transactional clones if
2314 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2317 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2320 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2323 * include/std/functional (_Function_base::_M_not_empty_function):
2324 Change overloads for pointers to take arguments by value.
2325 * testsuite/20_util/function/cons/57465.cc: Add tests for
2326 pointer-to-member cases.
2329 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2330 Use macros for exception handling and fix unused parameter warning.
2332 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
2335 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2337 2016-01-17 Torvald Riegel <triegel@redhat.com>
2339 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2341 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2343 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2346 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2349 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2350 static assertion that type is constructible from the arguments.
2351 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2352 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2353 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2356 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2357 and isnan on AIX. Quote variables.
2358 * configure: Regenerate.
2360 2016-01-15 Torvald Riegel <triegel@redhat.com>
2362 * include/bits/basic_string.h (basic_string): Declare friends.
2363 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2364 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2365 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2366 length_error, out_of_range, runtime_error, range_error,
2367 underflow_error, overflow_error): Declare members as transaction-safe.
2368 (logic_error, runtime_error): Declare friend functions.
2369 * libsupc++/exception (exception, bad_exception): Declare members as
2371 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2372 transaction-safe members of exceptions and helper functions.
2373 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2374 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2375 (CXXABI_1.3.10): New.
2376 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2377 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2378 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2379 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2380 * include/Makefile.in: Regenerate.
2381 * config.h.in: Regenerate.
2382 * configure: Regenerate.
2383 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2385 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
2387 * include/ext/random.tcc: Use __builtin_isfinite instead of
2390 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2392 * include/bits/std_mutex.h: Fix Doxygen @file name.
2394 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2395 Jonathan Wakely <jwakely@redhat.com>
2396 Florian Goth <CaptainSifff@gmx.de>
2398 Implement TR29124 C++ special Math Functions.
2399 * include/Makefile.am: Add new headers.
2400 * include/Makefile.in: Regenerate.
2401 * include/bits/specfun.h: New.
2402 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2403 * include/tr1/bessel_function.tcc: Ditto.
2404 * include/tr1/beta_function.tcc: Ditto.
2405 * include/tr1/cmath: Ditto.
2406 * include/tr1/ell_integral.tcc: Ditto.
2407 * include/tr1/exp_integral.tcc: Ditto.
2408 * include/tr1/gamma.tcc: Ditto.
2409 * include/tr1/hypergeometric.tcc: Ditto.
2410 * include/tr1/legendre_function.tcc: Ditto.
2411 * include/tr1/modified_bessel_func.tcc: Ditto.
2412 * include/tr1/poly_hermite.tcc: Ditto.
2413 * include/tr1/poly_laguerre.tcc: Ditto.
2414 * include/tr1/riemann_zeta.tcc: Ditto.
2415 * include/tr1/special_function_util.h: Ditto.
2416 * testsuite/ext/special_functions/conf_hyperg: New.
2417 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2418 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2419 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2420 * testsuite/ext/special_functions/hyperg: New.
2421 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2422 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2423 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2424 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2425 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2426 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2427 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2428 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2429 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2430 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2431 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2432 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2433 * testsuite/special_functions/03_beta/check_nan.cc: New.
2434 * testsuite/special_functions/03_beta/check_value.cc: New.
2435 * testsuite/special_functions/03_beta/compile.cc: New.
2436 * testsuite/special_functions/03_beta/compile_2.cc: New.
2437 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2438 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2439 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2440 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2441 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2442 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2443 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2444 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2445 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2446 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2447 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2448 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2449 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2450 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2451 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2452 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2453 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2454 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2455 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2456 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2457 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2458 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2459 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2460 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2461 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2462 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2463 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2464 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2465 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2466 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2467 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2468 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2469 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2470 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2471 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2472 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2473 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2474 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2475 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2476 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2477 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2478 * testsuite/special_functions/14_expint/check_nan.cc: New.
2479 * testsuite/special_functions/14_expint/check_value.cc: New.
2480 * testsuite/special_functions/14_expint/compile.cc: New.
2481 * testsuite/special_functions/14_expint/compile_2.cc: New.
2482 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2483 * testsuite/special_functions/15_hermite/check_value.cc: New.
2484 * testsuite/special_functions/15_hermite/compile.cc: New.
2485 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2486 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2487 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2488 * testsuite/special_functions/16_laguerre/compile.cc: New.
2489 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2490 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2491 * testsuite/special_functions/17_legendre/check_value.cc: New.
2492 * testsuite/special_functions/17_legendre/compile.cc: New.
2493 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2494 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2495 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2496 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2497 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2498 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2499 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2500 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2501 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2502 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2503 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2504 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2505 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2506 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2507 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2508 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2509 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2510 * testsuite/util/specfun_testcase.h: New.
2511 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2512 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2513 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2514 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2515 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2516 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2517 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2519 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
2522 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2523 and isnan functions.
2524 * config.h.in: Regenerate.
2525 * configure: Regenerate.
2526 * include/c_global/cmath (isinf(double), isnan(double))
2527 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2528 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2530 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2533 * configure.host (abi_baseline_pair): Use separate baseline for
2534 Solaris 11+ and Solaris 10 with gld.
2535 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2536 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2537 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2539 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2542 * include/std/type_traits: Following N4511, reimplement __is_swappable
2543 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2544 adjust callers. Use __is_nothrow_swappable in swap.
2545 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2546 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2547 __is_swappable related tests.
2548 * testsuite/20_util/is_swappable/value.cc: New.
2549 * testsuite/20_util/is_swappable/requirements/
2550 explicit_instantiation.cc: New.
2551 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2552 * testsuite/25_algorithms/swap/68877.cc: New.
2554 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2556 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2560 * include/std/functional (function::_Invoke): Remove, use result_of.
2561 (function::_Callable): Replace alias template with class template
2562 and use partial specialization instead of _NotSelf alias template.
2563 (function(_Functor)): Add "not self" constraint so that _Callable is
2564 not used while type is incomplete.
2565 * testsuite/20_util/function/69222.cc: New.
2567 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2570 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2571 Define partial specialization.
2572 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2573 destroy members to std::allocator explicit specialization.
2575 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2577 * testsuite/26_numerics/headers/cmath/
2578 c99_classification_macros_c++.cc: Rename to ...
2579 * testsuite/26_numerics/headers/cmath/
2580 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2581 * testsuite/26_numerics/headers/cmath/
2582 c99_classification_macros_c++0x.cc: Rename to ...
2583 * testsuite/26_numerics/headers/cmath/
2584 c99_classification_macros_c++11.cc: Here.
2587 * include/bits/uses_allocator.h: Add missing include.
2589 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2594 * include/bits/stl_iterator.h (back_insert_iterator,
2595 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2596 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2597 * include/std/future (__future::base::_State_baseV2::__setter):
2599 * include/std/scoped_allocator (__outermost): Likewise.
2600 * testsuite/20_util/scoped_allocator/69114.cc: New.
2601 * testsuite/20_util/uses_allocator/69114.cc: New.
2602 * testsuite/30_threads/promise/69106.cc: New.
2604 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2607 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2608 Remove _GLIBCXX_NOEXCEPT.
2609 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2611 * include/Makefile.am: Adjust.
2612 * include/Makefile.in: Regenerate.
2613 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2614 * include/std/condition_variable: Adjust include.
2615 * include/std/mutex: Likewise.
2617 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2619 Update copyright years.
2621 Copyright (C) 2016 Free Software Foundation, Inc.
2623 Copying and distribution of this file, with or without modification,
2624 are permitted in any medium without royalty provided the copyright
2625 notice and this notice are preserved.