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