]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Check __STRICT_ANSI__ for 128-bit arithmetic types
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
2
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:
12 Likewise.
13 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
14 Likewise.
15
16 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
17
18 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
19
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:
55 Likewise.
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.
59
60 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
61
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.
65
66 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
67
68 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
69 * doc/html/manual/abi.html: Regenerate.
70
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
73 symbols.
74 * configure: Regenerate.
75 * testsuite/util/testsuite_abi.cc: Add new symbol version.
76
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:
81 Likewise.
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.
85
86 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
87
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:
95 Likewise.
96 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
97 Likewise.
98 * testsuite/23_containers/list/requirements/dr438/
99 constructor_1_neg.cc: Likewise.
100 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
101 Likewise.
102 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
103 Likewise.
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:
109 Likewise.
110
111 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
112 for different construct/destroy counts in C++98 mode.
113
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:
117 Likewise.
118 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
119 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
120 Likewise.
121 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
122 Use dg-additional-options instead of repeating the common options.
123
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
127 dg-do directive.
128 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
129
130 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
131
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.
138 (__sv_type): New.
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)):
151 Likewise.
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)):
162 Likewise.
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:
168 Likewise.
169 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
170 Likewise.
171 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
172 Likewise.
173 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
174 Likewise.
175 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
176 Likewise.
177 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
178 Likewise.
179 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
180 Likewise.
181 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
182 Likewise.
183 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
184 Likewise.
185 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
186 Likewise.
187 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
188 Likewise.
189 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
190 Likewise.
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:
201 Likewise.
202 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
203 Likewise.
204 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
205 Likewise.
206 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
207 Likewise.
208 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
209 Likewise.
210 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
211 Likewise.
212 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
213 Likewise.
214 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
215 Likewise.
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:
221 Likewise.
222 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
223 Likewise.
224 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
225 Likewise.
226 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
227 Likewise.
228 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
229 Likewise.
230 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
231 Likewise.
232 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
233 Likewise.
234 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
235 Likewise.
236 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
237 Likewise.
238 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
239 Likewise.
240 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
241 Likewise.
242 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
243 Likewise.
244 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
245 Likewise.
246 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
247 Likewise.
248 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
249 Likewise.
250 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
251 Likewise.
252 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
253 Likewise.
254 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
255 Likewise.
256 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
257 Likewise.
258 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
259 Likewise.
260 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
261 Likewise.
262 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
263 Likewise.
264 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
265 Likewise.
266 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
267 Likewise.
268 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
269 Likewise.
270 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
271 Likewise.
272 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
273 Likewise.
274 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
275 Likewise.
276 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
277 Likewise.
278 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
279 Likewise.
280 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
281 Likewise.
282 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
283 Likewise.
284 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
285 Likewise.
286 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
287 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
288 Likewise.
289 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
290 Likewise.
291 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
292 Likewise.
293 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
294 Likewise.
295 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
296 Likewise.
297 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
298 Likewise.
299 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
300 Likewise.
301 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
302 Likewise.
303 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
304 Likewise.
305 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
306 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
307
308 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
309
310 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
311
312 2016-07-25 Georeth Chow <georeth2010@gmail.com>
313
314 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
315 _S_concat enumerator.
316 * testsuite/ext/rope/6.cc: New test.
317
318 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
319
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.
323
324 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
325
326 PR libstdc++/71964
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.
332
333 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
334 delete[] instead of delete.
335
336 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
337
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.
341
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.
347
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:
351 Likewise.
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.
357
358 * testsuite/24_iterators/container_access.cc: Fix missing returns.
359 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
360
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:
366 Likewise.
367
368 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
369
370 * doc/xml/manual/intro.xml: Document DR 2684 status.
371 * doc/html/*: Regenerate.
372
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
377 lines.
378 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
379 the new types.
380 * doc/xml/manual/intro.xml: Document DR 2441 status.
381
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.
386
387 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
388 static objects for catching nullptr as pointer to member types.
389
390 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
391
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.
396
397 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
398
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
405 comment.
406 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
407 * testsuite/util/thread/all.h: Likewise.
408
409 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
410 and adjust comment.
411
412 PR c++/58796
413 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
414 nullptr match handlers of pointer type.
415
416 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
417
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/
425 1.cc: New test.
426 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
427 pod.cc: New test.
428
429 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
430
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.
437
438 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
439
440 * include/experimental/functional: Include <parallel/algorithm> in
441 Parallel Mode.
442
443 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
444 for std::search.
445
446 PR libstdc++/70716
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):
458 Likewise.
459 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
460 Likewise.
461
462 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
463
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
467 initialize _M_ptr.
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&&...)):
475 Likewise.
476 (~any()): Adjust.
477 (operator=(const any&)): Likewise.
478 (operator=(any&&)): Likewise.
479 (operator=(_ValueType&&)): Constrain.
480 (emplace(_Args&&...)): New.
481 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
482 (clear()): Remove.
483 (reset()): New.
484 (swap(any&)): Adjust.
485 (empty()): Remove.
486 (has_value()): New.
487 (type()): 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.
495 (has_value()): New.
496 (reset()): Likewise.
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.
520
521 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
522
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.
561
562 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
563
564 PR libstdc++/71856
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.
579
580 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
581 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
582 Forward to different overload.
583
584 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
585 static.
586
587 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
588
589 Revert "Add non-const overload of std::string::data()".
590
591 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
592
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.
631
632 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
633
634 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
635 New function.
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&)):
639 Likewise.
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)):
645 Likewise.
646 (replace(size_type, size_type, const basic_string&, size_type,
647 size_type)): Likewise.
648 (replace(__const_iterator, __const_iterator, const basic_string&)):
649 Likewise.
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
657 _S_assign.
658 (find(const _CharT*, size_type, size_type)): Use data instead of
659 _M_data().
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.
663
664 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
665
666 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
667 * doc/xml/manual/intro.xml: Document DR 2458 status.
668 * doc/html*: Regenerate.
669
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:
674 Likewise.
675 * doc/xml/manual/intro.xml: Document LWG 2212 support.
676 * doc/html*: Regenerate.
677
678 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
679 Add testcase from LWG 2164.
680
681 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
682
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.
696
697 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
698
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.
747
748 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
749
750 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
751
752 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
753
754 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
755 * doc/html/*: Regenerate.
756
757 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
758
759 Implement std::any.
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.
777
778 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
779
780 Add a new header for diagnosing the use of C++17 facilities
781 in pre-C++17 modes.
782 * include/bits/c++17_warning.h: New.
783
784 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
785
786 Implement LWG 2451, optional<T> should 'forward' T's
787 implicit conversions.
788 * include/experimental/optional (__is_optional_impl, __is_optional):
789 New.
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.
798
799 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
800
801 Implement LWG 2509,
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.
809
810 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
811
812 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
813 New test.
814 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
815 test.
816
817 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
818
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
837 using allocator.
838 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
839
840 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
841
842 PR libstdc++/71313
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:
846 Adjust.
847
848 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
849
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.
856
857 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
858
859 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
860 than specific target.
861
862 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
863
864 PR libstdc++/71640
865 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
866 friend declaration.
867
868 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
869
870 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
871 zero-size array.
872
873 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
874
875 * configure.host: Remove mep-* support.
876
877 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
878
879 * configure: Regenerate.
880 * configure.host: Remove support for knetbsd.
881 * crossconfig.m4: Likewise.
882
883 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
884
885 PR libstdc++/71181
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
895 being now useless.
896 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
897 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
898 (test02): New.
899 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
900 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
901 Fix indentation.
902
903 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
904
905 PR libstdc++/71545
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.
916
917 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
918
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.
937
938 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
939
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:
955 Likewise.
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:
964 New.
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:
970 New.
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:
984 Likewise.
985
986 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
987
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.
1013
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
1019 test.
1020
1021 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1022
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):
1030 Likewise.
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)):
1036 Likewise.
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.
1044
1045 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1046
1047 * include/std/tuple (_Head_base<>): Default specialization condition at
1048 type declaration.
1049
1050 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1051
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.
1057
1058 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1059
1060 PR libstdc++/71320
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
1064 test.
1065
1066 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1067
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.
1074
1075 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1076
1077 * doc/xml/manual/backwards_compatibility.xml: Adjust
1078 lists.debian.org link to https.
1079 * doc/html/manual/backwards.html: Regenerate.
1080
1081 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
1082
1083 * doc/xml/manual/abi.xml: Adjust URL to use https.
1084 * doc/html/manual/*: Regenerate.
1085
1086 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1087
1088 PR libstdc++/66338
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.
1100
1101 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
1102
1103 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1104 * configure: Regenerate.
1105 * config.h.in: Regenerate.
1106
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.
1113
1114 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
1115
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.
1121 (__clp2): 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
1125 or not.
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:
1129 Likewise.
1130 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1131 Likewise.
1132 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1133 Likewise.
1134 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1135 Likewise.
1136 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1137 New.
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.
1141
1142 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
1143
1144 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1145
1146 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
1147
1148 * include/debug/safe_iterator.h
1149 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1150 operator ->.
1151 * include/debug/safe_local_iterator.h
1152 (_Safe_local_iterator<>::operator->()): Likewise.
1153
1154 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1155
1156 * testsuite/experimental/memory_resource/1.cc: Add required argument
1157 to dg-require-atomic-builtins.
1158
1159 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
1160
1161 PR libstdc++/71073
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.
1172
1173 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
1174
1175 PR libstdc++/71081
1176 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1177
1178 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
1179
1180 PR libstdc++/71049
1181 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1182 exception constructors with __sso_string parameters.
1183
1184 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
1185
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.
1191
1192 PR libstdc++/71038
1193 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1194 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1195
1196 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1197 Overload operator* to move from rvalues.
1198
1199 PR libstdc++/71036
1200 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1201 * testsuite/experimental/filesystem/operations/create_directory.cc:
1202 New test.
1203
1204 PR libstdc++/71037
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.
1209
1210 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1211 using declaration.
1212
1213 PR libstdc++/71005
1214 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1215 New type.
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.
1222
1223 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1224
1225 PR libstdc++/71004
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.
1229
1230 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1231
1232 Avoid endless run-time recursion for copying single-element
1233 tuples where the element type is by-value constructible
1234 from any type.
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.
1238
1239 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
1240
1241 PR libstdc++/71004
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.
1246
1247 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1248
1249 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1250
1251 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
1252
1253 * testsuite/experimental/filesystem/path/native/string.cc: Add
1254 dg-require-filesystem-ts directive.
1255
1256 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
1257
1258 PR libstdc++/70940
1259 * include/experimental/memory_resource
1260 (__resource_adaptor_imp::do_allocate): Do not default-construct
1261 rebound allocator.
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
1269 move to ...
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.
1273
1274 2016-04-29 Chris Gregory <czipperz@gmail.com>
1275
1276 * config/*: Remove trailing whitespace.
1277 * src/*: Likewise.
1278 * testsuite/tr1/*: Likewise.
1279 * testsuite/util/*: Likewise.
1280
1281 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
1282
1283 PR libstdc++/70766
1284 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1285 __addressof.
1286 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1287 Likewise.
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.
1295
1296 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1297 __detail::_Insert): Improve comments.
1298
1299 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
1300
1301 PR libstdc++/70767
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.
1305
1306 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
1307
1308 PR libstdc++/70762
1309 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1310 static counter to return a different path on every call.
1311
1312 2016-04-22 Tim Shen <timshen@google.com>
1313
1314 PR libstdc++/70745
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.
1318
1319 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
1320
1321 PR libstdc++/69703
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.
1324
1325 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
1326
1327 PR libstdc++/69703
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.
1334
1335 PR libstdc++/70609
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
1339 is empty.
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().
1343
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.
1349
1350 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1351
1352 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1353
1354 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
1355
1356 PR libstdc++/41759
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
1362 patterns.
1363
1364 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1365
1366 * config/cpu/sh/atomicity.h: Fix typo in comment.
1367
1368 PR libstdc++/70294
1369 * include/std/thread (operator<, operator==): Move definitions to
1370 namespace-scope.
1371 * testsuite/30_threads/thread/id/70294.cc: New test.
1372
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
1377 to dg-options.
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
1383 semi-colon.
1384 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1385 dg-options.
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
1395 __int128 types.
1396
1397 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1398 internal header.
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.
1403
1404 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1405 unused parameter.
1406 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1407
1408 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1409 warnings.
1410
1411 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1412
1413 * include/bits/specfun.h: Trivial comment misspelling.
1414
1415 2016-04-14 Jason Merrill <jason@redhat.com>
1416
1417 Revert Jonathan's empty ABI change from yesterday.
1418
1419 2016-04-13 Martin Sebor <msebor@redhat.com>
1420
1421 PR c++/69517
1422 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1423 upper bound is positive.
1424
1425 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
1426
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
1432 _M_emplace_hint.
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.
1454
1455 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1456
1457 Document C++17/TR29124 C++ Special Math Functions.
1458 * include/bits/specfun.h: Add Doxygen markup.
1459
1460 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
1461
1462 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1463
1464 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1465
1466 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1467 * src/Makefile.in: Regenerate.
1468
1469 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
1470
1471 PR libstdc++/70554
1472 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1473 __atomic_fetch_add for bool.
1474 * configure: Regenerate.
1475
1476 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1477
1478 PR libstdc++/70503
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.
1482
1483 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1484
1485 PR libstdc++/70437
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.
1491
1492 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
1493
1494 PR libstdc++/69945
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.
1498
1499 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1500
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.
1509
1510 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
1511
1512 PR libstdc++/69939
1513 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1514
1515 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
1516
1517 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1518 * doc/html/*: Regenerate.
1519
1520 PR libstdc++/69893
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]:
1528 Likewise.
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.
1532
1533 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1534
1535 PR libstdc++/69881
1536 * include/c_global/cstdarg: Undefine __need___va_list.
1537 * include/c_global/cstddef: Undefine all kinds of __need_*.
1538
1539 2016-02-16 Tim Shen <timshen@google.com>
1540
1541 PR libstdc++/69794
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.
1546
1547 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
1548
1549 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1550 added 'constexpr' in previous commit.
1551 * configure: Regenerate.
1552
1553 PR libstdc++/48891
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.
1558
1559 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1560
1561 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1562 New file. Copied over from s390-linux-gnu.
1563
1564 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
1565
1566 PR libstdc++/69626
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.
1572
1573 * doc/html/index.html: Regenerate.
1574
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.
1578
1579 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1580
1581 PR libstdc++/69581
1582 * include/c_compatibility/math.h: Move header guards.
1583 * include/c_compatibility/stdlib.h: Likewise.
1584
1585 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1586
1587 PR libstdc++/69506
1588 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1589
1590 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
1591
1592 PR libstdc++/69450
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,
1599 respectively.
1600
1601 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1602
1603 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1604
1605 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
1606
1607 PR libstdc++/69295
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
1611 -ffp-contract=off.
1612
1613 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
1614
1615 PR libstdc++/69478
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>):
1619 Likewise.
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.
1624
1625 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1626
1627 * include/c_compatibility/stdlib.h: Include wide character related
1628 definitions only when they are available in cstdlib.
1629
1630 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
1631
1632 PR libstdc++/69464
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
1647 header for vector.
1648 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1649
1650 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
1651
1652 PR libstdc++/69446
1653 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1654
1655 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1656
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.
1682
1683 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
1684
1685 PR libstdc++/69116
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.
1689
1690 PR libstdc++/69413
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.
1696
1697 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
1698
1699 PR libstdc++/69406
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.
1709
1710 2016-01-20 Torvald Riegel <triegel@redhat.com>
1711
1712 PR libstdc++/69310
1713 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1714
1715 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
1716
1717 PR libstdc++/60401
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.
1725
1726 PR libstdc++/69386
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.
1732
1733 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
1734
1735 PR libstdc++/14608
1736 PR libstdc++/60401
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.
1750
1751 2016-01-18 Torvald Riegel <triegel@redhat.com>
1752
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
1760 functions.
1761
1762 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
1763
1764 PR libstdc++/60637
1765 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1766
1767 PR libstdc++/69243
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.
1772
1773 PR libstdc++/69340
1774 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1775 Use macros for exception handling and fix unused parameter warning.
1776
1777 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
1778
1779 PR libstdc++/68734
1780 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1781
1782 2016-01-17 Torvald Riegel <triegel@redhat.com>
1783
1784 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1785
1786 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1787
1788 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1789 __int128 symbols.
1790
1791 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1792
1793 PR libstdc++/69293
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.
1799
1800 PR libstdc++/69294
1801 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1802 and isnan on AIX. Quote variables.
1803 * configure: Regenerate.
1804
1805 2016-01-15 Torvald Riegel <triegel@redhat.com>
1806
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
1815 transaction-safe.
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.
1829
1830 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
1831
1832 * include/ext/random.tcc: Use __builtin_isfinite instead of
1833 std::isfinite.
1834
1835 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
1836
1837 * include/bits/std_mutex.h: Fix Doxygen @file name.
1838
1839 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1840 Jonathan Wakely <jwakely@redhat.com>
1841 Florian Goth <CaptainSifff@gmx.de>
1842
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.
1963
1964 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
1965
1966 PR libstdc++/48891
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.
1974
1975 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1976
1977 PR libstdc++/66006
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.
1983
1984 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1985
1986 PR libstdc++/68877
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.
1998
1999 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2000
2001 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2002
2003 PR libstdc++/69005
2004 PR libstdc++/69222
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.
2011
2012 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2013
2014 PR libstdc++/60976
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.
2019
2020 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2021
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.
2030
2031 PR libstdc++/69190
2032 * include/bits/uses_allocator.h: Add missing include.
2033
2034 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2035
2036 PR libstdc++/69105
2037 PR libstdc++/69106
2038 PR libstdc++/69114
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):
2043 Likewise.
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.
2048
2049 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2050
2051 PR libstdc++/69092
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.
2055
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.
2061
2062 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2063
2064 Update copyright years.
2065 \f
2066 Copyright (C) 2016 Free Software Foundation, Inc.
2067
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.