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