1 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
3 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
4 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
5 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
7 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
9 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
10 * doc/html/manual/abi.html: Regenerate.
12 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
13 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
15 * configure: Regenerate.
16 * testsuite/util/testsuite_abi.cc: Add new symbol version.
18 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
19 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
20 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
21 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
23 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
24 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
25 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
27 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
29 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
30 Adjust dg-prune-output pattern for error in C++98 mode.
31 * testsuite/23_containers/deque/requirements/dr438/
32 constructor_1_neg.cc: Likewise.
33 * testsuite/23_containers/deque/requirements/dr438/
34 constructor_2_neg.cc: Likewise.
35 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
37 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
39 * testsuite/23_containers/list/requirements/dr438/
40 constructor_1_neg.cc: Likewise.
41 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
43 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
45 * testsuite/23_containers/vector/requirements/dr438/
46 constructor_1_neg.cc: Likewise.
47 * testsuite/23_containers/vector/requirements/dr438/
48 constructor_2_neg.cc: Likewise.
49 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
52 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
53 for different construct/destroy counts in C++98 mode.
55 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
56 dg-options to dg-additional-options so that default options are used.
57 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
59 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
60 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
62 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
63 Use dg-additional-options instead of repeating the common options.
65 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
66 dg-do compile directive.
67 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
69 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
71 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
73 Implement std::string_view and P0254r2,
74 Integrating std::string_view and std::string.
75 * include/Makefile.am: Add string_view and string_view.tcc
76 to the exported headers.
77 * include/Makefile.in: Likewise.
78 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
80 (basic_string(__sv_type, const _Alloc&)): Likewise.
81 (operator=(__sv_type)): Likewise.
82 (operator __sv_type()): Likewise.
83 (operator+=(__sv_type)): Likewise.
84 (append(__sv_type __sv)): Likewise.
85 (append(__sv_type, size_type, size_type)): Likewise.
86 (assign(__sv_type)): Likewise.
87 (assign(__sv_type, size_type, size_type)): Likewise.
88 (insert(size_type, __sv_type)): Likewise.
89 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
90 (replace(size_type, size_type, __sv_type)): Likewise.
91 (replace(size_type, size_type, __sv_type, size_type, size_type)):
93 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
94 (find(__sv_type, size_type)): Likewise.
95 (rfind(__sv_type, size_type)): Likewise.
96 (find_first_of(__sv_type, size_type)): Likewise.
97 (find_last_of(__sv_type, size_type)): Likewise.
98 (find_first_not_of(__sv_type, size_type)): Likewise.
99 (find_last_not_of(__sv_type, size_type)): Likewise.
100 (compare(__sv_type)): Likewise.
101 (compare(size_type, size_type, __sv_type)): Likewise.
102 (compare(size_type, size_type, __sv_type, size_type, size_type)):
104 * include/bits/string_view.tcc: New.
105 * include/std/string_view: Likewise.
106 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
107 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
108 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
110 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
112 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
114 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
116 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
118 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
120 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
122 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
124 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
126 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
128 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
130 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
132 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
133 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
134 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
135 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
136 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
137 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
138 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
139 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
140 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
141 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
143 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
145 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
147 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
149 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
151 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
153 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
155 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
157 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
158 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
159 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
160 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
161 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
163 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
165 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
167 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
169 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
171 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
173 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
175 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
177 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
179 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
181 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
183 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
185 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
187 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
189 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
191 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
193 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
195 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
197 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
199 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
201 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
203 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
205 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
207 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
209 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
211 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
213 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
215 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
217 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
219 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
221 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
223 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
225 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
227 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
228 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
230 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
232 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
234 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
236 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
238 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
240 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
242 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
244 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
246 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
247 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
249 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
251 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
253 2016-07-25 Georeth Chow <georeth2010@gmail.com>
255 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
256 _S_concat enumerator.
257 * testsuite/ext/rope/6.cc: New test.
259 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
261 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
262 std::mt19937, std::thread and std::atomic to simplify test.
263 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
265 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
268 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
269 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
270 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
271 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
272 * testsuite/23_containers/set/allocator/71964.cc: New test.
274 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
275 delete[] instead of delete.
277 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
279 * include/experimental/propagate_const (propagate_const::__t): Rename
280 to _M_t and remove comment. Qualify std::move and std::forward.
281 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
283 * testsuite/23_containers/vector/zero_sized_allocations.cc:
284 Define sized deallocation function.
285 * testsuite/util/testsuite_new_operators.h:
286 (operator delete(void*, const std::nothrow_t&)): Define nothrow
287 deallocation function.
289 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
290 reads past the end of strings.
291 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
293 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
294 invalid array accesses.
295 * testsuite/experimental/string_view/operations/compare/char/1.cc:
296 Fix read past the end of string.
297 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
299 * testsuite/24_iterators/container_access.cc: Fix missing returns.
300 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
302 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
303 leak) memory for arguments to placement delete.
304 * testsuite/20_util/addressof/1.cc: Don't leak memory.
305 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
306 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
309 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
311 * doc/xml/manual/intro.xml: Document DR 2684 status.
312 * doc/html/*: Regenerate.
314 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
315 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
316 (atomic_uint64_t): Define (LWG 2441).
317 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
319 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
321 * doc/xml/manual/intro.xml: Document DR 2441 status.
323 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
324 to use perfect forwarding (LWG 2328).
325 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
326 * doc/xml/manual/intro.xml: Document DR 2328 status.
328 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
329 static objects for catching nullptr as pointer to member types.
331 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
333 Clean up optional's comments.
334 * include/std/optional: Remove incorrect section headers
335 from comments when redundant, replace bare section
336 headers with more descriptive comments.
338 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
340 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
341 * include/bits/move.h: Likewise.
342 * include/bits/postypes.h: Likewise.
343 * include/debug/bitset: Likewise.
344 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
345 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
347 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
348 * testsuite/util/thread/all.h: Likewise.
350 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
354 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
355 nullptr match handlers of pointer type.
357 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
359 Implement C++17 P0025 clamp.
360 * include/bits/algorithmfwd.h: Declare clamp overloads.
361 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
362 * testsuite/25_algorithms/clamp/1.cc: New test.
363 * testsuite/25_algorithms/clamp/2.cc: New test.
364 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
365 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
367 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
370 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
372 Fix the constraints for any's assignment operator template to properly
373 reject assignment from a non-copyable lvalue.
374 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
375 type for is_copy_constructible,
376 * testsuite/20_util/any/requirements.cc: Add a test for
377 non-copyable lvalues.
379 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
381 * include/experimental/functional: Include <parallel/algorithm> in
384 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
388 * include/bits/forward_list.h (forward_list): Update doxygen comments
389 to reflect allocator propagation semantics. Remove ambiguous
390 statements about data being lost.
391 * include/bits/stl_deque.h (deque): Likewise.
392 * include/bits/stl_list.h (list): Likewise.
393 * include/bits/stl_map.h (map): Likewise.
394 * include/bits/stl_multimap.h (multimap): Likewise.
395 * include/bits/stl_multiset.h (multiset): Likewise.
396 * include/bits/stl_set.h (set): Likewise.
397 * include/bits/stl_vector.h (vector): Likewise.
398 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
400 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
403 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
405 Implement P0032R3, Homogeneous interface for variant, any and optional,
406 for the parts concerning any and optional.
407 * include/std/any (_Storage()): Make constexpr and have it
409 (any()): Make constexpr.
410 (any(const any&)): Adjust.
411 (any(any&&)): Likewise.
412 (__any_constructible_t): New.
413 (any(_ValueType&&)): Constrain.
414 (any(in_place_type_t<_Tp>, _Args&&...)): New.
415 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
418 (operator=(const any&)): Likewise.
419 (operator=(any&&)): Likewise.
420 (operator=(_ValueType&&)): Constrain.
421 (emplace(_Args&&...)): New.
422 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
425 (swap(any&)): Adjust.
429 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
430 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
431 (make_any(_Args&&...)): Likewise.
432 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
433 * include/std/optional (in_place_t, in_place): Remove.
434 (bad_optional_access): Add a comment referring to LEWG 72.
435 (emplace(_Args&&...)): Constrain.
438 (make_optional(_Args&&...)): Likewise.
439 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
440 * include/std/utility (in_place_tag): New.
441 (__in_place, __in_place_type, __in_place_index): Likewise.
442 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
443 (in_place(__in_place*)): Likewise.
444 (in_place(__in_place_type<_Tp>*)): Likewise.
445 (in_place(__in_place_index<_Idx>*)): Likewise.
446 * testsuite/20_util/any/assign/1.cc: Adjust.
447 * testsuite/20_util/any/assign/emplace.cc: New.
448 * testsuite/20_util/any/assign/self.cc: Adjust.
449 * testsuite/20_util/any/cons/1.cc: Likewise.
450 * testsuite/20_util/any/cons/in_place.cc: New.
451 * testsuite/20_util/any/make_any.cc: Likewise.
452 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
453 * testsuite/20_util/any/misc/swap.cc: Likewise.
454 * testsuite/20_util/any/modifiers/1.cc: Likewise.
455 * testsuite/20_util/any/requirements.cc: New.
456 * testsuite/20_util/in_place/requirements.cc: Likewise.
457 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
458 * testsuite/20_util/optional/in_place.cc: Likewise.
459 * testsuite/20_util/optional/make_optional.cc: Add tests for
460 the new overloads of make_optional.
462 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
464 Implement P0307R2, Making Optional Greater Equal Again.
465 * include/experimental/optional (_Has_addressof): Fix the comment.
466 * include/std/optional (_Has_addressof): Likewise.
467 (operator=(_Up&&)): Constrain.
468 (operator=(const optional<_Up>&)): Likewise.
469 (operator=(optional<_Up>&&)): Likewise.
470 (__optional_relop_t): New.
471 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
472 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
473 Constrain and make transparent.
474 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
475 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
476 Constrain and make transparent.
477 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
478 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
479 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
480 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
481 (operator!=(const optional<_Tp>&, _Tp const&)):
482 Constrain and make transparent.
483 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
484 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
485 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
486 (operator>(const optional<_Tp>&, const _Tp&)):
487 Constrain and make transparent.
488 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
489 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
490 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
491 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
492 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
493 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
494 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
495 * testsuite/20_util/optional/relops/1.cc: Likewise.
496 * testsuite/20_util/optional/relops/2.cc: Likewise.
497 * testsuite/20_util/optional/relops/3.cc: Likewise.
498 * testsuite/20_util/optional/relops/4.cc: Likewise.
499 * testsuite/20_util/optional/requirements.cc: Add tests to verify
500 that optional's relops are transparent and don't synthesize
501 operators. Also test that assignment sfinaes.
503 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
506 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
507 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
508 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
509 on _GLIBCXX_ASSERTIONS.
510 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
511 Include <unistd.h> for sleep.
512 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
513 * include/parallel/merge.h: Likewise.
514 * include/parallel/multiway_merge.h: Likewise.
515 * include/parallel/partition.h: Likewise.
516 * include/parallel/queue.h: Likewise.
517 * include/parallel/sort.h: Likewise.
518 * testsuite/25_algorithms/headers/algorithm/
519 parallel_algorithm_assert.cc: New.
521 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
522 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
523 Forward to different overload.
525 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
528 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
530 Revert "Add non-const overload of std::string::data()".
532 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
534 Implement P0307R2, Making Optional Greater Equal Again.
535 * include/experimental/optional (_Has_addressof): Fix the comment.
536 * include/std/optional (_Has_addressof): Likewise.
537 (operator=(_Up&&)): Constrain.
538 (operator=(const optional<_Up>&)): Likewise.
539 (operator=(optional<_Up>&&)): Likewise.
540 (__optional_relop_t): New.
541 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
542 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
543 Constrain and make transparent.
544 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
545 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
546 Constrain and make transparent.
547 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
548 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
549 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
550 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
551 (operator!=(const optional<_Tp>&, _Tp const&)):
552 Constrain and make transparent.
553 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
554 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
555 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
556 (operator>(const optional<_Tp>&, const _Tp&)):
557 Constrain and make transparent.
558 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
559 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
560 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
561 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
562 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
563 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
564 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
565 * testsuite/20_util/optional/relops/1.cc: Likewise.
566 * testsuite/20_util/optional/relops/2.cc: Likewise.
567 * testsuite/20_util/optional/relops/3.cc: Likewise.
568 * testsuite/20_util/optional/relops/4.cc: Likewise.
569 * testsuite/20_util/optional/requirements.cc: Add tests to verify
570 that optional's relops are transparent and don't synthesize
571 operators. Also test that assignment sfinaes.
573 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
575 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
577 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
578 instead of _M_data().
579 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
581 (append(const basic_string&)): Likewise.
582 (append(const basic_string&, size_type, size_type)): Likewise.
583 (assign(const basic_string&, size_type, size_type)): Likewise.
584 (insert(size_type, const basic_string&)): Likewise.
585 (insert(size_type, const basic_string&, size_type, size_type)):
587 (replace(size_type, size_type, const basic_string&, size_type,
588 size_type)): Likewise.
589 (replace(__const_iterator, __const_iterator, const basic_string&)):
591 (c_str(), data()): Use c_str() instead of _M_data().
592 (data()): Add non-const overload as per LWG 2391 and P0272R1.
593 (compare(const basic_string&)): Use data() instead of _M_data().
594 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
595 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
596 Pass raw pointers to _S_copy.
597 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
599 (find(const _CharT*, size_type, size_type)): Use data instead of
601 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
602 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
603 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
605 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
607 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
608 * doc/xml/manual/intro.xml: Document DR 2458 status.
609 * doc/html*: Regenerate.
611 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
612 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
613 Only include <array>.
614 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
616 * doc/xml/manual/intro.xml: Document LWG 2212 support.
617 * doc/html*: Regenerate.
619 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
620 Add testcase from LWG 2164.
622 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
624 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
625 to _M_realloc_insert.
626 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
627 (_M_realloc_insert): Declare new function.
628 (_M_emplace_back_aux): Remove definition.
629 * include/bits/vector.tcc (emplace_back(_Args...)):
630 Use _M_realloc_insert.
631 (insert(const_iterator, const value_type&)): Likewise.
632 (_M_insert_rval, _M_emplace_aux): Likewise.
633 (_M_emplace_back_aux): Remove declaration.
634 (_M_realloc_insert): Define.
635 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
636 Adjust expected results for emplacing an lvalue with reallocation.
638 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
640 Implement std::optional.
641 * include/Makefile.am: Add optional to exported headers.
642 * include/Makefile.in: Likewise.
643 * include/std/optional: New.
644 * testsuite/20_util/optional/typedefs.cc: Likewise.
645 * testsuite/20_util/optional/relops/2.cc: Likewise.
646 * testsuite/20_util/optional/relops/3.cc: Likewise.
647 * testsuite/20_util/optional/relops/4.cc: Likewise.
648 * testsuite/20_util/optional/relops/5.cc: Likewise.
649 * testsuite/20_util/optional/relops/1.cc: Likewise.
650 * testsuite/20_util/optional/relops/6.cc: Likewise.
651 * testsuite/20_util/optional/nullopt.cc: Likewise.
652 * testsuite/20_util/optional/in_place.cc: Likewise.
653 * testsuite/20_util/optional/make_optional.cc: Likewise.
654 * testsuite/20_util/optional/assignment/2.cc: Likewise.
655 * testsuite/20_util/optional/assignment/3.cc: Likewise.
656 * testsuite/20_util/optional/assignment/4.cc: Likewise.
657 * testsuite/20_util/optional/assignment/5.cc: Likewise.
658 * testsuite/20_util/optional/assignment/1.cc: Likewise.
659 * testsuite/20_util/optional/assignment/6.cc: Likewise.
660 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
661 * testsuite/20_util/optional/cons/default.cc: Likewise.
662 * testsuite/20_util/optional/cons/move.cc: Likewise.
663 * testsuite/20_util/optional/cons/value.cc: Likewise.
664 * testsuite/20_util/optional/cons/copy.cc: Likewise.
665 * testsuite/20_util/optional/requirements.cc: Likewise.
666 * testsuite/20_util/optional/observers/2.cc: Likewise.
667 * testsuite/20_util/optional/observers/3.cc: Likewise.
668 * testsuite/20_util/optional/observers/4.cc: Likewise.
669 * testsuite/20_util/optional/observers/5.cc: Likewise.
670 * testsuite/20_util/optional/observers/1.cc: Likewise.
671 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
672 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
673 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
674 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
675 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
676 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
677 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
678 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
679 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
680 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
681 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
682 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
683 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
684 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
685 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
686 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
687 * testsuite/20_util/optional/swap/1.cc: Likewise.
689 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
691 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
693 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
695 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
696 * doc/html/*: Regenerate.
698 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
701 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
702 * include/Makefile.in: Likewise.
703 * include/std/any: New.
704 * testsuite/20_util/any/assign/1.cc: Likewise.
705 * testsuite/20_util/any/assign/2.cc: Likewise.
706 * testsuite/20_util/any/assign/self.cc: Likewise.
707 * testsuite/20_util/any/cons/1.cc: Likewise.
708 * testsuite/20_util/any/cons/2.cc: Likewise.
709 * testsuite/20_util/any/cons/aligned.cc: Likewise.
710 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
711 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
712 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
713 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
714 * testsuite/20_util/any/misc/swap.cc: Likewise.
715 * testsuite/20_util/any/modifiers/1.cc: Likewise.
716 * testsuite/20_util/any/observers/type.cc: Likewise.
717 * testsuite/20_util/any/typedefs.cc: Likewise.
719 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
721 Add a new header for diagnosing the use of C++17 facilities
723 * include/bits/c++17_warning.h: New.
725 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
727 Implement LWG 2451, optional<T> should 'forward' T's
728 implicit conversions.
729 * include/experimental/optional (__is_optional_impl, __is_optional):
731 (optional()): Make constexpr and default.
732 (optional(_Up&&), optional(const optional<_Up>&),
733 optional(optional<_Up>&& __t): New.
734 (operator=(_Up&&)): Constrain.
735 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
736 * testsuite/experimental/optional/cons/value.cc:
737 Add tests for the functionality added by LWG 2451.
738 * testsuite/experimental/optional/cons/value_neg.cc: New.
740 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
743 any_cast doesn't work with rvalue reference targets and cannot
744 move with a value target.
745 * include/experimental/any (any(_ValueType&&)): Constrain and
746 add an overload that doesn't forward.
747 (any_cast(any&&)): Constrain and add an overload that moves.
748 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
749 the functionality added by LWG 2509.
751 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
753 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
755 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
758 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
760 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
761 Define inline. Forward to _M_emplace_aux.
762 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
763 (_M_insert_rval, _M_emplace_aux): Declare new functions.
764 (_Temporary_value): New RAII type using allocator to construct/destroy.
765 (_S_insert_aux_assign): Remove.
766 (_M_insert_aux): Make non-variadic.
767 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
768 Use _Temporary_value.
769 (emplace(const_iterator, _Args&&...)): Remove definition.
770 (_M_insert_rval, _M_emplace_aux): Define.
771 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
772 (_M_fill_insert): Use _Temporary_value.
773 * testsuite/23_containers/vector/allocator/construction.cc: New test.
774 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
775 Adjust expected results for emplacing an lvalue with reallocation.
776 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
777 expected results to account for construction/destruction of temporary
779 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
781 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
784 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
785 Call remove_all for children of a directory.
786 * testsuite/experimental/filesystem/operations/create_directories.cc:
789 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
791 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
792 dg-error line numbers.
793 * testsuite/23_containers/array/tuple_interface/
794 tuple_element_debug_neg.cc: Likewise.
795 * testsuite/25_algorithms/lexicographical_compare/debug/
796 irreflexive_neg.cc: Remove.
798 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
800 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
801 than specific target.
803 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
806 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
809 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
811 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
814 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
816 * configure.host: Remove mep-* support.
818 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
820 * configure: Regenerate.
821 * configure.host: Remove support for knetbsd.
822 * crossconfig.m4: Likewise.
824 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
827 * include/tr1/hashtable_policy.h
828 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
829 dereferenceable to avoid check on lower_bound result.
830 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
831 (_Prime_rehash_policy::_M_need_rehash): Likewise.
832 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
833 Always return a value greater than input value. Set _M_next_resize to
834 max value when reaching highest prime number.
835 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
837 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
838 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
840 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
841 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
844 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
847 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
848 Remove irreflexive checks.
849 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
850 binary_search): Likewise.
851 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
852 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
853 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
854 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
855 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
856 Add constructor from array.
858 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
860 * include/debug/debug.h
861 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
862 (__glibcxx_requires_subscript): Move...
863 * include/debug/assertions.h: ...here and add __builtin_expect.
864 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
865 * include/bits/stl_deque.h
866 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
867 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
868 (std::deque<>::back()): Likewise.
869 (std::deque<>::pop_front()): Likewise.
870 (std::deque<>::pop_back()): Likewise.
871 (std::deque<>::swap(deque&)): Add allocator check.
872 * include/bits/stl_vector.h
873 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
874 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
875 (std::vector<>::back()): Likewise.
876 (std::vector<>::pop_back()): Likewise.
877 (std::vector<>::swap(vector&)): Add allocator check.
879 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
881 Provide swappable traits (p0185r1)
882 * include/std/type_traits (is_swappable, is_nothrow_swappable,
883 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
884 is_nothrow_swappable_v, is_swappable_with_v,
885 is_nothrow_swappable_with_v): New.
886 * include/bits/stl_pair.h: Use it as per p0185r1.
887 * include/bits/stl_queue.h: Likewise.
888 * include/bits/stl_stack.h: Likewise.
889 * include/bits/unique_ptr.h: Likewise.
890 * include/std/tuple: Likewise.
891 * include/std/array: Likewise. Fix zero-size member swap.
892 * include/bits/hashtable.h: Use __and_.
893 * testsuite/20_util/is_nothrow_swappable/requirements/
894 explicit_instantiation.cc: Change test options to std=gnu++17.
895 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
897 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
898 * testsuite/20_util/is_swappable/requirements/
899 explicit_instantiation.cc: Likewise.
900 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
901 * testsuite/20_util/is_swappable/value.cc: Likewise.
902 * testsuite/20_util/is_nothrow_swappable/requirements/
903 explicit_instantiation_ext.cc: New.
904 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
906 * testsuite/20_util/is_nothrow_swappable/value.h: New.
907 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
908 * testsuite/20_util/is_nothrow_swappable_with/requirements/
909 explicit_instantiation.cc: New.
910 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
912 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
913 * testsuite/20_util/is_swappable/requirements/
914 explicit_instantiation_ext.cc: New.
915 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
916 * testsuite/20_util/is_swappable/value.h: New.
917 * testsuite/20_util/is_swappable/value_ext.cc: New.
918 * testsuite/20_util/is_swappable_with/requirements/
919 explicit_instantiation.cc: New.
920 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
921 * testsuite/20_util/is_swappable_with/value.cc: New.
922 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
923 dg-error line numbers.
924 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
927 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
929 * include/std/array: Remove trailing whitespace.
930 * include/std/atomic: Likewise.
931 * include/std/bitset: Likewise.
932 * include/std/chrono: Likewise.
933 * include/std/complex: Likewise.
934 * include/std/condition_variable: Likewise.
935 * include/std/fstream: Likewise.
936 * include/std/functional: Likewise.
937 * include/std/future: Likewise.
938 * include/std/iomanip: Likewise.
939 * include/std/iosfwd: Likewise.
940 * include/std/istream: Likewise.
941 * include/std/limits: Likewise.
942 * include/std/ratio: Likewise.
943 * include/std/scoped_allocator: Likewise.
944 * include/std/sstream: Likewise.
945 * include/std/stdexcept: Likewise.
946 * include/std/string: Likewise.
947 * include/std/system_error: Likewise.
948 * include/std/thread: Likewise.
949 * include/std/tuple: Likewise.
950 * include/std/type_traits: Likewise.
951 * include/std/utility: Likewise.
952 * include/std/valarray: Likewise.
953 * include/std/vector: Likewise.
955 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
956 new overloaded functions.
957 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
958 to avoid creating a redundant temporary.
959 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
962 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
964 * include/bits/stl_deque.h
965 (std::deque<>::operator=): Call _M_assign_aux.
966 (std::deque<>::assign(initializer_list<>)): Likewise.
967 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
968 (std::deque<>::insert(const_iterator, initializer_list<>)):
969 Call _M_range_insert_aux.
970 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
972 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
973 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
974 * include/bits/deque.tcc
975 (std::deque<>::operator=): Call _M_range_insert_aux.
976 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
978 * include/bits/stl_vector.h
979 (std::vector<>::operator=): Call _M_assign_aux.
980 (std::vector<>::assign(initializer_list<>)): Likewise.
981 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
982 (std::vector<>::insert(const_iterator, initializer_list<>)):
983 Call _M_range_insert.
984 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
986 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
988 * include/std/tuple (_Head_base<>): Default specialization condition at
991 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
993 Support allocators in tuples of zero size.
994 * include/std/tuple (tuple<>::tuple(),
995 tuple<>::tuple(allocator_arg_t, const _Alloc&),
996 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
997 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
999 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1002 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1003 Add or remove permissions according to perms argument.
1004 * testsuite/experimental/filesystem/operations/permissions.cc: New
1007 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1009 Protect allocator-overloads of tuple-from-tuple constructors
1010 from cases that would create dangling references.
1011 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1012 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1013 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1014 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1016 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1018 * doc/xml/manual/backwards_compatibility.xml: Adjust
1019 lists.debian.org link to https.
1020 * doc/html/manual/backwards.html: Regenerate.
1022 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1024 * doc/xml/manual/abi.xml: Adjust URL to use https.
1025 * doc/html/manual/*: Regenerate.
1027 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1030 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1031 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1032 check for _NotSameTuple.
1033 * include/std/tuple (_TMCT): New.
1034 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1035 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1036 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1037 const tuple<_UElements...>&)): Likewise.
1038 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1039 tuple<_UElements...>&&)): Likewise.
1040 * testsuite/20_util/tuple/cons/66338.cc: New.
1042 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1044 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1045 * configure: Regenerate.
1046 * config.h.in: Regenerate.
1048 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1049 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1050 Remove const qualification on function. Replace
1051 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1052 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1053 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1055 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1057 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1058 * include/bits/hashtable_policy.h
1059 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1060 having load factor management.
1061 (_Mask_range_hashing): New.
1063 (_Power2_rehash_policy): New.
1064 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1065 partial specializations only depend on whether iterators are constant
1067 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1068 test new hash policy.
1069 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1071 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1073 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1075 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1077 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1079 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1080 using the new hash policy.
1081 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1083 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1085 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1087 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1089 * include/debug/safe_iterator.h
1090 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1092 * include/debug/safe_local_iterator.h
1093 (_Safe_local_iterator<>::operator->()): Likewise.
1095 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1097 * testsuite/experimental/memory_resource/1.cc: Add required argument
1098 to dg-require-atomic-builtins.
1100 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1103 * include/debug/bitset: Add #pragma GCC system_header.
1104 * include/debug/deque: Likewise.
1105 * include/debug/list: Likewise.
1106 * include/debug/map: Likewise.
1107 * include/debug/set: Likewise.
1108 * include/debug/string: Likewise.
1109 * include/debug/unordered_map: Likewise.
1110 * include/debug/unordered_set: Likewise.
1111 * include/debug/vector: Likewise.
1112 * include/debug/functions.h: Adjust whitespace.
1114 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1117 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1119 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1122 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1123 exception constructors with __sso_string parameters.
1125 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1127 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1128 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1129 Test begin and end functions.
1130 * testsuite/experimental/filesystem/iterators/
1131 recursive_directory_iterator.cc: Likewise.
1134 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1135 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1137 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1138 Overload operator* to move from rvalues.
1141 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1142 * testsuite/experimental/filesystem/operations/create_directory.cc:
1146 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1147 base path to exception.
1148 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1149 paths contained in exception.
1151 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1155 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1157 (directory_iterator::operator++(int)): Return proxy.
1158 (recursive_directory_iterator::operator++(int)): Likewise.
1159 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1160 Test post-increment.
1161 * testsuite/experimental/filesystem/iterators/
1162 recursive_directory_iterator.cc: Likewise.
1164 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1167 * testsuite/experimental/filesystem/iterators/
1168 recursive_directory_iterator.cc: Fix test02 to not call member
1169 functions on invalid iterator, and use VERIFY not assert.
1171 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1173 Avoid endless run-time recursion for copying single-element
1174 tuples where the element type is by-value constructible
1176 * include/std/tuple (_NotSameTuple): New.
1177 * include/std/tuple (tuple(_UElements&&...): Use it.
1178 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1180 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1183 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1184 Initialize scalar member variables in default constructor.
1185 * testsuite/experimental/filesystem/iterators/
1186 recursive_directory_iterator.cc: Test default construction.
1188 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1190 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1192 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1194 * testsuite/experimental/filesystem/path/native/string.cc: Add
1195 dg-require-filesystem-ts directive.
1197 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1200 * include/experimental/memory_resource
1201 (__resource_adaptor_imp::do_allocate): Do not default-construct
1203 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1204 allocator_traits to get pointer type.
1205 (__null_memory_resource::do_allocate): Remove unused parameters.
1206 (__null_memory_resource::do_deallocate): Likewise.
1207 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1208 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1209 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1211 * testsuite/experimental/memory_resource/1.cc: Here.
1212 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1213 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1215 2016-04-29 Chris Gregory <czipperz@gmail.com>
1217 * config/*: Remove trailing whitespace.
1219 * testsuite/tr1/*: Likewise.
1220 * testsuite/util/*: Likewise.
1222 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1225 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1227 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1229 * include/std/atomic (atomic<_Tp>): Likewise.
1230 * include/std/shared_mutex (shared_lock): Likewise.
1231 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1232 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1233 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1234 * testsuite/29_atomics/atomic/70766.cc: New test.
1235 * testsuite/30_threads/shared_lock/70766.cc: New test.
1237 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1238 __detail::_Insert): Improve comments.
1240 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1243 * include/std/limits: Update comments about DRs.
1244 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1245 numeric_limits<const volatile _Tp>): Define unconditionally.
1247 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1250 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1251 static counter to return a different path on every call.
1253 2016-04-22 Tim Shen <timshen@google.com>
1256 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1257 Fix the match_not_bow and match_not_eow behavior.
1258 * testsuite/28_regex/regression.cc: Add testcase.
1260 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1263 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1264 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1266 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1269 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
1270 Override endianness bit in mode.
1271 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1272 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1273 that little_endian mode is ignored.
1274 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1277 * src/filesystem/ops.cc (close_fd): New function.
1278 (do_copy_file): Set permissions before copying file contents. Check
1279 result of closing file descriptors. Don't copy streambuf when file
1281 (copy(const path&, const path&, copy_options, error_code&)): Use
1282 lstat for source file when copy_symlinks is set.
1283 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1285 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1286 operator~ operator&=, operator|=, operator^=): Add noexcept to
1287 overloaded operators for copy_options, perms and directory_options.
1288 * src/filesystem/ops.cc (make_file_type, make_file_status,
1289 is_not_found_errno, file_time): Add noexcept.
1291 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1293 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1295 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1298 * include/bits/random.h: Reword static assertion messages to state
1299 positive conditions.
1300 * include/bits/random.tcc: Likewise.
1301 * include/bits/uniform_int_dist.h: Likewise.
1302 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1305 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1307 * config/cpu/sh/atomicity.h: Fix typo in comment.
1310 * include/std/thread (operator<, operator==): Move definitions to
1312 * testsuite/30_threads/thread/id/70294.cc: New test.
1314 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1315 -Wno-pedantic to dg-options.
1316 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1317 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1319 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1320 Remove extra semi-colon.
1321 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1322 Always supply second argument to static_assert.
1323 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1325 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1327 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1328 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1329 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1330 alignof when operand is an object not a type.
1331 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1332 * testsuite/decimal/make-decimal.cc: Likewise.
1333 * testsuite/experimental/type_traits/value.cc: Always supply second
1334 argument to static_assert.
1335 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1338 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1340 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1341 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1342 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1343 Likewise. Add licence and change to compile-only test.
1345 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1347 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1349 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1352 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1354 * include/bits/specfun.h: Trivial comment misspelling.
1356 2016-04-14 Jason Merrill <jason@redhat.com>
1358 Revert Jonathan's empty ABI change from yesterday.
1360 2016-04-13 Martin Sebor <msebor@redhat.com>
1363 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1364 upper bound is positive.
1366 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1368 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1369 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1370 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1371 of functions taking empty structs by value. Add a template parameter
1372 to overloads without hints. Rename overloads with hints to
1374 (_Hashtable::_M_erase(true_type, const_iterator),
1375 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1376 by reordering parameters.
1377 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1378 _M_emplace_hint instead of _M_emplace.
1379 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1380 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1381 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1382 __shared_ptr): Likewise.
1383 * include/bits/stl_algo.h (replace_if): Likewise.
1384 * include/bits/stl_pair.h (piecewise_construct_t,
1385 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1386 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1387 __uses_alloc0): Likewise.
1388 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1389 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1390 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1391 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1392 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1393 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1394 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1396 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1398 Document C++17/TR29124 C++ Special Math Functions.
1399 * include/bits/specfun.h: Add Doxygen markup.
1401 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1403 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1405 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1407 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1408 * src/Makefile.in: Regenerate.
1410 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
1413 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1414 __atomic_fetch_add for bool.
1415 * configure: Regenerate.
1417 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1420 * src/c++11/thread.cc (execute_native_thread_routine,
1421 execute_native_thread_routine_compat): Give internal linkage.
1422 * testsuite/30_threads/thread/70503.cc: New test.
1424 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1427 * include/bits/stl_pair.h (_ConstructiblePair,
1428 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1429 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1430 for same-type cases.
1431 * testsuite/20_util/pair/70437.cc: New.
1433 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
1436 * config/abi/pre/gnu.ver: Add new symbol.
1437 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1438 * testsuite/18_support/free_eh_pool.cc: New test.
1440 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1442 * include/Makefile.am (install-freestanding-headers): Add
1443 concept_check.h and move.h to the installed headers.
1444 * include/Makefile.in: Regenerated.
1445 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1446 freestanding implementations.
1447 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1448 that this macro has no effect for freestanding implementations.
1449 * doc/html/manual/using_macros.html: Likewise.
1451 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
1454 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1456 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
1458 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1459 * doc/html/*: Regenerate.
1462 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1463 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1464 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1465 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1466 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1467 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1468 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1470 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1471 namespace before including TR1 headers.
1472 * testsuite/tr1/headers/c++200x/math.cc: New test.
1474 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1477 * include/c_global/cstdarg: Undefine __need___va_list.
1478 * include/c_global/cstddef: Undefine all kinds of __need_*.
1480 2016-02-16 Tim Shen <timshen@google.com>
1483 * include/bits/regex_scanner.h: Add different special character
1484 sets for grep and egrep regex.
1485 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1486 * testsuite/28_regex/regression.cc: Add new testcase.
1488 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
1490 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1491 added 'constexpr' in previous commit.
1492 * configure: Regenerate.
1495 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1496 checks for all targets except *-*-solaris2.* and ensure we find the
1497 libc math.h header not our own.
1498 * configure: Regenerate.
1500 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1502 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1503 New file. Copied over from s390-linux-gnu.
1505 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
1508 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1509 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1510 * config.h.in: Regenerate.
1511 * configure: Regenerate.
1512 * testsuite/21_strings/c_strings/char/69626.cc: New.
1514 * doc/html/index.html: Regenerate.
1516 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1517 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1518 * doc/html/*: Regenerate.
1520 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1523 * include/c_compatibility/math.h: Move header guards.
1524 * include/c_compatibility/stdlib.h: Likewise.
1526 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1529 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1531 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
1534 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1535 isinf and isnan functions into two independent checks. Check on hpux.
1536 * config.h.in: Regenerate.
1537 * configure: Regenerate.
1538 * include/c_global/cmath (isinf(double), isnan(double)): Use
1539 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1542 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1544 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1546 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
1549 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1550 -ffp-contract=off, and -ffloat-store to disable excess precision.
1551 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1554 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
1557 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1558 random_access_iterator_tag>): Check is_move_assignable when moving.
1559 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1561 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1562 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1563 * testsuite/25_algorithms/move/69478.cc: New.
1564 * testsuite/25_algorithms/move_backward/69478.cc: new.
1566 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1568 * include/c_compatibility/stdlib.h: Include wide character related
1569 definitions only when they are available in cstdlib.
1571 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
1574 * include/Makefile.am: Add new header.
1575 * include/Makefile.in: Regenerate.
1576 * include/bits/random.h (uniform_int_distribution): Move to
1577 bits/uniform_int_dist.h.
1578 * include/bits/random.tcc (uniform_int_distribution::operator(),
1579 uniform_int_distribution::__generate_impl): Likewise.
1580 * include/bits/uniform_int_dist.h: New header.
1581 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1582 <bits/uniform_int_dist.h> instead of <random>.
1583 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1584 move_iterators/1.cc: Include correct header for uninitialized_copy.
1585 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1586 move_iterators/1.cc: Likewise.
1587 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1589 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1591 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
1594 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1596 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1598 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1599 * include/c_compatibility/math.h: Import the TR29124 functions
1600 into the global namespace.
1601 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1602 xfail and make compile-only.
1603 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1604 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1605 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1606 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1607 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1608 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1609 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1610 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1611 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1612 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1613 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1614 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1615 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1616 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1617 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1618 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1619 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1620 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1621 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1622 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1624 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
1627 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1628 define result_type for types which can be safely used with valarrays.
1629 * testsuite/26_numerics/valarray/69116.cc: New.
1632 * config/os/gnu-linux/os_defines.h: Define
1633 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1634 * include/c_global/cmath (isinf, isnan): Check it.
1635 * doc/xml/manual/internals.xml: Document it.
1636 * doc/html/*: Regenerate.
1638 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
1641 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1642 * include/ext/type_traits.h: Likewise.
1643 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1644 for presence of C headers.
1645 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1646 dg-error line number.
1647 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1648 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1649 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1651 2016-01-20 Torvald Riegel <triegel@redhat.com>
1654 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1656 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
1659 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1660 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1661 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1662 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1663 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1664 Add using declarations.
1665 * testsuite/26_numerics/headers/cmath/60401.cc: New.
1668 * include/c_global/ccomplex: Ensure C++ language linkage.
1669 * include/c_global/cmath: Likewise.
1670 * include/c_global/cstdlib: Likewise.
1671 * include/c_global/ctgmath: Likewise.
1672 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
1674 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
1678 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
1679 --enable-cheaders=c_global configs.
1680 * include/Makefile.in: Regenerate.
1681 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
1682 test and allow inclusion from C files.
1683 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
1684 (at_quick_exit, quick_exit): Add using directives.
1685 * include/c_global/cmath: Use #include_next for math.h.
1686 * include/c_global/cstdlib: Use #include_next for stdlib.h.
1687 * testsuite/26_numerics/headers/cmath/14608.cc: New.
1688 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1689 Remove xfail for most targets.
1690 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
1692 2016-01-18 Torvald Riegel <triegel@redhat.com>
1694 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
1695 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
1696 and move after its definition.
1697 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
1698 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
1699 __GXX_WEAK__, and only provide transactional clones if
1700 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
1703 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
1706 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1709 * include/std/functional (_Function_base::_M_not_empty_function):
1710 Change overloads for pointers to take arguments by value.
1711 * testsuite/20_util/function/cons/57465.cc: Add tests for
1712 pointer-to-member cases.
1715 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1716 Use macros for exception handling and fix unused parameter warning.
1718 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
1721 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1723 2016-01-17 Torvald Riegel <triegel@redhat.com>
1725 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1727 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1729 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1732 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1735 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
1736 static assertion that type is constructible from the arguments.
1737 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
1738 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
1739 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1742 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1743 and isnan on AIX. Quote variables.
1744 * configure: Regenerate.
1746 2016-01-15 Torvald Riegel <triegel@redhat.com>
1748 * include/bits/basic_string.h (basic_string): Declare friends.
1749 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
1750 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
1751 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
1752 length_error, out_of_range, runtime_error, range_error,
1753 underflow_error, overflow_error): Declare members as transaction-safe.
1754 (logic_error, runtime_error): Declare friend functions.
1755 * libsupc++/exception (exception, bad_exception): Declare members as
1757 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
1758 transaction-safe members of exceptions and helper functions.
1759 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
1760 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
1761 (CXXABI_1.3.10): New.
1762 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
1763 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
1764 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
1765 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
1766 * include/Makefile.in: Regenerate.
1767 * config.h.in: Regenerate.
1768 * configure: Regenerate.
1769 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
1771 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
1773 * include/ext/random.tcc: Use __builtin_isfinite instead of
1776 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1778 * include/bits/std_mutex.h: Fix Doxygen @file name.
1780 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1781 Jonathan Wakely <jwakely@redhat.com>
1782 Florian Goth <CaptainSifff@gmx.de>
1784 Implement TR29124 C++ special Math Functions.
1785 * include/Makefile.am: Add new headers.
1786 * include/Makefile.in: Regenerate.
1787 * include/bits/specfun.h: New.
1788 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
1789 * include/tr1/bessel_function.tcc: Ditto.
1790 * include/tr1/beta_function.tcc: Ditto.
1791 * include/tr1/cmath: Ditto.
1792 * include/tr1/ell_integral.tcc: Ditto.
1793 * include/tr1/exp_integral.tcc: Ditto.
1794 * include/tr1/gamma.tcc: Ditto.
1795 * include/tr1/hypergeometric.tcc: Ditto.
1796 * include/tr1/legendre_function.tcc: Ditto.
1797 * include/tr1/modified_bessel_func.tcc: Ditto.
1798 * include/tr1/poly_hermite.tcc: Ditto.
1799 * include/tr1/poly_laguerre.tcc: Ditto.
1800 * include/tr1/riemann_zeta.tcc: Ditto.
1801 * include/tr1/special_function_util.h: Ditto.
1802 * testsuite/ext/special_functions/conf_hyperg: New.
1803 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
1804 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
1805 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
1806 * testsuite/ext/special_functions/hyperg: New.
1807 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
1808 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
1809 * testsuite/ext/special_functions/hyperg/compile.cc: New.
1810 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
1811 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
1812 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
1813 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
1814 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
1815 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
1816 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1817 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1818 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1819 * testsuite/special_functions/03_beta/check_nan.cc: New.
1820 * testsuite/special_functions/03_beta/check_value.cc: New.
1821 * testsuite/special_functions/03_beta/compile.cc: New.
1822 * testsuite/special_functions/03_beta/compile_2.cc: New.
1823 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1824 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1825 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1826 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1827 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1828 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1829 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1830 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1831 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1832 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1833 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1834 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1835 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1836 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1837 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1838 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1839 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1840 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1841 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1842 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1843 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1844 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1845 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1846 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1847 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1848 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1849 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1850 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1851 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1852 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1853 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1854 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1855 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1856 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1857 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1858 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1859 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1860 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1861 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1862 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1863 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1864 * testsuite/special_functions/14_expint/check_nan.cc: New.
1865 * testsuite/special_functions/14_expint/check_value.cc: New.
1866 * testsuite/special_functions/14_expint/compile.cc: New.
1867 * testsuite/special_functions/14_expint/compile_2.cc: New.
1868 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1869 * testsuite/special_functions/15_hermite/check_value.cc: New.
1870 * testsuite/special_functions/15_hermite/compile.cc: New.
1871 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1872 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1873 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1874 * testsuite/special_functions/16_laguerre/compile.cc: New.
1875 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1876 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1877 * testsuite/special_functions/17_legendre/check_value.cc: New.
1878 * testsuite/special_functions/17_legendre/compile.cc: New.
1879 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1880 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1881 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1882 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1883 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1884 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1885 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1886 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1887 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1888 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1889 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1890 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1891 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1892 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1893 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1894 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1895 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1896 * testsuite/util/specfun_testcase.h: New.
1897 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1898 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1899 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1900 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1901 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1902 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1903 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1905 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1908 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1909 and isnan functions.
1910 * config.h.in: Regenerate.
1911 * configure: Regenerate.
1912 * include/c_global/cmath (isinf(double), isnan(double))
1913 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1914 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1916 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1919 * configure.host (abi_baseline_pair): Use separate baseline for
1920 Solaris 11+ and Solaris 10 with gld.
1921 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1922 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1923 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1925 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1928 * include/std/type_traits: Following N4511, reimplement __is_swappable
1929 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1930 adjust callers. Use __is_nothrow_swappable in swap.
1931 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1932 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1933 __is_swappable related tests.
1934 * testsuite/20_util/is_swappable/value.cc: New.
1935 * testsuite/20_util/is_swappable/requirements/
1936 explicit_instantiation.cc: New.
1937 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1938 * testsuite/25_algorithms/swap/68877.cc: New.
1940 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
1942 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1946 * include/std/functional (function::_Invoke): Remove, use result_of.
1947 (function::_Callable): Replace alias template with class template
1948 and use partial specialization instead of _NotSelf alias template.
1949 (function(_Functor)): Add "not self" constraint so that _Callable is
1950 not used while type is incomplete.
1951 * testsuite/20_util/function/69222.cc: New.
1953 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
1956 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1957 Define partial specialization.
1958 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1959 destroy members to std::allocator explicit specialization.
1961 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
1963 * testsuite/26_numerics/headers/cmath/
1964 c99_classification_macros_c++.cc: Rename to ...
1965 * testsuite/26_numerics/headers/cmath/
1966 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
1967 * testsuite/26_numerics/headers/cmath/
1968 c99_classification_macros_c++0x.cc: Rename to ...
1969 * testsuite/26_numerics/headers/cmath/
1970 c99_classification_macros_c++11.cc: Here.
1973 * include/bits/uses_allocator.h: Add missing include.
1975 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
1980 * include/bits/stl_iterator.h (back_insert_iterator,
1981 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
1982 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
1983 * include/std/future (__future::base::_State_baseV2::__setter):
1985 * include/std/scoped_allocator (__outermost): Likewise.
1986 * testsuite/20_util/scoped_allocator/69114.cc: New.
1987 * testsuite/20_util/uses_allocator/69114.cc: New.
1988 * testsuite/30_threads/promise/69106.cc: New.
1990 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
1993 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1994 Remove _GLIBCXX_NOEXCEPT.
1995 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1997 * include/Makefile.am: Adjust.
1998 * include/Makefile.in: Regenerate.
1999 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2000 * include/std/condition_variable: Adjust include.
2001 * include/std/mutex: Likewise.
2003 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2005 Update copyright years.
2007 Copyright (C) 2016 Free Software Foundation, Inc.
2009 Copying and distribution of this file, with or without modification,
2010 are permitted in any medium without royalty provided the copyright
2011 notice and this notice are preserved.