]> gcc.gnu.org Git - gcc.git/blob - libstdc++-v3/ChangeLog
Implement LWG 2744 and LWG 2754.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
2
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&&...)):
7 Likewise.
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
13 emplace.
14 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
15 in_place constructor.
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.
19
20 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
21
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.
27
28 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
29
30 * src/filesystem/ops.cc: Always include ostream and
31 ext/stdio_filebuf.h.
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.
35
36 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
37
38 PR libstdc++/72840
39 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
40 syntax.
41
42 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
43
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.
47
48 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
49
50 Implement LWG 2758.
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)):
58 Likewise.
59 (compare(size_type, size_type,__sv_type, size_type, size_type)):
60 Likewise.
61 * testsuite/21_strings/basic_string/lwg2758.cc: New.
62
63 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
64
65 * doc/xml/manual/status_cxx2017.xml: Update status table.
66 * doc/html/manual/status.html: Regenerate.
67
68 * testsuite/lib/libstdc++.exp: Fix typo in comment.
69
70 PR libstdc++/72820
71 * include/std/functional (_Function_base::_Base_manager::_M_clone):
72 Qualify new operator.
73 * testsuite/20_util/function/cons/72820.cc: New test.
74
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
84 new header.
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
89 lineno.
90
91 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
92
93 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
94 * doc/html/manual/status.html: Regenerate.
95
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
102 dg-error lineno.
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.
106
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.
113
114 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
115
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
132 test.
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:
140 New test.
141 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
142 New test.
143 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
144 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
145
146 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
147 * doc/html/manual/status.html: Regenerate.
148
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:
152 New test.
153
154 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
155 (__invfwd): Adjust.
156 (__invoke_impl): Remove unused template parameters.
157 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
158 parameter.
159 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
160 and test __invoke extension for C++11.
161
162 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
163
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
167 for the macro.
168
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.
174
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.
178
179 * include/bits/shared_ptr.h (owner_less): Add default template
180 argument.
181 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
182 specialization.
183 (owner_less<void>): Define specialization.
184 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
185 Update value.
186 * testsuite/20_util/owner_less/void.cc: New test.
187 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
188
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.
195
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.
200
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
203 true.
204 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
205 do #error for C++17.
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.
222
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
228 line number.
229 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
230 Likewise.
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:
242 Likewise.
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
247 tests.
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:
252 Likewise.
253
254 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
255
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:
259 Likewise.
260 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
261 Likewise.
262 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
263 Likewise.
264 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
265 Likewise.
266 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
267 Likewise.
268 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
269 Likewise.
270
271 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
272 comments.
273
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:
277 Likewise.
278 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
279
280 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
281
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.
285
286 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
287 check_value.cc: Do not add special functions to namespace std in TR1
288 test.
289
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:
293 Likewise.
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:
299 Likewise.
300 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
301 Likewise.
302 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
303 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
304 Likewise.
305 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
306 Likewise.
307 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
308 Likewise.
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:
317 Likewise.
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:
322 Likewise.
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:
327 Likewise.
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:
332 Likewise.
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:
338 Likewise.
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:
343 Likewise.
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:
380 Likewise.
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:
389 Likewise.
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.
396
397 * testsuite/tr1/5_numerical_facilities/special_functions/
398 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
399 of [[gnu::unused]].
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.
410
411 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
412
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.
419
420 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
421
422 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
423 test if -flto used.
424
425 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
426 additional flags for compiling libtestc++.a objects.
427
428 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
429
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.
434
435 * include/bits/basic_string.tcc: Disable explicit instantiation
436 declarations for C++17.
437
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:
441 Likewise.
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.
448
449 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
450 for different construct/destroy counts in C++98 mode.
451
452 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
453
454 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
455 later.
456 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
457 Likewise.
458
459 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
460 C++98-compatible initialization for array.
461
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:
468 Likewise.
469
470 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
471 Remove duplicate dg-options directive.
472
473 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
474 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
475
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:
479 Likewise.
480
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.
485
486 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
487
488 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
489
490 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
491
492 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
493 compile-only test.
494
495 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
496 Ensure test is compiled with optimization.
497
498 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
499 Adjust dg-prune-output pattern for error in C++98 mode.
500
501 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
502 run for C++11 or later.
503
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.
507
508 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
509 c++11 instead of setting -std=gnu++14.
510
511 PR libstdc++/72745
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.
517
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:
521 Likewise.
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:
531 Likewise.
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.
536
537 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
538
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):
542 Likewise.
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:
551 Likewise.
552 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
553 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
554 New.
555
556 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
557
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:
567 Likewise.
568 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
569 Likewise.
570
571 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
572
573 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
574
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:
610 Likewise.
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.
614
615 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
616
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.
620
621 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
622
623 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
624 * doc/html/manual/abi.html: Regenerate.
625
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
628 symbols.
629 * configure: Regenerate.
630 * testsuite/util/testsuite_abi.cc: Add new symbol version.
631
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:
636 Likewise.
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.
640
641 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
642
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:
650 Likewise.
651 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
652 Likewise.
653 * testsuite/23_containers/list/requirements/dr438/
654 constructor_1_neg.cc: Likewise.
655 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
656 Likewise.
657 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
658 Likewise.
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:
664 Likewise.
665
666 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
667 for different construct/destroy counts in C++98 mode.
668
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:
672 Likewise.
673 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
674 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
675 Likewise.
676 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
677 Use dg-additional-options instead of repeating the common options.
678
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
682 dg-do directive.
683 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
684
685 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
686
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.
693 (__sv_type): New.
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)):
706 Likewise.
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)):
717 Likewise.
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:
723 Likewise.
724 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
725 Likewise.
726 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
727 Likewise.
728 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
729 Likewise.
730 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
731 Likewise.
732 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
733 Likewise.
734 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
735 Likewise.
736 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
737 Likewise.
738 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
739 Likewise.
740 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
741 Likewise.
742 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
743 Likewise.
744 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
745 Likewise.
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:
756 Likewise.
757 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
758 Likewise.
759 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
760 Likewise.
761 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
762 Likewise.
763 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
764 Likewise.
765 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
766 Likewise.
767 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
768 Likewise.
769 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
770 Likewise.
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:
776 Likewise.
777 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
778 Likewise.
779 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
780 Likewise.
781 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
782 Likewise.
783 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
784 Likewise.
785 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
786 Likewise.
787 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
788 Likewise.
789 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
790 Likewise.
791 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
792 Likewise.
793 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
794 Likewise.
795 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
796 Likewise.
797 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
798 Likewise.
799 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
800 Likewise.
801 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
802 Likewise.
803 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
804 Likewise.
805 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
806 Likewise.
807 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
808 Likewise.
809 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
810 Likewise.
811 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
812 Likewise.
813 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
814 Likewise.
815 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
816 Likewise.
817 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
818 Likewise.
819 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
820 Likewise.
821 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
822 Likewise.
823 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
824 Likewise.
825 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
826 Likewise.
827 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
828 Likewise.
829 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
830 Likewise.
831 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
832 Likewise.
833 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
834 Likewise.
835 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
836 Likewise.
837 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
838 Likewise.
839 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
840 Likewise.
841 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
842 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
843 Likewise.
844 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
845 Likewise.
846 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
847 Likewise.
848 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
849 Likewise.
850 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
851 Likewise.
852 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
853 Likewise.
854 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
855 Likewise.
856 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
857 Likewise.
858 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
859 Likewise.
860 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
861 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
862
863 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
864
865 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
866
867 2016-07-25 Georeth Chow <georeth2010@gmail.com>
868
869 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
870 _S_concat enumerator.
871 * testsuite/ext/rope/6.cc: New test.
872
873 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
874
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.
878
879 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
880
881 PR libstdc++/71964
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.
887
888 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
889 delete[] instead of delete.
890
891 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
892
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.
896
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.
902
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:
906 Likewise.
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.
912
913 * testsuite/24_iterators/container_access.cc: Fix missing returns.
914 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
915
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:
921 Likewise.
922
923 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
924
925 * doc/xml/manual/intro.xml: Document DR 2684 status.
926 * doc/html/*: Regenerate.
927
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
932 lines.
933 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
934 the new types.
935 * doc/xml/manual/intro.xml: Document DR 2441 status.
936
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.
941
942 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
943 static objects for catching nullptr as pointer to member types.
944
945 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
946
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.
951
952 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
953
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
960 comment.
961 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
962 * testsuite/util/thread/all.h: Likewise.
963
964 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
965 and adjust comment.
966
967 PR c++/58796
968 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
969 nullptr match handlers of pointer type.
970
971 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
972
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/
980 1.cc: New test.
981 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
982 pod.cc: New test.
983
984 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
985
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.
992
993 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
994
995 * include/experimental/functional: Include <parallel/algorithm> in
996 Parallel Mode.
997
998 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
999 for std::search.
1000
1001 PR libstdc++/70716
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):
1013 Likewise.
1014 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1015 Likewise.
1016
1017 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1018
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
1022 initialize _M_ptr.
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&&...)):
1030 Likewise.
1031 (~any()): Adjust.
1032 (operator=(const any&)): Likewise.
1033 (operator=(any&&)): Likewise.
1034 (operator=(_ValueType&&)): Constrain.
1035 (emplace(_Args&&...)): New.
1036 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1037 (clear()): Remove.
1038 (reset()): New.
1039 (swap(any&)): Adjust.
1040 (empty()): Remove.
1041 (has_value()): New.
1042 (type()): 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.
1050 (has_value()): New.
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.
1075
1076 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1077
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.
1116
1117 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1118
1119 PR libstdc++/71856
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.
1134
1135 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1136 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1137 Forward to different overload.
1138
1139 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1140 static.
1141
1142 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1143
1144 Revert "Add non-const overload of std::string::data()".
1145
1146 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1147
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.
1186
1187 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1188
1189 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1190 New function.
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&)):
1194 Likewise.
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)):
1200 Likewise.
1201 (replace(size_type, size_type, const basic_string&, size_type,
1202 size_type)): Likewise.
1203 (replace(__const_iterator, __const_iterator, const basic_string&)):
1204 Likewise.
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
1212 _S_assign.
1213 (find(const _CharT*, size_type, size_type)): Use data instead of
1214 _M_data().
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.
1218
1219 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
1220
1221 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1222 * doc/xml/manual/intro.xml: Document DR 2458 status.
1223 * doc/html*: Regenerate.
1224
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:
1229 Likewise.
1230 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1231 * doc/html*: Regenerate.
1232
1233 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1234 Add testcase from LWG 2164.
1235
1236 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
1237
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.
1251
1252 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1253
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.
1302
1303 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
1304
1305 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1306
1307 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
1308
1309 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1310 * doc/html/*: Regenerate.
1311
1312 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1313
1314 Implement std::any.
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.
1332
1333 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1334
1335 Add a new header for diagnosing the use of C++17 facilities
1336 in pre-C++17 modes.
1337 * include/bits/c++17_warning.h: New.
1338
1339 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1340
1341 Implement LWG 2451, optional<T> should 'forward' T's
1342 implicit conversions.
1343 * include/experimental/optional (__is_optional_impl, __is_optional):
1344 New.
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.
1353
1354 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1355
1356 Implement LWG 2509,
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.
1364
1365 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
1366
1367 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1368 New test.
1369 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1370 test.
1371
1372 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
1373
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
1392 using allocator.
1393 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1394
1395 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1396
1397 PR libstdc++/71313
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:
1401 Adjust.
1402
1403 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
1404
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.
1411
1412 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1413
1414 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1415 than specific target.
1416
1417 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
1418
1419 PR libstdc++/71640
1420 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1421 friend declaration.
1422
1423 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
1424
1425 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1426 zero-size array.
1427
1428 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1429
1430 * configure.host: Remove mep-* support.
1431
1432 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1433
1434 * configure: Regenerate.
1435 * configure.host: Remove support for knetbsd.
1436 * crossconfig.m4: Likewise.
1437
1438 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
1439
1440 PR libstdc++/71181
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
1450 being now useless.
1451 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1452 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1453 (test02): New.
1454 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1455 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1456 Fix indentation.
1457
1458 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1459
1460 PR libstdc++/71545
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.
1471
1472 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
1473
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.
1492
1493 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1494
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:
1510 Likewise.
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:
1519 New.
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:
1525 New.
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:
1539 Likewise.
1540
1541 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
1542
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.
1568
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
1574 test.
1575
1576 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1577
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):
1585 Likewise.
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)):
1591 Likewise.
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.
1599
1600 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1601
1602 * include/std/tuple (_Head_base<>): Default specialization condition at
1603 type declaration.
1604
1605 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1606
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.
1612
1613 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1614
1615 PR libstdc++/71320
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
1619 test.
1620
1621 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1622
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.
1629
1630 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1631
1632 * doc/xml/manual/backwards_compatibility.xml: Adjust
1633 lists.debian.org link to https.
1634 * doc/html/manual/backwards.html: Regenerate.
1635
1636 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1637
1638 * doc/xml/manual/abi.xml: Adjust URL to use https.
1639 * doc/html/manual/*: Regenerate.
1640
1641 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1642
1643 PR libstdc++/66338
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.
1655
1656 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1657
1658 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1659 * configure: Regenerate.
1660 * config.h.in: Regenerate.
1661
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.
1668
1669 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1670
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.
1676 (__clp2): 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
1680 or not.
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:
1684 Likewise.
1685 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1686 Likewise.
1687 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1688 Likewise.
1689 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1690 Likewise.
1691 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1692 New.
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.
1696
1697 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1698
1699 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1700
1701 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1702
1703 * include/debug/safe_iterator.h
1704 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1705 operator ->.
1706 * include/debug/safe_local_iterator.h
1707 (_Safe_local_iterator<>::operator->()): Likewise.
1708
1709 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1710
1711 * testsuite/experimental/memory_resource/1.cc: Add required argument
1712 to dg-require-atomic-builtins.
1713
1714 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1715
1716 PR libstdc++/71073
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.
1727
1728 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1729
1730 PR libstdc++/71081
1731 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1732
1733 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1734
1735 PR libstdc++/71049
1736 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1737 exception constructors with __sso_string parameters.
1738
1739 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1740
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.
1746
1747 PR libstdc++/71038
1748 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1749 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1750
1751 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1752 Overload operator* to move from rvalues.
1753
1754 PR libstdc++/71036
1755 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1756 * testsuite/experimental/filesystem/operations/create_directory.cc:
1757 New test.
1758
1759 PR libstdc++/71037
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.
1764
1765 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1766 using declaration.
1767
1768 PR libstdc++/71005
1769 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1770 New type.
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.
1777
1778 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1779
1780 PR libstdc++/71004
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.
1784
1785 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1786
1787 Avoid endless run-time recursion for copying single-element
1788 tuples where the element type is by-value constructible
1789 from any type.
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.
1793
1794 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1795
1796 PR libstdc++/71004
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.
1801
1802 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1803
1804 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1805
1806 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1807
1808 * testsuite/experimental/filesystem/path/native/string.cc: Add
1809 dg-require-filesystem-ts directive.
1810
1811 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1812
1813 PR libstdc++/70940
1814 * include/experimental/memory_resource
1815 (__resource_adaptor_imp::do_allocate): Do not default-construct
1816 rebound allocator.
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
1824 move to ...
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.
1828
1829 2016-04-29 Chris Gregory <czipperz@gmail.com>
1830
1831 * config/*: Remove trailing whitespace.
1832 * src/*: Likewise.
1833 * testsuite/tr1/*: Likewise.
1834 * testsuite/util/*: Likewise.
1835
1836 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1837
1838 PR libstdc++/70766
1839 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1840 __addressof.
1841 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1842 Likewise.
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.
1850
1851 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1852 __detail::_Insert): Improve comments.
1853
1854 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1855
1856 PR libstdc++/70767
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.
1860
1861 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1862
1863 PR libstdc++/70762
1864 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1865 static counter to return a different path on every call.
1866
1867 2016-04-22 Tim Shen <timshen@google.com>
1868
1869 PR libstdc++/70745
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.
1873
1874 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1875
1876 PR libstdc++/69703
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.
1879
1880 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1881
1882 PR libstdc++/69703
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.
1889
1890 PR libstdc++/70609
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
1894 is empty.
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().
1898
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.
1904
1905 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1906
1907 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1908
1909 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1910
1911 PR libstdc++/41759
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
1917 patterns.
1918
1919 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1920
1921 * config/cpu/sh/atomicity.h: Fix typo in comment.
1922
1923 PR libstdc++/70294
1924 * include/std/thread (operator<, operator==): Move definitions to
1925 namespace-scope.
1926 * testsuite/30_threads/thread/id/70294.cc: New test.
1927
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
1932 to dg-options.
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
1938 semi-colon.
1939 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1940 dg-options.
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
1950 __int128 types.
1951
1952 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1953 internal header.
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.
1958
1959 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1960 unused parameter.
1961 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1962
1963 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1964 warnings.
1965
1966 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1967
1968 * include/bits/specfun.h: Trivial comment misspelling.
1969
1970 2016-04-14 Jason Merrill <jason@redhat.com>
1971
1972 Revert Jonathan's empty ABI change from yesterday.
1973
1974 2016-04-13 Martin Sebor <msebor@redhat.com>
1975
1976 PR c++/69517
1977 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1978 upper bound is positive.
1979
1980 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1981
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
1987 _M_emplace_hint.
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.
2009
2010 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2011
2012 Document C++17/TR29124 C++ Special Math Functions.
2013 * include/bits/specfun.h: Add Doxygen markup.
2014
2015 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
2016
2017 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2018
2019 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2020
2021 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2022 * src/Makefile.in: Regenerate.
2023
2024 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2025
2026 PR libstdc++/70554
2027 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2028 __atomic_fetch_add for bool.
2029 * configure: Regenerate.
2030
2031 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2032
2033 PR libstdc++/70503
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.
2037
2038 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2039
2040 PR libstdc++/70437
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.
2046
2047 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2048
2049 PR libstdc++/69945
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.
2053
2054 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2055
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.
2064
2065 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2066
2067 PR libstdc++/69939
2068 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2069
2070 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2071
2072 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2073 * doc/html/*: Regenerate.
2074
2075 PR libstdc++/69893
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]:
2083 Likewise.
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.
2087
2088 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2089
2090 PR libstdc++/69881
2091 * include/c_global/cstdarg: Undefine __need___va_list.
2092 * include/c_global/cstddef: Undefine all kinds of __need_*.
2093
2094 2016-02-16 Tim Shen <timshen@google.com>
2095
2096 PR libstdc++/69794
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.
2101
2102 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2103
2104 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2105 added 'constexpr' in previous commit.
2106 * configure: Regenerate.
2107
2108 PR libstdc++/48891
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.
2113
2114 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2115
2116 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2117 New file. Copied over from s390-linux-gnu.
2118
2119 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2120
2121 PR libstdc++/69626
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.
2127
2128 * doc/html/index.html: Regenerate.
2129
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.
2133
2134 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2135
2136 PR libstdc++/69581
2137 * include/c_compatibility/math.h: Move header guards.
2138 * include/c_compatibility/stdlib.h: Likewise.
2139
2140 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2141
2142 PR libstdc++/69506
2143 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2144
2145 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2146
2147 PR libstdc++/69450
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,
2154 respectively.
2155
2156 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2157
2158 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2159
2160 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2161
2162 PR libstdc++/69295
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
2166 -ffp-contract=off.
2167
2168 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2169
2170 PR libstdc++/69478
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>):
2174 Likewise.
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.
2179
2180 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2181
2182 * include/c_compatibility/stdlib.h: Include wide character related
2183 definitions only when they are available in cstdlib.
2184
2185 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2186
2187 PR libstdc++/69464
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
2202 header for vector.
2203 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2204
2205 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
2206
2207 PR libstdc++/69446
2208 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2209
2210 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2211
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.
2237
2238 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2239
2240 PR libstdc++/69116
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.
2244
2245 PR libstdc++/69413
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.
2251
2252 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2253
2254 PR libstdc++/69406
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.
2264
2265 2016-01-20 Torvald Riegel <triegel@redhat.com>
2266
2267 PR libstdc++/69310
2268 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2269
2270 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2271
2272 PR libstdc++/60401
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.
2280
2281 PR libstdc++/69386
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.
2287
2288 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
2289
2290 PR libstdc++/14608
2291 PR libstdc++/60401
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.
2305
2306 2016-01-18 Torvald Riegel <triegel@redhat.com>
2307
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
2315 functions.
2316
2317 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2318
2319 PR libstdc++/60637
2320 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2321
2322 PR libstdc++/69243
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.
2327
2328 PR libstdc++/69340
2329 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2330 Use macros for exception handling and fix unused parameter warning.
2331
2332 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
2333
2334 PR libstdc++/68734
2335 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2336
2337 2016-01-17 Torvald Riegel <triegel@redhat.com>
2338
2339 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2340
2341 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2342
2343 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2344 __int128 symbols.
2345
2346 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2347
2348 PR libstdc++/69293
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.
2354
2355 PR libstdc++/69294
2356 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2357 and isnan on AIX. Quote variables.
2358 * configure: Regenerate.
2359
2360 2016-01-15 Torvald Riegel <triegel@redhat.com>
2361
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
2370 transaction-safe.
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.
2384
2385 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
2386
2387 * include/ext/random.tcc: Use __builtin_isfinite instead of
2388 std::isfinite.
2389
2390 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2391
2392 * include/bits/std_mutex.h: Fix Doxygen @file name.
2393
2394 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2395 Jonathan Wakely <jwakely@redhat.com>
2396 Florian Goth <CaptainSifff@gmx.de>
2397
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.
2518
2519 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
2520
2521 PR libstdc++/48891
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.
2529
2530 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2531
2532 PR libstdc++/66006
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.
2538
2539 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2540
2541 PR libstdc++/68877
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.
2553
2554 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2555
2556 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2557
2558 PR libstdc++/69005
2559 PR libstdc++/69222
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.
2566
2567 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2568
2569 PR libstdc++/60976
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.
2574
2575 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2576
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.
2585
2586 PR libstdc++/69190
2587 * include/bits/uses_allocator.h: Add missing include.
2588
2589 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2590
2591 PR libstdc++/69105
2592 PR libstdc++/69106
2593 PR libstdc++/69114
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):
2598 Likewise.
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.
2603
2604 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2605
2606 PR libstdc++/69092
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.
2610
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.
2616
2617 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2618
2619 Update copyright years.
2620 \f
2621 Copyright (C) 2016 Free Software Foundation, Inc.
2622
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.
This page took 0.180644 seconds and 5 git commands to generate.