]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Fix file extension of libstdc++ test
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
7523c5eb
JW
12016-07-31 Jonathan Wakely <jwakely@redhat.com>
2
3 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
4
137422c8
VV
52016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
6
7 Implement C++17 variable templates for type traits.
8 * include/std/chrono (treat_as_floating_point_v): New.
9 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
10 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
11 (ratio_greater_equal_v): Likewise.
12 * include/std/system_error (is_error_code_enum_v)
13 (is_error_condition_enum_v): Likewise.
14 * include/std/tuple (tuple_size_v): Likewise.
15 * type_traits (conjunction_v, disjunction_v, negation_v)
16 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
17 (is_array_v, is_pointer_v, is_lvalue_reference_v)
18 (is_rvalue_reference_v, is_member_object_pointer_v)
19 (is_member_function_pointer_v, is_enum_v, is_union_v)
20 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
21 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
22 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
23 (is_trivially_copyable_v, is_standard_layout_v)
24 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
25 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
26 (is_constructible_v, is_default_constructible_v)
27 (is_copy_constructible_v, is_move_constructible_v)
28 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
29 (is_destructible_v, is_trivially_constructible_v)
30 (is_trivially_default_constructible_v)
31 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
32 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
33 (is_trivially_move_assignable_v, is_trivially_destructible_v)
34 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
35 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
36 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
37 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
38 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
39 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
40 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
41 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
42 Likewise.
43 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
44 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
45 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
46
0c4c4909
AS
472016-07-29 Andreas Schwab <schwab@linux-m68k.org>
48
49 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
50 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
51 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
52
fe97ccec
JW
532016-07-29 Jonathan Wakely <jwakely@redhat.com>
54
13ec6e5e
JW
55 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
56 * doc/html/manual/abi.html: Regenerate.
57
62589e99
JW
58 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
59 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
60 symbols.
61 * configure: Regenerate.
62 * testsuite/util/testsuite_abi.cc: Add new symbol version.
63
fe97ccec
JW
64 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
65 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
66 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
67 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
68 Likewise.
69 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
70 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
71 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
72
2de6b254
JW
732016-07-28 Jonathan Wakely <jwakely@redhat.com>
74
1a2196e4
JW
75 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
76 Adjust dg-prune-output pattern for error in C++98 mode.
77 * testsuite/23_containers/deque/requirements/dr438/
78 constructor_1_neg.cc: Likewise.
79 * testsuite/23_containers/deque/requirements/dr438/
80 constructor_2_neg.cc: Likewise.
81 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
82 Likewise.
83 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
84 Likewise.
85 * testsuite/23_containers/list/requirements/dr438/
86 constructor_1_neg.cc: Likewise.
87 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
88 Likewise.
89 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
90 Likewise.
91 * testsuite/23_containers/vector/requirements/dr438/
92 constructor_1_neg.cc: Likewise.
93 * testsuite/23_containers/vector/requirements/dr438/
94 constructor_2_neg.cc: Likewise.
95 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
96 Likewise.
97
e539b4ff
JW
98 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
99 for different construct/destroy counts in C++98 mode.
100
c3c2f973
JW
101 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
102 dg-options to dg-additional-options so that default options are used.
103 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
104 Likewise.
105 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
106 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
107 Likewise.
108 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
109 Use dg-additional-options instead of repeating the common options.
110
2de6b254
JW
111 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
112 dg-do compile directive.
113 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
114 dg-do directive.
115 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
116
ca8f2cb1
VV
1172016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
118
119 Implement std::string_view and P0254r2,
120 Integrating std::string_view and std::string.
121 * include/Makefile.am: Add string_view and string_view.tcc
122 to the exported headers.
123 * include/Makefile.in: Likewise.
124 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
125 (__sv_type): New.
126 (basic_string(__sv_type, const _Alloc&)): Likewise.
127 (operator=(__sv_type)): Likewise.
128 (operator __sv_type()): Likewise.
129 (operator+=(__sv_type)): Likewise.
130 (append(__sv_type __sv)): Likewise.
131 (append(__sv_type, size_type, size_type)): Likewise.
132 (assign(__sv_type)): Likewise.
133 (assign(__sv_type, size_type, size_type)): Likewise.
134 (insert(size_type, __sv_type)): Likewise.
135 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
136 (replace(size_type, size_type, __sv_type)): Likewise.
137 (replace(size_type, size_type, __sv_type, size_type, size_type)):
138 Likewise.
139 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
140 (find(__sv_type, size_type)): Likewise.
141 (rfind(__sv_type, size_type)): Likewise.
142 (find_first_of(__sv_type, size_type)): Likewise.
143 (find_last_of(__sv_type, size_type)): Likewise.
144 (find_first_not_of(__sv_type, size_type)): Likewise.
145 (find_last_not_of(__sv_type, size_type)): Likewise.
146 (compare(__sv_type)): Likewise.
147 (compare(size_type, size_type, __sv_type)): Likewise.
148 (compare(size_type, size_type, __sv_type, size_type, size_type)):
149 Likewise.
150 * include/bits/string_view.tcc: New.
151 * include/std/string_view: Likewise.
152 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
153 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
154 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
155 Likewise.
156 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
157 Likewise.
158 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
159 Likewise.
160 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
161 Likewise.
162 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
163 Likewise.
164 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
165 Likewise.
166 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
167 Likewise.
168 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
169 Likewise.
170 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
171 Likewise.
172 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
173 Likewise.
174 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
175 Likewise.
176 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
177 Likewise.
178 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
179 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
180 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
181 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
182 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
183 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
184 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
185 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
186 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
187 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
188 Likewise.
189 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
190 Likewise.
191 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
192 Likewise.
193 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
194 Likewise.
195 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
196 Likewise.
197 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
198 Likewise.
199 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
200 Likewise.
201 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
202 Likewise.
203 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
204 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
205 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
206 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
207 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
208 Likewise.
209 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
210 Likewise.
211 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
212 Likewise.
213 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
214 Likewise.
215 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
216 Likewise.
217 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
218 Likewise.
219 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
220 Likewise.
221 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
222 Likewise.
223 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
224 Likewise.
225 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
226 Likewise.
227 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
228 Likewise.
229 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
230 Likewise.
231 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
232 Likewise.
233 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
234 Likewise.
235 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
236 Likewise.
237 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
238 Likewise.
239 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
240 Likewise.
241 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
242 Likewise.
243 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
244 Likewise.
245 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
246 Likewise.
247 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
248 Likewise.
249 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
250 Likewise.
251 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
252 Likewise.
253 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
254 Likewise.
255 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
256 Likewise.
257 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
258 Likewise.
259 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
260 Likewise.
261 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
262 Likewise.
263 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
264 Likewise.
265 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
266 Likewise.
267 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
268 Likewise.
269 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
270 Likewise.
271 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
272 Likewise.
273 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
274 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
275 Likewise.
276 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
277 Likewise.
278 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
279 Likewise.
280 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
281 Likewise.
282 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
283 Likewise.
284 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
285 Likewise.
286 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
287 Likewise.
288 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
289 Likewise.
290 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
291 Likewise.
292 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
293 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
294
427f68c6
JW
2952016-07-27 Jonathan Wakely <jwakely@redhat.com>
296
297 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
298
a837417c
GC
2992016-07-25 Georeth Chow <georeth2010@gmail.com>
300
301 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
302 _S_concat enumerator.
303 * testsuite/ext/rope/6.cc: New test.
304
19bb30c0
JW
3052016-07-25 Jonathan Wakely <jwakely@redhat.com>
306
307 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
308 std::mt19937, std::thread and std::atomic to simplify test.
309 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
310
960637ac
JW
3112016-07-22 Jonathan Wakely <jwakely@redhat.com>
312
8cab3d18
JW
313 PR libstdc++/71964
314 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
315 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
316 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
317 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
318 * testsuite/23_containers/set/allocator/71964.cc: New test.
319
960637ac
JW
320 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
321 delete[] instead of delete.
322
22620c14
JW
3232016-07-21 Jonathan Wakely <jwakely@redhat.com>
324
8b649cd3
JW
325 * include/experimental/propagate_const (propagate_const::__t): Rename
326 to _M_t and remove comment. Qualify std::move and std::forward.
327 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
328
509b778f
JW
329 * testsuite/23_containers/vector/zero_sized_allocations.cc:
330 Define sized deallocation function.
331 * testsuite/util/testsuite_new_operators.h:
332 (operator delete(void*, const std::nothrow_t&)): Define nothrow
333 deallocation function.
334
e93a101f
JW
335 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
336 reads past the end of strings.
337 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
338 Likewise.
339 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
340 invalid array accesses.
341 * testsuite/experimental/string_view/operations/compare/char/1.cc:
342 Fix read past the end of string.
343 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
344
0a024155
JW
345 * testsuite/24_iterators/container_access.cc: Fix missing returns.
346 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
347
22620c14
JW
348 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
349 leak) memory for arguments to placement delete.
350 * testsuite/20_util/addressof/1.cc: Don't leak memory.
351 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
352 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
353 Likewise.
354
18407bfb
JW
3552016-07-20 Jonathan Wakely <jwakely@redhat.com>
356
09a855ae
JW
357 * doc/xml/manual/intro.xml: Document DR 2684 status.
358 * doc/html/*: Regenerate.
359
e87b7d52
JW
360 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
361 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
362 (atomic_uint64_t): Define (LWG 2441).
363 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
364 lines.
365 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
366 the new types.
367 * doc/xml/manual/intro.xml: Document DR 2441 status.
368
07c772ed
JW
369 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
370 to use perfect forwarding (LWG 2328).
371 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
372 * doc/xml/manual/intro.xml: Document DR 2328 status.
373
18407bfb
JW
374 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
375 static objects for catching nullptr as pointer to member types.
376
40f3e913
VV
3772016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
378
379 Clean up optional's comments.
380 * include/std/optional: Remove incorrect section headers
381 from comments when redundant, replace bare section
382 headers with more descriptive comments.
383
479d0ed5
JW
3842016-07-15 Jonathan Wakely <jwakely@redhat.com>
385
4f5f9962
JW
386 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
387 * include/bits/move.h: Likewise.
388 * include/bits/postypes.h: Likewise.
389 * include/debug/bitset: Likewise.
390 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
391 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
392 comment.
393 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
394 * testsuite/util/thread/all.h: Likewise.
395
d1129d45
JW
396 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
397 and adjust comment.
398
479d0ed5
JW
399 PR c++/58796
400 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
401 nullptr match handlers of pointer type.
402
4db1cb44
ESR
4032016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
404
405 Implement C++17 P0025 clamp.
406 * include/bits/algorithmfwd.h: Declare clamp overloads.
407 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
408 * testsuite/25_algorithms/clamp/1.cc: New test.
409 * testsuite/25_algorithms/clamp/2.cc: New test.
410 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
411 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
412 1.cc: New test.
413 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
414 pod.cc: New test.
415
1ec0f763
VV
4162016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
417
418 Fix the constraints for any's assignment operator template to properly
419 reject assignment from a non-copyable lvalue.
420 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
421 type for is_copy_constructible,
422 * testsuite/20_util/any/requirements.cc: Add a test for
423 non-copyable lvalues.
424
0a2bf188
JW
4252016-07-14 Jonathan Wakely <jwakely@redhat.com>
426
ea5ec6b7
JW
427 * include/experimental/functional: Include <parallel/algorithm> in
428 Parallel Mode.
429
47d5cb3c
JW
430 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
431 for std::search.
432
0a2bf188
JW
433 PR libstdc++/70716
434 * include/bits/forward_list.h (forward_list): Update doxygen comments
435 to reflect allocator propagation semantics. Remove ambiguous
436 statements about data being lost.
437 * include/bits/stl_deque.h (deque): Likewise.
438 * include/bits/stl_list.h (list): Likewise.
439 * include/bits/stl_map.h (map): Likewise.
440 * include/bits/stl_multimap.h (multimap): Likewise.
441 * include/bits/stl_multiset.h (multiset): Likewise.
442 * include/bits/stl_set.h (set): Likewise.
443 * include/bits/stl_vector.h (vector): Likewise.
444 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
445 Likewise.
446 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
447 Likewise.
448
25a69162
VV
4492016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
450
451 Implement P0032R3, Homogeneous interface for variant, any and optional,
452 for the parts concerning any and optional.
453 * include/std/any (_Storage()): Make constexpr and have it
454 initialize _M_ptr.
455 (any()): Make constexpr.
456 (any(const any&)): Adjust.
457 (any(any&&)): Likewise.
458 (__any_constructible_t): New.
459 (any(_ValueType&&)): Constrain.
460 (any(in_place_type_t<_Tp>, _Args&&...)): New.
461 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
462 Likewise.
463 (~any()): Adjust.
464 (operator=(const any&)): Likewise.
465 (operator=(any&&)): Likewise.
466 (operator=(_ValueType&&)): Constrain.
467 (emplace(_Args&&...)): New.
468 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
469 (clear()): Remove.
470 (reset()): New.
471 (swap(any&)): Adjust.
472 (empty()): Remove.
473 (has_value()): New.
474 (type()): Adjust.
475 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
476 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
477 (make_any(_Args&&...)): Likewise.
478 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
479 * include/std/optional (in_place_t, in_place): Remove.
480 (bad_optional_access): Add a comment referring to LEWG 72.
481 (emplace(_Args&&...)): Constrain.
482 (has_value()): New.
483 (reset()): Likewise.
484 (make_optional(_Args&&...)): Likewise.
485 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
486 * include/std/utility (in_place_tag): New.
487 (__in_place, __in_place_type, __in_place_index): Likewise.
488 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
489 (in_place(__in_place*)): Likewise.
490 (in_place(__in_place_type<_Tp>*)): Likewise.
491 (in_place(__in_place_index<_Idx>*)): Likewise.
492 * testsuite/20_util/any/assign/1.cc: Adjust.
493 * testsuite/20_util/any/assign/emplace.cc: New.
494 * testsuite/20_util/any/assign/self.cc: Adjust.
495 * testsuite/20_util/any/cons/1.cc: Likewise.
496 * testsuite/20_util/any/cons/in_place.cc: New.
497 * testsuite/20_util/any/make_any.cc: Likewise.
498 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
499 * testsuite/20_util/any/misc/swap.cc: Likewise.
500 * testsuite/20_util/any/modifiers/1.cc: Likewise.
501 * testsuite/20_util/any/requirements.cc: New.
502 * testsuite/20_util/in_place/requirements.cc: Likewise.
503 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
504 * testsuite/20_util/optional/in_place.cc: Likewise.
505 * testsuite/20_util/optional/make_optional.cc: Add tests for
506 the new overloads of make_optional.
507
c0d31471
VV
5082016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
509
510 Implement P0307R2, Making Optional Greater Equal Again.
511 * include/experimental/optional (_Has_addressof): Fix the comment.
512 * include/std/optional (_Has_addressof): Likewise.
513 (operator=(_Up&&)): Constrain.
514 (operator=(const optional<_Up>&)): Likewise.
515 (operator=(optional<_Up>&&)): Likewise.
516 (__optional_relop_t): New.
517 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
518 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
519 Constrain and make transparent.
520 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
521 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
522 Constrain and make transparent.
523 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
524 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
525 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
526 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
527 (operator!=(const optional<_Tp>&, _Tp const&)):
528 Constrain and make transparent.
529 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
530 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
531 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
532 (operator>(const optional<_Tp>&, const _Tp&)):
533 Constrain and make transparent.
534 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
535 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
536 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
537 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
538 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
539 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
540 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
541 * testsuite/20_util/optional/relops/1.cc: Likewise.
542 * testsuite/20_util/optional/relops/2.cc: Likewise.
543 * testsuite/20_util/optional/relops/3.cc: Likewise.
544 * testsuite/20_util/optional/relops/4.cc: Likewise.
545 * testsuite/20_util/optional/requirements.cc: Add tests to verify
546 that optional's relops are transparent and don't synthesize
547 operators. Also test that assignment sfinaes.
548
260d92cd
JW
5492016-07-13 Jonathan Wakely <jwakely@redhat.com>
550
e383deac
JW
551 PR libstdc++/71856
552 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
553 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
554 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
555 on _GLIBCXX_ASSERTIONS.
556 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
557 Include <unistd.h> for sleep.
558 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
559 * include/parallel/merge.h: Likewise.
560 * include/parallel/multiway_merge.h: Likewise.
561 * include/parallel/partition.h: Likewise.
562 * include/parallel/queue.h: Likewise.
563 * include/parallel/sort.h: Likewise.
564 * testsuite/25_algorithms/headers/algorithm/
565 parallel_algorithm_assert.cc: New.
566
17f8dc93
JW
567 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
568 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
569 Forward to different overload.
570
260d92cd
JW
571 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
572 static.
573
2d60da10
JW
5742016-07-13 Jonathan Wakely <jwakely@redhat.com>
575
576 Revert "Add non-const overload of std::string::data()".
577
05505e9d
VV
5782016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
579
86c0ec1d
VV
580 Implement P0307R2, Making Optional Greater Equal Again.
581 * include/experimental/optional (_Has_addressof): Fix the comment.
582 * include/std/optional (_Has_addressof): Likewise.
583 (operator=(_Up&&)): Constrain.
584 (operator=(const optional<_Up>&)): Likewise.
585 (operator=(optional<_Up>&&)): Likewise.
586 (__optional_relop_t): New.
587 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
588 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
589 Constrain and make transparent.
590 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
591 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
592 Constrain and make transparent.
593 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
594 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
595 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
596 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
597 (operator!=(const optional<_Tp>&, _Tp const&)):
598 Constrain and make transparent.
599 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
600 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
601 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
602 (operator>(const optional<_Tp>&, const _Tp&)):
603 Constrain and make transparent.
604 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
605 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
606 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
607 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
608 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
609 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
610 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
611 * testsuite/20_util/optional/relops/1.cc: Likewise.
612 * testsuite/20_util/optional/relops/2.cc: Likewise.
613 * testsuite/20_util/optional/relops/3.cc: Likewise.
614 * testsuite/20_util/optional/relops/4.cc: Likewise.
615 * testsuite/20_util/optional/requirements.cc: Add tests to verify
616 that optional's relops are transparent and don't synthesize
617 operators. Also test that assignment sfinaes.
618
ceea48fc
JW
6192016-07-13 Jonathan Wakely <jwakely@redhat.com>
620
621 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
622 New function.
623 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
624 instead of _M_data().
625 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
626 Likewise.
627 (append(const basic_string&)): Likewise.
628 (append(const basic_string&, size_type, size_type)): Likewise.
629 (assign(const basic_string&, size_type, size_type)): Likewise.
630 (insert(size_type, const basic_string&)): Likewise.
631 (insert(size_type, const basic_string&, size_type, size_type)):
632 Likewise.
633 (replace(size_type, size_type, const basic_string&, size_type,
634 size_type)): Likewise.
635 (replace(__const_iterator, __const_iterator, const basic_string&)):
636 Likewise.
637 (c_str(), data()): Use c_str() instead of _M_data().
638 (data()): Add non-const overload as per LWG 2391 and P0272R1.
639 (compare(const basic_string&)): Use data() instead of _M_data().
640 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
641 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
642 Pass raw pointers to _S_copy.
643 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
644 _S_assign.
645 (find(const _CharT*, size_type, size_type)): Use data instead of
646 _M_data().
647 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
648 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
649 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
650
17b31c05
JW
6512016-07-12 Jonathan Wakely <jwakely@redhat.com>
652
7cbadfdc
JW
653 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
654 * doc/xml/manual/intro.xml: Document DR 2458 status.
655 * doc/html*: Regenerate.
656
1b24fb4c
JW
657 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
658 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
659 Only include <array>.
660 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
661 Likewise.
1b1c16e0 662 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
663 * doc/html*: Regenerate.
664
17b31c05
JW
665 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
666 Add testcase from LWG 2164.
667
76225d2c
FD
6682016-07-11 François Dumont <fdumont@gcc.gnu.org>
669
670 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
671 to _M_realloc_insert.
672 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
673 (_M_realloc_insert): Declare new function.
674 (_M_emplace_back_aux): Remove definition.
675 * include/bits/vector.tcc (emplace_back(_Args...)):
676 Use _M_realloc_insert.
677 (insert(const_iterator, const value_type&)): Likewise.
678 (_M_insert_rval, _M_emplace_aux): Likewise.
679 (_M_emplace_back_aux): Remove declaration.
680 (_M_realloc_insert): Define.
681 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
682 Adjust expected results for emplacing an lvalue with reallocation.
683
435e56fb
VV
6842016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
685
686 Implement std::optional.
687 * include/Makefile.am: Add optional to exported headers.
688 * include/Makefile.in: Likewise.
689 * include/std/optional: New.
690 * testsuite/20_util/optional/typedefs.cc: Likewise.
691 * testsuite/20_util/optional/relops/2.cc: Likewise.
692 * testsuite/20_util/optional/relops/3.cc: Likewise.
693 * testsuite/20_util/optional/relops/4.cc: Likewise.
694 * testsuite/20_util/optional/relops/5.cc: Likewise.
695 * testsuite/20_util/optional/relops/1.cc: Likewise.
696 * testsuite/20_util/optional/relops/6.cc: Likewise.
697 * testsuite/20_util/optional/nullopt.cc: Likewise.
698 * testsuite/20_util/optional/in_place.cc: Likewise.
699 * testsuite/20_util/optional/make_optional.cc: Likewise.
700 * testsuite/20_util/optional/assignment/2.cc: Likewise.
701 * testsuite/20_util/optional/assignment/3.cc: Likewise.
702 * testsuite/20_util/optional/assignment/4.cc: Likewise.
703 * testsuite/20_util/optional/assignment/5.cc: Likewise.
704 * testsuite/20_util/optional/assignment/1.cc: Likewise.
705 * testsuite/20_util/optional/assignment/6.cc: Likewise.
706 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
707 * testsuite/20_util/optional/cons/default.cc: Likewise.
708 * testsuite/20_util/optional/cons/move.cc: Likewise.
709 * testsuite/20_util/optional/cons/value.cc: Likewise.
710 * testsuite/20_util/optional/cons/copy.cc: Likewise.
711 * testsuite/20_util/optional/requirements.cc: Likewise.
712 * testsuite/20_util/optional/observers/2.cc: Likewise.
713 * testsuite/20_util/optional/observers/3.cc: Likewise.
714 * testsuite/20_util/optional/observers/4.cc: Likewise.
715 * testsuite/20_util/optional/observers/5.cc: Likewise.
716 * testsuite/20_util/optional/observers/1.cc: Likewise.
717 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
718 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
719 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
720 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
721 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
722 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
723 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
724 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
725 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
726 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
727 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
728 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
729 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
730 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
731 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
732 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
733 * testsuite/20_util/optional/swap/1.cc: Likewise.
734
d81102f4
JW
7352016-07-08 Jonathan Wakely <jwakely@redhat.com>
736
737 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
738
9fc0faf0
JW
7392016-07-07 Jonathan Wakely <jwakely@redhat.com>
740
741 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
742 * doc/html/*: Regenerate.
743
52e86221
VV
7442016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
745
746 Implement std::any.
747 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
748 * include/Makefile.in: Likewise.
749 * include/std/any: New.
750 * testsuite/20_util/any/assign/1.cc: Likewise.
751 * testsuite/20_util/any/assign/2.cc: Likewise.
752 * testsuite/20_util/any/assign/self.cc: Likewise.
753 * testsuite/20_util/any/cons/1.cc: Likewise.
754 * testsuite/20_util/any/cons/2.cc: Likewise.
755 * testsuite/20_util/any/cons/aligned.cc: Likewise.
756 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
757 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
758 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
759 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
760 * testsuite/20_util/any/misc/swap.cc: Likewise.
761 * testsuite/20_util/any/modifiers/1.cc: Likewise.
762 * testsuite/20_util/any/observers/type.cc: Likewise.
763 * testsuite/20_util/any/typedefs.cc: Likewise.
764
3042e708
VV
7652016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
766
767 Add a new header for diagnosing the use of C++17 facilities
768 in pre-C++17 modes.
769 * include/bits/c++17_warning.h: New.
770
6ffe8548
VV
7712016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
772
773 Implement LWG 2451, optional<T> should 'forward' T's
774 implicit conversions.
775 * include/experimental/optional (__is_optional_impl, __is_optional):
776 New.
777 (optional()): Make constexpr and default.
778 (optional(_Up&&), optional(const optional<_Up>&),
779 optional(optional<_Up>&& __t): New.
780 (operator=(_Up&&)): Constrain.
781 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
782 * testsuite/experimental/optional/cons/value.cc:
783 Add tests for the functionality added by LWG 2451.
784 * testsuite/experimental/optional/cons/value_neg.cc: New.
785
7d4f48b5
VV
7862016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
787
788 Implement LWG 2509,
789 any_cast doesn't work with rvalue reference targets and cannot
790 move with a value target.
791 * include/experimental/any (any(_ValueType&&)): Constrain and
792 add an overload that doesn't forward.
793 (any_cast(any&&)): Constrain and add an overload that moves.
794 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
795 the functionality added by LWG 2509.
796
097e8994
FD
7972016-07-04 François Dumont <fdumont@gcc.gnu.org>
798
799 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
800 New test.
801 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
802 test.
803
9958c7eb
JW
8042016-07-04 Jonathan Wakely <jwakely@redhat.com>
805
806 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
807 Define inline. Forward to _M_emplace_aux.
808 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
809 (_M_insert_rval, _M_emplace_aux): Declare new functions.
810 (_Temporary_value): New RAII type using allocator to construct/destroy.
811 (_S_insert_aux_assign): Remove.
812 (_M_insert_aux): Make non-variadic.
813 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
814 Use _Temporary_value.
815 (emplace(const_iterator, _Args&&...)): Remove definition.
816 (_M_insert_rval, _M_emplace_aux): Define.
817 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
818 (_M_fill_insert): Use _Temporary_value.
819 * testsuite/23_containers/vector/allocator/construction.cc: New test.
820 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
821 Adjust expected results for emplacing an lvalue with reallocation.
822 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
823 expected results to account for construction/destruction of temporary
824 using allocator.
825 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
826
e12880f9
VV
8272016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
828
829 PR libstdc++/71313
830 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
831 Call remove_all for children of a directory.
832 * testsuite/experimental/filesystem/operations/create_directories.cc:
833 Adjust.
834
6c539f2e
FD
8352016-07-02 François Dumont <fdumont@gcc.gnu.org>
836
837 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
838 dg-error line numbers.
839 * testsuite/23_containers/array/tuple_interface/
840 tuple_element_debug_neg.cc: Likewise.
841 * testsuite/25_algorithms/lexicographical_compare/debug/
842 irreflexive_neg.cc: Remove.
843
72fb6bae
TP
8442016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
845
846 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
847 than specific target.
848
dc448fa0
FD
8492016-06-27 François Dumont <fdumont@gcc.gnu.org>
850
851 PR libstdc++/71640
852 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
853 friend declaration.
854
e615c24c
FD
8552016-06-23 François Dumont <fdumont@gcc.gnu.org>
856
857 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
858 zero-size array.
859
0609abda
TS
8602016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
861
862 * configure.host: Remove mep-* support.
863
8466af06
TS
8642016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
865
866 * configure: Regenerate.
867 * configure.host: Remove support for knetbsd.
868 * crossconfig.m4: Likewise.
869
29dbb034
FD
8702016-06-20 François Dumont <fdumont@gcc.gnu.org>
871
872 PR libstdc++/71181
873 * include/tr1/hashtable_policy.h
874 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
875 dereferenceable to avoid check on lower_bound result.
876 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
877 (_Prime_rehash_policy::_M_need_rehash): Likewise.
878 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
879 Always return a value greater than input value. Set _M_next_resize to
880 max value when reaching highest prime number.
881 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
882 being now useless.
883 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
884 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
885 (test02): New.
886 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
887 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
888 Fix indentation.
889
3ebacabd
JW
8902016-06-17 Jonathan Wakely <jwakely@redhat.com>
891
892 PR libstdc++/71545
893 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
894 Remove irreflexive checks.
895 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
896 binary_search): Likewise.
897 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
898 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
899 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
900 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
901 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
902 Add constructor from array.
903
bd2ee798
FD
9042016-06-16 François Dumont <fdumont@gcc.gnu.org>
905
906 * include/debug/debug.h
907 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
908 (__glibcxx_requires_subscript): Move...
909 * include/debug/assertions.h: ...here and add __builtin_expect.
910 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
911 * include/bits/stl_deque.h
912 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
913 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
914 (std::deque<>::back()): Likewise.
915 (std::deque<>::pop_front()): Likewise.
916 (std::deque<>::pop_back()): Likewise.
917 (std::deque<>::swap(deque&)): Add allocator check.
918 * include/bits/stl_vector.h
919 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
920 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
921 (std::vector<>::back()): Likewise.
922 (std::vector<>::pop_back()): Likewise.
923 (std::vector<>::swap(vector&)): Add allocator check.
924
6b9539e2
DK
9252016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
926
927 Provide swappable traits (p0185r1)
928 * include/std/type_traits (is_swappable, is_nothrow_swappable,
929 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
930 is_nothrow_swappable_v, is_swappable_with_v,
931 is_nothrow_swappable_with_v): New.
932 * include/bits/stl_pair.h: Use it as per p0185r1.
933 * include/bits/stl_queue.h: Likewise.
934 * include/bits/stl_stack.h: Likewise.
935 * include/bits/unique_ptr.h: Likewise.
936 * include/std/tuple: Likewise.
937 * include/std/array: Likewise. Fix zero-size member swap.
938 * include/bits/hashtable.h: Use __and_.
939 * testsuite/20_util/is_nothrow_swappable/requirements/
940 explicit_instantiation.cc: Change test options to std=gnu++17.
941 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
942 Likewise.
943 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
944 * testsuite/20_util/is_swappable/requirements/
945 explicit_instantiation.cc: Likewise.
946 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
947 * testsuite/20_util/is_swappable/value.cc: Likewise.
948 * testsuite/20_util/is_nothrow_swappable/requirements/
949 explicit_instantiation_ext.cc: New.
950 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
951 New.
952 * testsuite/20_util/is_nothrow_swappable/value.h: New.
953 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
954 * testsuite/20_util/is_nothrow_swappable_with/requirements/
955 explicit_instantiation.cc: New.
956 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
957 New.
958 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
959 * testsuite/20_util/is_swappable/requirements/
960 explicit_instantiation_ext.cc: New.
961 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
962 * testsuite/20_util/is_swappable/value.h: New.
963 * testsuite/20_util/is_swappable/value_ext.cc: New.
964 * testsuite/20_util/is_swappable_with/requirements/
965 explicit_instantiation.cc: New.
966 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
967 * testsuite/20_util/is_swappable_with/value.cc: New.
968 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
969 dg-error line numbers.
970 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
971 Likewise.
972
0ae207e9
JW
9732016-06-16 Jonathan Wakely <jwakely@redhat.com>
974
33ac58d5
JW
975 * include/std/array: Remove trailing whitespace.
976 * include/std/atomic: Likewise.
977 * include/std/bitset: Likewise.
978 * include/std/chrono: Likewise.
979 * include/std/complex: Likewise.
980 * include/std/condition_variable: Likewise.
981 * include/std/fstream: Likewise.
982 * include/std/functional: Likewise.
983 * include/std/future: Likewise.
984 * include/std/iomanip: Likewise.
985 * include/std/iosfwd: Likewise.
986 * include/std/istream: Likewise.
987 * include/std/limits: Likewise.
988 * include/std/ratio: Likewise.
989 * include/std/scoped_allocator: Likewise.
990 * include/std/sstream: Likewise.
991 * include/std/stdexcept: Likewise.
992 * include/std/string: Likewise.
993 * include/std/system_error: Likewise.
994 * include/std/thread: Likewise.
995 * include/std/tuple: Likewise.
996 * include/std/type_traits: Likewise.
997 * include/std/utility: Likewise.
998 * include/std/valarray: Likewise.
999 * include/std/vector: Likewise.
1000
0ae207e9
JW
1001 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1002 new overloaded functions.
1003 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1004 to avoid creating a redundant temporary.
1005 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1006 test.
1007
d7e16fc5
FD
10082016-06-15 François Dumont <fdumont@gcc.gnu.org>
1009
1010 * include/bits/stl_deque.h
1011 (std::deque<>::operator=): Call _M_assign_aux.
1012 (std::deque<>::assign(initializer_list<>)): Likewise.
1013 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1014 (std::deque<>::insert(const_iterator, initializer_list<>)):
1015 Call _M_range_insert_aux.
1016 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1017 Likewise.
1018 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1019 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1020 * include/bits/deque.tcc
1021 (std::deque<>::operator=): Call _M_range_insert_aux.
1022 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1023 Likewise.
1024 * include/bits/stl_vector.h
1025 (std::vector<>::operator=): Call _M_assign_aux.
1026 (std::vector<>::assign(initializer_list<>)): Likewise.
1027 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1028 (std::vector<>::insert(const_iterator, initializer_list<>)):
1029 Call _M_range_insert.
1030 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1031
373c0095
FD
10322016-06-07 François Dumont <fdumont@gcc.gnu.org>
1033
1034 * include/std/tuple (_Head_base<>): Default specialization condition at
1035 type declaration.
1036
dbc6221f
VV
10372016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1038
1039 Support allocators in tuples of zero size.
1040 * include/std/tuple (tuple<>::tuple(),
1041 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1042 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1043 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1044
94229fb6
JW
10452016-06-06 Jonathan Wakely <jwakely@redhat.com>
1046
1047 PR libstdc++/71320
1048 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1049 Add or remove permissions according to perms argument.
1050 * testsuite/experimental/filesystem/operations/permissions.cc: New
1051 test.
1052
7a667453
VV
10532016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1054
1055 Protect allocator-overloads of tuple-from-tuple constructors
1056 from cases that would create dangling references.
1057 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1058 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1059 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1060 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1061
4acc3634
GP
10622016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1063
1064 * doc/xml/manual/backwards_compatibility.xml: Adjust
1065 lists.debian.org link to https.
1066 * doc/html/manual/backwards.html: Regenerate.
1067
9020909e
JW
10682016-05-27 Jonathan Wakely <jwakely@redhat.com>
1069
1070 * doc/xml/manual/abi.xml: Adjust URL to use https.
1071 * doc/html/manual/*: Regenerate.
1072
b7021006
VV
10732016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1074
1075 PR libstdc++/66338
1076 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
1077 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
1078 check for _NotSameTuple.
1079 * include/std/tuple (_TMCT): New.
1080 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
1081 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
1082 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1083 const tuple<_UElements...>&)): Likewise.
1084 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1085 tuple<_UElements...>&&)): Likewise.
1086 * testsuite/20_util/tuple/cons/66338.cc: New.
1087
834f4c43
JW
10882016-05-25 Jonathan Wakely <jwakely@redhat.com>
1089
c42d2288
JW
1090 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
1091 * configure: Regenerate.
1092 * config.h.in: Regenerate.
1093
834f4c43
JW
1094 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
1095 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
1096 Remove const qualification on function. Replace
1097 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
1098 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
1099 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
1100
732eb076
FD
11012016-05-24 François Dumont <fdumont@gcc.gnu.org>
1102
1103 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
1104 * include/bits/hashtable_policy.h
1105 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
1106 having load factor management.
1107 (_Mask_range_hashing): New.
1108 (__clp2): New.
1109 (_Power2_rehash_policy): New.
1110 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
1111 partial specializations only depend on whether iterators are constant
1112 or not.
1113 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
1114 test new hash policy.
1115 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
1116 Likewise.
1117 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1118 Likewise.
1119 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
1120 Likewise.
1121 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
1122 Likewise.
1123 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
1124 New.
1125 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
1126 using the new hash policy.
1127 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
1128
8be062c6
JW
11292016-05-24 Jonathan Wakely <jwakely@redhat.com>
1130
1131 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
1132
447caf82
FD
11332016-05-23 François Dumont <fdumont@gcc.gnu.org>
1134
1135 * include/debug/safe_iterator.h
1136 (_Safe_iterator<>::operator->()): Implement using underlying iterator
1137 operator ->.
1138 * include/debug/safe_local_iterator.h
1139 (_Safe_local_iterator<>::operator->()): Likewise.
1140
11f8114b
TP
11412016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
1142
1143 * testsuite/experimental/memory_resource/1.cc: Add required argument
1144 to dg-require-atomic-builtins.
1145
541a9b10
JW
11462016-05-13 Jonathan Wakely <jwakely@redhat.com>
1147
1148 PR libstdc++/71073
1149 * include/debug/bitset: Add #pragma GCC system_header.
1150 * include/debug/deque: Likewise.
1151 * include/debug/list: Likewise.
1152 * include/debug/map: Likewise.
1153 * include/debug/set: Likewise.
1154 * include/debug/string: Likewise.
1155 * include/debug/unordered_map: Likewise.
1156 * include/debug/unordered_set: Likewise.
1157 * include/debug/vector: Likewise.
1158 * include/debug/functions.h: Adjust whitespace.
1159
068b220e
JW
11602016-05-12 Jonathan Wakely <jwakely@redhat.com>
1161
1162 PR libstdc++/71081
1163 * testsuite/experimental/memory_resource/1.cc: Require atomics.
1164
3d73ae6e
JW
11652016-05-11 Jonathan Wakely <jwakely@redhat.com>
1166
1167 PR libstdc++/71049
1168 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
1169 exception constructors with __sso_string parameters.
1170
d7187f9e
JW
11712016-05-10 Jonathan Wakely <jwakely@redhat.com>
1172
7f99d40a
JW
1173 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
1174 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1175 Test begin and end functions.
1176 * testsuite/experimental/filesystem/iterators/
1177 recursive_directory_iterator.cc: Likewise.
1178
6fe673ad
JW
1179 PR libstdc++/71038
1180 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
1181 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
1182
77a87b2a
JW
1183 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1184 Overload operator* to move from rvalues.
1185
f9a39467
JW
1186 PR libstdc++/71036
1187 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
1188 * testsuite/experimental/filesystem/operations/create_directory.cc:
1189 New test.
1190
6f0800d4
JW
1191 PR libstdc++/71037
1192 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
1193 base path to exception.
1194 * testsuite/experimental/filesystem/operations/canonical.cc: Test
1195 paths contained in exception.
1196
f10b2e1c
JW
1197 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
1198 using declaration.
1199
d7187f9e
JW
1200 PR libstdc++/71005
1201 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
1202 New type.
1203 (directory_iterator::operator++(int)): Return proxy.
1204 (recursive_directory_iterator::operator++(int)): Likewise.
1205 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1206 Test post-increment.
1207 * testsuite/experimental/filesystem/iterators/
1208 recursive_directory_iterator.cc: Likewise.
1209
7972e246
JW
12102016-05-09 Jonathan Wakely <jwakely@redhat.com>
1211
1212 PR libstdc++/71004
1213 * testsuite/experimental/filesystem/iterators/
1214 recursive_directory_iterator.cc: Fix test02 to not call member
1215 functions on invalid iterator, and use VERIFY not assert.
1216
fb334765
VV
12172016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1218
1219 Avoid endless run-time recursion for copying single-element
1220 tuples where the element type is by-value constructible
1221 from any type.
1222 * include/std/tuple (_NotSameTuple): New.
1223 * include/std/tuple (tuple(_UElements&&...): Use it.
1224 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
1225
e4cce0ce
JW
12262016-05-09 Jonathan Wakely <jwakely@redhat.com>
1227
1228 PR libstdc++/71004
1229 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
1230 Initialize scalar member variables in default constructor.
1231 * testsuite/experimental/filesystem/iterators/
d7187f9e 1232 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 1233
40436d81
RO
12342016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1235
1236 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
1237
f5c40ce2
JW
12382016-05-05 Jonathan Wakely <jwakely@redhat.com>
1239
1240 * testsuite/experimental/filesystem/path/native/string.cc: Add
1241 dg-require-filesystem-ts directive.
1242
d9cb3e75
JW
12432016-05-04 Jonathan Wakely <jwakely@redhat.com>
1244
1245 PR libstdc++/70940
1246 * include/experimental/memory_resource
1247 (__resource_adaptor_imp::do_allocate): Do not default-construct
1248 rebound allocator.
1249 (__resource_adaptor_imp::do_deallocate): Likewise. Use
1250 allocator_traits to get pointer type.
1251 (__null_memory_resource::do_allocate): Remove unused parameters.
1252 (__null_memory_resource::do_deallocate): Likewise.
1253 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
1254 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
1255 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
1256 move to ...
1257 * testsuite/experimental/memory_resource/1.cc: Here.
1258 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
1259 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
1260
f92ab29f
CG
12612016-04-29 Chris Gregory <czipperz@gmail.com>
1262
1263 * config/*: Remove trailing whitespace.
1264 * src/*: Likewise.
1265 * testsuite/tr1/*: Likewise.
1266 * testsuite/util/*: Likewise.
1267
272b2ce4
JW
12682016-04-28 Jonathan Wakely <jwakely@redhat.com>
1269
9f9eb84e
JW
1270 PR libstdc++/70766
1271 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
1272 __addressof.
1273 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
1274 Likewise.
1275 * include/std/atomic (atomic<_Tp>): Likewise.
1276 * include/std/shared_mutex (shared_lock): Likewise.
1277 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
1278 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
1279 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1280 * testsuite/29_atomics/atomic/70766.cc: New test.
1281 * testsuite/30_threads/shared_lock/70766.cc: New test.
1282
272b2ce4
JW
1283 * include/bits/hashtable_policy.h (__detail::_Insert_base,
1284 __detail::_Insert): Improve comments.
1285
45e20696
JW
12862016-04-27 Jonathan Wakely <jwakely@redhat.com>
1287
1288 PR libstdc++/70767
1289 * include/std/limits: Update comments about DRs.
1290 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
1291 numeric_limits<const volatile _Tp>): Define unconditionally.
1292
a635cdb2
JW
12932016-04-24 Jonathan Wakely <jwakely@redhat.com>
1294
1295 PR libstdc++/70762
1296 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
1297 static counter to return a different path on every call.
1298
216f7526
TS
12992016-04-22 Tim Shen <timshen@google.com>
1300
1301 PR libstdc++/70745
1302 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
1303 Fix the match_not_bow and match_not_eow behavior.
1304 * testsuite/28_regex/regression.cc: Add testcase.
1305
a1e1ec76
JW
13062016-04-20 Jonathan Wakely <jwakely@redhat.com>
1307
1308 PR libstdc++/69703
1309 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
1310 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
1311
9c476ad4
JW
13122016-04-19 Jonathan Wakely <jwakely@redhat.com>
1313
29ca91f7 1314 PR libstdc++/69703
a1e1ec76 1315 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
1316 Override endianness bit in mode.
1317 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
1318 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
1319 that little_endian mode is ignored.
1320 * testsuite/experimental/filesystem/path/native/string.cc: New test.
1321
14905251
JW
1322 PR libstdc++/70609
1323 * src/filesystem/ops.cc (close_fd): New function.
1324 (do_copy_file): Set permissions before copying file contents. Check
1325 result of closing file descriptors. Don't copy streambuf when file
1326 is empty.
1327 (copy(const path&, const path&, copy_options, error_code&)): Use
1328 lstat for source file when copy_symlinks is set.
1329 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
1330
9c476ad4
JW
1331 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
1332 operator~ operator&=, operator|=, operator^=): Add noexcept to
1333 overloaded operators for copy_options, perms and directory_options.
1334 * src/filesystem/ops.cc (make_file_type, make_file_status,
1335 is_not_found_errno, file_time): Add noexcept.
1336
d855ad89
ESR
13372016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
1338
1339 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
1340
8dc1e574
JW
13412016-04-18 Jonathan Wakely <jwakely@redhat.com>
1342
0cded43d
JW
1343 PR libstdc++/41759
1344 * include/bits/random.h: Reword static assertion messages to state
1345 positive conditions.
1346 * include/bits/random.tcc: Likewise.
1347 * include/bits/uniform_int_dist.h: Likewise.
1348 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
1349 patterns.
1350
90751aa7
JW
1351 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
1352
351a5f81
JW
1353 * config/cpu/sh/atomicity.h: Fix typo in comment.
1354
b05cf382
JW
1355 PR libstdc++/70294
1356 * include/std/thread (operator<, operator==): Move definitions to
1357 namespace-scope.
1358 * testsuite/30_threads/thread/id/70294.cc: New test.
1359
4ed6e524
JW
1360 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
1361 -Wno-pedantic to dg-options.
1362 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
1363 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
1364 to dg-options.
1365 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
1366 Remove extra semi-colon.
1367 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1368 Always supply second argument to static_assert.
1369 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
1370 semi-colon.
1371 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
1372 dg-options.
1373 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
1374 * testsuite/29_atomics/atomic/60695.cc: Likewise.
1375 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
1376 alignof when operand is an object not a type.
1377 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
1378 * testsuite/decimal/make-decimal.cc: Likewise.
1379 * testsuite/experimental/type_traits/value.cc: Always supply second
1380 argument to static_assert.
1381 * testsuite/util/testsuite_common_types.h: Use __extension__ for
1382 __int128 types.
1383
abb6e0a1
JW
1384 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1385 internal header.
1386 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1387 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1388 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1389 Likewise. Add licence and change to compile-only test.
1390
6b6147dd
JW
1391 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1392 unused parameter.
1393 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1394
8dc1e574
JW
1395 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1396 warnings.
1397
80dbaf98
ESR
13982016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1399
1400 * include/bits/specfun.h: Trivial comment misspelling.
1401
9f285ccb
JM
14022016-04-14 Jason Merrill <jason@redhat.com>
1403
1404 Revert Jonathan's empty ABI change from yesterday.
1405
342fac95
MS
14062016-04-13 Martin Sebor <msebor@redhat.com>
1407
1408 PR c++/69517
1409 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1410 upper bound is positive.
1411
a6297ab5
JW
14122016-04-13 Jonathan Wakely <jwakely@redhat.com>
1413
1414 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1415 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1416 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1417 of functions taking empty structs by value. Add a template parameter
1418 to overloads without hints. Rename overloads with hints to
1419 _M_emplace_hint.
1420 (_Hashtable::_M_erase(true_type, const_iterator),
1421 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1422 by reordering parameters.
1423 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1424 _M_emplace_hint instead of _M_emplace.
1425 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1426 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1427 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1428 __shared_ptr): Likewise.
1429 * include/bits/stl_algo.h (replace_if): Likewise.
1430 * include/bits/stl_pair.h (piecewise_construct_t,
1431 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1432 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1433 __uses_alloc0): Likewise.
1434 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1435 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1436 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1437 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1438 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1439 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1440 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1441
0c39f36d
ESR
14422016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1443
1444 Document C++17/TR29124 C++ Special Math Functions.
1445 * include/bits/specfun.h: Add Doxygen markup.
1446
6da8b931
JW
14472016-04-07 Jonathan Wakely <jwakely@redhat.com>
1448
1449 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1450
49a52ebc
EB
14512016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1452
1453 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1454 * src/Makefile.in: Regenerate.
1455
87cec93e
JW
14562016-04-05 Jonathan Wakely <jwakely@redhat.com>
1457
d2aee115
JW
1458 PR libstdc++/70554
1459 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1460 __atomic_fetch_add for bool.
1461 * configure: Regenerate.
1462
d5ec69f3
JW
1463 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1464
87cec93e
JW
1465 PR libstdc++/70503
1466 * src/c++11/thread.cc (execute_native_thread_routine,
1467 execute_native_thread_routine_compat): Give internal linkage.
1468 * testsuite/30_threads/thread/70503.cc: New test.
1469
7b3318c4
VV
14702016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1471
1472 PR libstdc++/70437
1473 * include/bits/stl_pair.h (_ConstructiblePair,
1474 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1475 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1476 for same-type cases.
1477 * testsuite/20_util/pair/70437.cc: New.
1478
00e6c25a
JW
14792016-03-24 Jonathan Wakely <jwakely@redhat.com>
1480
1481 PR libstdc++/69945
1482 * config/abi/pre/gnu.ver: Add new symbol.
1483 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1484 * testsuite/18_support/free_eh_pool.cc: New test.
1485
bfd84e6b
BE
14862016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1487
1488 * include/Makefile.am (install-freestanding-headers): Add
1489 concept_check.h and move.h to the installed headers.
1490 * include/Makefile.in: Regenerated.
1491 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1492 freestanding implementations.
1493 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1494 that this macro has no effect for freestanding implementations.
1495 * doc/html/manual/using_macros.html: Likewise.
1496
86715b09
JW
14972016-02-24 Jonathan Wakely <jwakely@redhat.com>
1498
1499 PR libstdc++/69939
1500 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1501
9aee022e
JW
15022016-02-23 Jonathan Wakely <jwakely@redhat.com>
1503
be9967e8
JW
1504 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1505 * doc/html/*: Regenerate.
1506
9aee022e
JW
1507 PR libstdc++/69893
1508 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1509 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1510 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1511 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1512 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1513 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1514 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1515 Likewise.
1516 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1517 namespace before including TR1 headers.
1518 * testsuite/tr1/headers/c++200x/math.cc: New test.
1519
5f6dd593
BE
15202016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1521
1522 PR libstdc++/69881
1523 * include/c_global/cstdarg: Undefine __need___va_list.
1524 * include/c_global/cstddef: Undefine all kinds of __need_*.
1525
244901a5
TS
15262016-02-16 Tim Shen <timshen@google.com>
1527
1528 PR libstdc++/69794
1529 * include/bits/regex_scanner.h: Add different special character
1530 sets for grep and egrep regex.
1531 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1532 * testsuite/28_regex/regression.cc: Add new testcase.
1533
cc07da33
JW
15342016-02-08 Jonathan Wakely <jwakely@redhat.com>
1535
2158532f
JW
1536 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1537 added 'constexpr' in previous commit.
1538 * configure: Regenerate.
1539
cc07da33
JW
1540 PR libstdc++/48891
1541 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1542 checks for all targets except *-*-solaris2.* and ensure we find the
1543 libc math.h header not our own.
1544 * configure: Regenerate.
1545
acc04646
DV
15462016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1547
1548 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1549 New file. Copied over from s390-linux-gnu.
1550
dbcda3ee
JW
15512016-02-04 Jonathan Wakely <jwakely@redhat.com>
1552
3555173f
JW
1553 PR libstdc++/69626
1554 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1555 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1556 * config.h.in: Regenerate.
1557 * configure: Regenerate.
1558 * testsuite/21_strings/c_strings/char/69626.cc: New.
1559
15ebf379
JW
1560 * doc/html/index.html: Regenerate.
1561
dbcda3ee
JW
1562 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1563 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1564 * doc/html/*: Regenerate.
1565
571512d5
BE
15662016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1567
1568 PR libstdc++/69581
1569 * include/c_compatibility/math.h: Move header guards.
1570 * include/c_compatibility/stdlib.h: Likewise.
1571
f597d5f7
JW
15722016-01-29 Jonathan Wakely <jwakely@redhat.com>
1573
1574 PR libstdc++/69506
1575 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1576
69b0daeb
JDA
15772016-01-28 John David Anglin <danglin@gcc.gnu.org>
1578
1579 PR libstdc++/69450
1580 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1581 isinf and isnan functions into two independent checks. Check on hpux.
1582 * config.h.in: Regenerate.
1583 * configure: Regenerate.
1584 * include/c_global/cmath (isinf(double), isnan(double)): Use
1585 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1586 respectively.
1587
8dc781e4
JJ
15882016-01-27 Jakub Jelinek <jakub@redhat.com>
1589
1590 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1591
bae87f7f
JW
15922016-01-27 Jonathan Wakely <jwakely@redhat.com>
1593
1594 PR libstdc++/69295
1595 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1596 -ffp-contract=off, and -ffloat-store to disable excess precision.
1597 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1598 -ffp-contract=off.
1599
f1d591e8
JW
16002016-01-26 Jonathan Wakely <jwakely@redhat.com>
1601
1602 PR libstdc++/69478
1603 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1604 random_access_iterator_tag>): Check is_move_assignable when moving.
1605 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1606 Likewise.
1607 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1608 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1609 * testsuite/25_algorithms/move/69478.cc: New.
1610 * testsuite/25_algorithms/move_backward/69478.cc: new.
1611
8964d2a0
AP
16122016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1613
1614 * include/c_compatibility/stdlib.h: Include wide character related
1615 definitions only when they are available in cstdlib.
1616
2944621e
JW
16172016-01-25 Jonathan Wakely <jwakely@redhat.com>
1618
1619 PR libstdc++/69464
1620 * include/Makefile.am: Add new header.
1621 * include/Makefile.in: Regenerate.
1622 * include/bits/random.h (uniform_int_distribution): Move to
1623 bits/uniform_int_dist.h.
1624 * include/bits/random.tcc (uniform_int_distribution::operator(),
1625 uniform_int_distribution::__generate_impl): Likewise.
1626 * include/bits/uniform_int_dist.h: New header.
1627 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1628 <bits/uniform_int_dist.h> instead of <random>.
1629 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1630 move_iterators/1.cc: Include correct header for uninitialized_copy.
1631 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1632 move_iterators/1.cc: Likewise.
1633 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1634 header for vector.
1635 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1636
3676c087
JDA
16372016-01-23 John David Anglin <danglin@gcc.gnu.org>
1638
1639 PR libstdc++/69446
1640 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1641
02dc2419
ESR
16422016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1643
1644 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1645 * include/c_compatibility/math.h: Import the TR29124 functions
1646 into the global namespace.
1647 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1648 xfail and make compile-only.
1649 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1650 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1651 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1652 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1653 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1654 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1655 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1656 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1657 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1658 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1659 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1660 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1661 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1662 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1663 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1664 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1665 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1666 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1667 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1668 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1669
350fe282
JW
16702016-01-22 Jonathan Wakely <jwakely@redhat.com>
1671
d1fb377c
JW
1672 PR libstdc++/69116
1673 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1674 define result_type for types which can be safely used with valarrays.
1675 * testsuite/26_numerics/valarray/69116.cc: New.
1676
350fe282
JW
1677 PR libstdc++/69413
1678 * config/os/gnu-linux/os_defines.h: Define
1679 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1680 * include/c_global/cmath (isinf, isnan): Check it.
1681 * doc/xml/manual/internals.xml: Document it.
1682 * doc/html/*: Regenerate.
1683
ab56cbed
JW
16842016-01-21 Jonathan Wakely <jwakely@redhat.com>
1685
1686 PR libstdc++/69406
1687 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1688 * include/ext/type_traits.h: Likewise.
1689 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1690 for presence of C headers.
1691 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1692 dg-error line number.
1693 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1694 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1695 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1696
7e10bcfa
TR
16972016-01-20 Torvald Riegel <triegel@redhat.com>
1698
1699 PR libstdc++/69310
1700 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1701
eac437bf
JW
17022016-01-20 Jonathan Wakely <jwakely@redhat.com>
1703
3f93466a
JW
1704 PR libstdc++/60401
1705 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1706 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1707 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1708 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1709 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1710 Add using declarations.
1711 * testsuite/26_numerics/headers/cmath/60401.cc: New.
1712
eac437bf
JW
1713 PR libstdc++/69386
1714 * include/c_global/ccomplex: Ensure C++ language linkage.
1715 * include/c_global/cmath: Likewise.
1716 * include/c_global/cstdlib: Likewise.
1717 * include/c_global/ctgmath: Likewise.
1718 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
1719
96e19ada
JW
17202016-01-19 Jonathan Wakely <jwakely@redhat.com>
1721
1722 PR libstdc++/14608
1723 PR libstdc++/60401
1724 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
1725 --enable-cheaders=c_global configs.
1726 * include/Makefile.in: Regenerate.
1727 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
1728 test and allow inclusion from C files.
1729 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
1730 (at_quick_exit, quick_exit): Add using directives.
1731 * include/c_global/cmath: Use #include_next for math.h.
1732 * include/c_global/cstdlib: Use #include_next for stdlib.h.
1733 * testsuite/26_numerics/headers/cmath/14608.cc: New.
1734 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1735 Remove xfail for most targets.
1736 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
1737
9585381a
TR
17382016-01-18 Torvald Riegel <triegel@redhat.com>
1739
1740 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
1741 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
1742 and move after its definition.
1743 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
1744 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
1745 __GXX_WEAK__, and only provide transactional clones if
1746 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
1747 functions.
1748
f5460595
JW
17492016-01-18 Jonathan Wakely <jwakely@redhat.com>
1750
c91bcffc
JW
1751 PR libstdc++/60637
1752 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1753
d75d9f91 1754 PR libstdc++/69243
9c5ad80e
JW
1755 * include/std/functional (_Function_base::_M_not_empty_function):
1756 Change overloads for pointers to take arguments by value.
1757 * testsuite/20_util/function/cons/57465.cc: Add tests for
1758 pointer-to-member cases.
1759
f5460595
JW
1760 PR libstdc++/69340
1761 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1762 Use macros for exception handling and fix unused parameter warning.
1763
271366f6
JDA
17642016-01-17 John David Anglin <danglin@gcc.gnu.org>
1765
1766 PR libstdc++/68734
1767 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1768
7a5d1d34
TR
17692016-01-17 Torvald Riegel <triegel@redhat.com>
1770
1771 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1772
5445d5bf
L
17732016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1774
1775 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1776 __int128 symbols.
1777
3d076231
JW
17782016-01-15 Jonathan Wakely <jwakely@redhat.com>
1779
d7c1581c
JW
1780 PR libstdc++/69293
1781 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
1782 static assertion that type is constructible from the arguments.
1783 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
1784 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
1785 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1786
3d076231
JW
1787 PR libstdc++/69294
1788 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1789 and isnan on AIX. Quote variables.
1790 * configure: Regenerate.
1791
a04d5fc9
TR
17922016-01-15 Torvald Riegel <triegel@redhat.com>
1793
1794 * include/bits/basic_string.h (basic_string): Declare friends.
1795 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
1796 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
1797 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
1798 length_error, out_of_range, runtime_error, range_error,
1799 underflow_error, overflow_error): Declare members as transaction-safe.
1800 (logic_error, runtime_error): Declare friend functions.
1801 * libsupc++/exception (exception, bad_exception): Declare members as
1802 transaction-safe.
1803 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
1804 transaction-safe members of exceptions and helper functions.
1805 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
1806 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
1807 (CXXABI_1.3.10): New.
1808 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
1809 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
1810 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
1811 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
1812 * include/Makefile.in: Regenerate.
1813 * config.h.in: Regenerate.
1814 * configure: Regenerate.
1815 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
1816
cebeb718
SE
18172016-01-15 Steve Ellcey <sellcey@imgtec.com>
1818
1819 * include/ext/random.tcc: Use __builtin_isfinite instead of
1820 std::isfinite.
1821
3b07547d
JW
18222016-01-15 Jonathan Wakely <jwakely@redhat.com>
1823
1824 * include/bits/std_mutex.h: Fix Doxygen @file name.
1825
2be75957
ESR
18262016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1827 Jonathan Wakely <jwakely@redhat.com>
1828 Florian Goth <CaptainSifff@gmx.de>
1829
1830 Implement TR29124 C++ special Math Functions.
1831 * include/Makefile.am: Add new headers.
1832 * include/Makefile.in: Regenerate.
1833 * include/bits/specfun.h: New.
1834 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
1835 * include/tr1/bessel_function.tcc: Ditto.
1836 * include/tr1/beta_function.tcc: Ditto.
1837 * include/tr1/cmath: Ditto.
1838 * include/tr1/ell_integral.tcc: Ditto.
1839 * include/tr1/exp_integral.tcc: Ditto.
1840 * include/tr1/gamma.tcc: Ditto.
1841 * include/tr1/hypergeometric.tcc: Ditto.
1842 * include/tr1/legendre_function.tcc: Ditto.
1843 * include/tr1/modified_bessel_func.tcc: Ditto.
1844 * include/tr1/poly_hermite.tcc: Ditto.
1845 * include/tr1/poly_laguerre.tcc: Ditto.
1846 * include/tr1/riemann_zeta.tcc: Ditto.
1847 * include/tr1/special_function_util.h: Ditto.
1848 * testsuite/ext/special_functions/conf_hyperg: New.
1849 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
1850 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
1851 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
1852 * testsuite/ext/special_functions/hyperg: New.
1853 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
1854 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
1855 * testsuite/ext/special_functions/hyperg/compile.cc: New.
1856 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
1857 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
1858 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
1859 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
1860 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
1861 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
1862 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1863 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1864 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1865 * testsuite/special_functions/03_beta/check_nan.cc: New.
1866 * testsuite/special_functions/03_beta/check_value.cc: New.
1867 * testsuite/special_functions/03_beta/compile.cc: New.
1868 * testsuite/special_functions/03_beta/compile_2.cc: New.
1869 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1870 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1871 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1872 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1873 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1874 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1875 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1876 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1877 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1878 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1879 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1880 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1881 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1882 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1883 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1884 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1885 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1886 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1887 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1888 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1889 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1890 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1891 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1892 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1893 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1894 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1895 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1896 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1897 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1898 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1899 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1900 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1901 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1902 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1903 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1904 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1905 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1906 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1907 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1908 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1909 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1910 * testsuite/special_functions/14_expint/check_nan.cc: New.
1911 * testsuite/special_functions/14_expint/check_value.cc: New.
1912 * testsuite/special_functions/14_expint/compile.cc: New.
1913 * testsuite/special_functions/14_expint/compile_2.cc: New.
1914 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1915 * testsuite/special_functions/15_hermite/check_value.cc: New.
1916 * testsuite/special_functions/15_hermite/compile.cc: New.
1917 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1918 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1919 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1920 * testsuite/special_functions/16_laguerre/compile.cc: New.
1921 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1922 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1923 * testsuite/special_functions/17_legendre/check_value.cc: New.
1924 * testsuite/special_functions/17_legendre/compile.cc: New.
1925 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1926 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1927 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1928 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1929 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1930 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1931 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1932 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1933 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1934 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1935 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1936 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1937 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1938 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1939 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1940 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1941 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1942 * testsuite/util/specfun_testcase.h: New.
1943 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1944 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1945 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1946 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1947 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1948 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1949 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1950
39a1d8c8
JW
19512016-01-13 Jonathan Wakely <jwakely@redhat.com>
1952
1953 PR libstdc++/48891
1954 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1955 and isnan functions.
1956 * config.h.in: Regenerate.
1957 * configure: Regenerate.
1958 * include/c_global/cmath (isinf(double), isnan(double))
1959 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1960 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1961
e862906c
RO
19622016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1963
1964 PR libstdc++/66006
1965 * configure.host (abi_baseline_pair): Use separate baseline for
1966 Solaris 11+ and Solaris 10 with gld.
1967 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1968 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1969 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1970
26b5ace7
DK
19712016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1972
1973 PR libstdc++/68877
1974 * include/std/type_traits: Following N4511, reimplement __is_swappable
1975 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1976 adjust callers. Use __is_nothrow_swappable in swap.
1977 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1978 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1979 __is_swappable related tests.
1980 * testsuite/20_util/is_swappable/value.cc: New.
1981 * testsuite/20_util/is_swappable/requirements/
1982 explicit_instantiation.cc: New.
1983 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1984 * testsuite/25_algorithms/swap/68877.cc: New.
1985
1c3c7c41
JW
19862016-01-12 Jonathan Wakely <jwakely@redhat.com>
1987
bd285a8b
JW
1988 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1989
1c3c7c41
JW
1990 PR libstdc++/69005
1991 PR libstdc++/69222
1992 * include/std/functional (function::_Invoke): Remove, use result_of.
1993 (function::_Callable): Replace alias template with class template
1994 and use partial specialization instead of _NotSelf alias template.
1995 (function(_Functor)): Add "not self" constraint so that _Callable is
1996 not used while type is incomplete.
1997 * testsuite/20_util/function/69222.cc: New.
1998
1517bc30
JW
19992016-01-11 Jonathan Wakely <jwakely@redhat.com>
2000
2001 PR libstdc++/60976
2002 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2003 Define partial specialization.
2004 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2005 destroy members to std::allocator explicit specialization.
2006
e525d78c
JW
20072016-01-08 Jonathan Wakely <jwakely@redhat.com>
2008
8babc12b
JW
2009 * testsuite/26_numerics/headers/cmath/
2010 c99_classification_macros_c++.cc: Rename to ...
2011 * testsuite/26_numerics/headers/cmath/
2012 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2013 * testsuite/26_numerics/headers/cmath/
2014 c99_classification_macros_c++0x.cc: Rename to ...
2015 * testsuite/26_numerics/headers/cmath/
2016 c99_classification_macros_c++11.cc: Here.
2017
32a8c97f 2018 PR libstdc++/69190
e525d78c
JW
2019 * include/bits/uses_allocator.h: Add missing include.
2020
f885fa89
JW
20212016-01-07 Jonathan Wakely <jwakely@redhat.com>
2022
2023 PR libstdc++/69105
2024 PR libstdc++/69106
2025 PR libstdc++/69114
2026 * include/bits/stl_iterator.h (back_insert_iterator,
2027 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2028 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2029 * include/std/future (__future::base::_State_baseV2::__setter):
2030 Likewise.
2031 * include/std/scoped_allocator (__outermost): Likewise.
2032 * testsuite/20_util/scoped_allocator/69114.cc: New.
2033 * testsuite/20_util/uses_allocator/69114.cc: New.
2034 * testsuite/30_threads/promise/69106.cc: New.
2035
0c3e5dd1
JW
20362016-01-06 Jonathan Wakely <jwakely@redhat.com>
2037
373a75fb
JW
2038 PR libstdc++/69092
2039 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2040 Remove _GLIBCXX_NOEXCEPT.
2041 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2042
0c3e5dd1
JW
2043 * include/Makefile.am: Adjust.
2044 * include/Makefile.in: Regenerate.
2045 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2046 * include/std/condition_variable: Adjust include.
2047 * include/std/mutex: Likewise.
2048
818ab71a 20492016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
2050
2051 Update copyright years.
b4df5e92 2052\f
818ab71a 2053Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
2054
2055Copying and distribution of this file, with or without modification,
2056are permitted in any medium without royalty provided the copyright
2057notice and this notice are preserved.