]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Document libstdc++.so versioning in manual
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
6cb98491
JW
12016-08-18 Jonathan Wakely <jwakely@redhat.com>
2
409d5555
JW
3 * doc/xml/manual/build_hacking.xml: New section on shared library
4 versioning.
5
a8107a98
JW
6 * doc/xml/manual/build_hacking.xml: Improve markup.
7 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
8 to "Testing".
9 * doc/xml/faq.xml: Change link text to "Testing".
10
6cb98491
JW
11 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
12 dg-options directive.
13
657213f7
JW
142016-08-17 Jonathan Wakely <jwakely@redhat.com>
15
6fbf26cc
JW
16 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
17 directive and use effective target instead of dg-options.
18
18a20f3f
JW
19 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
20 instead of -std in dg-options.
21 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
22 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
23 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
24 * testsuite/20_util/hash/quality.cc: Likewise.
25 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
26 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
27 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
28 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
29 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
30 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
31
f7717203
JW
32 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
33 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
34 * testsuite/27_io/rvalue_streams.cc: Likewise.
35
e30c6e0c
JW
36 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
37
e07f4b00
JW
38 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
39 Remove duplicate dg-options directive.
40
37144e84
JW
41 * testsuite/ext/profile/all.cc: Use effective target instead of
42 -std=gnu++11. Use dg-additional-options instead of repeating options.
43
8fe79e73
JW
44 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
45 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
46 instead of dg-excess-errors.
47
c4296692
JW
48 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
49 test for C++17.
50 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
51 * testsuite/experimental/ratio/value.cc: Likewise.
52 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
53 C++17.
54 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
55 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
56 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
57 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
58 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
59 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
60 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
61 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
62 * testsuite/tr1/5_numerical_facilities/special_functions/
63 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
64 C++17 compatibility.
65
ba364478
JW
66 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
67 expected signatures for C++14 compatibility.
68
657213f7
JW
69 PR libstdc++/77264
70 * include/bits/basic_string.h (operator=(__sv_type)
71 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
72 (replace(size_type, size_type, __sv_type))
73 (replace(const_iterator, const_iterator, __sv_type))
74 (find(__sv_type, size_type), rfind(__sv_type, size_type))
75 (compare(size_type, size_type, __sv_type)): Reformat.
76 (_If_sv): Define helper for SFINAE constaints.
77 (append(const _Tp&, size_type, size_type))
78 (assign(const _Tp&, size_type, size_type))
79 (insert(size_type, const _Tp&, size_type, size_type))
80 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
81 Use _If_sv.
82 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
83 SFINAE constraints.
84 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
85 Likewise.
86 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
87 Likewise.
88 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
89 Likewise.
90 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
91 Likewise.
92 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
93 Likewise.
94 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
95 Likewise.
96 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
97 Likewise.
98 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
99 Likewise.
100 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
101 Likewise.
102 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
103 Likewise.
104
32917686
JW
1052016-08-16 Jonathan Wakely <jwakely@redhat.com>
106
107 PR libstdc++/72847
108 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
109 pointers to start and end of storage.
110 * testsuite/23_containers/vector/bool/72847.cc: New test.
111 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
112 _M_finish after deallocating.
113 (vector<bool>::_M_fill_insert): Likewise.
114 (vector<bool>::_M_insert_range): Likewise.
115 (vector<bool>::_M_insert_aux): Likewise.
116
5c578ae4
VV
1172016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
118
119 Implement LWG 2744 and LWG 2754.
120 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
121 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
122 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
123 Likewise.
124 (emplace(_Args&&...)): Likewise.
125 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
126 * include/std/utility: (__is_in_place_type_impl): New.
127 (__is_in_place_type): Likewise.
128 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
129 emplace.
130 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
131 in_place constructor.
132 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
133 * testsuite/20_util/any/requirements.cc: Add a test for
134 in_place-constructing a non-default-constructible type.
135
24299f65
VV
1362016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
137
138 Add a feature macro for C++17 make_from_tuple.
139 * include/std/tuple (__cpp_lib_make_from_tuple): New.
140 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
141 Qualify the call to get<>().
142 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
143
0657379e
UB
1442016-08-15 Uros Bizjak <ubizjak@gmail.com>
145
146 * src/filesystem/ops.cc: Always include ostream and
147 ext/stdio_filebuf.h.
148 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
149 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
150 sendfile fails with ENOSYS or EINVAL.
151
f9657322
TP
1522016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
153
154 PR libstdc++/72840
155 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
156 syntax.
157
ca1ab6be
VV
1582016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
159
160 Implement C++17 make_from_tuple.
161 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
162 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
163
68a51b68
VV
1642016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
165
166 Implement LWG 2758.
167 * include/bits/basic_string.h
168 (append(__sv_type, size_type, size_type)): Turn into a template,
169 change parameter type, constrain, add a conversion to __sv_type
170 from the dependent parameter type.
171 (assign(__sv_type, size_type, size_type)): Likewise.
172 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
173 (replace(size_type, size_type, __sv_type, size_type, size_type)):
174 Likewise.
175 (compare(size_type, size_type,__sv_type, size_type, size_type)):
176 Likewise.
177 * testsuite/21_strings/basic_string/lwg2758.cc: New.
178
3e9f67e6
JW
1792016-08-06 Jonathan Wakely <jwakely@redhat.com>
180
caee9cde
JW
181 * doc/xml/manual/status_cxx2017.xml: Update status table.
182 * doc/html/manual/status.html: Regenerate.
183
ea2f1f49
JW
184 * testsuite/lib/libstdc++.exp: Fix typo in comment.
185
6ef835c6
JW
186 PR libstdc++/72820
187 * include/std/functional (_Function_base::_Base_manager::_M_clone):
188 Qualify new operator.
189 * testsuite/20_util/function/cons/72820.cc: New test.
190
3e9f67e6
JW
191 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
192 * doc/html/manual/status.html: Regenerate.
193 * include/Makefile.am: Add new header.
194 * include/Makefile.in: Regenerate.
195 * include/bits/invoke.h: New header.
196 (__invoke): Make constexpr. Add && to types in exception specification.
197 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
198 names. Include <bits/invoke.h> and use std::__invoke.
199 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
200 new header.
201 (invoke): Add && to types in exception specification.
202 * include/std/tuple (apply, __apply_impl): Define for C++17.
203 * testsuite/20_util/tuple/apply/1.cc: New test.
204 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
205 lineno.
206
98e6e662
JW
2072016-08-05 Jonathan Wakely <jwakely@redhat.com>
208
a0b1bf21
JW
209 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
210 * doc/html/manual/status.html: Regenerate.
211
5f6acdfb
JW
212 * include/std/chrono (floor, ceil, round, abs): New for C++17.
213 * testsuite/20_util/duration_cast/rounding.cc: New test.
214 * testsuite/20_util/time_point_cast/rounding.cc: New test.
215 * doc/xml/manual/status_cxx2017.xml: Update status table.
216 * doc/html/manual/status.html: Regenerate.
217 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
218 dg-error lineno.
219 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
220 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
221 * testsuite/20_util/duration/literals/range.cc: Likewise.
222
98e6e662
JW
223 * include/std/functional (__callable_functor): Remove.
224 (_Function_handler::_M_invoke): Use __invoke instead of
225 __callable_functor or mem_fn.
226 (function::_Callable): Use lvalue in result_of expression.
227 (function): Remove TODO comments about allocators.
228 * testsuite/20_util/function/cons/refqual.cc: New test.
229
7d2035fa
JW
2302016-08-04 Jonathan Wakely <jwakely@redhat.com>
231
42183d03
JW
232 * doc/xml/manual/status_cxx2017.xml: Update status table.
233 * include/std/functional (__inv_unwrap): Move to <type_traits>.
234 (__invoke_impl): Remove exception specifications.
235 (__invoke, invoke): Add exception specifications using
236 __is_nothrow_callable.
237 * include/std/type_traits (__inv_unwrap): Move from <functional>.
238 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
239 (__is_callable, __is_nothrow_callable): New traits.
240 (is_callable, is_callable_v): New C++17 traits.
241 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
242 * testsuite/20_util/is_callable/requirements/
243 explicit_instantiation.cc: New test.
244 * testsuite/20_util/is_callable/requirements/
245 explicit_instantiation_ext.cc: New test.
246 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
247 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
248 test.
249 * testsuite/20_util/is_callable/value.cc: New test.
250 * testsuite/20_util/is_callable/value_ext.cc: New test.
251 * testsuite/20_util/is_nothrow_callable/requirements/
252 explicit_instantiation.cc: New test.
253 * testsuite/20_util/is_nothrow_callable/requirements/
254 explicit_instantiation_ext.cc: New test.
255 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
256 New test.
257 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
258 New test.
259 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
260 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
261
246c618e
JW
262 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
263 * doc/html/manual/status.html: Regenerate.
264
9a8e528c
JW
265 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
266 effective target not dg-options. Move check for feature-test macro to:
267 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
268 New test.
269
7d2035fa
JW
270 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
271 (__invfwd): Adjust.
272 (__invoke_impl): Remove unused template parameters.
273 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
274 parameter.
275 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
276 and test __invoke extension for C++11.
277
27631a25
JW
2782016-08-03 Jonathan Wakely <jwakely@redhat.com>
279
c7fdbdcd
JW
280 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
281 Define feature-test macro.
282 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
283 for the macro.
284
f21f4463
JW
285 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
286 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
287 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
288 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
289 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
290
32eaac9c
JW
291 * include/std/utility (as_const): Define.
292 * testsuite/20_util/as_const/1.cc: New test.
293 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
294
b7dabce5
JW
295 * include/bits/shared_ptr.h (owner_less): Add default template
296 argument.
297 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
298 specialization.
299 (owner_less<void>): Define specialization.
300 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
301 Update value.
302 * testsuite/20_util/owner_less/void.cc: New test.
303 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
304
068c8ac1
JW
305 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
306 Define feature-test macro.
307 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
308 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
309 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
310 (__cpp_lib_type_trait_variable_templates): Define.
311
0bd9bdb4
JW
312 * include/bits/stl_function.h: Remove commented-out macro.
313 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
314 Define feature-test macro.
315 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
316
f8571e51
JW
317 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
318 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
319 true.
320 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
321 do #error for C++17.
322 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
323 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
324 * include/tr1/bessel_function.tcc: Likewise.
325 * include/tr1/beta_function.tcc: Likewise.
326 * include/tr1/cmath: Likewise.
327 * include/tr1/ell_integral.tcc: Likewise.
328 * include/tr1/exp_integral.tcc: Likewise.
329 * include/tr1/gamma.tcc: Likewise.
330 * include/tr1/hypergeometric.tcc: Likewise.
331 * include/tr1/legendre_function.tcc: Likewise.
332 * include/tr1/modified_bessel_func.tcc: Likewise.
333 * include/tr1/poly_hermite.tcc: Likewise.
334 * include/tr1/poly_laguerre.tcc: Likewise.
335 * include/tr1/riemann_zeta.tcc: Likewise.
336 * include/tr1/special_function_util.h: Likewise.
337 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
338
27631a25
JW
339 * include/std/type_traits (has_trivial_default_constructor): Remove.
340 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
341 * testsuite/20_util/has_trivial_copy_assign/requirements/
342 explicit_instantiation.cc: Remove test.
343 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
344 line number.
345 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
346 Likewise.
347 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
348 * testsuite/20_util/has_trivial_copy_constructor/requirements/
349 explicit_instantiation.cc: Likewise.
350 * testsuite/20_util/has_trivial_copy_constructor/requirements/
351 typedefs.cc: Likewise.
352 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
353 * testsuite/20_util/has_trivial_default_constructor/requirements/
354 explicit_instantiation.cc: Likewise.
355 * testsuite/20_util/has_trivial_default_constructor/requirements/
356 typedefs.cc: Likewise.
357 * testsuite/20_util/has_trivial_default_constructor/value.cc:
358 Likewise.
359 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
360 Check has_trivial_default_constructor, has_trivial_copy_constructor,
361 and has_trivial_copy_assign are not defined.
362 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
363 tests.
364 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
365 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
366 dg-error line number.
367 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
368 Likewise.
369
69332dba
JW
3702016-08-02 Jonathan Wakely <jwakely@redhat.com>
371
589a30d1
JW
372 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
373 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
374 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
375 Likewise.
376 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
377 Likewise.
378 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
379 Likewise.
380 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
381 Likewise.
382 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
383 Likewise.
384 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
385 Likewise.
386
8bcd00bb
JW
387 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
388 comments.
389
a4e1011c
JW
390 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
391 dg-error to relevant line.
392 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
393 Likewise.
394 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
395
64dde682
JW
396 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
397
807bd096
JW
398 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
399 options are present that aren't valid for C.
400 * testsuite/abi/header_cxxabi.c: Likewise.
401
8c65cd30
JW
402 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
403 check_value.cc: Do not add special functions to namespace std in TR1
404 test.
405
196c9e7a
JW
406 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
407 run for C++11 and later.
408 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
409 Likewise.
410 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
411 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
412 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
413 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
414 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
415 Likewise.
416 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
417 Likewise.
418 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
419 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
420 Likewise.
421 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
422 Likewise.
423 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
424 Likewise.
425 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
426 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
427 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
428 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
429 * testsuite/special_functions/03_beta/compile.cc: Likewise.
430 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
431 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
432 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
433 Likewise.
434 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
435 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
436 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
437 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
438 Likewise.
439 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
440 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
441 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
442 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
443 Likewise.
444 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
445 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
446 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
447 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
448 Likewise.
449 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
450 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
451 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
452 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
453 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
454 Likewise.
455 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
456 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
457 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
458 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
459 Likewise.
460 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
461 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
462 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
463 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
464 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
465 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
466 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
467 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
468 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
469 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
470 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
471 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
472 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
473 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
474 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
475 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
476 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
477 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
478 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
479 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
480 * testsuite/special_functions/14_expint/compile.cc: Likewise.
481 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
482 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
483 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
484 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
485 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
486 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
487 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
488 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
489 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
490 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
491 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
492 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
493 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
494 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
495 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
496 Likewise.
497 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
498 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
499 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
500 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
501 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
502 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
503 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
504 * testsuite/special_functions/20_sph_legendre/check_value.cc:
505 Likewise.
506 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
507 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
508 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
509 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
510 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
511 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
512
69332dba
JW
513 * testsuite/tr1/5_numerical_facilities/special_functions/
514 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
515 of [[gnu::unused]].
516 * testsuite/tr1/5_numerical_facilities/special_functions/
517 09_cyl_bessel_j/check_value.cc: Likewise.
518 * testsuite/tr1/5_numerical_facilities/special_functions/
519 10_cyl_bessel_k/check_value.cc: Likewise.
520 * testsuite/tr1/5_numerical_facilities/special_functions/
521 11_cyl_neumann/check_value.cc: Likewise.
522 * testsuite/tr1/5_numerical_facilities/special_functions/
523 21_sph_bessel/check_value.cc: Likewise.
524 * testsuite/tr1/5_numerical_facilities/special_functions/
525 23_sph_neumann/check_value.cc: Likewise.
526
e1539627
RO
5272016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
528
529 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
530 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
531 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
532 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
533 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
534 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
535
c1b6948e
JW
5362016-08-02 Jonathan Wakely <jwakely@redhat.com>
537
e877144d
JW
538 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
539 test if -flto used.
540
c1b6948e
JW
541 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
542 additional flags for compiling libtestc++.a objects.
543
9b46e4d6
JW
5442016-08-01 Jonathan Wakely <jwakely@redhat.com>
545
92d58dee
JW
546 * include/bits/basic_string.h (data() const): Update comment.
547 (data()): Add non-const overload for C++17.
548 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
549 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
550
0f86525a
JW
551 * include/bits/basic_string.tcc: Disable explicit instantiation
552 declarations for C++17.
553
9839ff60
JW
554 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
555 ignored "xfail" from { dg-do compile { xfail selector } } directive.
556 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
557 Likewise.
558 * testsuite/26_numerics/headers/cmath/
559 c99_classification_macros_c++11.cc: Likewise.
560 * testsuite/26_numerics/headers/cmath/
561 c99_classification_macros_c++98.cc: Likewise.
562 * testsuite/26_numerics/headers/cmath/
563 c99_classification_macros_c.cc: Likewise.
564
cbcc9fe8
JW
565 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
566 for different construct/destroy counts in C++98 mode.
567
74811472
JW
568 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
569
a02a61ee
JW
570 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
571 later.
572 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
573 Likewise.
574
98b5fb3c
JW
575 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
576 C++98-compatible initialization for array.
577
6f3b8891
JW
578 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
579 unused header and variable from compile-only test.
580 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
581 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
582 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
583 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
584 Likewise.
585
2ab794eb
JW
586 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
587 Remove duplicate dg-options directive.
588
4d16871b
JW
589 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
590 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
591
e3509835
JW
592 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
593 linker options from compile-only tests.
594 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
595 Likewise.
596
9b46e4d6
JW
597 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
598 supported for C++11 and later.
599 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
600 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
601
77c3c27e
UB
6022016-08-01 Uros Bizjak <ubizjak@gmail.com>
603
604 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
605
f245e3a0
JW
6062016-07-31 Jonathan Wakely <jwakely@redhat.com>
607
c4da1da2
JW
608 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
609 compile-only test.
610
9d5b70b0
JW
611 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
612 Ensure test is compiled with optimization.
613
ee628057
JW
614 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
615 Adjust dg-prune-output pattern for error in C++98 mode.
616
d23d1bee
JW
617 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
618 run for C++11 or later.
619
f2738d6c
JW
620 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
621 test to not rely on GNU extension (escaped normal characters in POSIX
622 BRE). Enable tests for other strings which are now supported.
623
77f3d979
JW
624 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
625 c++11 instead of setting -std=gnu++14.
626
3c040fa4
JW
627 PR libstdc++/72745
628 * include/std/array (get): Use positive message for static assertions.
629 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
630 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
631 specialization for invalid indices, with static assertion.
632 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
633
f245e3a0
JW
634 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
635 dg-error to relevant line.
636 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
637 Likewise.
638 * testsuite/23_containers/forward_list/requirements/dr438/
639 assign_neg.cc: Likewise.
640 * testsuite/23_containers/forward_list/requirements/dr438/
641 constructor_1_neg.cc: Likewise.
642 * testsuite/23_containers/forward_list/requirements/dr438/
643 constructor_2_neg.cc: Likewise.
644 * testsuite/23_containers/forward_list/requirements/dr438/
645 insert_neg.cc: Likewise.
646 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
647 Likewise.
648 * testsuite/26_numerics/random/linear_congruential_engine/
649 requirements/non_uint_neg.cc: Likewise.
650 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
651 Likewise. Also test for std::atomic_address.
652
8c914227
VV
6532016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
654
655 Add missing variable traits, fix testsuite failures.
656 * include/bits/uses_allocator.h (uses_allocator_v): New.
657 * include/std/functional (is_bind_expression_v, is_placeholder_v):
658 Likewise.
659 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
660 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
661 * testsuite/20_util/duration/literals/range.cc: Likewise.
662 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
663 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
664 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
665 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
666 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
667 Likewise.
668 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
669 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
670 New.
671
7523c5eb
JW
6722016-07-31 Jonathan Wakely <jwakely@redhat.com>
673
2f297149
JW
674 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
675 not test 128-bit types.
676 * testsuite/20_util/is_floating_point/value.cc: Likewise.
677 * testsuite/20_util/is_integral/value.cc: Likewise.
678 * testsuite/20_util/is_signed/value.cc: Likewise.
679 * testsuite/20_util/is_unsigned/value.cc: Likewise.
680 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
681 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
682 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
683 Likewise.
684 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
685 Likewise.
686
7523c5eb
JW
687 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
688
137422c8
VV
6892016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
690
691 Implement C++17 variable templates for type traits.
692 * include/std/chrono (treat_as_floating_point_v): New.
693 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
694 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
695 (ratio_greater_equal_v): Likewise.
696 * include/std/system_error (is_error_code_enum_v)
697 (is_error_condition_enum_v): Likewise.
698 * include/std/tuple (tuple_size_v): Likewise.
699 * type_traits (conjunction_v, disjunction_v, negation_v)
700 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
701 (is_array_v, is_pointer_v, is_lvalue_reference_v)
702 (is_rvalue_reference_v, is_member_object_pointer_v)
703 (is_member_function_pointer_v, is_enum_v, is_union_v)
704 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
705 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
706 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
707 (is_trivially_copyable_v, is_standard_layout_v)
708 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
709 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
710 (is_constructible_v, is_default_constructible_v)
711 (is_copy_constructible_v, is_move_constructible_v)
712 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
713 (is_destructible_v, is_trivially_constructible_v)
714 (is_trivially_default_constructible_v)
715 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
716 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
717 (is_trivially_move_assignable_v, is_trivially_destructible_v)
718 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
719 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
720 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
721 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
722 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
723 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
724 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
725 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
726 Likewise.
727 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
728 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
729 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
730
0c4c4909
AS
7312016-07-29 Andreas Schwab <schwab@linux-m68k.org>
732
733 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
734 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
735 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
736
fe97ccec
JW
7372016-07-29 Jonathan Wakely <jwakely@redhat.com>
738
13ec6e5e
JW
739 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
740 * doc/html/manual/abi.html: Regenerate.
741
62589e99
JW
742 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
743 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
744 symbols.
745 * configure: Regenerate.
746 * testsuite/util/testsuite_abi.cc: Add new symbol version.
747
fe97ccec
JW
748 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
749 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
750 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
751 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
752 Likewise.
753 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
754 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
755 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
756
2de6b254
JW
7572016-07-28 Jonathan Wakely <jwakely@redhat.com>
758
1a2196e4
JW
759 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
760 Adjust dg-prune-output pattern for error in C++98 mode.
761 * testsuite/23_containers/deque/requirements/dr438/
762 constructor_1_neg.cc: Likewise.
763 * testsuite/23_containers/deque/requirements/dr438/
764 constructor_2_neg.cc: Likewise.
765 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
766 Likewise.
767 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
768 Likewise.
769 * testsuite/23_containers/list/requirements/dr438/
770 constructor_1_neg.cc: Likewise.
771 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
772 Likewise.
773 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
774 Likewise.
775 * testsuite/23_containers/vector/requirements/dr438/
776 constructor_1_neg.cc: Likewise.
777 * testsuite/23_containers/vector/requirements/dr438/
778 constructor_2_neg.cc: Likewise.
779 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
780 Likewise.
781
e539b4ff
JW
782 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
783 for different construct/destroy counts in C++98 mode.
784
c3c2f973
JW
785 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
786 dg-options to dg-additional-options so that default options are used.
787 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
788 Likewise.
789 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
790 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
791 Likewise.
792 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
793 Use dg-additional-options instead of repeating the common options.
794
2de6b254
JW
795 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
796 dg-do compile directive.
797 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
798 dg-do directive.
799 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
800
ca8f2cb1
VV
8012016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
802
803 Implement std::string_view and P0254r2,
804 Integrating std::string_view and std::string.
805 * include/Makefile.am: Add string_view and string_view.tcc
806 to the exported headers.
807 * include/Makefile.in: Likewise.
808 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
809 (__sv_type): New.
810 (basic_string(__sv_type, const _Alloc&)): Likewise.
811 (operator=(__sv_type)): Likewise.
812 (operator __sv_type()): Likewise.
813 (operator+=(__sv_type)): Likewise.
814 (append(__sv_type __sv)): Likewise.
815 (append(__sv_type, size_type, size_type)): Likewise.
816 (assign(__sv_type)): Likewise.
817 (assign(__sv_type, size_type, size_type)): Likewise.
818 (insert(size_type, __sv_type)): Likewise.
819 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
820 (replace(size_type, size_type, __sv_type)): Likewise.
821 (replace(size_type, size_type, __sv_type, size_type, size_type)):
822 Likewise.
823 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
824 (find(__sv_type, size_type)): Likewise.
825 (rfind(__sv_type, size_type)): Likewise.
826 (find_first_of(__sv_type, size_type)): Likewise.
827 (find_last_of(__sv_type, size_type)): Likewise.
828 (find_first_not_of(__sv_type, size_type)): Likewise.
829 (find_last_not_of(__sv_type, size_type)): Likewise.
830 (compare(__sv_type)): Likewise.
831 (compare(size_type, size_type, __sv_type)): Likewise.
832 (compare(size_type, size_type, __sv_type, size_type, size_type)):
833 Likewise.
834 * include/bits/string_view.tcc: New.
835 * include/std/string_view: Likewise.
836 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
837 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
838 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
839 Likewise.
840 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
841 Likewise.
842 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
843 Likewise.
844 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
845 Likewise.
846 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
847 Likewise.
848 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
849 Likewise.
850 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
851 Likewise.
852 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
853 Likewise.
854 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
855 Likewise.
856 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
857 Likewise.
858 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
859 Likewise.
860 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
861 Likewise.
862 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
863 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
864 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
865 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
866 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
867 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
868 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
869 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
870 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
871 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
872 Likewise.
873 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
874 Likewise.
875 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
876 Likewise.
877 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
878 Likewise.
879 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
880 Likewise.
881 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
882 Likewise.
883 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
884 Likewise.
885 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
886 Likewise.
887 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
888 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
889 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
890 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
891 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
892 Likewise.
893 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
894 Likewise.
895 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
896 Likewise.
897 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
898 Likewise.
899 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
900 Likewise.
901 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
902 Likewise.
903 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
904 Likewise.
905 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
906 Likewise.
907 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
908 Likewise.
909 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
910 Likewise.
911 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
912 Likewise.
913 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
914 Likewise.
915 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
916 Likewise.
917 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
918 Likewise.
919 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
920 Likewise.
921 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
922 Likewise.
923 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
924 Likewise.
925 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
926 Likewise.
927 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
928 Likewise.
929 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
930 Likewise.
931 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
932 Likewise.
933 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
934 Likewise.
935 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
936 Likewise.
937 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
938 Likewise.
939 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
940 Likewise.
941 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
942 Likewise.
943 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
944 Likewise.
945 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
946 Likewise.
947 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
948 Likewise.
949 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
950 Likewise.
951 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
952 Likewise.
953 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
954 Likewise.
955 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
956 Likewise.
957 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
958 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
959 Likewise.
960 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
961 Likewise.
962 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
963 Likewise.
964 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
965 Likewise.
966 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
967 Likewise.
968 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
969 Likewise.
970 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
971 Likewise.
972 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
973 Likewise.
974 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
975 Likewise.
976 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
977 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
978
427f68c6
JW
9792016-07-27 Jonathan Wakely <jwakely@redhat.com>
980
981 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
982
a837417c
GC
9832016-07-25 Georeth Chow <georeth2010@gmail.com>
984
985 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
986 _S_concat enumerator.
987 * testsuite/ext/rope/6.cc: New test.
988
19bb30c0
JW
9892016-07-25 Jonathan Wakely <jwakely@redhat.com>
990
991 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
992 std::mt19937, std::thread and std::atomic to simplify test.
993 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
994
960637ac
JW
9952016-07-22 Jonathan Wakely <jwakely@redhat.com>
996
8cab3d18
JW
997 PR libstdc++/71964
998 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
999 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1000 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1001 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1002 * testsuite/23_containers/set/allocator/71964.cc: New test.
1003
960637ac
JW
1004 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1005 delete[] instead of delete.
1006
22620c14
JW
10072016-07-21 Jonathan Wakely <jwakely@redhat.com>
1008
8b649cd3
JW
1009 * include/experimental/propagate_const (propagate_const::__t): Rename
1010 to _M_t and remove comment. Qualify std::move and std::forward.
1011 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1012
509b778f
JW
1013 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1014 Define sized deallocation function.
1015 * testsuite/util/testsuite_new_operators.h:
1016 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1017 deallocation function.
1018
e93a101f
JW
1019 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1020 reads past the end of strings.
1021 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1022 Likewise.
1023 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1024 invalid array accesses.
1025 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1026 Fix read past the end of string.
1027 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1028
0a024155
JW
1029 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1030 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1031
22620c14
JW
1032 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1033 leak) memory for arguments to placement delete.
1034 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1035 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1036 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1037 Likewise.
1038
18407bfb
JW
10392016-07-20 Jonathan Wakely <jwakely@redhat.com>
1040
09a855ae
JW
1041 * doc/xml/manual/intro.xml: Document DR 2684 status.
1042 * doc/html/*: Regenerate.
1043
e87b7d52
JW
1044 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1045 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1046 (atomic_uint64_t): Define (LWG 2441).
1047 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1048 lines.
1049 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1050 the new types.
1051 * doc/xml/manual/intro.xml: Document DR 2441 status.
1052
07c772ed
JW
1053 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1054 to use perfect forwarding (LWG 2328).
1055 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1056 * doc/xml/manual/intro.xml: Document DR 2328 status.
1057
18407bfb
JW
1058 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1059 static objects for catching nullptr as pointer to member types.
1060
40f3e913
VV
10612016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1062
1063 Clean up optional's comments.
1064 * include/std/optional: Remove incorrect section headers
1065 from comments when redundant, replace bare section
1066 headers with more descriptive comments.
1067
479d0ed5
JW
10682016-07-15 Jonathan Wakely <jwakely@redhat.com>
1069
4f5f9962
JW
1070 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1071 * include/bits/move.h: Likewise.
1072 * include/bits/postypes.h: Likewise.
1073 * include/debug/bitset: Likewise.
1074 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1075 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1076 comment.
1077 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1078 * testsuite/util/thread/all.h: Likewise.
1079
d1129d45
JW
1080 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1081 and adjust comment.
1082
479d0ed5
JW
1083 PR c++/58796
1084 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1085 nullptr match handlers of pointer type.
1086
4db1cb44
ESR
10872016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1088
1089 Implement C++17 P0025 clamp.
1090 * include/bits/algorithmfwd.h: Declare clamp overloads.
1091 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1092 * testsuite/25_algorithms/clamp/1.cc: New test.
1093 * testsuite/25_algorithms/clamp/2.cc: New test.
1094 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1095 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1096 1.cc: New test.
1097 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1098 pod.cc: New test.
1099
1ec0f763
VV
11002016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1101
1102 Fix the constraints for any's assignment operator template to properly
1103 reject assignment from a non-copyable lvalue.
1104 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1105 type for is_copy_constructible,
1106 * testsuite/20_util/any/requirements.cc: Add a test for
1107 non-copyable lvalues.
1108
0a2bf188
JW
11092016-07-14 Jonathan Wakely <jwakely@redhat.com>
1110
ea5ec6b7
JW
1111 * include/experimental/functional: Include <parallel/algorithm> in
1112 Parallel Mode.
1113
47d5cb3c
JW
1114 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1115 for std::search.
1116
0a2bf188
JW
1117 PR libstdc++/70716
1118 * include/bits/forward_list.h (forward_list): Update doxygen comments
1119 to reflect allocator propagation semantics. Remove ambiguous
1120 statements about data being lost.
1121 * include/bits/stl_deque.h (deque): Likewise.
1122 * include/bits/stl_list.h (list): Likewise.
1123 * include/bits/stl_map.h (map): Likewise.
1124 * include/bits/stl_multimap.h (multimap): Likewise.
1125 * include/bits/stl_multiset.h (multiset): Likewise.
1126 * include/bits/stl_set.h (set): Likewise.
1127 * include/bits/stl_vector.h (vector): Likewise.
1128 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1129 Likewise.
1130 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1131 Likewise.
1132
25a69162
VV
11332016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1134
1135 Implement P0032R3, Homogeneous interface for variant, any and optional,
1136 for the parts concerning any and optional.
1137 * include/std/any (_Storage()): Make constexpr and have it
1138 initialize _M_ptr.
1139 (any()): Make constexpr.
1140 (any(const any&)): Adjust.
1141 (any(any&&)): Likewise.
1142 (__any_constructible_t): New.
1143 (any(_ValueType&&)): Constrain.
1144 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1145 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1146 Likewise.
1147 (~any()): Adjust.
1148 (operator=(const any&)): Likewise.
1149 (operator=(any&&)): Likewise.
1150 (operator=(_ValueType&&)): Constrain.
1151 (emplace(_Args&&...)): New.
1152 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1153 (clear()): Remove.
1154 (reset()): New.
1155 (swap(any&)): Adjust.
1156 (empty()): Remove.
1157 (has_value()): New.
1158 (type()): Adjust.
1159 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1160 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1161 (make_any(_Args&&...)): Likewise.
1162 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1163 * include/std/optional (in_place_t, in_place): Remove.
1164 (bad_optional_access): Add a comment referring to LEWG 72.
1165 (emplace(_Args&&...)): Constrain.
1166 (has_value()): New.
1167 (reset()): Likewise.
1168 (make_optional(_Args&&...)): Likewise.
1169 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1170 * include/std/utility (in_place_tag): New.
1171 (__in_place, __in_place_type, __in_place_index): Likewise.
1172 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1173 (in_place(__in_place*)): Likewise.
1174 (in_place(__in_place_type<_Tp>*)): Likewise.
1175 (in_place(__in_place_index<_Idx>*)): Likewise.
1176 * testsuite/20_util/any/assign/1.cc: Adjust.
1177 * testsuite/20_util/any/assign/emplace.cc: New.
1178 * testsuite/20_util/any/assign/self.cc: Adjust.
1179 * testsuite/20_util/any/cons/1.cc: Likewise.
1180 * testsuite/20_util/any/cons/in_place.cc: New.
1181 * testsuite/20_util/any/make_any.cc: Likewise.
1182 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1183 * testsuite/20_util/any/misc/swap.cc: Likewise.
1184 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1185 * testsuite/20_util/any/requirements.cc: New.
1186 * testsuite/20_util/in_place/requirements.cc: Likewise.
1187 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1188 * testsuite/20_util/optional/in_place.cc: Likewise.
1189 * testsuite/20_util/optional/make_optional.cc: Add tests for
1190 the new overloads of make_optional.
1191
c0d31471
VV
11922016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1193
1194 Implement P0307R2, Making Optional Greater Equal Again.
1195 * include/experimental/optional (_Has_addressof): Fix the comment.
1196 * include/std/optional (_Has_addressof): Likewise.
1197 (operator=(_Up&&)): Constrain.
1198 (operator=(const optional<_Up>&)): Likewise.
1199 (operator=(optional<_Up>&&)): Likewise.
1200 (__optional_relop_t): New.
1201 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1202 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1203 Constrain and make transparent.
1204 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1205 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1206 Constrain and make transparent.
1207 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1208 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1209 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1210 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1211 (operator!=(const optional<_Tp>&, _Tp const&)):
1212 Constrain and make transparent.
1213 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1214 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1215 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1216 (operator>(const optional<_Tp>&, const _Tp&)):
1217 Constrain and make transparent.
1218 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1219 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1220 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1221 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1222 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1223 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1224 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1225 * testsuite/20_util/optional/relops/1.cc: Likewise.
1226 * testsuite/20_util/optional/relops/2.cc: Likewise.
1227 * testsuite/20_util/optional/relops/3.cc: Likewise.
1228 * testsuite/20_util/optional/relops/4.cc: Likewise.
1229 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1230 that optional's relops are transparent and don't synthesize
1231 operators. Also test that assignment sfinaes.
1232
260d92cd
JW
12332016-07-13 Jonathan Wakely <jwakely@redhat.com>
1234
e383deac
JW
1235 PR libstdc++/71856
1236 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1237 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1238 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1239 on _GLIBCXX_ASSERTIONS.
1240 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1241 Include <unistd.h> for sleep.
1242 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1243 * include/parallel/merge.h: Likewise.
1244 * include/parallel/multiway_merge.h: Likewise.
1245 * include/parallel/partition.h: Likewise.
1246 * include/parallel/queue.h: Likewise.
1247 * include/parallel/sort.h: Likewise.
1248 * testsuite/25_algorithms/headers/algorithm/
1249 parallel_algorithm_assert.cc: New.
1250
17f8dc93
JW
1251 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1252 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1253 Forward to different overload.
1254
260d92cd
JW
1255 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1256 static.
1257
2d60da10
JW
12582016-07-13 Jonathan Wakely <jwakely@redhat.com>
1259
1260 Revert "Add non-const overload of std::string::data()".
1261
05505e9d
VV
12622016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1263
86c0ec1d
VV
1264 Implement P0307R2, Making Optional Greater Equal Again.
1265 * include/experimental/optional (_Has_addressof): Fix the comment.
1266 * include/std/optional (_Has_addressof): Likewise.
1267 (operator=(_Up&&)): Constrain.
1268 (operator=(const optional<_Up>&)): Likewise.
1269 (operator=(optional<_Up>&&)): Likewise.
1270 (__optional_relop_t): New.
1271 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1272 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1273 Constrain and make transparent.
1274 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1275 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1276 Constrain and make transparent.
1277 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1278 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1279 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1280 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1281 (operator!=(const optional<_Tp>&, _Tp const&)):
1282 Constrain and make transparent.
1283 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1284 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1285 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1286 (operator>(const optional<_Tp>&, const _Tp&)):
1287 Constrain and make transparent.
1288 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1289 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1290 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1291 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1292 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1293 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1294 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1295 * testsuite/20_util/optional/relops/1.cc: Likewise.
1296 * testsuite/20_util/optional/relops/2.cc: Likewise.
1297 * testsuite/20_util/optional/relops/3.cc: Likewise.
1298 * testsuite/20_util/optional/relops/4.cc: Likewise.
1299 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1300 that optional's relops are transparent and don't synthesize
1301 operators. Also test that assignment sfinaes.
1302
ceea48fc
JW
13032016-07-13 Jonathan Wakely <jwakely@redhat.com>
1304
1305 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1306 New function.
1307 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1308 instead of _M_data().
1309 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1310 Likewise.
1311 (append(const basic_string&)): Likewise.
1312 (append(const basic_string&, size_type, size_type)): Likewise.
1313 (assign(const basic_string&, size_type, size_type)): Likewise.
1314 (insert(size_type, const basic_string&)): Likewise.
1315 (insert(size_type, const basic_string&, size_type, size_type)):
1316 Likewise.
1317 (replace(size_type, size_type, const basic_string&, size_type,
1318 size_type)): Likewise.
1319 (replace(__const_iterator, __const_iterator, const basic_string&)):
1320 Likewise.
1321 (c_str(), data()): Use c_str() instead of _M_data().
1322 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1323 (compare(const basic_string&)): Use data() instead of _M_data().
1324 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1325 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1326 Pass raw pointers to _S_copy.
1327 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1328 _S_assign.
1329 (find(const _CharT*, size_type, size_type)): Use data instead of
1330 _M_data().
1331 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1332 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1333 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1334
17b31c05
JW
13352016-07-12 Jonathan Wakely <jwakely@redhat.com>
1336
7cbadfdc
JW
1337 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1338 * doc/xml/manual/intro.xml: Document DR 2458 status.
1339 * doc/html*: Regenerate.
1340
1b24fb4c
JW
1341 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1342 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1343 Only include <array>.
1344 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1345 Likewise.
1b1c16e0 1346 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
1347 * doc/html*: Regenerate.
1348
17b31c05
JW
1349 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1350 Add testcase from LWG 2164.
1351
76225d2c
FD
13522016-07-11 François Dumont <fdumont@gcc.gnu.org>
1353
1354 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1355 to _M_realloc_insert.
1356 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1357 (_M_realloc_insert): Declare new function.
1358 (_M_emplace_back_aux): Remove definition.
1359 * include/bits/vector.tcc (emplace_back(_Args...)):
1360 Use _M_realloc_insert.
1361 (insert(const_iterator, const value_type&)): Likewise.
1362 (_M_insert_rval, _M_emplace_aux): Likewise.
1363 (_M_emplace_back_aux): Remove declaration.
1364 (_M_realloc_insert): Define.
1365 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1366 Adjust expected results for emplacing an lvalue with reallocation.
1367
435e56fb
VV
13682016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1369
1370 Implement std::optional.
1371 * include/Makefile.am: Add optional to exported headers.
1372 * include/Makefile.in: Likewise.
1373 * include/std/optional: New.
1374 * testsuite/20_util/optional/typedefs.cc: Likewise.
1375 * testsuite/20_util/optional/relops/2.cc: Likewise.
1376 * testsuite/20_util/optional/relops/3.cc: Likewise.
1377 * testsuite/20_util/optional/relops/4.cc: Likewise.
1378 * testsuite/20_util/optional/relops/5.cc: Likewise.
1379 * testsuite/20_util/optional/relops/1.cc: Likewise.
1380 * testsuite/20_util/optional/relops/6.cc: Likewise.
1381 * testsuite/20_util/optional/nullopt.cc: Likewise.
1382 * testsuite/20_util/optional/in_place.cc: Likewise.
1383 * testsuite/20_util/optional/make_optional.cc: Likewise.
1384 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1385 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1386 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1387 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1388 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1389 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1390 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1391 * testsuite/20_util/optional/cons/default.cc: Likewise.
1392 * testsuite/20_util/optional/cons/move.cc: Likewise.
1393 * testsuite/20_util/optional/cons/value.cc: Likewise.
1394 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1395 * testsuite/20_util/optional/requirements.cc: Likewise.
1396 * testsuite/20_util/optional/observers/2.cc: Likewise.
1397 * testsuite/20_util/optional/observers/3.cc: Likewise.
1398 * testsuite/20_util/optional/observers/4.cc: Likewise.
1399 * testsuite/20_util/optional/observers/5.cc: Likewise.
1400 * testsuite/20_util/optional/observers/1.cc: Likewise.
1401 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1402 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1403 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1404 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1405 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1406 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1407 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1408 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1409 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1410 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1411 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1412 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1413 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1414 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1415 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1416 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1417 * testsuite/20_util/optional/swap/1.cc: Likewise.
1418
d81102f4
JW
14192016-07-08 Jonathan Wakely <jwakely@redhat.com>
1420
1421 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1422
9fc0faf0
JW
14232016-07-07 Jonathan Wakely <jwakely@redhat.com>
1424
1425 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1426 * doc/html/*: Regenerate.
1427
52e86221
VV
14282016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1429
1430 Implement std::any.
1431 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1432 * include/Makefile.in: Likewise.
1433 * include/std/any: New.
1434 * testsuite/20_util/any/assign/1.cc: Likewise.
1435 * testsuite/20_util/any/assign/2.cc: Likewise.
1436 * testsuite/20_util/any/assign/self.cc: Likewise.
1437 * testsuite/20_util/any/cons/1.cc: Likewise.
1438 * testsuite/20_util/any/cons/2.cc: Likewise.
1439 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1440 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1441 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1442 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1443 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1444 * testsuite/20_util/any/misc/swap.cc: Likewise.
1445 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1446 * testsuite/20_util/any/observers/type.cc: Likewise.
1447 * testsuite/20_util/any/typedefs.cc: Likewise.
1448
3042e708
VV
14492016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1450
1451 Add a new header for diagnosing the use of C++17 facilities
1452 in pre-C++17 modes.
1453 * include/bits/c++17_warning.h: New.
1454
6ffe8548
VV
14552016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1456
1457 Implement LWG 2451, optional<T> should 'forward' T's
1458 implicit conversions.
1459 * include/experimental/optional (__is_optional_impl, __is_optional):
1460 New.
1461 (optional()): Make constexpr and default.
1462 (optional(_Up&&), optional(const optional<_Up>&),
1463 optional(optional<_Up>&& __t): New.
1464 (operator=(_Up&&)): Constrain.
1465 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1466 * testsuite/experimental/optional/cons/value.cc:
1467 Add tests for the functionality added by LWG 2451.
1468 * testsuite/experimental/optional/cons/value_neg.cc: New.
1469
7d4f48b5
VV
14702016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1471
1472 Implement LWG 2509,
1473 any_cast doesn't work with rvalue reference targets and cannot
1474 move with a value target.
1475 * include/experimental/any (any(_ValueType&&)): Constrain and
1476 add an overload that doesn't forward.
1477 (any_cast(any&&)): Constrain and add an overload that moves.
1478 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1479 the functionality added by LWG 2509.
1480
097e8994
FD
14812016-07-04 François Dumont <fdumont@gcc.gnu.org>
1482
1483 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1484 New test.
1485 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1486 test.
1487
9958c7eb
JW
14882016-07-04 Jonathan Wakely <jwakely@redhat.com>
1489
1490 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1491 Define inline. Forward to _M_emplace_aux.
1492 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1493 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1494 (_Temporary_value): New RAII type using allocator to construct/destroy.
1495 (_S_insert_aux_assign): Remove.
1496 (_M_insert_aux): Make non-variadic.
1497 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1498 Use _Temporary_value.
1499 (emplace(const_iterator, _Args&&...)): Remove definition.
1500 (_M_insert_rval, _M_emplace_aux): Define.
1501 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1502 (_M_fill_insert): Use _Temporary_value.
1503 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1504 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1505 Adjust expected results for emplacing an lvalue with reallocation.
1506 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1507 expected results to account for construction/destruction of temporary
1508 using allocator.
1509 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1510
e12880f9
VV
15112016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1512
1513 PR libstdc++/71313
1514 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1515 Call remove_all for children of a directory.
1516 * testsuite/experimental/filesystem/operations/create_directories.cc:
1517 Adjust.
1518
6c539f2e
FD
15192016-07-02 François Dumont <fdumont@gcc.gnu.org>
1520
1521 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1522 dg-error line numbers.
1523 * testsuite/23_containers/array/tuple_interface/
1524 tuple_element_debug_neg.cc: Likewise.
1525 * testsuite/25_algorithms/lexicographical_compare/debug/
1526 irreflexive_neg.cc: Remove.
1527
72fb6bae
TP
15282016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1529
1530 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1531 than specific target.
1532
dc448fa0
FD
15332016-06-27 François Dumont <fdumont@gcc.gnu.org>
1534
1535 PR libstdc++/71640
1536 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1537 friend declaration.
1538
e615c24c
FD
15392016-06-23 François Dumont <fdumont@gcc.gnu.org>
1540
1541 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1542 zero-size array.
1543
0609abda
TS
15442016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1545
1546 * configure.host: Remove mep-* support.
1547
8466af06
TS
15482016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1549
1550 * configure: Regenerate.
1551 * configure.host: Remove support for knetbsd.
1552 * crossconfig.m4: Likewise.
1553
29dbb034
FD
15542016-06-20 François Dumont <fdumont@gcc.gnu.org>
1555
1556 PR libstdc++/71181
1557 * include/tr1/hashtable_policy.h
1558 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1559 dereferenceable to avoid check on lower_bound result.
1560 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1561 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1562 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1563 Always return a value greater than input value. Set _M_next_resize to
1564 max value when reaching highest prime number.
1565 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1566 being now useless.
1567 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1568 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1569 (test02): New.
1570 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1571 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1572 Fix indentation.
1573
3ebacabd
JW
15742016-06-17 Jonathan Wakely <jwakely@redhat.com>
1575
1576 PR libstdc++/71545
1577 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1578 Remove irreflexive checks.
1579 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1580 binary_search): Likewise.
1581 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1582 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1583 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1584 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1585 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1586 Add constructor from array.
1587
bd2ee798
FD
15882016-06-16 François Dumont <fdumont@gcc.gnu.org>
1589
1590 * include/debug/debug.h
1591 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1592 (__glibcxx_requires_subscript): Move...
1593 * include/debug/assertions.h: ...here and add __builtin_expect.
1594 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1595 * include/bits/stl_deque.h
1596 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1597 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1598 (std::deque<>::back()): Likewise.
1599 (std::deque<>::pop_front()): Likewise.
1600 (std::deque<>::pop_back()): Likewise.
1601 (std::deque<>::swap(deque&)): Add allocator check.
1602 * include/bits/stl_vector.h
1603 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1604 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1605 (std::vector<>::back()): Likewise.
1606 (std::vector<>::pop_back()): Likewise.
1607 (std::vector<>::swap(vector&)): Add allocator check.
1608
6b9539e2
DK
16092016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1610
1611 Provide swappable traits (p0185r1)
1612 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1613 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1614 is_nothrow_swappable_v, is_swappable_with_v,
1615 is_nothrow_swappable_with_v): New.
1616 * include/bits/stl_pair.h: Use it as per p0185r1.
1617 * include/bits/stl_queue.h: Likewise.
1618 * include/bits/stl_stack.h: Likewise.
1619 * include/bits/unique_ptr.h: Likewise.
1620 * include/std/tuple: Likewise.
1621 * include/std/array: Likewise. Fix zero-size member swap.
1622 * include/bits/hashtable.h: Use __and_.
1623 * testsuite/20_util/is_nothrow_swappable/requirements/
1624 explicit_instantiation.cc: Change test options to std=gnu++17.
1625 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1626 Likewise.
1627 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1628 * testsuite/20_util/is_swappable/requirements/
1629 explicit_instantiation.cc: Likewise.
1630 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1631 * testsuite/20_util/is_swappable/value.cc: Likewise.
1632 * testsuite/20_util/is_nothrow_swappable/requirements/
1633 explicit_instantiation_ext.cc: New.
1634 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1635 New.
1636 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1637 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1638 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1639 explicit_instantiation.cc: New.
1640 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1641 New.
1642 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1643 * testsuite/20_util/is_swappable/requirements/
1644 explicit_instantiation_ext.cc: New.
1645 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1646 * testsuite/20_util/is_swappable/value.h: New.
1647 * testsuite/20_util/is_swappable/value_ext.cc: New.
1648 * testsuite/20_util/is_swappable_with/requirements/
1649 explicit_instantiation.cc: New.
1650 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1651 * testsuite/20_util/is_swappable_with/value.cc: New.
1652 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1653 dg-error line numbers.
1654 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1655 Likewise.
1656
0ae207e9
JW
16572016-06-16 Jonathan Wakely <jwakely@redhat.com>
1658
33ac58d5
JW
1659 * include/std/array: Remove trailing whitespace.
1660 * include/std/atomic: Likewise.
1661 * include/std/bitset: Likewise.
1662 * include/std/chrono: Likewise.
1663 * include/std/complex: Likewise.
1664 * include/std/condition_variable: Likewise.
1665 * include/std/fstream: Likewise.
1666 * include/std/functional: Likewise.
1667 * include/std/future: Likewise.
1668 * include/std/iomanip: Likewise.
1669 * include/std/iosfwd: Likewise.
1670 * include/std/istream: Likewise.
1671 * include/std/limits: Likewise.
1672 * include/std/ratio: Likewise.
1673 * include/std/scoped_allocator: Likewise.
1674 * include/std/sstream: Likewise.
1675 * include/std/stdexcept: Likewise.
1676 * include/std/string: Likewise.
1677 * include/std/system_error: Likewise.
1678 * include/std/thread: Likewise.
1679 * include/std/tuple: Likewise.
1680 * include/std/type_traits: Likewise.
1681 * include/std/utility: Likewise.
1682 * include/std/valarray: Likewise.
1683 * include/std/vector: Likewise.
1684
0ae207e9
JW
1685 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1686 new overloaded functions.
1687 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1688 to avoid creating a redundant temporary.
1689 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1690 test.
1691
d7e16fc5
FD
16922016-06-15 François Dumont <fdumont@gcc.gnu.org>
1693
1694 * include/bits/stl_deque.h
1695 (std::deque<>::operator=): Call _M_assign_aux.
1696 (std::deque<>::assign(initializer_list<>)): Likewise.
1697 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1698 (std::deque<>::insert(const_iterator, initializer_list<>)):
1699 Call _M_range_insert_aux.
1700 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1701 Likewise.
1702 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1703 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1704 * include/bits/deque.tcc
1705 (std::deque<>::operator=): Call _M_range_insert_aux.
1706 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1707 Likewise.
1708 * include/bits/stl_vector.h
1709 (std::vector<>::operator=): Call _M_assign_aux.
1710 (std::vector<>::assign(initializer_list<>)): Likewise.
1711 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1712 (std::vector<>::insert(const_iterator, initializer_list<>)):
1713 Call _M_range_insert.
1714 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1715
373c0095
FD
17162016-06-07 François Dumont <fdumont@gcc.gnu.org>
1717
1718 * include/std/tuple (_Head_base<>): Default specialization condition at
1719 type declaration.
1720
dbc6221f
VV
17212016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1722
1723 Support allocators in tuples of zero size.
1724 * include/std/tuple (tuple<>::tuple(),
1725 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1726 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1727 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1728
94229fb6
JW
17292016-06-06 Jonathan Wakely <jwakely@redhat.com>
1730
1731 PR libstdc++/71320
1732 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1733 Add or remove permissions according to perms argument.
1734 * testsuite/experimental/filesystem/operations/permissions.cc: New
1735 test.
1736
7a667453
VV
17372016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1738
1739 Protect allocator-overloads of tuple-from-tuple constructors
1740 from cases that would create dangling references.
1741 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1742 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1743 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1744 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1745
4acc3634
GP
17462016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1747
1748 * doc/xml/manual/backwards_compatibility.xml: Adjust
1749 lists.debian.org link to https.
1750 * doc/html/manual/backwards.html: Regenerate.
1751
9020909e
JW
17522016-05-27 Jonathan Wakely <jwakely@redhat.com>
1753
1754 * doc/xml/manual/abi.xml: Adjust URL to use https.
1755 * doc/html/manual/*: Regenerate.
1756
b7021006
VV
17572016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1758
1759 PR libstdc++/66338
1760 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1761 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1762 check for _NotSameTuple.
1763 * include/std/tuple (_TMCT): New.
1764 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1765 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1766 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1767 const tuple<_UElements...>&)): Likewise.
1768 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1769 tuple<_UElements...>&&)): Likewise.
1770 * testsuite/20_util/tuple/cons/66338.cc: New.
1771
834f4c43
JW
17722016-05-25 Jonathan Wakely <jwakely@redhat.com>
1773
c42d2288
JW
1774 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1775 * configure: Regenerate.
1776 * config.h.in: Regenerate.
1777
834f4c43
JW
1778 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1779 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1780 Remove const qualification on function. Replace
1781 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1782 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1783 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1784
732eb076
FD
17852016-05-24 François Dumont <fdumont@gcc.gnu.org>
1786
1787 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1788 * include/bits/hashtable_policy.h
1789 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1790 having load factor management.
1791 (_Mask_range_hashing): New.
1792 (__clp2): New.
1793 (_Power2_rehash_policy): New.
1794 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1795 partial specializations only depend on whether iterators are constant
1796 or not.
1797 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1798 test new hash policy.
1799 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1800 Likewise.
1801 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1802 Likewise.
1803 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1804 Likewise.
1805 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1806 Likewise.
1807 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1808 New.
1809 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1810 using the new hash policy.
1811 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1812
8be062c6
JW
18132016-05-24 Jonathan Wakely <jwakely@redhat.com>
1814
1815 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1816
447caf82
FD
18172016-05-23 François Dumont <fdumont@gcc.gnu.org>
1818
1819 * include/debug/safe_iterator.h
1820 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1821 operator ->.
1822 * include/debug/safe_local_iterator.h
1823 (_Safe_local_iterator<>::operator->()): Likewise.
1824
11f8114b
TP
18252016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1826
1827 * testsuite/experimental/memory_resource/1.cc: Add required argument
1828 to dg-require-atomic-builtins.
1829
541a9b10
JW
18302016-05-13 Jonathan Wakely <jwakely@redhat.com>
1831
1832 PR libstdc++/71073
1833 * include/debug/bitset: Add #pragma GCC system_header.
1834 * include/debug/deque: Likewise.
1835 * include/debug/list: Likewise.
1836 * include/debug/map: Likewise.
1837 * include/debug/set: Likewise.
1838 * include/debug/string: Likewise.
1839 * include/debug/unordered_map: Likewise.
1840 * include/debug/unordered_set: Likewise.
1841 * include/debug/vector: Likewise.
1842 * include/debug/functions.h: Adjust whitespace.
1843
068b220e
JW
18442016-05-12 Jonathan Wakely <jwakely@redhat.com>
1845
1846 PR libstdc++/71081
1847 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1848
3d73ae6e
JW
18492016-05-11 Jonathan Wakely <jwakely@redhat.com>
1850
1851 PR libstdc++/71049
1852 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1853 exception constructors with __sso_string parameters.
1854
d7187f9e
JW
18552016-05-10 Jonathan Wakely <jwakely@redhat.com>
1856
7f99d40a
JW
1857 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1858 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1859 Test begin and end functions.
1860 * testsuite/experimental/filesystem/iterators/
1861 recursive_directory_iterator.cc: Likewise.
1862
6fe673ad
JW
1863 PR libstdc++/71038
1864 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1865 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1866
77a87b2a
JW
1867 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1868 Overload operator* to move from rvalues.
1869
f9a39467
JW
1870 PR libstdc++/71036
1871 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1872 * testsuite/experimental/filesystem/operations/create_directory.cc:
1873 New test.
1874
6f0800d4
JW
1875 PR libstdc++/71037
1876 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1877 base path to exception.
1878 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1879 paths contained in exception.
1880
f10b2e1c
JW
1881 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1882 using declaration.
1883
d7187f9e
JW
1884 PR libstdc++/71005
1885 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1886 New type.
1887 (directory_iterator::operator++(int)): Return proxy.
1888 (recursive_directory_iterator::operator++(int)): Likewise.
1889 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1890 Test post-increment.
1891 * testsuite/experimental/filesystem/iterators/
1892 recursive_directory_iterator.cc: Likewise.
1893
7972e246
JW
18942016-05-09 Jonathan Wakely <jwakely@redhat.com>
1895
1896 PR libstdc++/71004
1897 * testsuite/experimental/filesystem/iterators/
1898 recursive_directory_iterator.cc: Fix test02 to not call member
1899 functions on invalid iterator, and use VERIFY not assert.
1900
fb334765
VV
19012016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1902
1903 Avoid endless run-time recursion for copying single-element
1904 tuples where the element type is by-value constructible
1905 from any type.
1906 * include/std/tuple (_NotSameTuple): New.
1907 * include/std/tuple (tuple(_UElements&&...): Use it.
1908 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1909
e4cce0ce
JW
19102016-05-09 Jonathan Wakely <jwakely@redhat.com>
1911
1912 PR libstdc++/71004
1913 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1914 Initialize scalar member variables in default constructor.
1915 * testsuite/experimental/filesystem/iterators/
d7187f9e 1916 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 1917
40436d81
RO
19182016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1919
1920 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1921
f5c40ce2
JW
19222016-05-05 Jonathan Wakely <jwakely@redhat.com>
1923
1924 * testsuite/experimental/filesystem/path/native/string.cc: Add
1925 dg-require-filesystem-ts directive.
1926
d9cb3e75
JW
19272016-05-04 Jonathan Wakely <jwakely@redhat.com>
1928
1929 PR libstdc++/70940
1930 * include/experimental/memory_resource
1931 (__resource_adaptor_imp::do_allocate): Do not default-construct
1932 rebound allocator.
1933 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1934 allocator_traits to get pointer type.
1935 (__null_memory_resource::do_allocate): Remove unused parameters.
1936 (__null_memory_resource::do_deallocate): Likewise.
1937 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1938 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1939 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1940 move to ...
1941 * testsuite/experimental/memory_resource/1.cc: Here.
1942 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1943 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1944
f92ab29f
CG
19452016-04-29 Chris Gregory <czipperz@gmail.com>
1946
1947 * config/*: Remove trailing whitespace.
1948 * src/*: Likewise.
1949 * testsuite/tr1/*: Likewise.
1950 * testsuite/util/*: Likewise.
1951
272b2ce4
JW
19522016-04-28 Jonathan Wakely <jwakely@redhat.com>
1953
9f9eb84e
JW
1954 PR libstdc++/70766
1955 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1956 __addressof.
1957 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1958 Likewise.
1959 * include/std/atomic (atomic<_Tp>): Likewise.
1960 * include/std/shared_mutex (shared_lock): Likewise.
1961 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1962 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1963 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1964 * testsuite/29_atomics/atomic/70766.cc: New test.
1965 * testsuite/30_threads/shared_lock/70766.cc: New test.
1966
272b2ce4
JW
1967 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1968 __detail::_Insert): Improve comments.
1969
45e20696
JW
19702016-04-27 Jonathan Wakely <jwakely@redhat.com>
1971
1972 PR libstdc++/70767
1973 * include/std/limits: Update comments about DRs.
1974 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1975 numeric_limits<const volatile _Tp>): Define unconditionally.
1976
a635cdb2
JW
19772016-04-24 Jonathan Wakely <jwakely@redhat.com>
1978
1979 PR libstdc++/70762
1980 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1981 static counter to return a different path on every call.
1982
216f7526
TS
19832016-04-22 Tim Shen <timshen@google.com>
1984
1985 PR libstdc++/70745
1986 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1987 Fix the match_not_bow and match_not_eow behavior.
1988 * testsuite/28_regex/regression.cc: Add testcase.
1989
a1e1ec76
JW
19902016-04-20 Jonathan Wakely <jwakely@redhat.com>
1991
1992 PR libstdc++/69703
1993 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1994 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1995
9c476ad4
JW
19962016-04-19 Jonathan Wakely <jwakely@redhat.com>
1997
29ca91f7 1998 PR libstdc++/69703
a1e1ec76 1999 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
2000 Override endianness bit in mode.
2001 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2002 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2003 that little_endian mode is ignored.
2004 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2005
14905251
JW
2006 PR libstdc++/70609
2007 * src/filesystem/ops.cc (close_fd): New function.
2008 (do_copy_file): Set permissions before copying file contents. Check
2009 result of closing file descriptors. Don't copy streambuf when file
2010 is empty.
2011 (copy(const path&, const path&, copy_options, error_code&)): Use
2012 lstat for source file when copy_symlinks is set.
2013 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2014
9c476ad4
JW
2015 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2016 operator~ operator&=, operator|=, operator^=): Add noexcept to
2017 overloaded operators for copy_options, perms and directory_options.
2018 * src/filesystem/ops.cc (make_file_type, make_file_status,
2019 is_not_found_errno, file_time): Add noexcept.
2020
d855ad89
ESR
20212016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2022
2023 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2024
8dc1e574
JW
20252016-04-18 Jonathan Wakely <jwakely@redhat.com>
2026
0cded43d
JW
2027 PR libstdc++/41759
2028 * include/bits/random.h: Reword static assertion messages to state
2029 positive conditions.
2030 * include/bits/random.tcc: Likewise.
2031 * include/bits/uniform_int_dist.h: Likewise.
2032 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2033 patterns.
2034
90751aa7
JW
2035 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2036
351a5f81
JW
2037 * config/cpu/sh/atomicity.h: Fix typo in comment.
2038
b05cf382
JW
2039 PR libstdc++/70294
2040 * include/std/thread (operator<, operator==): Move definitions to
2041 namespace-scope.
2042 * testsuite/30_threads/thread/id/70294.cc: New test.
2043
4ed6e524
JW
2044 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2045 -Wno-pedantic to dg-options.
2046 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2047 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2048 to dg-options.
2049 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2050 Remove extra semi-colon.
2051 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2052 Always supply second argument to static_assert.
2053 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2054 semi-colon.
2055 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2056 dg-options.
2057 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2058 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2059 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2060 alignof when operand is an object not a type.
2061 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2062 * testsuite/decimal/make-decimal.cc: Likewise.
2063 * testsuite/experimental/type_traits/value.cc: Always supply second
2064 argument to static_assert.
2065 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2066 __int128 types.
2067
abb6e0a1
JW
2068 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2069 internal header.
2070 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2071 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2072 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2073 Likewise. Add licence and change to compile-only test.
2074
6b6147dd
JW
2075 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2076 unused parameter.
2077 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2078
8dc1e574
JW
2079 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2080 warnings.
2081
80dbaf98
ESR
20822016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2083
2084 * include/bits/specfun.h: Trivial comment misspelling.
2085
9f285ccb
JM
20862016-04-14 Jason Merrill <jason@redhat.com>
2087
2088 Revert Jonathan's empty ABI change from yesterday.
2089
342fac95
MS
20902016-04-13 Martin Sebor <msebor@redhat.com>
2091
2092 PR c++/69517
2093 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2094 upper bound is positive.
2095
a6297ab5
JW
20962016-04-13 Jonathan Wakely <jwakely@redhat.com>
2097
2098 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2099 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2100 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2101 of functions taking empty structs by value. Add a template parameter
2102 to overloads without hints. Rename overloads with hints to
2103 _M_emplace_hint.
2104 (_Hashtable::_M_erase(true_type, const_iterator),
2105 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2106 by reordering parameters.
2107 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2108 _M_emplace_hint instead of _M_emplace.
2109 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2110 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2111 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2112 __shared_ptr): Likewise.
2113 * include/bits/stl_algo.h (replace_if): Likewise.
2114 * include/bits/stl_pair.h (piecewise_construct_t,
2115 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2116 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2117 __uses_alloc0): Likewise.
2118 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2119 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2120 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2121 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2122 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2123 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2124 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2125
0c39f36d
ESR
21262016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2127
2128 Document C++17/TR29124 C++ Special Math Functions.
2129 * include/bits/specfun.h: Add Doxygen markup.
2130
6da8b931
JW
21312016-04-07 Jonathan Wakely <jwakely@redhat.com>
2132
2133 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2134
49a52ebc
EB
21352016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2136
2137 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2138 * src/Makefile.in: Regenerate.
2139
87cec93e
JW
21402016-04-05 Jonathan Wakely <jwakely@redhat.com>
2141
d2aee115
JW
2142 PR libstdc++/70554
2143 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2144 __atomic_fetch_add for bool.
2145 * configure: Regenerate.
2146
d5ec69f3
JW
2147 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2148
87cec93e
JW
2149 PR libstdc++/70503
2150 * src/c++11/thread.cc (execute_native_thread_routine,
2151 execute_native_thread_routine_compat): Give internal linkage.
2152 * testsuite/30_threads/thread/70503.cc: New test.
2153
7b3318c4
VV
21542016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2155
2156 PR libstdc++/70437
2157 * include/bits/stl_pair.h (_ConstructiblePair,
2158 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2159 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2160 for same-type cases.
2161 * testsuite/20_util/pair/70437.cc: New.
2162
00e6c25a
JW
21632016-03-24 Jonathan Wakely <jwakely@redhat.com>
2164
2165 PR libstdc++/69945
2166 * config/abi/pre/gnu.ver: Add new symbol.
2167 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2168 * testsuite/18_support/free_eh_pool.cc: New test.
2169
bfd84e6b
BE
21702016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2171
2172 * include/Makefile.am (install-freestanding-headers): Add
2173 concept_check.h and move.h to the installed headers.
2174 * include/Makefile.in: Regenerated.
2175 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2176 freestanding implementations.
2177 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2178 that this macro has no effect for freestanding implementations.
2179 * doc/html/manual/using_macros.html: Likewise.
2180
86715b09
JW
21812016-02-24 Jonathan Wakely <jwakely@redhat.com>
2182
2183 PR libstdc++/69939
2184 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2185
9aee022e
JW
21862016-02-23 Jonathan Wakely <jwakely@redhat.com>
2187
be9967e8
JW
2188 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2189 * doc/html/*: Regenerate.
2190
9aee022e
JW
2191 PR libstdc++/69893
2192 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2193 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2194 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2195 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2196 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2197 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2198 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2199 Likewise.
2200 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2201 namespace before including TR1 headers.
2202 * testsuite/tr1/headers/c++200x/math.cc: New test.
2203
5f6dd593
BE
22042016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2205
2206 PR libstdc++/69881
2207 * include/c_global/cstdarg: Undefine __need___va_list.
2208 * include/c_global/cstddef: Undefine all kinds of __need_*.
2209
244901a5
TS
22102016-02-16 Tim Shen <timshen@google.com>
2211
2212 PR libstdc++/69794
2213 * include/bits/regex_scanner.h: Add different special character
2214 sets for grep and egrep regex.
2215 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2216 * testsuite/28_regex/regression.cc: Add new testcase.
2217
cc07da33
JW
22182016-02-08 Jonathan Wakely <jwakely@redhat.com>
2219
2158532f
JW
2220 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2221 added 'constexpr' in previous commit.
2222 * configure: Regenerate.
2223
cc07da33
JW
2224 PR libstdc++/48891
2225 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2226 checks for all targets except *-*-solaris2.* and ensure we find the
2227 libc math.h header not our own.
2228 * configure: Regenerate.
2229
acc04646
DV
22302016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2231
2232 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2233 New file. Copied over from s390-linux-gnu.
2234
dbcda3ee
JW
22352016-02-04 Jonathan Wakely <jwakely@redhat.com>
2236
3555173f
JW
2237 PR libstdc++/69626
2238 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2239 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2240 * config.h.in: Regenerate.
2241 * configure: Regenerate.
2242 * testsuite/21_strings/c_strings/char/69626.cc: New.
2243
15ebf379
JW
2244 * doc/html/index.html: Regenerate.
2245
dbcda3ee
JW
2246 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2247 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2248 * doc/html/*: Regenerate.
2249
571512d5
BE
22502016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2251
2252 PR libstdc++/69581
2253 * include/c_compatibility/math.h: Move header guards.
2254 * include/c_compatibility/stdlib.h: Likewise.
2255
f597d5f7
JW
22562016-01-29 Jonathan Wakely <jwakely@redhat.com>
2257
2258 PR libstdc++/69506
2259 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2260
69b0daeb
JDA
22612016-01-28 John David Anglin <danglin@gcc.gnu.org>
2262
2263 PR libstdc++/69450
2264 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2265 isinf and isnan functions into two independent checks. Check on hpux.
2266 * config.h.in: Regenerate.
2267 * configure: Regenerate.
2268 * include/c_global/cmath (isinf(double), isnan(double)): Use
2269 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2270 respectively.
2271
8dc781e4
JJ
22722016-01-27 Jakub Jelinek <jakub@redhat.com>
2273
2274 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2275
bae87f7f
JW
22762016-01-27 Jonathan Wakely <jwakely@redhat.com>
2277
2278 PR libstdc++/69295
2279 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2280 -ffp-contract=off, and -ffloat-store to disable excess precision.
2281 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2282 -ffp-contract=off.
2283
f1d591e8
JW
22842016-01-26 Jonathan Wakely <jwakely@redhat.com>
2285
2286 PR libstdc++/69478
2287 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2288 random_access_iterator_tag>): Check is_move_assignable when moving.
2289 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2290 Likewise.
2291 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2292 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2293 * testsuite/25_algorithms/move/69478.cc: New.
2294 * testsuite/25_algorithms/move_backward/69478.cc: new.
2295
8964d2a0
AP
22962016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2297
2298 * include/c_compatibility/stdlib.h: Include wide character related
2299 definitions only when they are available in cstdlib.
2300
2944621e
JW
23012016-01-25 Jonathan Wakely <jwakely@redhat.com>
2302
2303 PR libstdc++/69464
2304 * include/Makefile.am: Add new header.
2305 * include/Makefile.in: Regenerate.
2306 * include/bits/random.h (uniform_int_distribution): Move to
2307 bits/uniform_int_dist.h.
2308 * include/bits/random.tcc (uniform_int_distribution::operator(),
2309 uniform_int_distribution::__generate_impl): Likewise.
2310 * include/bits/uniform_int_dist.h: New header.
2311 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2312 <bits/uniform_int_dist.h> instead of <random>.
2313 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2314 move_iterators/1.cc: Include correct header for uninitialized_copy.
2315 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2316 move_iterators/1.cc: Likewise.
2317 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2318 header for vector.
2319 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2320
3676c087
JDA
23212016-01-23 John David Anglin <danglin@gcc.gnu.org>
2322
2323 PR libstdc++/69446
2324 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2325
02dc2419
ESR
23262016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2327
2328 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2329 * include/c_compatibility/math.h: Import the TR29124 functions
2330 into the global namespace.
2331 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2332 xfail and make compile-only.
2333 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2334 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2335 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2336 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2337 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2338 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2339 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2340 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2341 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2342 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2343 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2344 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2345 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2346 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2347 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2348 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2349 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2350 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2351 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2352 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2353
350fe282
JW
23542016-01-22 Jonathan Wakely <jwakely@redhat.com>
2355
d1fb377c
JW
2356 PR libstdc++/69116
2357 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2358 define result_type for types which can be safely used with valarrays.
2359 * testsuite/26_numerics/valarray/69116.cc: New.
2360
350fe282
JW
2361 PR libstdc++/69413
2362 * config/os/gnu-linux/os_defines.h: Define
2363 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2364 * include/c_global/cmath (isinf, isnan): Check it.
2365 * doc/xml/manual/internals.xml: Document it.
2366 * doc/html/*: Regenerate.
2367
ab56cbed
JW
23682016-01-21 Jonathan Wakely <jwakely@redhat.com>
2369
2370 PR libstdc++/69406
2371 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2372 * include/ext/type_traits.h: Likewise.
2373 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2374 for presence of C headers.
2375 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2376 dg-error line number.
2377 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2378 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2379 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2380
7e10bcfa
TR
23812016-01-20 Torvald Riegel <triegel@redhat.com>
2382
2383 PR libstdc++/69310
2384 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2385
eac437bf
JW
23862016-01-20 Jonathan Wakely <jwakely@redhat.com>
2387
3f93466a
JW
2388 PR libstdc++/60401
2389 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2390 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2391 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2392 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2393 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2394 Add using declarations.
2395 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2396
eac437bf
JW
2397 PR libstdc++/69386
2398 * include/c_global/ccomplex: Ensure C++ language linkage.
2399 * include/c_global/cmath: Likewise.
2400 * include/c_global/cstdlib: Likewise.
2401 * include/c_global/ctgmath: Likewise.
2402 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2403
96e19ada
JW
24042016-01-19 Jonathan Wakely <jwakely@redhat.com>
2405
2406 PR libstdc++/14608
2407 PR libstdc++/60401
2408 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2409 --enable-cheaders=c_global configs.
2410 * include/Makefile.in: Regenerate.
2411 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2412 test and allow inclusion from C files.
2413 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2414 (at_quick_exit, quick_exit): Add using directives.
2415 * include/c_global/cmath: Use #include_next for math.h.
2416 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2417 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2418 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2419 Remove xfail for most targets.
2420 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2421
9585381a
TR
24222016-01-18 Torvald Riegel <triegel@redhat.com>
2423
2424 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2425 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2426 and move after its definition.
2427 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2428 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2429 __GXX_WEAK__, and only provide transactional clones if
2430 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2431 functions.
2432
f5460595
JW
24332016-01-18 Jonathan Wakely <jwakely@redhat.com>
2434
c91bcffc
JW
2435 PR libstdc++/60637
2436 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2437
d75d9f91 2438 PR libstdc++/69243
9c5ad80e
JW
2439 * include/std/functional (_Function_base::_M_not_empty_function):
2440 Change overloads for pointers to take arguments by value.
2441 * testsuite/20_util/function/cons/57465.cc: Add tests for
2442 pointer-to-member cases.
2443
f5460595
JW
2444 PR libstdc++/69340
2445 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2446 Use macros for exception handling and fix unused parameter warning.
2447
271366f6
JDA
24482016-01-17 John David Anglin <danglin@gcc.gnu.org>
2449
2450 PR libstdc++/68734
2451 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2452
7a5d1d34
TR
24532016-01-17 Torvald Riegel <triegel@redhat.com>
2454
2455 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2456
5445d5bf
L
24572016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2458
2459 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2460 __int128 symbols.
2461
3d076231
JW
24622016-01-15 Jonathan Wakely <jwakely@redhat.com>
2463
d7c1581c
JW
2464 PR libstdc++/69293
2465 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2466 static assertion that type is constructible from the arguments.
2467 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2468 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2469 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2470
3d076231
JW
2471 PR libstdc++/69294
2472 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2473 and isnan on AIX. Quote variables.
2474 * configure: Regenerate.
2475
a04d5fc9
TR
24762016-01-15 Torvald Riegel <triegel@redhat.com>
2477
2478 * include/bits/basic_string.h (basic_string): Declare friends.
2479 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2480 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2481 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2482 length_error, out_of_range, runtime_error, range_error,
2483 underflow_error, overflow_error): Declare members as transaction-safe.
2484 (logic_error, runtime_error): Declare friend functions.
2485 * libsupc++/exception (exception, bad_exception): Declare members as
2486 transaction-safe.
2487 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2488 transaction-safe members of exceptions and helper functions.
2489 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2490 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2491 (CXXABI_1.3.10): New.
2492 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2493 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2494 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2495 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2496 * include/Makefile.in: Regenerate.
2497 * config.h.in: Regenerate.
2498 * configure: Regenerate.
2499 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2500
cebeb718
SE
25012016-01-15 Steve Ellcey <sellcey@imgtec.com>
2502
2503 * include/ext/random.tcc: Use __builtin_isfinite instead of
2504 std::isfinite.
2505
3b07547d
JW
25062016-01-15 Jonathan Wakely <jwakely@redhat.com>
2507
2508 * include/bits/std_mutex.h: Fix Doxygen @file name.
2509
2be75957
ESR
25102016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2511 Jonathan Wakely <jwakely@redhat.com>
2512 Florian Goth <CaptainSifff@gmx.de>
2513
2514 Implement TR29124 C++ special Math Functions.
2515 * include/Makefile.am: Add new headers.
2516 * include/Makefile.in: Regenerate.
2517 * include/bits/specfun.h: New.
2518 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2519 * include/tr1/bessel_function.tcc: Ditto.
2520 * include/tr1/beta_function.tcc: Ditto.
2521 * include/tr1/cmath: Ditto.
2522 * include/tr1/ell_integral.tcc: Ditto.
2523 * include/tr1/exp_integral.tcc: Ditto.
2524 * include/tr1/gamma.tcc: Ditto.
2525 * include/tr1/hypergeometric.tcc: Ditto.
2526 * include/tr1/legendre_function.tcc: Ditto.
2527 * include/tr1/modified_bessel_func.tcc: Ditto.
2528 * include/tr1/poly_hermite.tcc: Ditto.
2529 * include/tr1/poly_laguerre.tcc: Ditto.
2530 * include/tr1/riemann_zeta.tcc: Ditto.
2531 * include/tr1/special_function_util.h: Ditto.
2532 * testsuite/ext/special_functions/conf_hyperg: New.
2533 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2534 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2535 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2536 * testsuite/ext/special_functions/hyperg: New.
2537 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2538 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2539 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2540 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2541 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2542 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2543 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2544 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2545 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2546 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2547 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2548 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2549 * testsuite/special_functions/03_beta/check_nan.cc: New.
2550 * testsuite/special_functions/03_beta/check_value.cc: New.
2551 * testsuite/special_functions/03_beta/compile.cc: New.
2552 * testsuite/special_functions/03_beta/compile_2.cc: New.
2553 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2554 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2555 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2556 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2557 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2558 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2559 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2560 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2561 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2562 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2563 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2564 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2565 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2566 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2567 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2568 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2569 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2570 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2571 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2572 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2573 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2574 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2575 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2576 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2577 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2578 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2579 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2580 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2581 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2582 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2583 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2584 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2585 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2586 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2587 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2588 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2589 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2590 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2591 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2592 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2593 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2594 * testsuite/special_functions/14_expint/check_nan.cc: New.
2595 * testsuite/special_functions/14_expint/check_value.cc: New.
2596 * testsuite/special_functions/14_expint/compile.cc: New.
2597 * testsuite/special_functions/14_expint/compile_2.cc: New.
2598 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2599 * testsuite/special_functions/15_hermite/check_value.cc: New.
2600 * testsuite/special_functions/15_hermite/compile.cc: New.
2601 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2602 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2603 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2604 * testsuite/special_functions/16_laguerre/compile.cc: New.
2605 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2606 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2607 * testsuite/special_functions/17_legendre/check_value.cc: New.
2608 * testsuite/special_functions/17_legendre/compile.cc: New.
2609 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2610 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2611 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2612 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2613 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2614 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2615 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2616 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2617 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2618 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2619 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2620 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2621 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2622 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2623 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2624 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2625 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2626 * testsuite/util/specfun_testcase.h: New.
2627 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2628 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2629 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2630 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2631 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2632 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2633 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2634
39a1d8c8
JW
26352016-01-13 Jonathan Wakely <jwakely@redhat.com>
2636
2637 PR libstdc++/48891
2638 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2639 and isnan functions.
2640 * config.h.in: Regenerate.
2641 * configure: Regenerate.
2642 * include/c_global/cmath (isinf(double), isnan(double))
2643 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2644 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2645
e862906c
RO
26462016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2647
2648 PR libstdc++/66006
2649 * configure.host (abi_baseline_pair): Use separate baseline for
2650 Solaris 11+ and Solaris 10 with gld.
2651 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2652 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2653 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2654
26b5ace7
DK
26552016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2656
2657 PR libstdc++/68877
2658 * include/std/type_traits: Following N4511, reimplement __is_swappable
2659 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2660 adjust callers. Use __is_nothrow_swappable in swap.
2661 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2662 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2663 __is_swappable related tests.
2664 * testsuite/20_util/is_swappable/value.cc: New.
2665 * testsuite/20_util/is_swappable/requirements/
2666 explicit_instantiation.cc: New.
2667 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2668 * testsuite/25_algorithms/swap/68877.cc: New.
2669
1c3c7c41
JW
26702016-01-12 Jonathan Wakely <jwakely@redhat.com>
2671
bd285a8b
JW
2672 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2673
1c3c7c41
JW
2674 PR libstdc++/69005
2675 PR libstdc++/69222
2676 * include/std/functional (function::_Invoke): Remove, use result_of.
2677 (function::_Callable): Replace alias template with class template
2678 and use partial specialization instead of _NotSelf alias template.
2679 (function(_Functor)): Add "not self" constraint so that _Callable is
2680 not used while type is incomplete.
2681 * testsuite/20_util/function/69222.cc: New.
2682
1517bc30
JW
26832016-01-11 Jonathan Wakely <jwakely@redhat.com>
2684
2685 PR libstdc++/60976
2686 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2687 Define partial specialization.
2688 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2689 destroy members to std::allocator explicit specialization.
2690
e525d78c
JW
26912016-01-08 Jonathan Wakely <jwakely@redhat.com>
2692
8babc12b
JW
2693 * testsuite/26_numerics/headers/cmath/
2694 c99_classification_macros_c++.cc: Rename to ...
2695 * testsuite/26_numerics/headers/cmath/
2696 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2697 * testsuite/26_numerics/headers/cmath/
2698 c99_classification_macros_c++0x.cc: Rename to ...
2699 * testsuite/26_numerics/headers/cmath/
2700 c99_classification_macros_c++11.cc: Here.
2701
32a8c97f 2702 PR libstdc++/69190
e525d78c
JW
2703 * include/bits/uses_allocator.h: Add missing include.
2704
f885fa89
JW
27052016-01-07 Jonathan Wakely <jwakely@redhat.com>
2706
2707 PR libstdc++/69105
2708 PR libstdc++/69106
2709 PR libstdc++/69114
2710 * include/bits/stl_iterator.h (back_insert_iterator,
2711 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2712 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2713 * include/std/future (__future::base::_State_baseV2::__setter):
2714 Likewise.
2715 * include/std/scoped_allocator (__outermost): Likewise.
2716 * testsuite/20_util/scoped_allocator/69114.cc: New.
2717 * testsuite/20_util/uses_allocator/69114.cc: New.
2718 * testsuite/30_threads/promise/69106.cc: New.
2719
0c3e5dd1
JW
27202016-01-06 Jonathan Wakely <jwakely@redhat.com>
2721
373a75fb
JW
2722 PR libstdc++/69092
2723 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2724 Remove _GLIBCXX_NOEXCEPT.
2725 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2726
0c3e5dd1
JW
2727 * include/Makefile.am: Adjust.
2728 * include/Makefile.in: Regenerate.
2729 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2730 * include/std/condition_variable: Adjust include.
2731 * include/std/mutex: Likewise.
2732
818ab71a 27332016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
2734
2735 Update copyright years.
b4df5e92 2736\f
818ab71a 2737Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
2738
2739Copying and distribution of this file, with or without modification,
2740are permitted in any medium without royalty provided the copyright
2741notice and this notice are preserved.