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