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