* dbxout.c (xcoff_debug_hooks): Add filename parameter to early_finish hook.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob3981509f5d9ceef1d5b99727a4e69157bcd70f60
1 2016-09-20  Ville Voutilainen  <ville.voutilainen@gmail.com>
3         PR libstdc++/77619
4         * include/bits/stl_construct.h: (_Construct_novalue): New.
5         (_Destroy_n_aux, _Destroy_n): New.
6         * include/bits/stl_uninitialized.h: (type_traits):
7         New include in C++11 mode.
8         (__uninitialized_default_novalue_1): New.
9         (__uninitialized_default_novalue_n_1): Likewise.
10         (__uninitialized_default_novalue): Likewise.
11         (__uninitialized_default_novalue_n): Likewise.
12         (__uninitialized_copy_n_pair): Likewise.
13         (uninitialized_default_construct):
14         Use __uninitialized_default_novalue.
15         (uninitialized_default_construct_n):
16         Use __uninitialized_default_novalue_n.
17         (uninitialized_value_construct): Use __uninitialized_default.
18         (uninitialized_value_construct_n): Use __uninitialized_default_n.
19         (uninitialized_move): Use uninitialized_copy.
20         (uninitialized_move_n): Use __uninitialized_copy_n_pair.
21         (destroy_at): Use _Destroy.
22         (destroy): Likewise.
23         (destroy_n): Likewise.
24         * testsuite/20_util/specialized_algorithms/
25         memory_management_tools/1.cc: Add tests for exceptions,
26         add tests for trivial cases for construct and move.
28 2016-09-20  Jonathan Wakely  <jwakely@redhat.com>
30         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
31         (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
33 2016-09-19  Jonathan Wakely  <jwakely@redhat.com>
35         PR libstdc++/77645
36         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
37         (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
38         division to int to work with Python 3.
40         * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
42         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
43         display_hint to be set by subclasses.
44         (StdVariantPrinter): Use array for display_hint. Adjust output to be
45         more similar to std::any and std::optional output.
46         (register_type_printers): Add type printers for basic_string_view
47         typedefs and experimental::any. Adjust type printers for
48         fundamentals_v1 templates to match fundamentals_v2 and later.
49         * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
51         PR libstdc++/77645
52         * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
53         argument.
54         (ListWorkerBase.get_value_from_node): Define new method.
55         (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
57 2016-09-17  Jonathan Wakely  <jwakely@redhat.com>
59         * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
60         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
61         Register for C++17 components in namespace std. Strip inline namespace
62         from typename.
64 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
66         * doc/xml/manual/profile_mode.xml: Fix typo.
67         * doc/html/manual/profile_mode_devel.html: Regenerate.
69 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
70             Marc Glisse  <marc.glisse@inria.fr>
72         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
73         (operator new(size_t, align_val_t)): Replace modulus operator with
74         mask.
76 2016-09-16  Jonathan Wakely  <jwakely@redhat.com>
78         * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
79         Increase alignment if less than sizeof(void*).
80         [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
81         Increase size if not a multiple of alignment.
83 2016-09-15  Jonathan Wakely  <jwakely@redhat.com>
85         * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
86         * doc/html/*: Regenerate.
88         * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
89         -Wno-deprecated.
90         * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
92 2016-09-14  Marek Polacek  <polacek@redhat.com>
94         * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
95         -Wno-deprecated.
97 2016-09-14  Christophe Lyon  <christophe.lyon@linaro.org>
99         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
100         Move dg-do directive before dg-skip.
101         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
102         Move dg-do directive before dg-require.
103         * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
104         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
105         * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
106         * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
107         * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
108         * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
109         * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
110         * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
111         * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
112         * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
113         * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
114         * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
115         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
116         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
117         * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
118         Likewise.
119         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
120         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
121         * testsuite/27_io/objects/char/12048-5.cc: Likewise.
122         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
123         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
125 2016-09-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
127         Implement P0040R3, Extending memory management tools.
128         * include/bits/stl_uninitialized.h (utility): New include
129         in C++17 mode.
130         (uninitialized_default_construct): New.
131         (uninitialized_default_construct_n): Likewise.
132         (uninitialized_value_construct): Likewise.
133         (uninitialized_value_construct_n): Likewise.
134         (uninitialized_move): Likewise.
135         (uninitialized_move_n): Likewise.
136         (destroy_at, destroy, destroy_n): Likewise.
137         * testsuite/20_util/specialized_algorithms/memory_management_tools/
138         1.cc: New.
140 2016-09-12  Jason Merrill  <jason@redhat.com>
142         * config/abi/pre/gnu.ver: Use [jmy] for size_t.
144 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
146         Implement P0253R1, Fixing a design mistake in the searchers
147         interface in Library Fundamentals.
148         * include/std/functional: (utility): New include in C++17 mode.
149         (default_searcher): Use a pair as return type, adjust the definition.
150         (boyer_moore_searcher): Likewise.
151         (boyer_moore_horspool_searcher): Likewise.
152         * testsuite/20_util/function_objects/searchers.cc: Adjust.
154 2016-09-12  Ville Voutilainen  <ville.voutilainen@gmail.com>
156         Implement C++17 string searchers.
157         * include/std/functional: (unordered_map, vector): New includes
158         in C++17 mode.
159         (array, bits/stl_algo.h): Likewise.
160         (default_searcher, __boyer_moore_map_base): New.
161         (__boyer_moore_array_base, __is_std_equal_to): Likewise.
162         (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
163         (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
164         (make_boyer_moore_searcher): Likewise.
165         (make_boyer_moore_horspool_searcher): Likewise.
166         * testsuite/20_util/function_objects/searchers.cc: New.
168 2016-09-12  Matthew Wahab  <matthew.wahab@arm.com>
170         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
171         Move dg-do directive before dg-require.
172         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
173         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
174         Likewise.
175         * testsuite/22_locale/codecvt/utf8.cc: Likewise.
176         * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
177         * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
178         * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
179         * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
180         * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
181         * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
182         * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
183         * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
184         * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
185         * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
186         * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
187         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
188         Likewise.
189         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
190         Likewise.
191         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
192         * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
193         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
194         Likewise.
195         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
196         Likewise.
197         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
198         Likewise.
199         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
200         Likewise.
201         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
202         Likewise.
203         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
204         Likewise.
205         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
206         Likewise.
207         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
208         Likewise.
209         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
210         Likewise.
211         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
212         Likewise.
213         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
214         Likewise.
215         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
216         Likewise.
217         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
218         Likewise.
219         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
220         Likewise.
221         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
222         Likewise.
223         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
224         Likewise.
225         * testsuite/23_containers/forward_list/debug/
226         iterator_self_move_assign_neg.cc: Likewise.
227         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
228         Likewise.
229         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
230         Likewise.
231         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
232         Likewise.
233         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
234         Likewise.
235         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
236         Likewise.
237         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
238         Likewise.
239         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
240         Likewise.
241         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
242         Likewise.
243         * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
244         * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
245         * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
246         * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
247         * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
248         * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
249         * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
250         * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
251         * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
252         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
253         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
254         Likewise.
255         * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
256         * testsuite/23_containers/map/debug/60499.cc: Likewise.
257         * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
258         * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
259         * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
260         * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
261         * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
262         * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
263         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
264         Likewise.
265         * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
266         * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
267         * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
268         * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
269         * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
270         * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
271         * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
272         * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
273         * testsuite/23_containers/multimap/debug/
274         iterator_self_move_assign_neg.cc: Likewise.
275         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
276         Likewise.
277         * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
278         * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
279         * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
280         * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
281         * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
282         * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
283         * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
284         * testsuite/23_containers/multiset/debug/
285         iterator_self_move_assign_neg.cc: Likewise.
286         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
287         Likewise.
288         * testsuite/23_containers/set/debug/60499.cc: Likewise.
289         * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
290         * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
291         * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
292         * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
293         * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
294         * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
295         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
296         Likewise.
297         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
298         * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
299         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
300         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
301         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
302         Likewise.
303         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
304         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
305         * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
306         Likewise.
307         * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
308         Likewise.
309         * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
310         Likewise.
311         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
312         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
313         * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
314         * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
315         * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
316         * testsuite/23_containers/unordered_map/debug/
317         invalid_local_iterator_compare_neg.cc: Likewise.
318         * testsuite/23_containers/unordered_map/debug/
319         invalid_local_iterator_range_neg.cc: Likewise.
320         * testsuite/23_containers/unordered_map/debug/
321         iterator_self_move_assign_neg.cc: Likewise.
322         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
323         Likewise.
324         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
325         Likewise.
326         * testsuite/23_containers/unordered_map/debug/
327         use_erased_local_iterator_neg.cc: Likewise.
328         * testsuite/23_containers/unordered_map/debug/
329         use_invalid_iterator_neg.cc: Likewise.
330         * testsuite/23_containers/unordered_map/debug/
331         use_invalid_local_iterator_neg.cc: Likewise.
332         * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
333         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
334         Likewise.
335         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
336         Likewise.
337         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
338         Likewise.
339         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
340         Likewise.
341         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
342         Likewise.
343         * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
344         Likewise.
345         * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
346         Likewise.
347         * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
348         Likewise.
349         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
350         Likewise.
351         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
352         Likewise.
353         * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
354         Likewise.
355         * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
356         Likewise.
357         * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
358         Likewise.
359         * testsuite/23_containers/unordered_multimap/debug/
360         invalid_local_iterator_compare_neg.cc: Likewise.
361         * testsuite/23_containers/unordered_multimap/debug/
362         invalid_local_iterator_range_neg.cc: Likewise.
363         * testsuite/23_containers/unordered_multimap/debug/
364         iterator_self_move_assign_neg.cc: Likewise.
365         * testsuite/23_containers/unordered_multimap/debug/
366         max_load_factor_neg.cc: Likewise.
367         * testsuite/23_containers/unordered_multimap/debug/
368         self_move_assign_neg.cc: Likewise.
369         * testsuite/23_containers/unordered_multimap/debug/
370         use_erased_local_iterator_neg.cc: Likewise.
371         * testsuite/23_containers/unordered_multimap/debug/
372         use_invalid_iterator_neg.cc: Likewise.
373         * testsuite/23_containers/unordered_multimap/debug/
374         use_invalid_local_iterator_neg.cc: Likewise.
375         * testsuite/23_containers/unordered_multiset/debug/60499.cc:
376         Likewise.
377         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
378         Likewise.
379         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
380         Likewise.
381         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
382         Likewise.
383         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
384         Likewise.
385         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
386         Likewise.
387         * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
388         Likewise.
389         * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
390         Likewise.
391         * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
392         Likewise.
393         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
394         Likewise.
395         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
396         Likewise.
397         * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
398         Likewise.
399         * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
400         Likewise.
401         * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
402         Likewise.
403         * testsuite/23_containers/unordered_multiset/debug/
404         invalid_local_iterator_compare_neg.cc: Likewise.
405         * testsuite/23_containers/unordered_multiset/debug/
406         invalid_local_iterator_range_neg.cc: Likewise.
407         * testsuite/23_containers/unordered_multiset/debug/
408         iterator_self_move_assign_neg.cc: Likewise.
409         * testsuite/23_containers/unordered_multiset/debug/
410         max_load_factor_neg.cc: Likewise.
411         * testsuite/23_containers/unordered_multiset/debug/
412         self_move_assign_neg.cc: Likewise.
413         * testsuite/23_containers/unordered_multiset/debug/
414         use_erased_local_iterator_neg.cc: Likewise.
415         * testsuite/23_containers/unordered_multiset/debug/
416         use_invalid_iterator_neg.cc: Likewise.
417         * testsuite/23_containers/unordered_multiset/debug/
418         use_invalid_local_iterator_neg.cc: Likewise.
419         *  testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
420         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
421         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
422         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
423         Likewise.
424         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
425         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
426         * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
427         Likewise.
428         * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
429         Likewise.
430         * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
431         Likewise.
432         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
433         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
434         * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
435         * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
436         * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
437         * testsuite/23_containers/unordered_set/debug/
438         invalid_local_iterator_compare_neg.cc: Likewise.
439         * testsuite/23_containers/unordered_set/debug/
440         invalid_local_iterator_range_neg.cc: Likewise.
441         * testsuite/23_containers/unordered_set/debug/
442         iterator_self_move_assign_neg.cc: Likewise.
443         * testsuite/23_containers/unordered_set/debug/
444         max_load_factor_neg.cc: Likewise.
445         * testsuite/23_containers/unordered_set/debug/
446         self_move_assign_neg.cc: Likewise.
447         * testsuite/23_containers/unordered_set/debug/
448         use_erased_local_iterator_neg.cc: Likewise.
449         * testsuite/23_containers/unordered_set/debug/
450         use_invalid_iterator_neg.cc: Likewise.
451         * testsuite/23_containers/unordered_set/debug/
452         use_invalid_local_iterator_neg.cc: Likewise.
453         * testsuite/23_containers/vector/debug/52433.cc: Likewise.
454         * testsuite/23_containers/vector/debug/60499.cc: Likewise.
455         * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
456         * testsuite/23_containers/vector/debug/
457         iterator_self_move_assign_neg.cc: Likewise.
458         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
459         Likewise.
460         * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
461         * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
462         * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
463         * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
464         * testsuite/29_atomics/atomic/60658.cc: Likewise.
465         * testsuite/29_atomics/atomic/60695.cc: Likewise.
466         * testsuite/29_atomics/atomic/62259.cc: Likewise.
467         * testsuite/29_atomics/atomic/64658.cc: Likewise.
468         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
469         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
470         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
471         Likewise.
473 2016-09-11  Jonathan Wakely  <jwakely@redhat.com>
475         * libsupc++/new_opant.cc: Include exception_defines.h.
476         * libsupc++/new_opvant.cc: Likewise.
478 2016-09-09  Jason Merrill  <jason@redhat.com>
480         Implement P0035R4, C++17 new of over-aligned types.
481         * libsupc++/new: Declare aligned new/delete operators.
482         * config/abi/pre/gnu.ver: Export them.
483         * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
484         _aligned_malloc.
485         * libsupc++/new_opa.cc: New.
486         * libsupc++/new_opant.cc: New.
487         * libsupc++/new_opva.cc: New.
488         * libsupc++/new_opva.cc: New.
489         * libsupc++/del_opa.cc: New.
490         * libsupc++/del_opant.cc: New.
491         * libsupc++/del_opsa.cc: New.
492         * libsupc++/del_opva.cc: New.
493         * libsupc++/del_opvant.cc: New.
494         * libsupc++/del_opvsa.cc: New.
495         * libsupc++/Makefile.am: Build them.
497 2016-09-05  Tim Shen  <timshen@google.com>
499         * include/std/variant: include bits/move.h for std::addressof.
501 2016-09-05  Mikhail Strelnikov  <mikhail.strelnikov@gmail.com>
503         * include/std/variant (_Variant_storage::_M_storage()): Use
504         std::addressof instead of operator& to take address.
506 2016-09-02  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
508         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
509         setrlimit on both native and cross targets.
510         * configure: Regenerate.
512 2016-08-31  Jonathan Wakely  <jwakely@redhat.com>
514         * include/bits/shared_ptr.h (_Assignable): New alias template.
515         (shared_ptr::operator=(const shared_ptr<_Tp1>&))
516         (shared_ptr::operator=(shared_ptr<_Tp1>&&))
517         (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
518         _Assignable.
519         * include/bits/shared_ptr_base.h (_Assignable): New alias template.
520         (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
521         (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
522         (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
523         _Assignable.
524         (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
525         (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
526         _Convertible.
527         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
528         match on any line.
529         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
530         * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
531         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
532         expected errors. Remove unnecessary code.
533         * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
535         * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
536         comparison object.
537         * testsuite/23_containers/set/move_comparison.cc: New test.
539         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
540         New test.
542 2016-08-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
544         PR libstdc++/77395
545         * include/std/type_traits (is_constructible): Forward-declare...
546         (__is_base_to_derived_ref): ...and use here.
547         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
548         * testsuite/20_util/is_constructible/77395.cc: New.
549         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
550         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
551         Likewise.
552         * testsuite/20_util/tuple/77395.cc: New.
554 2016-08-30  Uros Bizjak  <ubizjak@gmail.com>
556         * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
557         directive above dg-require-namedlocale directive.
558         * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
559         * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
560         * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
561         * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
562         * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
564 2016-08-27  Tim Shen  <timshen@google.com>
566         PR libstdc++/77356
567         * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
568         _M_expression_term): Modify to support dash literal.
569         * include/bits/regex_scanner.h: Add dash as a token type to make
570         a different from the mandated dash literal by escaping.
571         * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
572         token in bracket expression parsing.
573         * testsuite/28_regex/regression.cc: Add new testcases.
575 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
577         PR libstdc++/51960
578         * doc/xml/manual/intro.xml: Document DR 2127 change.
579         * doc/html/*: Regenerate.
580         * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
581         (operator++(), operator++(int)): Use injected class name.
582         * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
584         * testsuite/*: Use { target c++11 } or { target c++14 } instead of
585         using -std in dg-options.
587 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
588             Pedro Alves  <palves@redhat.com>
590         * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
591         and restore dg-interpreter-batch-mode.
592         * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
593         gdb-dg-runtest instead of dg-runtest.
594         * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
596 2016-08-26  Jonathan Wakely  <jwakely@redhat.com>
598         * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
599         precise patterns for basic_string constructors.
600         (GLIBCXX_3.4.23): Export new constructors.
601         * doc/xml/manual/intro.xml: Document LWG 2583 status.
602         * doc/html/*: Regenerate.
603         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
604         (basic_string(const basic_string&, size_type, const Alloc&)): Add
605         new constructor for LWG 2583.
606         (basic_string(const basic_string&, size_type, size_type)): Remove
607         default argument.
608         [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
609         * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
610         * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
611         * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
613 2016-08-24  Aditya Kumar  <hiraditya@msn.com>
615         * include/bits/algorithmfwd.h: Remove trailing whitespace.
616         * include/bits/shared_ptr_base.h: Likewise.
618 2016-08-23  Jonathan Wakely  <jwakely@redhat.com>
620         * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
621         * include/profile/array (array): Likewise.
622         (array::swap): Fix exception specification for zero-sized arrays.
624         PR libstdc++/77334
625         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
626         (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
627         * testsuite/23_containers/map/77334.cc: New test.
629         * doc/xml/manual/using.xml: Remove reference to -pthreads option.
630         * doc/html/*: Regenerate.
632         * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
633         * testsuite/experimental/feat-lib-fund.cc: Likewise.
635         PR libstdc++/71771
636         * include/bits/stl_iterator.h
637         (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
638         define for C++98 mode.
639         (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
640         * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
641         -std=gnu++98.
642         * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
643         * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
644         * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
645         * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
646         difference operator.
647         * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
648         difference operator for C++98.
649         * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
651         * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
652         * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
653         (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
654         * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
655         (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
656         Likewise.
657         * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
658         _GLIBCXX14_CONSTEXPR.
659         (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
660         * include/std/array (array::begin, array::end, array::rbegin)
661         (array::rend, array::cbegin, array:cend, array::crbegin)
662         (array::crend, array::operator[], array::at, array::front)
663         (array::back, array::data): Likewise.
664         * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
665         with separate tests for C++11, C++14, and C++17.
666         * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
667         * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
668         * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
670 2016-08-22  Tim Shen  <timshen@google.com>
672         Split _M_dfs() into smaller functions.
673         * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
674         (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
675         (_M_handle_line_end_assertion, _M_handle_word_boundary)
676         (_M_handle_subexpr_lookahead, _M_handle_match)
677         (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
678         Add separate function declarations.
679         * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
681 2016-08-22  Gleb Natapov  <gleb@scylladb.com>
683         PR libstdc++/68297
684         * config/abi/pre/gnu-versioned-namespace.ver: Export
685         __cxa_init_primary_exception and std::exception_ptr(void*).
686         * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
687         export __cxa_init_primary_exception and std::exception_ptr(void*).
688         * include/Makefile.am: Add new headers.
689         * include/Makefile.in: Regenerate.
690         * libsupc++/Makefile.am: Add new headers.
691         * libsupc++/Makefile.in: Regenerate.
692         * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
693         * libsupc++/cxxabi_init_exception.h: New header.
694         (__cxa_init_primary_exception): Declare.
695         * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
696         (__cxa_throw): Use __cxa_init_primary_exception.
697         * libsupc++/exception (std::exception): Move to ...
698         * libsupc++/exception.h: New header.
699         * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
700         friend declaration.
701         (__exception_ptr::__dest_thunk): New function template.
702         (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
703         Use __cxa_allocate_exception and __cxa_init_primary_exception to
704         create exception_ptr.
705         * libsupc++/typeinfo: Include bits/exception.h instead of exception.
706         * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
708 2016-08-22  Jonathan Wakely  <jwakely@redhat.com>
710         * doc/xml/api.xml: Replace hardcoded links for specific versions with
711         link to docs for all releases.
712         * doc/html/*: Regenerate.
714         PR libstdc++/77322
715         * doc/xml/manual/intro.xml: Document DR 2062 change.
716         * include/std/functional (function::swap): Add noexcept.
717         (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
718         * testsuite/20_util/function/77322.cc: New test.
720 2016-08-19  Jonathan Wakely  <jwakely@redhat.com>
722         * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
723         *-*-solaris* instead of -pthreads.
724         * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
725         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
726         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
727         * testsuite/23_containers/list/pthread1.cc: Likewise.
728         * testsuite/23_containers/list/pthread5.cc: Likewise.
729         * testsuite/23_containers/map/pthread6.cc: Likewise.
730         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
731         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
732         * testsuite/30_threads/shared_mutex/*: Likewise.
733         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
734         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
735         default_weaktoshared.cc: Likewise.
736         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
737         mutex_weaktoshared.cc: Likewise.
738         * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
739         dg-require-effective-target instead of using -std option.
740         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
741         Likewise.
742         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
743         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
744         Likewise.
745         * testsuite/30_threads/async/*: Likewise.
746         * testsuite/30_threads/call_once/*: Likewise.
747         * testsuite/30_threads/condition_variable/*: Likewise.
748         * testsuite/30_threads/condition_variable_any/*: Likewise.
749         * testsuite/30_threads/future/*: Likewise.
750         * testsuite/30_threads/lock/*: Likewise.
751         * testsuite/30_threads/mutex/*: Likewise.
752         * testsuite/30_threads/packaged_task/*: Likewise.
753         * testsuite/30_threads/promise/*: Likewise.
754         * testsuite/30_threads/recursive_mutex/*: Likewise.
755         * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
756         * testsuite/30_threads/shared_future/*: Likewise.
757         * testsuite/30_threads/shared_lock/*: Likewise.
758         * testsuite/30_threads/shared_timed_mutex/*: Likewise.
759         * testsuite/30_threads/this_thread/*: Likewise.
760         * testsuite/30_threads/thread/*: Likewise.
761         * testsuite/30_threads/timed_mutex/*: Likewise.
762         * testsuite/30_threads/try_lock/*: Likewise.
763         * testsuite/30_threads/unique_lock/*: Likewise.
765         * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
766         * doc/html/*: Regenerate.
767         * include/experimental/functional (_Not_fn, not_fn): Match C++17
768         semantics.
769         * include/std/functional (_Not_fn, not_fn): Define for C++17.
770         * testsuite/20_util/not_fn/1.cc: New.
771         * testsuite/experimental/functional/not_fn.cc: Test abstract class.
772         Remove test for volatile-qualified wrapper.
774         * include/std/atomic (atomic::is_always_lock_free): Define.
775         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
776         * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
777         * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
778         * doc/xml/manual/status_cxx2017.xml: Update status.
779         * doc/html/*: Regenerate.
781         * include/experimental/tuple (apply): Qualify call to __apply_impl.
782         * include/std/tuple (apply): Likewise.
783         * testsuite/experimental/system_error/value.cc: Fix ambiguities in
784         C++17 mode.
785         * testsuite/experimental/tuple/tuple_size.cc: Likewise.
786         * testsuite/experimental/type_traits/value.cc: Likewise.
788         * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
789         and variant.
790         * doc/html/*: Regenerate.
792 2016-08-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
794         Implement the latest proposed resolution of LWG 2756.
795         * include/std/optional (Optional_base(const _Tp&))
796         (Optional_base(_Tp&&), using _Base::_Base): Remove.
797         (optional(nullopt_t)): New.
798         (optional(_Up&&)): Invoke base directly with in_place
799         rather than creating a temporary, add default template
800         argument, change constraints.
801         (optional(const optional<_Up>&)): Invoke base directly
802         with in_place, remove unnecessary constraints.
803         (optional(optional<_Up>&& __t)): Likewise.
804         (optional(in_place_t, _Args&&...)): New.
805         (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
806         (operator=(_Up&&)): Add default template argument, change constraints.
807         (operator=(const optional<_Up>&)): Put is_same first in the
808         constraints.
809         (operator=(optional<_Up>&&)): Likewise.
810         * testsuite/20_util/optional/assignment/5.cc: Add a test to
811         verify assignment from something that can't be perfect-forwarded.
812         * testsuite/20_util/optional/cons/value.cc: Add tests to verify
813         that a nested optional is disengaged when constructed
814         from a disengaged element type, and to verify that assignments
815         from an engaged element type engage the optional.
817 2016-08-18  Tim Shen  <timshen@google.com>
819         Implement <variant>
821         * include/Makefile.am: Add new file std/variant.
822         * include/Makefile.in: Generated from Makefile.am.
823         * include/bits/enable_special_members.h: Add a tag type to allow
824         the construction in non-default constructor.
825         * include/bits/uses_allocator.h: Add convenience traits to
826         detect constructibility.
827         * include/std/variant: Implement <variant>.
828         * testsuite/20_util/variant/compile.cc: Compile-time tests.
829         * testsuite/20_util/variant/run.cc: Runtime tests.
831 2016-08-18  Jonathan Wakely  <jwakely@redhat.com>
833         * doc/xml/manual/test.xml (test.run.permutations): Expand section.
834         (test.new_tests): Rewrite section.
835         (tests.dg.directives): New section.
836         * doc/html/*: Regenerate.
838         * doc/xml/manual/test.xml: Improve documentation of test targets.
839         Document new-abi-baseline, check-debug, and check-parallel targets.
841         * doc/xml/manual/build_hacking.xml: New section on shared library
842         versioning.
844         * doc/xml/manual/build_hacking.xml: Improve markup.
845         * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
846         to "Testing".
847         * doc/xml/faq.xml: Change link text to "Testing".
849         * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
850         dg-options directive.
852 2016-08-17  Jonathan Wakely  <jwakely@redhat.com>
854         * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
855         directive and use effective target instead of dg-options.
857         * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
858         instead of -std in dg-options.
859         * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
860         * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
861         * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
862         * testsuite/20_util/hash/quality.cc: Likewise.
863         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
864         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
865         * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
866         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
867         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
868         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
870         * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
871         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
872         * testsuite/27_io/rvalue_streams.cc: Likewise.
874         * testsuite/26_numerics/complex/literals/types.cc: Add comment.
876         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
877         Remove duplicate dg-options directive.
879         * testsuite/ext/profile/all.cc: Use effective target instead of
880         -std=gnu++11. Use dg-additional-options instead of repeating options.
882         * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
883         -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
884         instead of dg-excess-errors.
886         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
887         test for C++17.
888         * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
889         * testsuite/experimental/ratio/value.cc: Likewise.
890         * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
891         C++17.
892         * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
893         * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
894         * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
895         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
896         * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
897         * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
898         * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
899         * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
900         * testsuite/tr1/5_numerical_facilities/special_functions/
901         10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
902         C++17 compatibility.
904         * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
905         expected signatures for C++14 compatibility.
907         PR libstdc++/77264
908         * include/bits/basic_string.h (operator=(__sv_type)
909         (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
910         (replace(size_type, size_type, __sv_type))
911         (replace(const_iterator, const_iterator, __sv_type))
912         (find(__sv_type, size_type), rfind(__sv_type, size_type))
913         (compare(size_type, size_type, __sv_type)): Reformat.
914         (_If_sv): Define helper for SFINAE constaints.
915         (append(const _Tp&, size_type, size_type))
916         (assign(const _Tp&, size_type, size_type))
917         (insert(size_type, const _Tp&, size_type, size_type))
918         (replace(size_type, size_type, const _Tp&, size_type, size_type)):
919         Use _If_sv.
920         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
921         SFINAE constraints.
922         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
923         Likewise.
924         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
925         Likewise.
926         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
927         Likewise.
928         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
929         Likewise.
930         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
931         Likewise.
932         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
933         Likewise.
934         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
935         Likewise.
936         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
937         Likewise.
938         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
939         Likewise.
940         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
941         Likewise.
943 2016-08-16  Jonathan Wakely  <jwakely@redhat.com>
945         PR libstdc++/72847
946         * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
947         pointers to start and end of storage.
948         * testsuite/23_containers/vector/bool/72847.cc: New test.
949         * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
950         _M_finish after deallocating.
951         (vector<bool>::_M_fill_insert): Likewise.
952         (vector<bool>::_M_insert_range): Likewise.
953         (vector<bool>::_M_insert_aux): Likewise.
955 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
957         Implement LWG 2744 and LWG 2754.
958         * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
959         (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
960         (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
961         Likewise.
962         (emplace(_Args&&...)): Likewise.
963         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
964         * include/std/utility: (__is_in_place_type_impl): New.
965         (__is_in_place_type): Likewise.
966         * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
967         emplace.
968         * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
969         in_place constructor.
970         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
971         * testsuite/20_util/any/requirements.cc: Add a test for
972         in_place-constructing a non-default-constructible type.
974 2016-08-15  Ville Voutilainen  <ville.voutilainen@gmail.com>
976         Add a feature macro for C++17 make_from_tuple.
977         * include/std/tuple (__cpp_lib_make_from_tuple): New.
978         (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
979         Qualify the call to get<>().
980         * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
982 2016-08-15  Uros Bizjak  <ubizjak@gmail.com>
984         * src/filesystem/ops.cc: Always include ostream and
985         ext/stdio_filebuf.h.
986         (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
987         [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
988         sendfile fails with ENOSYS or EINVAL.
990 2016-08-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
992         PR libstdc++/72840
993         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
994         syntax.
996 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
998         Implement C++17 make_from_tuple.
999         * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
1000         * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1002 2016-08-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
1004         Implement LWG 2758.
1005         * include/bits/basic_string.h
1006         (append(__sv_type, size_type, size_type)): Turn into a template,
1007         change parameter type, constrain, add a conversion to __sv_type
1008         from the dependent parameter type.
1009         (assign(__sv_type, size_type, size_type)): Likewise.
1010         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1011         (replace(size_type, size_type, __sv_type, size_type, size_type)):
1012         Likewise.
1013         (compare(size_type, size_type,__sv_type, size_type, size_type)):
1014         Likewise.
1015         * testsuite/21_strings/basic_string/lwg2758.cc: New.
1017 2016-08-06  Jonathan Wakely  <jwakely@redhat.com>
1019         * doc/xml/manual/status_cxx2017.xml: Update status table.
1020         * doc/html/manual/status.html: Regenerate.
1022         * testsuite/lib/libstdc++.exp: Fix typo in comment.
1024         PR libstdc++/72820
1025         * include/std/functional (_Function_base::_Base_manager::_M_clone):
1026         Qualify new operator.
1027         * testsuite/20_util/function/cons/72820.cc: New test.
1029         * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
1030         * doc/html/manual/status.html: Regenerate.
1031         * include/Makefile.am: Add new header.
1032         * include/Makefile.in: Regenerate.
1033         * include/bits/invoke.h: New header.
1034         (__invoke): Make constexpr. Add && to types in exception specification.
1035         * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
1036         names. Include <bits/invoke.h> and use std::__invoke.
1037         * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
1038         new header.
1039         (invoke): Add && to types in exception specification.
1040         * include/std/tuple (apply, __apply_impl): Define for C++17.
1041         * testsuite/20_util/tuple/apply/1.cc: New test.
1042         * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
1043         lineno.
1045 2016-08-05  Jonathan Wakely  <jwakely@redhat.com>
1047         * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1048         * doc/html/manual/status.html: Regenerate.
1050         * include/std/chrono (floor, ceil, round, abs): New for C++17.
1051         * testsuite/20_util/duration_cast/rounding.cc: New test.
1052         * testsuite/20_util/time_point_cast/rounding.cc: New test.
1053         * doc/xml/manual/status_cxx2017.xml: Update status table.
1054         * doc/html/manual/status.html: Regenerate.
1055         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1056         dg-error lineno.
1057         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1058         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1059         * testsuite/20_util/duration/literals/range.cc: Likewise.
1061         * include/std/functional (__callable_functor): Remove.
1062         (_Function_handler::_M_invoke): Use __invoke instead of
1063         __callable_functor or mem_fn.
1064         (function::_Callable): Use lvalue in result_of expression.
1065         (function): Remove TODO comments about allocators.
1066         * testsuite/20_util/function/cons/refqual.cc: New test.
1068 2016-08-04  Jonathan Wakely  <jwakely@redhat.com>
1070         * doc/xml/manual/status_cxx2017.xml: Update status table.
1071         * include/std/functional (__inv_unwrap): Move to <type_traits>.
1072         (__invoke_impl): Remove exception specifications.
1073         (__invoke, invoke): Add exception specifications using
1074         __is_nothrow_callable.
1075         * include/std/type_traits (__inv_unwrap): Move from <functional>.
1076         (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
1077         (__is_callable, __is_nothrow_callable): New traits.
1078         (is_callable, is_callable_v): New C++17 traits.
1079         (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1080         * testsuite/20_util/is_callable/requirements/
1081         explicit_instantiation.cc: New test.
1082         * testsuite/20_util/is_callable/requirements/
1083         explicit_instantiation_ext.cc: New test.
1084         * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1085         * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1086         test.
1087         * testsuite/20_util/is_callable/value.cc: New test.
1088         * testsuite/20_util/is_callable/value_ext.cc: New test.
1089         * testsuite/20_util/is_nothrow_callable/requirements/
1090         explicit_instantiation.cc: New test.
1091         * testsuite/20_util/is_nothrow_callable/requirements/
1092         explicit_instantiation_ext.cc: New test.
1093         * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1094         New test.
1095         * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1096         New test.
1097         * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1098         * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1100         * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1101         * doc/html/manual/status.html: Regenerate.
1103         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1104         effective target not dg-options. Move check for feature-test macro to:
1105         * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1106         New test.
1108         * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1109         (__invfwd): Adjust.
1110         (__invoke_impl): Remove unused template parameters.
1111         * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1112         parameter.
1113         * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1114         and test __invoke extension for C++11.
1116 2016-08-03  Jonathan Wakely  <jwakely@redhat.com>
1118         * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1119         Define feature-test macro.
1120         * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1121         for the macro.
1123         * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1124         * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1125         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1126         * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1127         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1129         * include/std/utility (as_const): Define.
1130         * testsuite/20_util/as_const/1.cc: New test.
1131         * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1133         * include/bits/shared_ptr.h (owner_less): Add default template
1134         argument.
1135         * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1136         specialization.
1137         (owner_less<void>): Define specialization.
1138         * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1139         Update value.
1140         * testsuite/20_util/owner_less/void.cc: New test.
1141         * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1143         * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1144         Define feature-test macro.
1145         * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1146         * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1147         * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1148         (__cpp_lib_type_trait_variable_templates): Define.
1150         * include/bits/stl_function.h: Remove commented-out macro.
1151         * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1152         Define feature-test macro.
1153         * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1155         * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1156         C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1157         true.
1158         * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1159         do #error for C++17.
1160         * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1161         of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1162         * include/tr1/bessel_function.tcc: Likewise.
1163         * include/tr1/beta_function.tcc: Likewise.
1164         * include/tr1/cmath: Likewise.
1165         * include/tr1/ell_integral.tcc: Likewise.
1166         * include/tr1/exp_integral.tcc: Likewise.
1167         * include/tr1/gamma.tcc: Likewise.
1168         * include/tr1/hypergeometric.tcc: Likewise.
1169         * include/tr1/legendre_function.tcc: Likewise.
1170         * include/tr1/modified_bessel_func.tcc: Likewise.
1171         * include/tr1/poly_hermite.tcc: Likewise.
1172         * include/tr1/poly_laguerre.tcc: Likewise.
1173         * include/tr1/riemann_zeta.tcc: Likewise.
1174         * include/tr1/special_function_util.h: Likewise.
1175         * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1177         * include/std/type_traits (has_trivial_default_constructor): Remove.
1178         (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1179         * testsuite/20_util/has_trivial_copy_assign/requirements/
1180         explicit_instantiation.cc: Remove test.
1181         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1182         line number.
1183         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1184         Likewise.
1185         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1186         * testsuite/20_util/has_trivial_copy_constructor/requirements/
1187         explicit_instantiation.cc: Likewise.
1188         * testsuite/20_util/has_trivial_copy_constructor/requirements/
1189         typedefs.cc: Likewise.
1190         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1191         * testsuite/20_util/has_trivial_default_constructor/requirements/
1192         explicit_instantiation.cc: Likewise.
1193         * testsuite/20_util/has_trivial_default_constructor/requirements/
1194         typedefs.cc: Likewise.
1195         * testsuite/20_util/has_trivial_default_constructor/value.cc:
1196         Likewise.
1197         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1198         Check has_trivial_default_constructor, has_trivial_copy_constructor,
1199         and has_trivial_copy_assign are not defined.
1200         * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1201         tests.
1202         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1203         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1204         dg-error line number.
1205         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1206         Likewise.
1208 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
1210         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1211         Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1212         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1213         Likewise.
1214         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1215         Likewise.
1216         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1217         Likewise.
1218         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1219         Likewise.
1220         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1221         Likewise.
1222         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1223         Likewise.
1225         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1226         comments.
1228         * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1229         dg-error to relevant line.
1230         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1231         Likewise.
1232         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1234         * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1236         * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1237         options are present that aren't valid for C.
1238         * testsuite/abi/header_cxxabi.c: Likewise.
1240         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1241         check_value.cc: Do not add special functions to namespace std in TR1
1242         test.
1244         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1245         run for C++11 and later.
1246         * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1247         Likewise.
1248         * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1249         * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1250         * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1251         * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1252         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1253         Likewise.
1254         * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1255         Likewise.
1256         * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1257         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1258         Likewise.
1259         * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1260         Likewise.
1261         * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1262         Likewise.
1263         * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1264         * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1265         * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1266         * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1267         * testsuite/special_functions/03_beta/compile.cc: Likewise.
1268         * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1269         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1270         * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1271         Likewise.
1272         * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1273         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1274         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1275         * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1276         Likewise.
1277         * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1278         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1279         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1280         * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1281         Likewise.
1282         * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1283         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1284         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1285         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1286         Likewise.
1287         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1288         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1289         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1290         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1291         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1292         Likewise.
1293         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1294         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1295         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1296         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1297         Likewise.
1298         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1299         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1300         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1301         * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1302         * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1303         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1304         * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1305         * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1306         * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1307         * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1308         * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1309         * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1310         * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1311         * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1312         * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1313         * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1314         * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1315         * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1316         * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1317         * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1318         * testsuite/special_functions/14_expint/compile.cc: Likewise.
1319         * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1320         * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1321         * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1322         * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1323         * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1324         * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1325         * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1326         * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1327         * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1328         * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1329         * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1330         * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1331         * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1332         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1333         * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1334         Likewise.
1335         * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1336         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1337         * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1338         * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1339         * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1340         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1341         * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1342         * testsuite/special_functions/20_sph_legendre/check_value.cc:
1343         Likewise.
1344         * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1345         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1346         * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1347         * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1348         * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1349         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1351         * testsuite/tr1/5_numerical_facilities/special_functions/
1352         08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1353         of [[gnu::unused]].
1354         * testsuite/tr1/5_numerical_facilities/special_functions/
1355         09_cyl_bessel_j/check_value.cc: Likewise.
1356         * testsuite/tr1/5_numerical_facilities/special_functions/
1357         10_cyl_bessel_k/check_value.cc: Likewise.
1358         * testsuite/tr1/5_numerical_facilities/special_functions/
1359         11_cyl_neumann/check_value.cc: Likewise.
1360         * testsuite/tr1/5_numerical_facilities/special_functions/
1361         21_sph_bessel/check_value.cc: Likewise.
1362         * testsuite/tr1/5_numerical_facilities/special_functions/
1363         23_sph_neumann/check_value.cc: Likewise.
1365 2016-08-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1367         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1368         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1369         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1370         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1371         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1372         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1374 2016-08-02  Jonathan Wakely  <jwakely@redhat.com>
1376         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1377         test if -flto used.
1379         * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1380         additional flags for compiling libtestc++.a objects.
1382 2016-08-01  Jonathan Wakely  <jwakely@redhat.com>
1384         * include/bits/basic_string.h (data() const): Update comment.
1385         (data()): Add non-const overload for C++17.
1386         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1387         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1389         * include/bits/basic_string.tcc: Disable explicit instantiation
1390         declarations for C++17.
1392         * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1393         ignored "xfail" from { dg-do compile { xfail selector } } directive.
1394         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1395         Likewise.
1396         * testsuite/26_numerics/headers/cmath/
1397         c99_classification_macros_c++11.cc: Likewise.
1398         * testsuite/26_numerics/headers/cmath/
1399         c99_classification_macros_c++98.cc: Likewise.
1400         * testsuite/26_numerics/headers/cmath/
1401         c99_classification_macros_c.cc: Likewise.
1403         * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1404         for different construct/destroy counts in C++98 mode.
1406         * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1408         * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1409         later.
1410         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1411         Likewise.
1413         * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1414         C++98-compatible initialization for array.
1416         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1417         unused header and variable from compile-only test.
1418         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1419         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1420         * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1421         * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1422         Likewise.
1424         * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1425         Remove duplicate dg-options directive.
1427         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1428         808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1430         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1431         linker options from compile-only tests.
1432         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1433         Likewise.
1435         * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1436         supported for C++11 and later.
1437         * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1438         * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1440 2016-08-01  Uros Bizjak  <ubizjak@gmail.com>
1442         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1444 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
1446         * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1447         compile-only test.
1449         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1450         Ensure test is compiled with optimization.
1452         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1453         Adjust dg-prune-output pattern for error in C++98 mode.
1455         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1456         run for C++11 or later.
1458         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1459         test to not rely on GNU extension (escaped normal characters in POSIX
1460         BRE). Enable tests for other strings which are now supported.
1462         * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1463         c++11 instead of setting -std=gnu++14.
1465         PR libstdc++/72745
1466         * include/std/array (get): Use positive message for static assertions.
1467         * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1468         * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1469         specialization for invalid indices, with static assertion.
1470         * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1472         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1473         dg-error to relevant line.
1474         * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1475         Likewise.
1476         * testsuite/23_containers/forward_list/requirements/dr438/
1477         assign_neg.cc: Likewise.
1478         * testsuite/23_containers/forward_list/requirements/dr438/
1479         constructor_1_neg.cc: Likewise.
1480         * testsuite/23_containers/forward_list/requirements/dr438/
1481         constructor_2_neg.cc: Likewise.
1482         * testsuite/23_containers/forward_list/requirements/dr438/
1483         insert_neg.cc: Likewise.
1484         * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1485         Likewise.
1486         * testsuite/26_numerics/random/linear_congruential_engine/
1487         requirements/non_uint_neg.cc: Likewise.
1488         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1489         Likewise. Also test for std::atomic_address.
1491 2016-07-31  Ville Voutilainen  <ville.voutilainen@gmail.com>
1493         Add missing variable traits, fix testsuite failures.
1494         * include/bits/uses_allocator.h (uses_allocator_v): New.
1495         * include/std/functional (is_bind_expression_v, is_placeholder_v):
1496         Likewise.
1497         * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1498         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1499         * testsuite/20_util/duration/literals/range.cc: Likewise.
1500         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1501         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1502         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1503         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1504         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1505         Likewise.
1506         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1507         * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1508         New.
1510 2016-07-31  Jonathan Wakely  <jwakely@redhat.com>
1512         * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1513         not test 128-bit types.
1514         * testsuite/20_util/is_floating_point/value.cc: Likewise.
1515         * testsuite/20_util/is_integral/value.cc: Likewise.
1516         * testsuite/20_util/is_signed/value.cc: Likewise.
1517         * testsuite/20_util/is_unsigned/value.cc: Likewise.
1518         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1519         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1520         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1521         Likewise.
1522         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1523         Likewise.
1525         * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1527 2016-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>
1529         Implement C++17 variable templates for type traits.
1530         * include/std/chrono (treat_as_floating_point_v): New.
1531         * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1532         (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1533         (ratio_greater_equal_v): Likewise.
1534         * include/std/system_error (is_error_code_enum_v)
1535         (is_error_condition_enum_v): Likewise.
1536         * include/std/tuple (tuple_size_v): Likewise.
1537         * type_traits (conjunction_v, disjunction_v, negation_v)
1538         (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1539         (is_array_v, is_pointer_v, is_lvalue_reference_v)
1540         (is_rvalue_reference_v, is_member_object_pointer_v)
1541         (is_member_function_pointer_v, is_enum_v, is_union_v)
1542         (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1543         (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1544         (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1545         (is_trivially_copyable_v, is_standard_layout_v)
1546         (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1547         (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1548         (is_constructible_v, is_default_constructible_v)
1549         (is_copy_constructible_v, is_move_constructible_v)
1550         (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1551         (is_destructible_v, is_trivially_constructible_v)
1552         (is_trivially_default_constructible_v)
1553         (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1554         (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1555         (is_trivially_move_assignable_v, is_trivially_destructible_v)
1556         (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1557         (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1558         (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1559         (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1560         (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1561         (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1562         * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1563         * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1564         Likewise.
1565         * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1566         * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1567         * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1569 2016-07-29  Andreas Schwab  <schwab@linux-m68k.org>
1571         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1572         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1573         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1575 2016-07-29  Jonathan Wakely  <jwakely@redhat.com>
1577         * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1578         * doc/html/manual/abi.html: Regenerate.
1580         * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1581         * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1582         symbols.
1583         * configure: Regenerate.
1584         * testsuite/util/testsuite_abi.cc: Add new symbol version.
1586         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1587         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1588         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1589         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1590         Likewise.
1591         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1592         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1593         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1595 2016-07-28  Jonathan Wakely  <jwakely@redhat.com>
1597         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1598         Adjust dg-prune-output pattern for error in C++98 mode.
1599         * testsuite/23_containers/deque/requirements/dr438/
1600         constructor_1_neg.cc: Likewise.
1601         * testsuite/23_containers/deque/requirements/dr438/
1602         constructor_2_neg.cc: Likewise.
1603         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1604         Likewise.
1605         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1606         Likewise.
1607         * testsuite/23_containers/list/requirements/dr438/
1608         constructor_1_neg.cc: Likewise.
1609         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1610         Likewise.
1611         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1612         Likewise.
1613         * testsuite/23_containers/vector/requirements/dr438/
1614         constructor_1_neg.cc: Likewise.
1615         * testsuite/23_containers/vector/requirements/dr438/
1616         constructor_2_neg.cc: Likewise.
1617         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1618         Likewise.
1620         * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1621         for different construct/destroy counts in C++98 mode.
1623         * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1624         dg-options to dg-additional-options so that default options are used.
1625         * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1626         Likewise.
1627         * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1628         * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1629         Likewise.
1630         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1631         Use dg-additional-options instead of repeating the common options.
1633         * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1634         dg-do compile directive.
1635         * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1636         dg-do directive.
1637         * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1639 2016-07-28  Ville Voutilainen  <ville.voutilainen@gmail.com>
1641         Implement std::string_view and P0254r2,
1642         Integrating std::string_view and std::string.
1643         * include/Makefile.am: Add string_view and string_view.tcc
1644         to the exported headers.
1645         * include/Makefile.in: Likewise.
1646         * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1647         (__sv_type): New.
1648         (basic_string(__sv_type, const _Alloc&)): Likewise.
1649         (operator=(__sv_type)): Likewise.
1650         (operator __sv_type()): Likewise.
1651         (operator+=(__sv_type)): Likewise.
1652         (append(__sv_type __sv)): Likewise.
1653         (append(__sv_type, size_type, size_type)): Likewise.
1654         (assign(__sv_type)): Likewise.
1655         (assign(__sv_type, size_type, size_type)): Likewise.
1656         (insert(size_type, __sv_type)): Likewise.
1657         (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1658         (replace(size_type, size_type, __sv_type)): Likewise.
1659         (replace(size_type, size_type, __sv_type, size_type, size_type)):
1660         Likewise.
1661         (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1662         (find(__sv_type, size_type)): Likewise.
1663         (rfind(__sv_type, size_type)): Likewise.
1664         (find_first_of(__sv_type, size_type)): Likewise.
1665         (find_last_of(__sv_type, size_type)): Likewise.
1666         (find_first_not_of(__sv_type, size_type)): Likewise.
1667         (find_last_not_of(__sv_type, size_type)): Likewise.
1668         (compare(__sv_type)): Likewise.
1669         (compare(size_type, size_type, __sv_type)): Likewise.
1670         (compare(size_type, size_type, __sv_type, size_type, size_type)):
1671         Likewise.
1672         * include/bits/string_view.tcc: New.
1673         * include/std/string_view: Likewise.
1674         * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1675         * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1676         * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1677         Likewise.
1678         * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1679         Likewise.
1680         * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1681         Likewise.
1682         * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1683         Likewise.
1684         * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1685         Likewise.
1686         * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1687         Likewise.
1688         * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1689         Likewise.
1690         * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1691         Likewise.
1692         * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1693         Likewise.
1694         * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1695         Likewise.
1696         * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1697         Likewise.
1698         * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1699         Likewise.
1700         * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1701         * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1702         * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1703         * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1704         * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1705         * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1706         * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1707         * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1708         * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1709         * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1710         Likewise.
1711         * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1712         Likewise.
1713         * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1714         Likewise.
1715         * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1716         Likewise.
1717         * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1718         Likewise.
1719         * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1720         Likewise.
1721         * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1722         Likewise.
1723         * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1724         Likewise.
1725         * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1726         * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1727         * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1728         * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1729         * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1730         Likewise.
1731         * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1732         Likewise.
1733         * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1734         Likewise.
1735         * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1736         Likewise.
1737         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1738         Likewise.
1739         * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1740         Likewise.
1741         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1742         Likewise.
1743         * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1744         Likewise.
1745         * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1746         Likewise.
1747         * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1748         Likewise.
1749         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1750         Likewise.
1751         * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1752         Likewise.
1753         * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1754         Likewise.
1755         * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1756         Likewise.
1757         * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1758         Likewise.
1759         * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1760         Likewise.
1761         * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1762         Likewise.
1763         * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1764         Likewise.
1765         * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1766         Likewise.
1767         * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1768         Likewise.
1769         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1770         Likewise.
1771         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1772         Likewise.
1773         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1774         Likewise.
1775         * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1776         Likewise.
1777         * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1778         Likewise.
1779         * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1780         Likewise.
1781         * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1782         Likewise.
1783         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1784         Likewise.
1785         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1786         Likewise.
1787         * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1788         Likewise.
1789         * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1790         Likewise.
1791         * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1792         Likewise.
1793         * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1794         Likewise.
1795         * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1796         * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1797         Likewise.
1798         * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1799         Likewise.
1800         * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1801         Likewise.
1802         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1803         Likewise.
1804         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1805         Likewise.
1806         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1807         Likewise.
1808         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1809         Likewise.
1810         * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1811         Likewise.
1812         * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1813         Likewise.
1814         * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1815         * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1817 2016-07-27  Jonathan Wakely  <jwakely@redhat.com>
1819         * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1821 2016-07-25  Georeth Chow  <georeth2010@gmail.com>
1823         * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1824         _S_concat enumerator.
1825         * testsuite/ext/rope/6.cc: New test.
1827 2016-07-25  Jonathan Wakely  <jwakely@redhat.com>
1829         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1830         std::mt19937, std::thread and std::atomic to simplify test.
1831         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1833 2016-07-22  Jonathan Wakely  <jwakely@redhat.com>
1835         PR libstdc++/71964
1836         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1837         (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1838         * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1839         * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1840         * testsuite/23_containers/set/allocator/71964.cc: New test.
1842         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1843         delete[] instead of delete.
1845 2016-07-21  Jonathan Wakely  <jwakely@redhat.com>
1847         * include/experimental/propagate_const (propagate_const::__t): Rename
1848         to _M_t and remove comment. Qualify std::move and std::forward.
1849         * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1851         * testsuite/23_containers/vector/zero_sized_allocations.cc:
1852         Define sized deallocation function.
1853         * testsuite/util/testsuite_new_operators.h:
1854         (operator delete(void*, const std::nothrow_t&)): Define nothrow
1855         deallocation function.
1857         * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1858         reads past the end of strings.
1859         * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1860         Likewise.
1861         * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1862         invalid array accesses.
1863         * testsuite/experimental/string_view/operations/compare/char/1.cc:
1864         Fix read past the end of string.
1865         * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1867         * testsuite/24_iterators/container_access.cc: Fix missing returns.
1868         * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1870         * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1871         leak) memory for arguments to placement delete.
1872         * testsuite/20_util/addressof/1.cc: Don't leak memory.
1873         * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1874         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1875         Likewise.
1877 2016-07-20  Jonathan Wakely  <jwakely@redhat.com>
1879         * doc/xml/manual/intro.xml: Document DR 2684 status.
1880         * doc/html/*: Regenerate.
1882         * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1883         (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1884         (atomic_uint64_t): Define (LWG 2441).
1885         * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1886         lines.
1887         * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1888         the new types.
1889         * doc/xml/manual/intro.xml: Document DR 2441 status.
1891         * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1892         to use perfect forwarding (LWG 2328).
1893         * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1894         * doc/xml/manual/intro.xml: Document DR 2328 status.
1896         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1897         static objects for catching nullptr as pointer to member types.
1899 2016-07-18  Ville Voutilainen  <ville.voutilainen@gmail.com>
1901         Clean up optional's comments.
1902         * include/std/optional: Remove incorrect section headers
1903         from comments when redundant, replace bare section
1904         headers with more descriptive comments.
1906 2016-07-15  Jonathan Wakely  <jwakely@redhat.com>
1908         * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1909         * include/bits/move.h: Likewise.
1910         * include/bits/postypes.h: Likewise.
1911         * include/debug/bitset: Likewise.
1912         * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1913         * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1914         comment.
1915         * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1916         * testsuite/util/thread/all.h: Likewise.
1918         * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1919         and adjust comment.
1921         PR c++/58796
1922         * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1923         nullptr match handlers of pointer type.
1925 2016-07-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
1927         Implement C++17 P0025 clamp.
1928         * include/bits/algorithmfwd.h: Declare clamp overloads.
1929         * include/bits/stl_algo.h: Implement clamp.  Feature __cpp_lib_clamp.
1930         * testsuite/25_algorithms/clamp/1.cc: New test.
1931         * testsuite/25_algorithms/clamp/2.cc: New test.
1932         * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1933         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1934         1.cc: New test.
1935         * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1936         pod.cc: New test.
1938 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
1940         Fix the constraints for any's assignment operator template to properly
1941         reject assignment from a non-copyable lvalue.
1942         * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1943         type for is_copy_constructible,
1944         * testsuite/20_util/any/requirements.cc: Add a test for
1945         non-copyable lvalues.
1947 2016-07-14  Jonathan Wakely  <jwakely@redhat.com>
1949         * include/experimental/functional: Include <parallel/algorithm> in
1950         Parallel Mode.
1952         * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1953         for std::search.
1955         PR libstdc++/70716
1956         * include/bits/forward_list.h (forward_list): Update doxygen comments
1957         to reflect allocator propagation semantics. Remove ambiguous
1958         statements about data being lost.
1959         * include/bits/stl_deque.h (deque): Likewise.
1960         * include/bits/stl_list.h (list): Likewise.
1961         * include/bits/stl_map.h (map): Likewise.
1962         * include/bits/stl_multimap.h (multimap): Likewise.
1963         * include/bits/stl_multiset.h (multiset): Likewise.
1964         * include/bits/stl_set.h (set): Likewise.
1965         * include/bits/stl_vector.h (vector): Likewise.
1966         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1967         Likewise.
1968         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1969         Likewise.
1971 2016-07-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
1973         Implement P0032R3, Homogeneous interface for variant, any and optional,
1974         for the parts concerning any and optional.
1975         * include/std/any (_Storage()): Make constexpr and have it
1976         initialize _M_ptr.
1977         (any()): Make constexpr.
1978         (any(const any&)): Adjust.
1979         (any(any&&)): Likewise.
1980         (__any_constructible_t): New.
1981         (any(_ValueType&&)): Constrain.
1982         (any(in_place_type_t<_Tp>, _Args&&...)): New.
1983         (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1984         Likewise.
1985         (~any()): Adjust.
1986         (operator=(const any&)): Likewise.
1987         (operator=(any&&)): Likewise.
1988         (operator=(_ValueType&&)): Constrain.
1989         (emplace(_Args&&...)): New.
1990         (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1991         (clear()): Remove.
1992         (reset()): New.
1993         (swap(any&)): Adjust.
1994         (empty()): Remove.
1995         (has_value()): New.
1996         (type()): Adjust.
1997         (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1998         (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1999         (make_any(_Args&&...)): Likewise.
2000         (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
2001         * include/std/optional (in_place_t, in_place): Remove.
2002         (bad_optional_access): Add a comment referring to LEWG 72.
2003         (emplace(_Args&&...)): Constrain.
2004         (has_value()): New.
2005         (reset()): Likewise.
2006         (make_optional(_Args&&...)): Likewise.
2007         (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
2008         * include/std/utility (in_place_tag): New.
2009         (__in_place, __in_place_type, __in_place_index): Likewise.
2010         (in_place_t, in_place_type_t, in_place_index_t): Likewise.
2011         (in_place(__in_place*)): Likewise.
2012         (in_place(__in_place_type<_Tp>*)): Likewise.
2013         (in_place(__in_place_index<_Idx>*)): Likewise.
2014         * testsuite/20_util/any/assign/1.cc: Adjust.
2015         * testsuite/20_util/any/assign/emplace.cc: New.
2016         * testsuite/20_util/any/assign/self.cc: Adjust.
2017         * testsuite/20_util/any/cons/1.cc: Likewise.
2018         * testsuite/20_util/any/cons/in_place.cc: New.
2019         * testsuite/20_util/any/make_any.cc: Likewise.
2020         * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2021         * testsuite/20_util/any/misc/swap.cc: Likewise.
2022         * testsuite/20_util/any/modifiers/1.cc: Likewise.
2023         * testsuite/20_util/any/requirements.cc: New.
2024         * testsuite/20_util/in_place/requirements.cc: Likewise.
2025         * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
2026         * testsuite/20_util/optional/in_place.cc: Likewise.
2027         * testsuite/20_util/optional/make_optional.cc: Add tests for
2028         the new overloads of make_optional.
2030 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
2032         Implement P0307R2, Making Optional Greater Equal Again.
2033         * include/experimental/optional (_Has_addressof): Fix the comment.
2034         * include/std/optional (_Has_addressof): Likewise.
2035         (operator=(_Up&&)): Constrain.
2036         (operator=(const optional<_Up>&)): Likewise.
2037         (operator=(optional<_Up>&&)): Likewise.
2038         (__optional_relop_t): New.
2039         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2040         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2041         Constrain and make transparent.
2042         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2043         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2044         Constrain and make transparent.
2045         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2046         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2047         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2048         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2049         (operator!=(const optional<_Tp>&, _Tp const&)):
2050         Constrain and make transparent.
2051         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2052         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2053         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2054         (operator>(const optional<_Tp>&, const _Tp&)):
2055         Constrain and make transparent.
2056         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2057         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2058         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2059         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2060         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2061         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2062         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2063         * testsuite/20_util/optional/relops/1.cc: Likewise.
2064         * testsuite/20_util/optional/relops/2.cc: Likewise.
2065         * testsuite/20_util/optional/relops/3.cc: Likewise.
2066         * testsuite/20_util/optional/relops/4.cc: Likewise.
2067         * testsuite/20_util/optional/requirements.cc: Add tests to verify
2068         that optional's relops are transparent and don't synthesize
2069         operators. Also test that assignment sfinaes.
2071 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
2073         PR libstdc++/71856
2074         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2075         * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2076         Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
2077         on _GLIBCXX_ASSERTIONS.
2078         * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2079         Include <unistd.h> for sleep.
2080         * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2081         * include/parallel/merge.h: Likewise.
2082         * include/parallel/multiway_merge.h: Likewise.
2083         * include/parallel/partition.h: Likewise.
2084         * include/parallel/queue.h: Likewise.
2085         * include/parallel/sort.h: Likewise.
2086         * testsuite/25_algorithms/headers/algorithm/
2087         parallel_algorithm_assert.cc: New.
2089         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2090         (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2091         Forward to different overload.
2093         * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2094         static.
2096 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
2098         Revert "Add non-const overload of std::string::data()".
2100 2016-07-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
2102         Implement P0307R2, Making Optional Greater Equal Again.
2103         * include/experimental/optional (_Has_addressof): Fix the comment.
2104         * include/std/optional (_Has_addressof): Likewise.
2105         (operator=(_Up&&)): Constrain.
2106         (operator=(const optional<_Up>&)): Likewise.
2107         (operator=(optional<_Up>&&)): Likewise.
2108         (__optional_relop_t): New.
2109         (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2110         (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2111         Constrain and make transparent.
2112         (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2113         (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2114         Constrain and make transparent.
2115         (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2116         (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2117         (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2118         (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2119         (operator!=(const optional<_Tp>&, _Tp const&)):
2120         Constrain and make transparent.
2121         (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2122         (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2123         (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2124         (operator>(const optional<_Tp>&, const _Tp&)):
2125         Constrain and make transparent.
2126         (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2127         (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2128         (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2129         (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2130         (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2131         * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2132         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2133         * testsuite/20_util/optional/relops/1.cc: Likewise.
2134         * testsuite/20_util/optional/relops/2.cc: Likewise.
2135         * testsuite/20_util/optional/relops/3.cc: Likewise.
2136         * testsuite/20_util/optional/relops/4.cc: Likewise.
2137         * testsuite/20_util/optional/requirements.cc: Add tests to verify
2138         that optional's relops are transparent and don't synthesize
2139         operators. Also test that assignment sfinaes.
2141 2016-07-13  Jonathan Wakely  <jwakely@redhat.com>
2143         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2144         New function.
2145         (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2146         instead of _M_data().
2147         (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2148         Likewise.
2149         (append(const basic_string&)): Likewise.
2150         (append(const basic_string&, size_type, size_type)): Likewise.
2151         (assign(const basic_string&, size_type, size_type)): Likewise.
2152         (insert(size_type, const basic_string&)): Likewise.
2153         (insert(size_type, const basic_string&, size_type, size_type)):
2154         Likewise.
2155         (replace(size_type, size_type, const basic_string&, size_type,
2156         size_type)): Likewise.
2157         (replace(__const_iterator, __const_iterator, const basic_string&)):
2158         Likewise.
2159         (c_str(), data()): Use c_str() instead of _M_data().
2160         (data()): Add non-const overload as per LWG 2391 and P0272R1.
2161         (compare(const basic_string&)): Use data() instead of _M_data().
2162         [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2163         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2164         Pass raw pointers to _S_copy.
2165         (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2166         _S_assign.
2167         (find(const _CharT*, size_type, size_type)): Use data instead of
2168         _M_data().
2169         * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2170         * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2171         * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2173 2016-07-12  Jonathan Wakely  <jwakely@redhat.com>
2175         * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2176         * doc/xml/manual/intro.xml: Document DR 2458 status.
2177         * doc/html*: Regenerate.
2179         * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2180         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2181         Only include <array>.
2182         * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2183         Likewise.
2184         * doc/xml/manual/intro.xml: Document LWG 2212 support.
2185         * doc/html*: Regenerate.
2187         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2188         Add testcase from LWG 2164.
2190 2016-07-11  François Dumont  <fdumont@gcc.gnu.org>
2192         * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2193         to _M_realloc_insert.
2194         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2195         (_M_realloc_insert): Declare new function.
2196         (_M_emplace_back_aux): Remove definition.
2197         * include/bits/vector.tcc (emplace_back(_Args...)):
2198         Use _M_realloc_insert.
2199         (insert(const_iterator, const value_type&)): Likewise.
2200         (_M_insert_rval, _M_emplace_aux): Likewise.
2201         (_M_emplace_back_aux): Remove declaration.
2202         (_M_realloc_insert): Define.
2203         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2204         Adjust expected results for emplacing an lvalue with reallocation.
2206 2016-07-10  Ville Voutilainen  <ville.voutilainen@gmail.com>
2208         Implement std::optional.
2209         * include/Makefile.am: Add optional to exported headers.
2210         * include/Makefile.in: Likewise.
2211         * include/std/optional: New.
2212         * testsuite/20_util/optional/typedefs.cc: Likewise.
2213         * testsuite/20_util/optional/relops/2.cc: Likewise.
2214         * testsuite/20_util/optional/relops/3.cc: Likewise.
2215         * testsuite/20_util/optional/relops/4.cc: Likewise.
2216         * testsuite/20_util/optional/relops/5.cc: Likewise.
2217         * testsuite/20_util/optional/relops/1.cc: Likewise.
2218         * testsuite/20_util/optional/relops/6.cc: Likewise.
2219         * testsuite/20_util/optional/nullopt.cc: Likewise.
2220         * testsuite/20_util/optional/in_place.cc: Likewise.
2221         * testsuite/20_util/optional/make_optional.cc: Likewise.
2222         * testsuite/20_util/optional/assignment/2.cc: Likewise.
2223         * testsuite/20_util/optional/assignment/3.cc: Likewise.
2224         * testsuite/20_util/optional/assignment/4.cc: Likewise.
2225         * testsuite/20_util/optional/assignment/5.cc: Likewise.
2226         * testsuite/20_util/optional/assignment/1.cc: Likewise.
2227         * testsuite/20_util/optional/assignment/6.cc: Likewise.
2228         * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2229         * testsuite/20_util/optional/cons/default.cc: Likewise.
2230         * testsuite/20_util/optional/cons/move.cc: Likewise.
2231         * testsuite/20_util/optional/cons/value.cc: Likewise.
2232         * testsuite/20_util/optional/cons/copy.cc: Likewise.
2233         * testsuite/20_util/optional/requirements.cc: Likewise.
2234         * testsuite/20_util/optional/observers/2.cc: Likewise.
2235         * testsuite/20_util/optional/observers/3.cc: Likewise.
2236         * testsuite/20_util/optional/observers/4.cc: Likewise.
2237         * testsuite/20_util/optional/observers/5.cc: Likewise.
2238         * testsuite/20_util/optional/observers/1.cc: Likewise.
2239         * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2240         * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2241         * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2242         * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2243         * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2244         * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2245         * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2246         * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2247         * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2248         * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2249         * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2250         * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2251         * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2252         * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2253         * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2254         * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2255         * testsuite/20_util/optional/swap/1.cc: Likewise.
2257 2016-07-08  Jonathan Wakely  <jwakely@redhat.com>
2259         * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2261 2016-07-07  Jonathan Wakely  <jwakely@redhat.com>
2263         * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2264         * doc/html/*: Regenerate.
2266 2016-07-07  Ville Voutilainen  <ville.voutilainen@gmail.com>
2268         Implement std::any.
2269         * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2270         * include/Makefile.in: Likewise.
2271         * include/std/any: New.
2272         * testsuite/20_util/any/assign/1.cc: Likewise.
2273         * testsuite/20_util/any/assign/2.cc: Likewise.
2274         * testsuite/20_util/any/assign/self.cc: Likewise.
2275         * testsuite/20_util/any/cons/1.cc: Likewise.
2276         * testsuite/20_util/any/cons/2.cc: Likewise.
2277         * testsuite/20_util/any/cons/aligned.cc: Likewise.
2278         * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2279         * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2280         * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2281         * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2282         * testsuite/20_util/any/misc/swap.cc: Likewise.
2283         * testsuite/20_util/any/modifiers/1.cc: Likewise.
2284         * testsuite/20_util/any/observers/type.cc: Likewise.
2285         * testsuite/20_util/any/typedefs.cc: Likewise.
2287 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2289         Add a new header for diagnosing the use of C++17 facilities
2290         in pre-C++17 modes.
2291         * include/bits/c++17_warning.h: New.
2293 2016-07-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2295         Implement LWG 2451, optional<T> should 'forward' T's
2296         implicit conversions.
2297         * include/experimental/optional (__is_optional_impl, __is_optional):
2298         New.
2299         (optional()): Make constexpr and default.
2300         (optional(_Up&&), optional(const optional<_Up>&),
2301         optional(optional<_Up>&& __t): New.
2302         (operator=(_Up&&)): Constrain.
2303         (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2304         * testsuite/experimental/optional/cons/value.cc:
2305         Add tests for the functionality added by LWG 2451.
2306         * testsuite/experimental/optional/cons/value_neg.cc: New.
2308 2016-07-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
2310         Implement LWG 2509,
2311         any_cast doesn't work with rvalue reference targets and cannot
2312         move with a value target.
2313         * include/experimental/any (any(_ValueType&&)): Constrain and
2314         add an overload that doesn't forward.
2315         (any_cast(any&&)): Constrain and add an overload that moves.
2316         * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2317         the functionality added by LWG 2509.
2319 2016-07-04  François Dumont  <fdumont@gcc.gnu.org>
2321         * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2322         New test.
2323         * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2324         test.
2326 2016-07-04  Jonathan Wakely  <jwakely@redhat.com>
2328         * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2329         Define inline. Forward to _M_emplace_aux.
2330         (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2331         (_M_insert_rval, _M_emplace_aux): Declare new functions.
2332         (_Temporary_value): New RAII type using allocator to construct/destroy.
2333         (_S_insert_aux_assign): Remove.
2334         (_M_insert_aux): Make non-variadic.
2335         * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2336         Use _Temporary_value.
2337         (emplace(const_iterator, _Args&&...)): Remove definition.
2338         (_M_insert_rval, _M_emplace_aux): Define.
2339         (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2340         (_M_fill_insert): Use _Temporary_value.
2341         * testsuite/23_containers/vector/allocator/construction.cc: New test.
2342         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2343         Adjust expected results for emplacing an lvalue with reallocation.
2344         * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2345         expected results to account for construction/destruction of temporary
2346         using allocator.
2347         * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2349 2016-07-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
2351         PR libstdc++/71313
2352         * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2353         Call remove_all for children of a directory.
2354         * testsuite/experimental/filesystem/operations/create_directories.cc:
2355         Adjust.
2357 2016-07-02  François Dumont  <fdumont@gcc.gnu.org>
2359         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2360         dg-error line numbers.
2361         * testsuite/23_containers/array/tuple_interface/
2362         tuple_element_debug_neg.cc: Likewise.
2363         * testsuite/25_algorithms/lexicographical_compare/debug/
2364         irreflexive_neg.cc: Remove.
2366 2016-06-30  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2368         * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2369         than specific target.
2371 2016-06-27  François Dumont  <fdumont@gcc.gnu.org>
2373         PR libstdc++/71640
2374         * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2375         friend declaration.
2377 2016-06-23  François Dumont  <fdumont@gcc.gnu.org>
2379         * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2380         zero-size array.
2382 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2384         * configure.host: Remove mep-* support.
2386 2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
2388         * configure: Regenerate.
2389         * configure.host: Remove support for knetbsd.
2390         * crossconfig.m4: Likewise.
2392 2016-06-20  François Dumont  <fdumont@gcc.gnu.org>
2394         PR libstdc++/71181
2395         * include/tr1/hashtable_policy.h
2396         (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2397         dereferenceable to avoid check on lower_bound result.
2398         (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2399         (_Prime_rehash_policy::_M_need_rehash): Likewise.
2400         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2401         Always return a value greater than input value. Set _M_next_resize to
2402         max value when reaching highest prime number.
2403         * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2404         being now useless.
2405         * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2406         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2407         (test02): New.
2408         * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2409         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2410         Fix indentation.
2412 2016-06-17  Jonathan Wakely  <jwakely@redhat.com>
2414         PR libstdc++/71545
2415         * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2416         Remove irreflexive checks.
2417         * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2418         binary_search): Likewise.
2419         * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2420         * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2421         * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2422         * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2423         * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2424         Add constructor from array.
2426 2016-06-16  François Dumont  <fdumont@gcc.gnu.org>
2428         * include/debug/debug.h
2429         (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2430         (__glibcxx_requires_subscript): Move...
2431         * include/debug/assertions.h: ...here and add __builtin_expect.
2432         (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2433         * include/bits/stl_deque.h
2434         (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2435         (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2436         (std::deque<>::back()): Likewise.
2437         (std::deque<>::pop_front()): Likewise.
2438         (std::deque<>::pop_back()): Likewise.
2439         (std::deque<>::swap(deque&)): Add allocator check.
2440         * include/bits/stl_vector.h
2441         (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2442         (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2443         (std::vector<>::back()): Likewise.
2444         (std::vector<>::pop_back()): Likewise.
2445         (std::vector<>::swap(vector&)): Add allocator check.
2447 2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>
2449         Provide swappable traits (p0185r1)
2450         * include/std/type_traits (is_swappable, is_nothrow_swappable,
2451         is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2452         is_nothrow_swappable_v, is_swappable_with_v,
2453         is_nothrow_swappable_with_v): New.
2454         * include/bits/stl_pair.h: Use it as per p0185r1.
2455         * include/bits/stl_queue.h: Likewise.
2456         * include/bits/stl_stack.h: Likewise.
2457         * include/bits/unique_ptr.h: Likewise.
2458         * include/std/tuple: Likewise.
2459         * include/std/array: Likewise. Fix zero-size member swap.
2460         * include/bits/hashtable.h: Use __and_.
2461         * testsuite/20_util/is_nothrow_swappable/requirements/
2462         explicit_instantiation.cc: Change test options to std=gnu++17.
2463         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2464         Likewise.
2465         * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2466         * testsuite/20_util/is_swappable/requirements/
2467         explicit_instantiation.cc: Likewise.
2468         * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2469         * testsuite/20_util/is_swappable/value.cc: Likewise.
2470         * testsuite/20_util/is_nothrow_swappable/requirements/
2471         explicit_instantiation_ext.cc: New.
2472         * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2473         New.
2474         * testsuite/20_util/is_nothrow_swappable/value.h: New.
2475         * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2476         * testsuite/20_util/is_nothrow_swappable_with/requirements/
2477         explicit_instantiation.cc: New.
2478         * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2479         New.
2480         * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2481         * testsuite/20_util/is_swappable/requirements/
2482         explicit_instantiation_ext.cc: New.
2483         * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2484         * testsuite/20_util/is_swappable/value.h: New.
2485         * testsuite/20_util/is_swappable/value_ext.cc: New.
2486         * testsuite/20_util/is_swappable_with/requirements/
2487         explicit_instantiation.cc: New.
2488         * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2489         * testsuite/20_util/is_swappable_with/value.cc: New.
2490         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2491         dg-error line numbers.
2492         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2493         Likewise.
2495 2016-06-16  Jonathan Wakely  <jwakely@redhat.com>
2497         * include/std/array: Remove trailing whitespace.
2498         * include/std/atomic: Likewise.
2499         * include/std/bitset: Likewise.
2500         * include/std/chrono: Likewise.
2501         * include/std/complex: Likewise.
2502         * include/std/condition_variable: Likewise.
2503         * include/std/fstream: Likewise.
2504         * include/std/functional: Likewise.
2505         * include/std/future: Likewise.
2506         * include/std/iomanip: Likewise.
2507         * include/std/iosfwd: Likewise.
2508         * include/std/istream: Likewise.
2509         * include/std/limits: Likewise.
2510         * include/std/ratio: Likewise.
2511         * include/std/scoped_allocator: Likewise.
2512         * include/std/sstream: Likewise.
2513         * include/std/stdexcept: Likewise.
2514         * include/std/string: Likewise.
2515         * include/std/system_error: Likewise.
2516         * include/std/thread: Likewise.
2517         * include/std/tuple: Likewise.
2518         * include/std/type_traits: Likewise.
2519         * include/std/utility: Likewise.
2520         * include/std/valarray: Likewise.
2521         * include/std/vector: Likewise.
2523         * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2524         new overloaded functions.
2525         * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2526         to avoid creating a redundant temporary.
2527         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2528         test.
2530 2016-06-15  François Dumont  <fdumont@gcc.gnu.org>
2532         * include/bits/stl_deque.h
2533         (std::deque<>::operator=): Call _M_assign_aux.
2534         (std::deque<>::assign(initializer_list<>)): Likewise.
2535         (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2536         (std::deque<>::insert(const_iterator, initializer_list<>)):
2537         Call _M_range_insert_aux.
2538         (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2539         Likewise.
2540         (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2541         (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2542         * include/bits/deque.tcc
2543         (std::deque<>::operator=): Call _M_range_insert_aux.
2544         (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2545         Likewise.
2546         * include/bits/stl_vector.h
2547         (std::vector<>::operator=): Call _M_assign_aux.
2548         (std::vector<>::assign(initializer_list<>)): Likewise.
2549         (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2550         (std::vector<>::insert(const_iterator, initializer_list<>)):
2551         Call _M_range_insert.
2552         * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2554 2016-06-07  François Dumont  <fdumont@gcc.gnu.org>
2556         * include/std/tuple (_Head_base<>): Default specialization condition at
2557         type declaration.
2559 2016-06-06  Ville Voutilainen  <ville.voutilainen@gmail.com>
2561         Support allocators in tuples of zero size.
2562         * include/std/tuple (tuple<>::tuple(),
2563         tuple<>::tuple(allocator_arg_t, const _Alloc&),
2564         tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2565         * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2567 2016-06-06  Jonathan Wakely  <jwakely@redhat.com>
2569         PR libstdc++/71320
2570         * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2571         Add or remove permissions according to perms argument.
2572         * testsuite/experimental/filesystem/operations/permissions.cc: New
2573         test.
2575 2016-06-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
2577         Protect allocator-overloads of tuple-from-tuple constructors
2578         from cases that would create dangling references.
2579         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2580         const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2581         tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2582         * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2584 2016-05-29  Gerald Pfeifer  <gerald@pfeifer.com>
2586         * doc/xml/manual/backwards_compatibility.xml: Adjust
2587         lists.debian.org link to https.
2588         * doc/html/manual/backwards.html: Regenerate.
2590 2016-05-27  Jonathan Wakely  <jwakely@redhat.com>
2592         * doc/xml/manual/abi.xml: Adjust URL to use https.
2593         * doc/html/manual/*: Regenerate.
2595 2016-05-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
2597         PR libstdc++/66338
2598         * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2599         * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2600         check for _NotSameTuple.
2601         * include/std/tuple (_TMCT): New.
2602         * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2603         * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2604         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2605               const tuple<_UElements...>&)): Likewise.
2606         * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2607               tuple<_UElements...>&&)): Likewise.
2608         * testsuite/20_util/tuple/cons/66338.cc: New.
2610 2016-05-25  Jonathan Wakely  <jwakely@redhat.com>
2612         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2613         * configure: Regenerate.
2614         * config.h.in: Regenerate.
2616         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2617         * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2618         Remove const qualification on function. Replace
2619         _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2620         (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2621         (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2623 2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
2625         * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2626         * include/bits/hashtable_policy.h
2627         (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2628         having load factor management.
2629         (_Mask_range_hashing): New.
2630         (__clp2): New.
2631         (_Power2_rehash_policy): New.
2632         (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2633         partial specializations only depend on whether iterators are constant
2634         or not.
2635         * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2636         test new hash policy.
2637         * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2638         Likewise.
2639         * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2640         Likewise.
2641         * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2642         Likewise.
2643         * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2644         Likewise.
2645         * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2646         New.
2647         * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2648         using the new hash policy.
2649         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2651 2016-05-24  Jonathan Wakely  <jwakely@redhat.com>
2653         * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2655 2016-05-23  François Dumont  <fdumont@gcc.gnu.org>
2657         * include/debug/safe_iterator.h
2658         (_Safe_iterator<>::operator->()): Implement using underlying iterator
2659         operator ->.
2660         * include/debug/safe_local_iterator.h
2661         (_Safe_local_iterator<>::operator->()): Likewise.
2663 2016-05-20  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2665         * testsuite/experimental/memory_resource/1.cc: Add required argument
2666         to dg-require-atomic-builtins.
2668 2016-05-13  Jonathan Wakely  <jwakely@redhat.com>
2670         PR libstdc++/71073
2671         * include/debug/bitset: Add #pragma GCC system_header.
2672         * include/debug/deque: Likewise.
2673         * include/debug/list: Likewise.
2674         * include/debug/map: Likewise.
2675         * include/debug/set: Likewise.
2676         * include/debug/string: Likewise.
2677         * include/debug/unordered_map: Likewise.
2678         * include/debug/unordered_set: Likewise.
2679         * include/debug/vector: Likewise.
2680         * include/debug/functions.h: Adjust whitespace.
2682 2016-05-12  Jonathan Wakely  <jwakely@redhat.com>
2684         PR libstdc++/71081
2685         * testsuite/experimental/memory_resource/1.cc: Require atomics.
2687 2016-05-11  Jonathan Wakely  <jwakely@redhat.com>
2689         PR libstdc++/71049
2690         * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2691         exception constructors with __sso_string parameters.
2693 2016-05-10  Jonathan Wakely  <jwakely@redhat.com>
2695         * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2696         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2697         Test begin and end functions.
2698         * testsuite/experimental/filesystem/iterators/
2699         recursive_directory_iterator.cc: Likewise.
2701         PR libstdc++/71038
2702         * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2703         * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2705         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2706         Overload operator* to move from rvalues.
2708         PR libstdc++/71036
2709         * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2710         * testsuite/experimental/filesystem/operations/create_directory.cc:
2711         New test.
2713         PR libstdc++/71037
2714         * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2715         base path to exception.
2716         * testsuite/experimental/filesystem/operations/canonical.cc: Test
2717         paths contained in exception.
2719         * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2720         using declaration.
2722         PR libstdc++/71005
2723         * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2724         New type.
2725         (directory_iterator::operator++(int)): Return proxy.
2726         (recursive_directory_iterator::operator++(int)): Likewise.
2727         * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2728         Test post-increment.
2729         * testsuite/experimental/filesystem/iterators/
2730         recursive_directory_iterator.cc: Likewise.
2732 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
2734         PR libstdc++/71004
2735         * testsuite/experimental/filesystem/iterators/
2736         recursive_directory_iterator.cc: Fix test02 to not call member
2737         functions on invalid iterator, and use VERIFY not assert.
2739 2016-05-09  Ville Voutilainen  <ville.voutilainen@gmail.com>
2741         Avoid endless run-time recursion for copying single-element
2742         tuples where the element type is by-value constructible
2743         from any type.
2744         * include/std/tuple (_NotSameTuple): New.
2745         * include/std/tuple (tuple(_UElements&&...): Use it.
2746         * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2748 2016-05-09  Jonathan Wakely  <jwakely@redhat.com>
2750         PR libstdc++/71004
2751         * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2752         Initialize scalar member variables in default constructor.
2753         * testsuite/experimental/filesystem/iterators/
2754         recursive_directory_iterator.cc: Test default construction.
2756 2016-05-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2758         * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2760 2016-05-05  Jonathan Wakely  <jwakely@redhat.com>
2762         * testsuite/experimental/filesystem/path/native/string.cc: Add
2763         dg-require-filesystem-ts directive.
2765 2016-05-04  Jonathan Wakely  <jwakely@redhat.com>
2767         PR libstdc++/70940
2768         * include/experimental/memory_resource
2769         (__resource_adaptor_imp::do_allocate): Do not default-construct
2770         rebound allocator.
2771         (__resource_adaptor_imp::do_deallocate): Likewise. Use
2772         allocator_traits to get pointer type.
2773         (__null_memory_resource::do_allocate): Remove unused parameters.
2774         (__null_memory_resource::do_deallocate): Likewise.
2775         (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2776         * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2777         * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2778         move to ...
2779         * testsuite/experimental/memory_resource/1.cc: Here.
2780         * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2781         * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2783 2016-04-29  Chris Gregory  <czipperz@gmail.com>
2785         * config/*: Remove trailing whitespace.
2786         * src/*: Likewise.
2787         * testsuite/tr1/*: Likewise.
2788         * testsuite/util/*: Likewise.
2790 2016-04-28  Jonathan Wakely  <jwakely@redhat.com>
2792         PR libstdc++/70766
2793         * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2794         __addressof.
2795         * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2796         Likewise.
2797         * include/std/atomic (atomic<_Tp>): Likewise.
2798         * include/std/shared_mutex (shared_lock): Likewise.
2799         * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2800         * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2801         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2802         * testsuite/29_atomics/atomic/70766.cc: New test.
2803         * testsuite/30_threads/shared_lock/70766.cc: New test.
2805         * include/bits/hashtable_policy.h (__detail::_Insert_base,
2806         __detail::_Insert): Improve comments.
2808 2016-04-27  Jonathan Wakely  <jwakely@redhat.com>
2810         PR libstdc++/70767
2811         * include/std/limits: Update comments about DRs.
2812         (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2813         numeric_limits<const volatile _Tp>): Define unconditionally.
2815 2016-04-24  Jonathan Wakely  <jwakely@redhat.com>
2817         PR libstdc++/70762
2818         * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2819         static counter to return a different path on every call.
2821 2016-04-22  Tim Shen  <timshen@google.com>
2823         PR libstdc++/70745
2824         * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2825         Fix the match_not_bow and match_not_eow behavior.
2826         * testsuite/28_regex/regression.cc: Add testcase.
2828 2016-04-20  Jonathan Wakely  <jwakely@redhat.com>
2830         PR libstdc++/69703
2831         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2832         __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2834 2016-04-19  Jonathan Wakely  <jwakely@redhat.com>
2836         PR libstdc++/69703
2837         * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
2838         Override endianness bit in mode.
2839         * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2840         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2841         that little_endian mode is ignored.
2842         * testsuite/experimental/filesystem/path/native/string.cc: New test.
2844         PR libstdc++/70609
2845         * src/filesystem/ops.cc (close_fd): New function.
2846         (do_copy_file): Set permissions before copying file contents. Check
2847         result of closing file descriptors. Don't copy streambuf when file
2848         is empty.
2849         (copy(const path&, const path&, copy_options, error_code&)): Use
2850         lstat for source file when copy_symlinks is set.
2851         * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2853         * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2854         operator~ operator&=, operator|=, operator^=): Add noexcept to
2855         overloaded operators for copy_options, perms and directory_options.
2856         * src/filesystem/ops.cc (make_file_type, make_file_status,
2857         is_not_found_errno, file_time): Add noexcept.
2859 2016-04-19  Edward Smith-Rowland  <3dw4rd@verizon.net>
2861         * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2863 2016-04-18  Jonathan Wakely  <jwakely@redhat.com>
2865         PR libstdc++/41759
2866         * include/bits/random.h: Reword static assertion messages to state
2867         positive conditions.
2868         * include/bits/random.tcc: Likewise.
2869         * include/bits/uniform_int_dist.h: Likewise.
2870         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2871         patterns.
2873         * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2875         * config/cpu/sh/atomicity.h: Fix typo in comment.
2877         PR libstdc++/70294
2878         * include/std/thread (operator<, operator==): Move definitions to
2879         namespace-scope.
2880         * testsuite/30_threads/thread/id/70294.cc: New test.
2882         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2883         -Wno-pedantic to dg-options.
2884         * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2885         * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2886         to dg-options.
2887         * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2888         Remove extra semi-colon.
2889         * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2890         Always supply second argument to static_assert.
2891         * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2892         semi-colon.
2893         * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2894         dg-options.
2895         * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2896         * testsuite/29_atomics/atomic/60695.cc: Likewise.
2897         * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2898         alignof when operand is an object not a type.
2899         * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2900         * testsuite/decimal/make-decimal.cc: Likewise.
2901         * testsuite/experimental/type_traits/value.cc: Always supply second
2902         argument to static_assert.
2903         * testsuite/util/testsuite_common_types.h: Use __extension__ for
2904         __int128 types.
2906         * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2907         internal header.
2908         * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2909         * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2910         * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2911         Likewise. Add licence and change to compile-only test.
2913         * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2914         unused parameter.
2915         * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2917         * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2918         warnings.
2920 2016-04-17  Edward Smith-Rowland  <3dw4rd@verizon.net>
2922         * include/bits/specfun.h: Trivial comment misspelling.
2924 2016-04-14  Jason Merrill  <jason@redhat.com>
2926         Revert Jonathan's empty ABI change from yesterday.
2928 2016-04-13  Martin Sebor  <msebor@redhat.com>
2930         PR c++/69517
2931         * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2932         upper bound is positive.
2934 2016-04-13  Jonathan Wakely  <jwakely@redhat.com>
2936         * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2937         _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2938         * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2939         of functions taking empty structs by value. Add a template parameter
2940         to overloads without hints. Rename overloads with hints to
2941         _M_emplace_hint.
2942         (_Hashtable::_M_erase(true_type, const_iterator),
2943         _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2944         by reordering parameters.
2945         * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2946         _M_emplace_hint instead of _M_emplace.
2947         * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2948         shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2949         * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2950         __shared_ptr): Likewise.
2951         * include/bits/stl_algo.h (replace_if): Likewise.
2952         * include/bits/stl_pair.h (piecewise_construct_t,
2953         piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2954         * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2955         __uses_alloc0): Likewise.
2956         * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2957         * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2958         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2959         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2960         * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2961         * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2962         * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2964 2016-04-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
2966         Document C++17/TR29124 C++ Special Math Functions.
2967         * include/bits/specfun.h: Add Doxygen markup.
2969 2016-04-07  Jonathan Wakely  <jwakely@redhat.com>
2971         * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2973 2016-04-06  Eric Botcazou  <ebotcazou@adacore.com>
2975         * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2976         * src/Makefile.in: Regenerate.
2978 2016-04-05  Jonathan Wakely  <jwakely@redhat.com>
2980         PR libstdc++/70554
2981         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2982         __atomic_fetch_add for bool.
2983         * configure: Regenerate.
2985         * testsuite/30_threads/thread/70503.cc: Require -static to work.
2987         PR libstdc++/70503
2988         * src/c++11/thread.cc (execute_native_thread_routine,
2989         execute_native_thread_routine_compat): Give internal linkage.
2990         * testsuite/30_threads/thread/70503.cc: New test.
2992 2016-04-05  Ville Voutilainen  <ville.voutilainen@gmail.com>
2994         PR libstdc++/70437
2995         * include/bits/stl_pair.h (_ConstructiblePair,
2996         _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2997         _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2998         for same-type cases.
2999         * testsuite/20_util/pair/70437.cc: New.
3001 2016-03-24  Jonathan Wakely  <jwakely@redhat.com>
3003         PR libstdc++/69945
3004         * config/abi/pre/gnu.ver: Add new symbol.
3005         * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
3006         * testsuite/18_support/free_eh_pool.cc: New test.
3008 2016-03-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3010         * include/Makefile.am (install-freestanding-headers): Add
3011         concept_check.h and move.h to the installed headers.
3012         * include/Makefile.in: Regenerated.
3013         * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
3014         freestanding implementations.
3015         * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
3016         that this macro has no effect for freestanding implementations.
3017         * doc/html/manual/using_macros.html: Likewise.
3019 2016-02-24  Jonathan Wakely  <jwakely@redhat.com>
3021         PR libstdc++/69939
3022         * include/experimental/tuple (__apply_impl): Qualify get and forward.
3024 2016-02-23  Jonathan Wakely  <jwakely@redhat.com>
3026         * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3027         * doc/html/*: Regenerate.
3029         PR libstdc++/69893
3030         * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
3031         exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
3032         llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
3033         nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
3034         trunc) [__cplusplus >= 201103L]: Import from namespace std.
3035         (fabs) [__cplusplus < 201103L]: Import from namespace std.
3036         * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
3037         Likewise.
3038         * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
3039         namespace before including TR1 headers.
3040         * testsuite/tr1/headers/c++200x/math.cc: New test.
3042 2016-02-23  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3044         PR libstdc++/69881
3045         * include/c_global/cstdarg: Undefine __need___va_list.
3046         * include/c_global/cstddef: Undefine all kinds of __need_*.
3048 2016-02-16  Tim Shen  <timshen@google.com>
3050         PR libstdc++/69794
3051         * include/bits/regex_scanner.h: Add different special character
3052         sets for grep and egrep regex.
3053         * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
3054         * testsuite/28_regex/regression.cc: Add new testcase.
3056 2016-02-08  Jonathan Wakely  <jwakely@redhat.com>
3058         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3059         added 'constexpr' in previous commit.
3060         * configure: Regenerate.
3062         PR libstdc++/48891
3063         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
3064         checks for all targets except *-*-solaris2.* and ensure we find the
3065         libc math.h header not our own.
3066         * configure: Regenerate.
3068 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
3070         * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
3071         New file.  Copied over from s390-linux-gnu.
3073 2016-02-04  Jonathan Wakely  <jwakely@redhat.com>
3075         PR libstdc++/69626
3076         * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
3077         with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
3078         * config.h.in: Regenerate.
3079         * configure: Regenerate.
3080         * testsuite/21_strings/c_strings/char/69626.cc: New.
3082         * doc/html/index.html: Regenerate.
3084         * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3085         * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3086         * doc/html/*: Regenerate.
3088 2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3090         PR libstdc++/69581
3091         * include/c_compatibility/math.h: Move header guards.
3092         * include/c_compatibility/stdlib.h: Likewise.
3094 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
3096         PR libstdc++/69506
3097         * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3099 2016-01-28  John David Anglin  <danglin@gcc.gnu.org>
3101         PR libstdc++/69450
3102         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3103         isinf and isnan functions into two independent checks.  Check on hpux.
3104         * config.h.in: Regenerate.
3105         * configure: Regenerate.
3106         * include/c_global/cmath (isinf(double), isnan(double)): Use
3107         _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3108         respectively.
3110 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
3112         * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3114 2016-01-27  Jonathan Wakely  <jwakely@redhat.com>
3116         PR libstdc++/69295
3117         * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3118         -ffp-contract=off, and -ffloat-store to disable excess precision.
3119         * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3120         -ffp-contract=off.
3122 2016-01-26  Jonathan Wakely  <jwakely@redhat.com>
3124         PR libstdc++/69478
3125         * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3126         random_access_iterator_tag>): Check is_move_assignable when moving.
3127         (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3128         Likewise.
3129         * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3130         * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3131         * testsuite/25_algorithms/move/69478.cc: New.
3132         * testsuite/25_algorithms/move_backward/69478.cc: new.
3134 2016-01-26  Andris Pavenis  <andris.pavenis@iki.fi>
3136         * include/c_compatibility/stdlib.h: Include wide character related
3137         definitions only when they are available in cstdlib.
3139 2016-01-25  Jonathan Wakely  <jwakely@redhat.com>
3141         PR libstdc++/69464
3142         * include/Makefile.am: Add new header.
3143         * include/Makefile.in: Regenerate.
3144         * include/bits/random.h (uniform_int_distribution): Move to
3145         bits/uniform_int_dist.h.
3146         * include/bits/random.tcc (uniform_int_distribution::operator(),
3147         uniform_int_distribution::__generate_impl): Likewise.
3148         * include/bits/uniform_int_dist.h: New header.
3149         * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3150         <bits/uniform_int_dist.h> instead of <random>.
3151         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3152         move_iterators/1.cc: Include correct header for uninitialized_copy.
3153         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3154         move_iterators/1.cc: Likewise.
3155         * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3156         header for vector.
3157         * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3159 2016-01-23  John David Anglin  <danglin@gcc.gnu.org>
3161         PR libstdc++/69446
3162         * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3164 2016-01-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
3166         TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3167         * include/c_compatibility/math.h: Import the TR29124 functions
3168         into the global namespace.
3169         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3170         xfail and make compile-only.
3171         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3172         * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3173         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3174         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3175         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3176         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3177         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3178         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3179         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3180         * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3181         * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3182         * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3183         * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3184         * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3185         * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3186         * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3187         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3188         * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3189         * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3190         * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3192 2016-01-22  Jonathan Wakely  <jwakely@redhat.com>
3194         PR libstdc++/69116
3195         * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3196         define result_type for types which can be safely used with valarrays.
3197         * testsuite/26_numerics/valarray/69116.cc: New.
3199         PR libstdc++/69413
3200         * config/os/gnu-linux/os_defines.h: Define
3201         _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3202         * include/c_global/cmath (isinf, isnan): Check it.
3203         * doc/xml/manual/internals.xml: Document it.
3204         * doc/html/*: Regenerate.
3206 2016-01-21  Jonathan Wakely  <jwakely@redhat.com>
3208         PR libstdc++/69406
3209         * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3210         * include/ext/type_traits.h: Likewise.
3211         * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3212         for presence of C headers.
3213         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3214         dg-error line number.
3215         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3216         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3217         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3219 2016-01-20  Torvald Riegel  <triegel@redhat.com>
3221         PR libstdc++/69310
3222         * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3224 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
3226         PR libstdc++/60401
3227         * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3228         copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3229         lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3230         nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3231         tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3232         Add using declarations.
3233         * testsuite/26_numerics/headers/cmath/60401.cc: New.
3235         PR libstdc++/69386
3236         * include/c_global/ccomplex: Ensure C++ language linkage.
3237         * include/c_global/cmath: Likewise.
3238         * include/c_global/cstdlib: Likewise.
3239         * include/c_global/ctgmath: Likewise.
3240         * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3242 2016-01-19  Jonathan Wakely  <jwakely@redhat.com>
3244         PR libstdc++/14608
3245         PR libstdc++/60401
3246         * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3247         --enable-cheaders=c_global configs.
3248         * include/Makefile.in: Regenerate.
3249         * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3250         test and allow inclusion from C files.
3251         * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3252         (at_quick_exit, quick_exit): Add using directives.
3253         * include/c_global/cmath: Use #include_next for math.h.
3254         * include/c_global/cstdlib: Use #include_next for stdlib.h.
3255         * testsuite/26_numerics/headers/cmath/14608.cc: New.
3256         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3257         Remove xfail for most targets.
3258         * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3260 2016-01-18  Torvald Riegel  <triegel@redhat.com>
3262         * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3263         (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3264         and move after its definition.
3265         * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3266         * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3267         __GXX_WEAK__, and only provide transactional clones if
3268         _GLIBCXX_USE_WEAK_REF is true.  Don't provide stubs of libitm
3269         functions.
3271 2016-01-18  Jonathan Wakely  <jwakely@redhat.com>
3273         PR libstdc++/60637
3274         * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3276         PR libstdc++/69243
3277         * include/std/functional (_Function_base::_M_not_empty_function):
3278         Change overloads for pointers to take arguments by value.
3279         * testsuite/20_util/function/cons/57465.cc: Add tests for
3280         pointer-to-member cases.
3282         PR libstdc++/69340
3283         * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3284         Use macros for exception handling and fix unused parameter warning.
3286 2016-01-17  John David Anglin  <danglin@gcc.gnu.org>
3288         PR libstdc++/68734
3289         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3291 2016-01-17  Torvald Riegel  <triegel@redhat.com>
3293         * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3295 2016-01-16  H.J. Lu  <hongjiu.lu@intel.com>
3297         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3298         __int128 symbols.
3300 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
3302         PR libstdc++/69293
3303         * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3304         static assertion that type is constructible from the arguments.
3305         * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3306         * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3307         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3309         PR libstdc++/69294
3310         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3311         and isnan on AIX. Quote variables.
3312         * configure: Regenerate.
3314 2016-01-15  Torvald Riegel  <triegel@redhat.com>
3316         * include/bits/basic_string.h (basic_string): Declare friends.
3317         * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3318         _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3319         * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3320         length_error, out_of_range, runtime_error, range_error,
3321         underflow_error, overflow_error): Declare members as transaction-safe.
3322         (logic_error, runtime_error): Declare friend functions.
3323         * libsupc++/exception (exception, bad_exception): Declare members as
3324         transaction-safe.
3325         * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3326         transaction-safe members of exceptions and helper functions.
3327         * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3328         * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3329         (CXXABI_1.3.10): New.
3330         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3331         (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3332         * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3333         * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3334         * include/Makefile.in: Regenerate.
3335         * config.h.in: Regenerate.
3336         * configure: Regenerate.
3337         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3339 2016-01-15  Steve Ellcey  <sellcey@imgtec.com>
3341         * include/ext/random.tcc: Use __builtin_isfinite instead of
3342         std::isfinite.
3344 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
3346         * include/bits/std_mutex.h: Fix Doxygen @file name.
3348 2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
3349             Jonathan Wakely  <jwakely@redhat.com>
3350             Florian Goth <CaptainSifff@gmx.de>
3352         Implement TR29124 C++ special Math Functions.
3353         * include/Makefile.am: Add new headers.
3354         * include/Makefile.in: Regenerate.
3355         * include/bits/specfun.h: New.
3356         * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3357         * include/tr1/bessel_function.tcc: Ditto.
3358         * include/tr1/beta_function.tcc: Ditto.
3359         * include/tr1/cmath: Ditto.
3360         * include/tr1/ell_integral.tcc: Ditto.
3361         * include/tr1/exp_integral.tcc: Ditto.
3362         * include/tr1/gamma.tcc: Ditto.
3363         * include/tr1/hypergeometric.tcc: Ditto.
3364         * include/tr1/legendre_function.tcc: Ditto.
3365         * include/tr1/modified_bessel_func.tcc: Ditto.
3366         * include/tr1/poly_hermite.tcc: Ditto.
3367         * include/tr1/poly_laguerre.tcc: Ditto.
3368         * include/tr1/riemann_zeta.tcc: Ditto.
3369         * include/tr1/special_function_util.h: Ditto.
3370         * testsuite/ext/special_functions/conf_hyperg: New.
3371         * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3372         * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3373         * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3374         * testsuite/ext/special_functions/hyperg: New.
3375         * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3376         * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3377         * testsuite/ext/special_functions/hyperg/compile.cc: New.
3378         * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3379         * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3380         * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3381         * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3382         * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3383         * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3384         * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3385         * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3386         * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3387         * testsuite/special_functions/03_beta/check_nan.cc: New.
3388         * testsuite/special_functions/03_beta/check_value.cc: New.
3389         * testsuite/special_functions/03_beta/compile.cc: New.
3390         * testsuite/special_functions/03_beta/compile_2.cc: New.
3391         * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3392         * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3393         * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3394         * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3395         * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3396         * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3397         * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3398         * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3399         * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3400         * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3401         * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3402         * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3403         * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3404         * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3405         * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3406         * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3407         * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3408         * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3409         * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3410         * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3411         * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3412         * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3413         * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3414         * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3415         * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3416         * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3417         * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3418         * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3419         * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3420         * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3421         * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3422         * testsuite/special_functions/11_ellint_1/compile.cc: New.
3423         * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3424         * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3425         * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3426         * testsuite/special_functions/12_ellint_2/compile.cc: New.
3427         * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3428         * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3429         * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3430         * testsuite/special_functions/13_ellint_3/compile.cc: New.
3431         * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3432         * testsuite/special_functions/14_expint/check_nan.cc: New.
3433         * testsuite/special_functions/14_expint/check_value.cc: New.
3434         * testsuite/special_functions/14_expint/compile.cc: New.
3435         * testsuite/special_functions/14_expint/compile_2.cc: New.
3436         * testsuite/special_functions/15_hermite/check_nan.cc: New.
3437         * testsuite/special_functions/15_hermite/check_value.cc: New.
3438         * testsuite/special_functions/15_hermite/compile.cc: New.
3439         * testsuite/special_functions/15_hermite/compile_2.cc: New.
3440         * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3441         * testsuite/special_functions/16_laguerre/check_value.cc: New.
3442         * testsuite/special_functions/16_laguerre/compile.cc: New.
3443         * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3444         * testsuite/special_functions/17_legendre/check_nan.cc: New.
3445         * testsuite/special_functions/17_legendre/check_value.cc: New.
3446         * testsuite/special_functions/17_legendre/compile.cc: New.
3447         * testsuite/special_functions/17_legendre/compile_2.cc: New.
3448         * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3449         * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3450         * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3451         * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3452         * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3453         * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3454         * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3455         * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3456         * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3457         * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3458         * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3459         * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3460         * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3461         * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3462         * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3463         * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3464         * testsuite/util/specfun_testcase.h: New.
3465         * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3466         * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3467         * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3468         * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3469         * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3470         * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3471         * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3473 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
3475         PR libstdc++/48891
3476         * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3477         and isnan functions.
3478         * config.h.in: Regenerate.
3479         * configure: Regenerate.
3480         * include/c_global/cmath (isinf(double), isnan(double))
3481         [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3482         * testsuite/26_numerics/headers/cmath/48891.cc: New.
3484 2016-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3486         PR libstdc++/66006
3487         * configure.host (abi_baseline_pair): Use separate baseline for
3488         Solaris 11+ and Solaris 10 with gld.
3489         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3490         * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3491         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3493 2016-01-12  Daniel Kruegler  <daniel.kruegler@gmail.com>
3495         PR libstdc++/68877
3496         * include/std/type_traits: Following N4511, reimplement __is_swappable
3497         and __is_nothrow_swappable. Move __is_swappable to namespace std,
3498         adjust callers. Use __is_nothrow_swappable in swap.
3499         * include/bits/move.h: Use __is_nothrow_swappable in swap.
3500         * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3501         __is_swappable related tests.
3502         * testsuite/20_util/is_swappable/value.cc: New.
3503         * testsuite/20_util/is_swappable/requirements/
3504         explicit_instantiation.cc: New.
3505         * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3506         * testsuite/25_algorithms/swap/68877.cc: New.
3508 2016-01-12  Jonathan Wakely  <jwakely@redhat.com>
3510         * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3512         PR libstdc++/69005
3513         PR libstdc++/69222
3514         * include/std/functional (function::_Invoke): Remove, use result_of.
3515         (function::_Callable): Replace alias template with class template
3516         and use partial specialization instead of _NotSelf alias template.
3517         (function(_Functor)): Add "not self" constraint so that _Callable is
3518         not used while type is incomplete.
3519         * testsuite/20_util/function/69222.cc: New.
3521 2016-01-11  Jonathan Wakely  <jwakely@redhat.com>
3523         PR libstdc++/60976
3524         * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3525         Define partial specialization.
3526         * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3527         destroy members to std::allocator explicit specialization.
3529 2016-01-08  Jonathan Wakely  <jwakely@redhat.com>
3531         * testsuite/26_numerics/headers/cmath/
3532         c99_classification_macros_c++.cc: Rename to ...
3533         * testsuite/26_numerics/headers/cmath/
3534         c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3535         * testsuite/26_numerics/headers/cmath/
3536         c99_classification_macros_c++0x.cc: Rename to ...
3537         * testsuite/26_numerics/headers/cmath/
3538         c99_classification_macros_c++11.cc: Here.
3540         PR libstdc++/69190
3541         * include/bits/uses_allocator.h: Add missing include.
3543 2016-01-07  Jonathan Wakely  <jwakely@redhat.com>
3545         PR libstdc++/69105
3546         PR libstdc++/69106
3547         PR libstdc++/69114
3548         * include/bits/stl_iterator.h (back_insert_iterator,
3549         front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3550         * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3551         * include/std/future (__future::base::_State_baseV2::__setter):
3552         Likewise.
3553         * include/std/scoped_allocator (__outermost): Likewise.
3554         * testsuite/20_util/scoped_allocator/69114.cc: New.
3555         * testsuite/20_util/uses_allocator/69114.cc: New.
3556         * testsuite/30_threads/promise/69106.cc: New.
3558 2016-01-06  Jonathan Wakely  <jwakely@redhat.com>
3560         PR libstdc++/69092
3561         * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3562         Remove _GLIBCXX_NOEXCEPT.
3563         testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3565         * include/Makefile.am: Adjust.
3566         * include/Makefile.in: Regenerate.
3567         * include/bits/mutex.h: Rename to bits/std_mutex.h.
3568         * include/std/condition_variable: Adjust include.
3569         * include/std/mutex: Likewise.
3571 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
3573         Update copyright years.
3575 Copyright (C) 2016 Free Software Foundation, Inc.
3577 Copying and distribution of this file, with or without modification,
3578 are permitted in any medium without royalty provided the copyright
3579 notice and this notice are preserved.