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