1 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
3 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
4 not test 128-bit types.
5 * testsuite/20_util/is_floating_point/value.cc: Likewise.
6 * testsuite/20_util/is_integral/value.cc: Likewise.
7 * testsuite/20_util/is_signed/value.cc: Likewise.
8 * testsuite/20_util/is_unsigned/value.cc: Likewise.
9 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
10 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
11 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
13 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
16 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
18 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
20 Implement C++17 variable templates for type traits.
21 * include/std/chrono (treat_as_floating_point_v): New.
22 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
23 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
24 (ratio_greater_equal_v): Likewise.
25 * include/std/system_error (is_error_code_enum_v)
26 (is_error_condition_enum_v): Likewise.
27 * include/std/tuple (tuple_size_v): Likewise.
28 * type_traits (conjunction_v, disjunction_v, negation_v)
29 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
30 (is_array_v, is_pointer_v, is_lvalue_reference_v)
31 (is_rvalue_reference_v, is_member_object_pointer_v)
32 (is_member_function_pointer_v, is_enum_v, is_union_v)
33 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
34 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
35 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
36 (is_trivially_copyable_v, is_standard_layout_v)
37 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
38 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
39 (is_constructible_v, is_default_constructible_v)
40 (is_copy_constructible_v, is_move_constructible_v)
41 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
42 (is_destructible_v, is_trivially_constructible_v)
43 (is_trivially_default_constructible_v)
44 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
45 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
46 (is_trivially_move_assignable_v, is_trivially_destructible_v)
47 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
48 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
49 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
50 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
51 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
52 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
53 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
54 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
56 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
57 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
58 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
60 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
62 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
63 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
64 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
66 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
68 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
69 * doc/html/manual/abi.html: Regenerate.
71 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
72 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
74 * configure: Regenerate.
75 * testsuite/util/testsuite_abi.cc: Add new symbol version.
77 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
78 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
79 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
80 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
82 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
83 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
84 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
86 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
88 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
89 Adjust dg-prune-output pattern for error in C++98 mode.
90 * testsuite/23_containers/deque/requirements/dr438/
91 constructor_1_neg.cc: Likewise.
92 * testsuite/23_containers/deque/requirements/dr438/
93 constructor_2_neg.cc: Likewise.
94 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
96 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
98 * testsuite/23_containers/list/requirements/dr438/
99 constructor_1_neg.cc: Likewise.
100 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
102 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
104 * testsuite/23_containers/vector/requirements/dr438/
105 constructor_1_neg.cc: Likewise.
106 * testsuite/23_containers/vector/requirements/dr438/
107 constructor_2_neg.cc: Likewise.
108 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
111 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
112 for different construct/destroy counts in C++98 mode.
114 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
115 dg-options to dg-additional-options so that default options are used.
116 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
118 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
119 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
121 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
122 Use dg-additional-options instead of repeating the common options.
124 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
125 dg-do compile directive.
126 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
128 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
130 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
132 Implement std::string_view and P0254r2,
133 Integrating std::string_view and std::string.
134 * include/Makefile.am: Add string_view and string_view.tcc
135 to the exported headers.
136 * include/Makefile.in: Likewise.
137 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
139 (basic_string(__sv_type, const _Alloc&)): Likewise.
140 (operator=(__sv_type)): Likewise.
141 (operator __sv_type()): Likewise.
142 (operator+=(__sv_type)): Likewise.
143 (append(__sv_type __sv)): Likewise.
144 (append(__sv_type, size_type, size_type)): Likewise.
145 (assign(__sv_type)): Likewise.
146 (assign(__sv_type, size_type, size_type)): Likewise.
147 (insert(size_type, __sv_type)): Likewise.
148 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
149 (replace(size_type, size_type, __sv_type)): Likewise.
150 (replace(size_type, size_type, __sv_type, size_type, size_type)):
152 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
153 (find(__sv_type, size_type)): Likewise.
154 (rfind(__sv_type, size_type)): Likewise.
155 (find_first_of(__sv_type, size_type)): Likewise.
156 (find_last_of(__sv_type, size_type)): Likewise.
157 (find_first_not_of(__sv_type, size_type)): Likewise.
158 (find_last_not_of(__sv_type, size_type)): Likewise.
159 (compare(__sv_type)): Likewise.
160 (compare(size_type, size_type, __sv_type)): Likewise.
161 (compare(size_type, size_type, __sv_type, size_type, size_type)):
163 * include/bits/string_view.tcc: New.
164 * include/std/string_view: Likewise.
165 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
166 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
167 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
169 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
171 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
173 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
175 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
177 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
179 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
181 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
183 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
185 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
187 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
189 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
191 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
192 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
193 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
194 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
195 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
196 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
197 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
198 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
199 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
200 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
202 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
204 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
206 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
208 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
210 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
212 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
214 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
216 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
217 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
218 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
219 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
220 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
222 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
224 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
226 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
228 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
230 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
232 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
234 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
236 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
238 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
240 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
242 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
244 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
246 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
248 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
250 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
252 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
254 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
256 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
258 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
260 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
262 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
264 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
266 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
268 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
270 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
272 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
274 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
276 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
278 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
280 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
282 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
284 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
286 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
287 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
289 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
291 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
293 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
295 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
297 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
299 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
301 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
303 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
305 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
306 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
308 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
310 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
312 2016-07-25 Georeth Chow <georeth2010@gmail.com>
314 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
315 _S_concat enumerator.
316 * testsuite/ext/rope/6.cc: New test.
318 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
320 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
321 std::mt19937, std::thread and std::atomic to simplify test.
322 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
324 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
327 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
328 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
329 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
330 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
331 * testsuite/23_containers/set/allocator/71964.cc: New test.
333 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
334 delete[] instead of delete.
336 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
338 * include/experimental/propagate_const (propagate_const::__t): Rename
339 to _M_t and remove comment. Qualify std::move and std::forward.
340 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
342 * testsuite/23_containers/vector/zero_sized_allocations.cc:
343 Define sized deallocation function.
344 * testsuite/util/testsuite_new_operators.h:
345 (operator delete(void*, const std::nothrow_t&)): Define nothrow
346 deallocation function.
348 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
349 reads past the end of strings.
350 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
352 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
353 invalid array accesses.
354 * testsuite/experimental/string_view/operations/compare/char/1.cc:
355 Fix read past the end of string.
356 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
358 * testsuite/24_iterators/container_access.cc: Fix missing returns.
359 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
361 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
362 leak) memory for arguments to placement delete.
363 * testsuite/20_util/addressof/1.cc: Don't leak memory.
364 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
365 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
368 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
370 * doc/xml/manual/intro.xml: Document DR 2684 status.
371 * doc/html/*: Regenerate.
373 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
374 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
375 (atomic_uint64_t): Define (LWG 2441).
376 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
378 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
380 * doc/xml/manual/intro.xml: Document DR 2441 status.
382 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
383 to use perfect forwarding (LWG 2328).
384 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
385 * doc/xml/manual/intro.xml: Document DR 2328 status.
387 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
388 static objects for catching nullptr as pointer to member types.
390 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
392 Clean up optional's comments.
393 * include/std/optional: Remove incorrect section headers
394 from comments when redundant, replace bare section
395 headers with more descriptive comments.
397 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
399 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
400 * include/bits/move.h: Likewise.
401 * include/bits/postypes.h: Likewise.
402 * include/debug/bitset: Likewise.
403 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
404 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
406 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
407 * testsuite/util/thread/all.h: Likewise.
409 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
413 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
414 nullptr match handlers of pointer type.
416 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
418 Implement C++17 P0025 clamp.
419 * include/bits/algorithmfwd.h: Declare clamp overloads.
420 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
421 * testsuite/25_algorithms/clamp/1.cc: New test.
422 * testsuite/25_algorithms/clamp/2.cc: New test.
423 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
424 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
426 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
429 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
431 Fix the constraints for any's assignment operator template to properly
432 reject assignment from a non-copyable lvalue.
433 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
434 type for is_copy_constructible,
435 * testsuite/20_util/any/requirements.cc: Add a test for
436 non-copyable lvalues.
438 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
440 * include/experimental/functional: Include <parallel/algorithm> in
443 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
447 * include/bits/forward_list.h (forward_list): Update doxygen comments
448 to reflect allocator propagation semantics. Remove ambiguous
449 statements about data being lost.
450 * include/bits/stl_deque.h (deque): Likewise.
451 * include/bits/stl_list.h (list): Likewise.
452 * include/bits/stl_map.h (map): Likewise.
453 * include/bits/stl_multimap.h (multimap): Likewise.
454 * include/bits/stl_multiset.h (multiset): Likewise.
455 * include/bits/stl_set.h (set): Likewise.
456 * include/bits/stl_vector.h (vector): Likewise.
457 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
459 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
462 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
464 Implement P0032R3, Homogeneous interface for variant, any and optional,
465 for the parts concerning any and optional.
466 * include/std/any (_Storage()): Make constexpr and have it
468 (any()): Make constexpr.
469 (any(const any&)): Adjust.
470 (any(any&&)): Likewise.
471 (__any_constructible_t): New.
472 (any(_ValueType&&)): Constrain.
473 (any(in_place_type_t<_Tp>, _Args&&...)): New.
474 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
477 (operator=(const any&)): Likewise.
478 (operator=(any&&)): Likewise.
479 (operator=(_ValueType&&)): Constrain.
480 (emplace(_Args&&...)): New.
481 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
484 (swap(any&)): Adjust.
488 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
489 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
490 (make_any(_Args&&...)): Likewise.
491 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
492 * include/std/optional (in_place_t, in_place): Remove.
493 (bad_optional_access): Add a comment referring to LEWG 72.
494 (emplace(_Args&&...)): Constrain.
497 (make_optional(_Args&&...)): Likewise.
498 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
499 * include/std/utility (in_place_tag): New.
500 (__in_place, __in_place_type, __in_place_index): Likewise.
501 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
502 (in_place(__in_place*)): Likewise.
503 (in_place(__in_place_type<_Tp>*)): Likewise.
504 (in_place(__in_place_index<_Idx>*)): Likewise.
505 * testsuite/20_util/any/assign/1.cc: Adjust.
506 * testsuite/20_util/any/assign/emplace.cc: New.
507 * testsuite/20_util/any/assign/self.cc: Adjust.
508 * testsuite/20_util/any/cons/1.cc: Likewise.
509 * testsuite/20_util/any/cons/in_place.cc: New.
510 * testsuite/20_util/any/make_any.cc: Likewise.
511 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
512 * testsuite/20_util/any/misc/swap.cc: Likewise.
513 * testsuite/20_util/any/modifiers/1.cc: Likewise.
514 * testsuite/20_util/any/requirements.cc: New.
515 * testsuite/20_util/in_place/requirements.cc: Likewise.
516 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
517 * testsuite/20_util/optional/in_place.cc: Likewise.
518 * testsuite/20_util/optional/make_optional.cc: Add tests for
519 the new overloads of make_optional.
521 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
523 Implement P0307R2, Making Optional Greater Equal Again.
524 * include/experimental/optional (_Has_addressof): Fix the comment.
525 * include/std/optional (_Has_addressof): Likewise.
526 (operator=(_Up&&)): Constrain.
527 (operator=(const optional<_Up>&)): Likewise.
528 (operator=(optional<_Up>&&)): Likewise.
529 (__optional_relop_t): New.
530 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
531 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
532 Constrain and make transparent.
533 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
534 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
535 Constrain and make transparent.
536 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
537 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
538 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
539 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
540 (operator!=(const optional<_Tp>&, _Tp const&)):
541 Constrain and make transparent.
542 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
543 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
544 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
545 (operator>(const optional<_Tp>&, const _Tp&)):
546 Constrain and make transparent.
547 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
548 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
549 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
550 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
551 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
552 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
553 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
554 * testsuite/20_util/optional/relops/1.cc: Likewise.
555 * testsuite/20_util/optional/relops/2.cc: Likewise.
556 * testsuite/20_util/optional/relops/3.cc: Likewise.
557 * testsuite/20_util/optional/relops/4.cc: Likewise.
558 * testsuite/20_util/optional/requirements.cc: Add tests to verify
559 that optional's relops are transparent and don't synthesize
560 operators. Also test that assignment sfinaes.
562 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
565 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
566 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
567 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
568 on _GLIBCXX_ASSERTIONS.
569 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
570 Include <unistd.h> for sleep.
571 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
572 * include/parallel/merge.h: Likewise.
573 * include/parallel/multiway_merge.h: Likewise.
574 * include/parallel/partition.h: Likewise.
575 * include/parallel/queue.h: Likewise.
576 * include/parallel/sort.h: Likewise.
577 * testsuite/25_algorithms/headers/algorithm/
578 parallel_algorithm_assert.cc: New.
580 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
581 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
582 Forward to different overload.
584 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
587 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
589 Revert "Add non-const overload of std::string::data()".
591 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
593 Implement P0307R2, Making Optional Greater Equal Again.
594 * include/experimental/optional (_Has_addressof): Fix the comment.
595 * include/std/optional (_Has_addressof): Likewise.
596 (operator=(_Up&&)): Constrain.
597 (operator=(const optional<_Up>&)): Likewise.
598 (operator=(optional<_Up>&&)): Likewise.
599 (__optional_relop_t): New.
600 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
601 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
602 Constrain and make transparent.
603 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
604 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
605 Constrain and make transparent.
606 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
607 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
608 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
609 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
610 (operator!=(const optional<_Tp>&, _Tp const&)):
611 Constrain and make transparent.
612 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
613 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
614 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
615 (operator>(const optional<_Tp>&, const _Tp&)):
616 Constrain and make transparent.
617 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
618 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
619 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
620 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
621 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
622 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
623 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
624 * testsuite/20_util/optional/relops/1.cc: Likewise.
625 * testsuite/20_util/optional/relops/2.cc: Likewise.
626 * testsuite/20_util/optional/relops/3.cc: Likewise.
627 * testsuite/20_util/optional/relops/4.cc: Likewise.
628 * testsuite/20_util/optional/requirements.cc: Add tests to verify
629 that optional's relops are transparent and don't synthesize
630 operators. Also test that assignment sfinaes.
632 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
634 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
636 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
637 instead of _M_data().
638 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
640 (append(const basic_string&)): Likewise.
641 (append(const basic_string&, size_type, size_type)): Likewise.
642 (assign(const basic_string&, size_type, size_type)): Likewise.
643 (insert(size_type, const basic_string&)): Likewise.
644 (insert(size_type, const basic_string&, size_type, size_type)):
646 (replace(size_type, size_type, const basic_string&, size_type,
647 size_type)): Likewise.
648 (replace(__const_iterator, __const_iterator, const basic_string&)):
650 (c_str(), data()): Use c_str() instead of _M_data().
651 (data()): Add non-const overload as per LWG 2391 and P0272R1.
652 (compare(const basic_string&)): Use data() instead of _M_data().
653 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
654 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
655 Pass raw pointers to _S_copy.
656 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
658 (find(const _CharT*, size_type, size_type)): Use data instead of
660 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
661 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
662 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
664 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
666 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
667 * doc/xml/manual/intro.xml: Document DR 2458 status.
668 * doc/html*: Regenerate.
670 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
671 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
672 Only include <array>.
673 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
675 * doc/xml/manual/intro.xml: Document LWG 2212 support.
676 * doc/html*: Regenerate.
678 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
679 Add testcase from LWG 2164.
681 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
683 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
684 to _M_realloc_insert.
685 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
686 (_M_realloc_insert): Declare new function.
687 (_M_emplace_back_aux): Remove definition.
688 * include/bits/vector.tcc (emplace_back(_Args...)):
689 Use _M_realloc_insert.
690 (insert(const_iterator, const value_type&)): Likewise.
691 (_M_insert_rval, _M_emplace_aux): Likewise.
692 (_M_emplace_back_aux): Remove declaration.
693 (_M_realloc_insert): Define.
694 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
695 Adjust expected results for emplacing an lvalue with reallocation.
697 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
699 Implement std::optional.
700 * include/Makefile.am: Add optional to exported headers.
701 * include/Makefile.in: Likewise.
702 * include/std/optional: New.
703 * testsuite/20_util/optional/typedefs.cc: Likewise.
704 * testsuite/20_util/optional/relops/2.cc: Likewise.
705 * testsuite/20_util/optional/relops/3.cc: Likewise.
706 * testsuite/20_util/optional/relops/4.cc: Likewise.
707 * testsuite/20_util/optional/relops/5.cc: Likewise.
708 * testsuite/20_util/optional/relops/1.cc: Likewise.
709 * testsuite/20_util/optional/relops/6.cc: Likewise.
710 * testsuite/20_util/optional/nullopt.cc: Likewise.
711 * testsuite/20_util/optional/in_place.cc: Likewise.
712 * testsuite/20_util/optional/make_optional.cc: Likewise.
713 * testsuite/20_util/optional/assignment/2.cc: Likewise.
714 * testsuite/20_util/optional/assignment/3.cc: Likewise.
715 * testsuite/20_util/optional/assignment/4.cc: Likewise.
716 * testsuite/20_util/optional/assignment/5.cc: Likewise.
717 * testsuite/20_util/optional/assignment/1.cc: Likewise.
718 * testsuite/20_util/optional/assignment/6.cc: Likewise.
719 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
720 * testsuite/20_util/optional/cons/default.cc: Likewise.
721 * testsuite/20_util/optional/cons/move.cc: Likewise.
722 * testsuite/20_util/optional/cons/value.cc: Likewise.
723 * testsuite/20_util/optional/cons/copy.cc: Likewise.
724 * testsuite/20_util/optional/requirements.cc: Likewise.
725 * testsuite/20_util/optional/observers/2.cc: Likewise.
726 * testsuite/20_util/optional/observers/3.cc: Likewise.
727 * testsuite/20_util/optional/observers/4.cc: Likewise.
728 * testsuite/20_util/optional/observers/5.cc: Likewise.
729 * testsuite/20_util/optional/observers/1.cc: Likewise.
730 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
731 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
732 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
733 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
734 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
735 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
736 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
737 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
738 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
739 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
740 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
741 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
742 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
743 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
744 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
745 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
746 * testsuite/20_util/optional/swap/1.cc: Likewise.
748 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
750 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
752 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
754 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
755 * doc/html/*: Regenerate.
757 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
760 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
761 * include/Makefile.in: Likewise.
762 * include/std/any: New.
763 * testsuite/20_util/any/assign/1.cc: Likewise.
764 * testsuite/20_util/any/assign/2.cc: Likewise.
765 * testsuite/20_util/any/assign/self.cc: Likewise.
766 * testsuite/20_util/any/cons/1.cc: Likewise.
767 * testsuite/20_util/any/cons/2.cc: Likewise.
768 * testsuite/20_util/any/cons/aligned.cc: Likewise.
769 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
770 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
771 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
772 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
773 * testsuite/20_util/any/misc/swap.cc: Likewise.
774 * testsuite/20_util/any/modifiers/1.cc: Likewise.
775 * testsuite/20_util/any/observers/type.cc: Likewise.
776 * testsuite/20_util/any/typedefs.cc: Likewise.
778 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
780 Add a new header for diagnosing the use of C++17 facilities
782 * include/bits/c++17_warning.h: New.
784 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
786 Implement LWG 2451, optional<T> should 'forward' T's
787 implicit conversions.
788 * include/experimental/optional (__is_optional_impl, __is_optional):
790 (optional()): Make constexpr and default.
791 (optional(_Up&&), optional(const optional<_Up>&),
792 optional(optional<_Up>&& __t): New.
793 (operator=(_Up&&)): Constrain.
794 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
795 * testsuite/experimental/optional/cons/value.cc:
796 Add tests for the functionality added by LWG 2451.
797 * testsuite/experimental/optional/cons/value_neg.cc: New.
799 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
802 any_cast doesn't work with rvalue reference targets and cannot
803 move with a value target.
804 * include/experimental/any (any(_ValueType&&)): Constrain and
805 add an overload that doesn't forward.
806 (any_cast(any&&)): Constrain and add an overload that moves.
807 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
808 the functionality added by LWG 2509.
810 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
812 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
814 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
817 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
819 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
820 Define inline. Forward to _M_emplace_aux.
821 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
822 (_M_insert_rval, _M_emplace_aux): Declare new functions.
823 (_Temporary_value): New RAII type using allocator to construct/destroy.
824 (_S_insert_aux_assign): Remove.
825 (_M_insert_aux): Make non-variadic.
826 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
827 Use _Temporary_value.
828 (emplace(const_iterator, _Args&&...)): Remove definition.
829 (_M_insert_rval, _M_emplace_aux): Define.
830 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
831 (_M_fill_insert): Use _Temporary_value.
832 * testsuite/23_containers/vector/allocator/construction.cc: New test.
833 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
834 Adjust expected results for emplacing an lvalue with reallocation.
835 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
836 expected results to account for construction/destruction of temporary
838 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
840 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
843 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
844 Call remove_all for children of a directory.
845 * testsuite/experimental/filesystem/operations/create_directories.cc:
848 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
850 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
851 dg-error line numbers.
852 * testsuite/23_containers/array/tuple_interface/
853 tuple_element_debug_neg.cc: Likewise.
854 * testsuite/25_algorithms/lexicographical_compare/debug/
855 irreflexive_neg.cc: Remove.
857 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
859 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
860 than specific target.
862 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
865 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
868 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
870 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
873 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
875 * configure.host: Remove mep-* support.
877 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
879 * configure: Regenerate.
880 * configure.host: Remove support for knetbsd.
881 * crossconfig.m4: Likewise.
883 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
886 * include/tr1/hashtable_policy.h
887 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
888 dereferenceable to avoid check on lower_bound result.
889 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
890 (_Prime_rehash_policy::_M_need_rehash): Likewise.
891 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
892 Always return a value greater than input value. Set _M_next_resize to
893 max value when reaching highest prime number.
894 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
896 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
897 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
899 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
900 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
903 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
906 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
907 Remove irreflexive checks.
908 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
909 binary_search): Likewise.
910 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
911 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
912 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
913 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
914 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
915 Add constructor from array.
917 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
919 * include/debug/debug.h
920 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
921 (__glibcxx_requires_subscript): Move...
922 * include/debug/assertions.h: ...here and add __builtin_expect.
923 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
924 * include/bits/stl_deque.h
925 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
926 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
927 (std::deque<>::back()): Likewise.
928 (std::deque<>::pop_front()): Likewise.
929 (std::deque<>::pop_back()): Likewise.
930 (std::deque<>::swap(deque&)): Add allocator check.
931 * include/bits/stl_vector.h
932 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
933 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
934 (std::vector<>::back()): Likewise.
935 (std::vector<>::pop_back()): Likewise.
936 (std::vector<>::swap(vector&)): Add allocator check.
938 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
940 Provide swappable traits (p0185r1)
941 * include/std/type_traits (is_swappable, is_nothrow_swappable,
942 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
943 is_nothrow_swappable_v, is_swappable_with_v,
944 is_nothrow_swappable_with_v): New.
945 * include/bits/stl_pair.h: Use it as per p0185r1.
946 * include/bits/stl_queue.h: Likewise.
947 * include/bits/stl_stack.h: Likewise.
948 * include/bits/unique_ptr.h: Likewise.
949 * include/std/tuple: Likewise.
950 * include/std/array: Likewise. Fix zero-size member swap.
951 * include/bits/hashtable.h: Use __and_.
952 * testsuite/20_util/is_nothrow_swappable/requirements/
953 explicit_instantiation.cc: Change test options to std=gnu++17.
954 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
956 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
957 * testsuite/20_util/is_swappable/requirements/
958 explicit_instantiation.cc: Likewise.
959 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
960 * testsuite/20_util/is_swappable/value.cc: Likewise.
961 * testsuite/20_util/is_nothrow_swappable/requirements/
962 explicit_instantiation_ext.cc: New.
963 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
965 * testsuite/20_util/is_nothrow_swappable/value.h: New.
966 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
967 * testsuite/20_util/is_nothrow_swappable_with/requirements/
968 explicit_instantiation.cc: New.
969 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
971 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
972 * testsuite/20_util/is_swappable/requirements/
973 explicit_instantiation_ext.cc: New.
974 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
975 * testsuite/20_util/is_swappable/value.h: New.
976 * testsuite/20_util/is_swappable/value_ext.cc: New.
977 * testsuite/20_util/is_swappable_with/requirements/
978 explicit_instantiation.cc: New.
979 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
980 * testsuite/20_util/is_swappable_with/value.cc: New.
981 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
982 dg-error line numbers.
983 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
986 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
988 * include/std/array: Remove trailing whitespace.
989 * include/std/atomic: Likewise.
990 * include/std/bitset: Likewise.
991 * include/std/chrono: Likewise.
992 * include/std/complex: Likewise.
993 * include/std/condition_variable: Likewise.
994 * include/std/fstream: Likewise.
995 * include/std/functional: Likewise.
996 * include/std/future: Likewise.
997 * include/std/iomanip: Likewise.
998 * include/std/iosfwd: Likewise.
999 * include/std/istream: Likewise.
1000 * include/std/limits: Likewise.
1001 * include/std/ratio: Likewise.
1002 * include/std/scoped_allocator: Likewise.
1003 * include/std/sstream: Likewise.
1004 * include/std/stdexcept: Likewise.
1005 * include/std/string: Likewise.
1006 * include/std/system_error: Likewise.
1007 * include/std/thread: Likewise.
1008 * include/std/tuple: Likewise.
1009 * include/std/type_traits: Likewise.
1010 * include/std/utility: Likewise.
1011 * include/std/valarray: Likewise.
1012 * include/std/vector: Likewise.
1014 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1015 new overloaded functions.
1016 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1017 to avoid creating a redundant temporary.
1018 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1021 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1023 * include/bits/stl_deque.h
1024 (std::deque<>::operator=): Call _M_assign_aux.
1025 (std::deque<>::assign(initializer_list<>)): Likewise.
1026 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1027 (std::deque<>::insert(const_iterator, initializer_list<>)):
1028 Call _M_range_insert_aux.
1029 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1031 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1032 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1033 * include/bits/deque.tcc
1034 (std::deque<>::operator=): Call _M_range_insert_aux.
1035 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1037 * include/bits/stl_vector.h
1038 (std::vector<>::operator=): Call _M_assign_aux.
1039 (std::vector<>::assign(initializer_list<>)): Likewise.
1040 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1041 (std::vector<>::insert(const_iterator, initializer_list<>)):
1042 Call _M_range_insert.
1043 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1045 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1047 * include/std/tuple (_Head_base<>): Default specialization condition at
1050 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1052 Support allocators in tuples of zero size.
1053 * include/std/tuple (tuple<>::tuple(),
1054 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1055 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1056 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1058 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1061 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1062 Add or remove permissions according to perms argument.
1063 * testsuite/experimental/filesystem/operations/permissions.cc: New
1066 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1068 Protect allocator-overloads of tuple-from-tuple constructors
1069 from cases that would create dangling references.
1070 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1071 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1072 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1073 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1075 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1077 * doc/xml/manual/backwards_compatibility.xml: Adjust
1078 lists.debian.org link to https.
1079 * doc/html/manual/backwards.html: Regenerate.
1081 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1083 * doc/xml/manual/abi.xml: Adjust URL to use https.
1084 * doc/html/manual/*: Regenerate.
1086 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1089 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1090 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1091 check for _NotSameTuple.
1092 * include/std/tuple (_TMCT): New.
1093 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1094 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1095 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1096 const tuple<_UElements...>&)): Likewise.
1097 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1098 tuple<_UElements...>&&)): Likewise.
1099 * testsuite/20_util/tuple/cons/66338.cc: New.
1101 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1103 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1104 * configure: Regenerate.
1105 * config.h.in: Regenerate.
1107 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1108 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1109 Remove const qualification on function. Replace
1110 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1111 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1112 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1114 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1116 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1117 * include/bits/hashtable_policy.h
1118 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1119 having load factor management.
1120 (_Mask_range_hashing): New.
1122 (_Power2_rehash_policy): New.
1123 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1124 partial specializations only depend on whether iterators are constant
1126 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1127 test new hash policy.
1128 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1130 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1132 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1134 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1136 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1138 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1139 using the new hash policy.
1140 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1142 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1144 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1146 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1148 * include/debug/safe_iterator.h
1149 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1151 * include/debug/safe_local_iterator.h
1152 (_Safe_local_iterator<>::operator->()): Likewise.
1154 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1156 * testsuite/experimental/memory_resource/1.cc: Add required argument
1157 to dg-require-atomic-builtins.
1159 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1162 * include/debug/bitset: Add #pragma GCC system_header.
1163 * include/debug/deque: Likewise.
1164 * include/debug/list: Likewise.
1165 * include/debug/map: Likewise.
1166 * include/debug/set: Likewise.
1167 * include/debug/string: Likewise.
1168 * include/debug/unordered_map: Likewise.
1169 * include/debug/unordered_set: Likewise.
1170 * include/debug/vector: Likewise.
1171 * include/debug/functions.h: Adjust whitespace.
1173 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1176 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1178 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1181 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1182 exception constructors with __sso_string parameters.
1184 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1186 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1187 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1188 Test begin and end functions.
1189 * testsuite/experimental/filesystem/iterators/
1190 recursive_directory_iterator.cc: Likewise.
1193 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1194 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1196 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1197 Overload operator* to move from rvalues.
1200 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1201 * testsuite/experimental/filesystem/operations/create_directory.cc:
1205 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1206 base path to exception.
1207 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1208 paths contained in exception.
1210 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1214 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1216 (directory_iterator::operator++(int)): Return proxy.
1217 (recursive_directory_iterator::operator++(int)): Likewise.
1218 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1219 Test post-increment.
1220 * testsuite/experimental/filesystem/iterators/
1221 recursive_directory_iterator.cc: Likewise.
1223 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1226 * testsuite/experimental/filesystem/iterators/
1227 recursive_directory_iterator.cc: Fix test02 to not call member
1228 functions on invalid iterator, and use VERIFY not assert.
1230 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1232 Avoid endless run-time recursion for copying single-element
1233 tuples where the element type is by-value constructible
1235 * include/std/tuple (_NotSameTuple): New.
1236 * include/std/tuple (tuple(_UElements&&...): Use it.
1237 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1239 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1242 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1243 Initialize scalar member variables in default constructor.
1244 * testsuite/experimental/filesystem/iterators/
1245 recursive_directory_iterator.cc: Test default construction.
1247 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1249 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1251 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1253 * testsuite/experimental/filesystem/path/native/string.cc: Add
1254 dg-require-filesystem-ts directive.
1256 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1259 * include/experimental/memory_resource
1260 (__resource_adaptor_imp::do_allocate): Do not default-construct
1262 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1263 allocator_traits to get pointer type.
1264 (__null_memory_resource::do_allocate): Remove unused parameters.
1265 (__null_memory_resource::do_deallocate): Likewise.
1266 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1267 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1268 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1270 * testsuite/experimental/memory_resource/1.cc: Here.
1271 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1272 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1274 2016-04-29 Chris Gregory <czipperz@gmail.com>
1276 * config/*: Remove trailing whitespace.
1278 * testsuite/tr1/*: Likewise.
1279 * testsuite/util/*: Likewise.
1281 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1284 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1286 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1288 * include/std/atomic (atomic<_Tp>): Likewise.
1289 * include/std/shared_mutex (shared_lock): Likewise.
1290 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1291 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1292 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1293 * testsuite/29_atomics/atomic/70766.cc: New test.
1294 * testsuite/30_threads/shared_lock/70766.cc: New test.
1296 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1297 __detail::_Insert): Improve comments.
1299 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1302 * include/std/limits: Update comments about DRs.
1303 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1304 numeric_limits<const volatile _Tp>): Define unconditionally.
1306 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1309 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1310 static counter to return a different path on every call.
1312 2016-04-22 Tim Shen <timshen@google.com>
1315 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1316 Fix the match_not_bow and match_not_eow behavior.
1317 * testsuite/28_regex/regression.cc: Add testcase.
1319 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1322 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1323 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1325 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1328 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
1329 Override endianness bit in mode.
1330 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1331 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1332 that little_endian mode is ignored.
1333 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1336 * src/filesystem/ops.cc (close_fd): New function.
1337 (do_copy_file): Set permissions before copying file contents. Check
1338 result of closing file descriptors. Don't copy streambuf when file
1340 (copy(const path&, const path&, copy_options, error_code&)): Use
1341 lstat for source file when copy_symlinks is set.
1342 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1344 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1345 operator~ operator&=, operator|=, operator^=): Add noexcept to
1346 overloaded operators for copy_options, perms and directory_options.
1347 * src/filesystem/ops.cc (make_file_type, make_file_status,
1348 is_not_found_errno, file_time): Add noexcept.
1350 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1352 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1354 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1357 * include/bits/random.h: Reword static assertion messages to state
1358 positive conditions.
1359 * include/bits/random.tcc: Likewise.
1360 * include/bits/uniform_int_dist.h: Likewise.
1361 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1364 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1366 * config/cpu/sh/atomicity.h: Fix typo in comment.
1369 * include/std/thread (operator<, operator==): Move definitions to
1371 * testsuite/30_threads/thread/id/70294.cc: New test.
1373 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1374 -Wno-pedantic to dg-options.
1375 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1376 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1378 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1379 Remove extra semi-colon.
1380 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1381 Always supply second argument to static_assert.
1382 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1384 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1386 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1387 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1388 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1389 alignof when operand is an object not a type.
1390 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1391 * testsuite/decimal/make-decimal.cc: Likewise.
1392 * testsuite/experimental/type_traits/value.cc: Always supply second
1393 argument to static_assert.
1394 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1397 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1399 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1400 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1401 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1402 Likewise. Add licence and change to compile-only test.
1404 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1406 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1408 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1411 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1413 * include/bits/specfun.h: Trivial comment misspelling.
1415 2016-04-14 Jason Merrill <jason@redhat.com>
1417 Revert Jonathan's empty ABI change from yesterday.
1419 2016-04-13 Martin Sebor <msebor@redhat.com>
1422 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1423 upper bound is positive.
1425 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1427 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1428 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1429 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1430 of functions taking empty structs by value. Add a template parameter
1431 to overloads without hints. Rename overloads with hints to
1433 (_Hashtable::_M_erase(true_type, const_iterator),
1434 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1435 by reordering parameters.
1436 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1437 _M_emplace_hint instead of _M_emplace.
1438 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1439 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1440 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1441 __shared_ptr): Likewise.
1442 * include/bits/stl_algo.h (replace_if): Likewise.
1443 * include/bits/stl_pair.h (piecewise_construct_t,
1444 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1445 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1446 __uses_alloc0): Likewise.
1447 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1448 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1449 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1450 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1451 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1452 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1453 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1455 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1457 Document C++17/TR29124 C++ Special Math Functions.
1458 * include/bits/specfun.h: Add Doxygen markup.
1460 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1462 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1464 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1466 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1467 * src/Makefile.in: Regenerate.
1469 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
1472 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1473 __atomic_fetch_add for bool.
1474 * configure: Regenerate.
1476 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1479 * src/c++11/thread.cc (execute_native_thread_routine,
1480 execute_native_thread_routine_compat): Give internal linkage.
1481 * testsuite/30_threads/thread/70503.cc: New test.
1483 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1486 * include/bits/stl_pair.h (_ConstructiblePair,
1487 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1488 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1489 for same-type cases.
1490 * testsuite/20_util/pair/70437.cc: New.
1492 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
1495 * config/abi/pre/gnu.ver: Add new symbol.
1496 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1497 * testsuite/18_support/free_eh_pool.cc: New test.
1499 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1501 * include/Makefile.am (install-freestanding-headers): Add
1502 concept_check.h and move.h to the installed headers.
1503 * include/Makefile.in: Regenerated.
1504 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1505 freestanding implementations.
1506 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1507 that this macro has no effect for freestanding implementations.
1508 * doc/html/manual/using_macros.html: Likewise.
1510 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
1513 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1515 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
1517 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1518 * doc/html/*: Regenerate.
1521 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1522 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1523 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1524 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1525 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1526 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1527 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1529 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1530 namespace before including TR1 headers.
1531 * testsuite/tr1/headers/c++200x/math.cc: New test.
1533 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1536 * include/c_global/cstdarg: Undefine __need___va_list.
1537 * include/c_global/cstddef: Undefine all kinds of __need_*.
1539 2016-02-16 Tim Shen <timshen@google.com>
1542 * include/bits/regex_scanner.h: Add different special character
1543 sets for grep and egrep regex.
1544 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1545 * testsuite/28_regex/regression.cc: Add new testcase.
1547 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
1549 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1550 added 'constexpr' in previous commit.
1551 * configure: Regenerate.
1554 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1555 checks for all targets except *-*-solaris2.* and ensure we find the
1556 libc math.h header not our own.
1557 * configure: Regenerate.
1559 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1561 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1562 New file. Copied over from s390-linux-gnu.
1564 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
1567 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1568 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1569 * config.h.in: Regenerate.
1570 * configure: Regenerate.
1571 * testsuite/21_strings/c_strings/char/69626.cc: New.
1573 * doc/html/index.html: Regenerate.
1575 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1576 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1577 * doc/html/*: Regenerate.
1579 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1582 * include/c_compatibility/math.h: Move header guards.
1583 * include/c_compatibility/stdlib.h: Likewise.
1585 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1588 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1590 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
1593 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1594 isinf and isnan functions into two independent checks. Check on hpux.
1595 * config.h.in: Regenerate.
1596 * configure: Regenerate.
1597 * include/c_global/cmath (isinf(double), isnan(double)): Use
1598 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1601 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1603 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1605 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
1608 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1609 -ffp-contract=off, and -ffloat-store to disable excess precision.
1610 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1613 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
1616 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1617 random_access_iterator_tag>): Check is_move_assignable when moving.
1618 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1620 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1621 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1622 * testsuite/25_algorithms/move/69478.cc: New.
1623 * testsuite/25_algorithms/move_backward/69478.cc: new.
1625 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1627 * include/c_compatibility/stdlib.h: Include wide character related
1628 definitions only when they are available in cstdlib.
1630 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
1633 * include/Makefile.am: Add new header.
1634 * include/Makefile.in: Regenerate.
1635 * include/bits/random.h (uniform_int_distribution): Move to
1636 bits/uniform_int_dist.h.
1637 * include/bits/random.tcc (uniform_int_distribution::operator(),
1638 uniform_int_distribution::__generate_impl): Likewise.
1639 * include/bits/uniform_int_dist.h: New header.
1640 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1641 <bits/uniform_int_dist.h> instead of <random>.
1642 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1643 move_iterators/1.cc: Include correct header for uninitialized_copy.
1644 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1645 move_iterators/1.cc: Likewise.
1646 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1648 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1650 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
1653 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1655 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1657 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1658 * include/c_compatibility/math.h: Import the TR29124 functions
1659 into the global namespace.
1660 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1661 xfail and make compile-only.
1662 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1663 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1664 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1665 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1666 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1667 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1668 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1669 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1670 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1671 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1672 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1673 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1674 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1675 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1676 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1677 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1678 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1679 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1680 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1681 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1683 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
1686 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1687 define result_type for types which can be safely used with valarrays.
1688 * testsuite/26_numerics/valarray/69116.cc: New.
1691 * config/os/gnu-linux/os_defines.h: Define
1692 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1693 * include/c_global/cmath (isinf, isnan): Check it.
1694 * doc/xml/manual/internals.xml: Document it.
1695 * doc/html/*: Regenerate.
1697 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
1700 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1701 * include/ext/type_traits.h: Likewise.
1702 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1703 for presence of C headers.
1704 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1705 dg-error line number.
1706 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1707 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1708 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1710 2016-01-20 Torvald Riegel <triegel@redhat.com>
1713 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1715 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
1718 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1719 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1720 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1721 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1722 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1723 Add using declarations.
1724 * testsuite/26_numerics/headers/cmath/60401.cc: New.
1727 * include/c_global/ccomplex: Ensure C++ language linkage.
1728 * include/c_global/cmath: Likewise.
1729 * include/c_global/cstdlib: Likewise.
1730 * include/c_global/ctgmath: Likewise.
1731 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
1733 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
1737 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
1738 --enable-cheaders=c_global configs.
1739 * include/Makefile.in: Regenerate.
1740 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
1741 test and allow inclusion from C files.
1742 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
1743 (at_quick_exit, quick_exit): Add using directives.
1744 * include/c_global/cmath: Use #include_next for math.h.
1745 * include/c_global/cstdlib: Use #include_next for stdlib.h.
1746 * testsuite/26_numerics/headers/cmath/14608.cc: New.
1747 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1748 Remove xfail for most targets.
1749 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
1751 2016-01-18 Torvald Riegel <triegel@redhat.com>
1753 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
1754 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
1755 and move after its definition.
1756 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
1757 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
1758 __GXX_WEAK__, and only provide transactional clones if
1759 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
1762 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
1765 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1768 * include/std/functional (_Function_base::_M_not_empty_function):
1769 Change overloads for pointers to take arguments by value.
1770 * testsuite/20_util/function/cons/57465.cc: Add tests for
1771 pointer-to-member cases.
1774 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1775 Use macros for exception handling and fix unused parameter warning.
1777 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
1780 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1782 2016-01-17 Torvald Riegel <triegel@redhat.com>
1784 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1786 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1788 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1791 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1794 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
1795 static assertion that type is constructible from the arguments.
1796 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
1797 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
1798 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1801 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1802 and isnan on AIX. Quote variables.
1803 * configure: Regenerate.
1805 2016-01-15 Torvald Riegel <triegel@redhat.com>
1807 * include/bits/basic_string.h (basic_string): Declare friends.
1808 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
1809 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
1810 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
1811 length_error, out_of_range, runtime_error, range_error,
1812 underflow_error, overflow_error): Declare members as transaction-safe.
1813 (logic_error, runtime_error): Declare friend functions.
1814 * libsupc++/exception (exception, bad_exception): Declare members as
1816 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
1817 transaction-safe members of exceptions and helper functions.
1818 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
1819 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
1820 (CXXABI_1.3.10): New.
1821 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
1822 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
1823 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
1824 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
1825 * include/Makefile.in: Regenerate.
1826 * config.h.in: Regenerate.
1827 * configure: Regenerate.
1828 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
1830 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
1832 * include/ext/random.tcc: Use __builtin_isfinite instead of
1835 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1837 * include/bits/std_mutex.h: Fix Doxygen @file name.
1839 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1840 Jonathan Wakely <jwakely@redhat.com>
1841 Florian Goth <CaptainSifff@gmx.de>
1843 Implement TR29124 C++ special Math Functions.
1844 * include/Makefile.am: Add new headers.
1845 * include/Makefile.in: Regenerate.
1846 * include/bits/specfun.h: New.
1847 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
1848 * include/tr1/bessel_function.tcc: Ditto.
1849 * include/tr1/beta_function.tcc: Ditto.
1850 * include/tr1/cmath: Ditto.
1851 * include/tr1/ell_integral.tcc: Ditto.
1852 * include/tr1/exp_integral.tcc: Ditto.
1853 * include/tr1/gamma.tcc: Ditto.
1854 * include/tr1/hypergeometric.tcc: Ditto.
1855 * include/tr1/legendre_function.tcc: Ditto.
1856 * include/tr1/modified_bessel_func.tcc: Ditto.
1857 * include/tr1/poly_hermite.tcc: Ditto.
1858 * include/tr1/poly_laguerre.tcc: Ditto.
1859 * include/tr1/riemann_zeta.tcc: Ditto.
1860 * include/tr1/special_function_util.h: Ditto.
1861 * testsuite/ext/special_functions/conf_hyperg: New.
1862 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
1863 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
1864 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
1865 * testsuite/ext/special_functions/hyperg: New.
1866 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
1867 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
1868 * testsuite/ext/special_functions/hyperg/compile.cc: New.
1869 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
1870 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
1871 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
1872 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
1873 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
1874 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
1875 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1876 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1877 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1878 * testsuite/special_functions/03_beta/check_nan.cc: New.
1879 * testsuite/special_functions/03_beta/check_value.cc: New.
1880 * testsuite/special_functions/03_beta/compile.cc: New.
1881 * testsuite/special_functions/03_beta/compile_2.cc: New.
1882 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1883 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1884 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1885 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1886 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1887 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1888 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1889 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1890 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1891 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1892 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1893 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1894 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1895 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1896 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1897 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1898 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1899 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1900 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1901 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1902 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1903 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1904 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1905 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1906 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1907 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1908 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1909 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1910 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1911 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1912 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1913 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1914 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1915 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1916 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1917 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1918 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1919 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1920 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1921 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1922 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1923 * testsuite/special_functions/14_expint/check_nan.cc: New.
1924 * testsuite/special_functions/14_expint/check_value.cc: New.
1925 * testsuite/special_functions/14_expint/compile.cc: New.
1926 * testsuite/special_functions/14_expint/compile_2.cc: New.
1927 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1928 * testsuite/special_functions/15_hermite/check_value.cc: New.
1929 * testsuite/special_functions/15_hermite/compile.cc: New.
1930 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1931 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1932 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1933 * testsuite/special_functions/16_laguerre/compile.cc: New.
1934 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1935 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1936 * testsuite/special_functions/17_legendre/check_value.cc: New.
1937 * testsuite/special_functions/17_legendre/compile.cc: New.
1938 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1939 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1940 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1941 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1942 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1943 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1944 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1945 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1946 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1947 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1948 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1949 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1950 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1951 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1952 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1953 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1954 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1955 * testsuite/util/specfun_testcase.h: New.
1956 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1957 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1958 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1959 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1960 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1961 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1962 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1964 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1967 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1968 and isnan functions.
1969 * config.h.in: Regenerate.
1970 * configure: Regenerate.
1971 * include/c_global/cmath (isinf(double), isnan(double))
1972 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1973 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1975 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1978 * configure.host (abi_baseline_pair): Use separate baseline for
1979 Solaris 11+ and Solaris 10 with gld.
1980 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1981 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1982 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1984 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1987 * include/std/type_traits: Following N4511, reimplement __is_swappable
1988 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1989 adjust callers. Use __is_nothrow_swappable in swap.
1990 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1991 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1992 __is_swappable related tests.
1993 * testsuite/20_util/is_swappable/value.cc: New.
1994 * testsuite/20_util/is_swappable/requirements/
1995 explicit_instantiation.cc: New.
1996 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1997 * testsuite/25_algorithms/swap/68877.cc: New.
1999 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2001 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2005 * include/std/functional (function::_Invoke): Remove, use result_of.
2006 (function::_Callable): Replace alias template with class template
2007 and use partial specialization instead of _NotSelf alias template.
2008 (function(_Functor)): Add "not self" constraint so that _Callable is
2009 not used while type is incomplete.
2010 * testsuite/20_util/function/69222.cc: New.
2012 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2015 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2016 Define partial specialization.
2017 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2018 destroy members to std::allocator explicit specialization.
2020 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2022 * testsuite/26_numerics/headers/cmath/
2023 c99_classification_macros_c++.cc: Rename to ...
2024 * testsuite/26_numerics/headers/cmath/
2025 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2026 * testsuite/26_numerics/headers/cmath/
2027 c99_classification_macros_c++0x.cc: Rename to ...
2028 * testsuite/26_numerics/headers/cmath/
2029 c99_classification_macros_c++11.cc: Here.
2032 * include/bits/uses_allocator.h: Add missing include.
2034 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2039 * include/bits/stl_iterator.h (back_insert_iterator,
2040 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2041 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2042 * include/std/future (__future::base::_State_baseV2::__setter):
2044 * include/std/scoped_allocator (__outermost): Likewise.
2045 * testsuite/20_util/scoped_allocator/69114.cc: New.
2046 * testsuite/20_util/uses_allocator/69114.cc: New.
2047 * testsuite/30_threads/promise/69106.cc: New.
2049 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2052 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2053 Remove _GLIBCXX_NOEXCEPT.
2054 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2056 * include/Makefile.am: Adjust.
2057 * include/Makefile.in: Regenerate.
2058 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2059 * include/std/condition_variable: Adjust include.
2060 * include/std/mutex: Likewise.
2062 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2064 Update copyright years.
2066 Copyright (C) 2016 Free Software Foundation, Inc.
2068 Copying and distribution of this file, with or without modification,
2069 are permitted in any medium without royalty provided the copyright
2070 notice and this notice are preserved.