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