]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
re PR fortran/77429 (ICE in gfc_check_dependency, at fortran/dependency.c:1261)
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
edc69abb
FD
12016-09-25 François Dumont <fdumont@gcc.gnu.org>
2
3 * include/parallel/algo.h: Generalize usage of std::__iterator_category.
4 Adjust whitespaces.
5
a922c5ff
JW
62016-09-23 Jonathan Wakely <jwakely@redhat.com>
7
13190419
JW
8 PR libstdc++/56166
9 PR libstdc++/77582
10 * include/bits/basic_string.h (basic_string::clear()): Drop reference
11 and use empty rep.
12 * include/ext/rc_string_base.h (__rc_string_base::_M_clear()):
13 Likewise.
14 * testsuite/21_strings/basic_string/56166.cc: New.
15 * testsuite/ext/vstring/modifiers/clear/56166.cc: New.
16
a922c5ff
JW
17 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
18 (basic_string::erase(size_type, size_type)): Add fast path for
19 truncating the string, by calling _M_set_length directly.
20 (basic_string::erase(__const_iterator, __const_iterator)): Likewise.
21 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
22 (basic_string::resize(size_type, _CharT)): Likewise.
23
7be8d663
JM
242016-09-22 Jason Merrill <jason@redhat.com>
25
26 * configure.ac: Define HAVE_MEMALIGN for newlib.
27
320c7be3
SH
282015-09-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
29
30 * config/cpu/m68k/atomicity.h: Adjust comment.
31 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Honor
32 explicit atomicity_dir setup via configure.host.
33 * configure.host (rtems-*): Set atomicity_dir.
34 * configure: Regenerate.
35
2dbe56bd
JW
362016-09-22 Jonathan Wakely <jwakely@redhat.com>
37
38 Implement C++17 node extraction and insertion (P0083R5)
39 * doc/xml/manual/status_cxx2017.xml: Document status.
40 * doc/html/*: Regenerate.
41 * include/Makefile.am: Add bits/node_handle.h and reorder.
42 * include/Makefile.in: Regenerate.
43 * include/bits/hashtable.h (_Hashtable::node_type)
44 (_Hashtable::insert_return_type, _Hashtable::_M_reinsert_node)
45 (_Hashtable::_M_reinsert_node_multi, _Hashtable::extract)
46 (_Hashtable::_M_merge_unique, _Hashtable::_M_merge_multi): Define.
47 (_Hash_merge_helper): Define primary template.
48 * include/bits/node_handle.h: New header.
49 * include/bits/stl_map.h (map): Declare _Rb_tree_merge_helper as
50 friend.
51 (map::node_type, map::insert_return_type, map::extract, map::merge)
52 (map::insert(node_type&&), map::insert(const_iterator, node_type&&)):
53 Define new members.
54 (_Rb_tree_merge_helper): Specialize for map.
55 * include/bits/stl_multimap.h (multimap): Declare _Rb_tree_merge_helper
56 as friend.
57 (multimap::node_type, multimap::extract, multimap::merge)
58 (multimap::insert(node_type&&))
59 (multimap::insert(const_iterator, node_type&&)): Define.
60 (_Rb_tree_merge_helper): Specialize for multimap.
61 * include/bits/stl_multiset.h (multiset): Declare _Rb_tree_merge_helper
62 as friend.
63 (multiset::node_type, multiset::extract, multiset::merge)
64 (multiset::insert(node_type&&))
65 (multiset::insert(const_iterator, node_type&&)): Define.
66 * include/bits/stl_set.h (set): Declare _Rb_tree_merge_helper as
67 friend.
68 (set::node_type, set::insert_return_type, set::extract, set::merge)
69 (set::insert(node_type&&), set::insert(const_iterator, node_type&&)):
70 Define.
71 (_Rb_tree_merge_helper): Specialize for set.
72 * include/bits/stl_tree.h (_Rb_tree): Declare _Rb_tree<> as friend.
73 (_Rb_tree::node_type, _Rb_tree::insert_return_type)
74 (_Rb_tree::_M_reinsert_node_unique, _Rb_tree::_M_reinsert_node_equal)
75 (_Rb_tree::_M_reinsert_node_hint_unique)
76 (_Rb_tree::_M_reinsert_node_hint_equal, _Rb_tree::extract)
77 (_Rb_tree::_M_merge_unique, _Rb_tree::_M_merge_equal): Define.
78 (_Rb_tree_merge_helper): Specialize for multiset.
79 * include/bits/unordered_map.h (unordered_map): Declare
80 unordered_map<> and unordered_multimap<> as friends.
81 (unordered_map::node_type, unordered_map::insert_return_type)
82 (unordered_map::extract, unordered_map::merge)
83 (unordered_map::insert(node_type&&))
84 (unordered_map::insert(const_iterator, node_type&&))
85 (unordered_multimap): Declare _Hash_merge_helper as friend.
86 (unordered_multimap::node_type, unordered_multimap::extract)
87 (unordered_multimap::merge, unordered_multimap::insert(node_type&&))
88 (unordered_multimap::insert(const_iterator, node_type&&)): Define.
89 (_Hash_merge_helper): Specialize for unordered maps and multimaps.
90 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
91 Declare _Hash_merge_helper as friend.
92 (unordered_set::node_type, unordered_set::insert_return_type)
93 (unordered_set::extract, unordered_set::merge)
94 (unordered_set::insert(node_type&&))
95 (unordered_set::insert(const_iterator, node_type&&)): Define.
96 (unordered_multiset::node_type, unordered_multiset::extract)
97 (unordered_multiset::merge, unordered_multiset::insert(node_type&&))
98 (unordered_multiset::insert(const_iterator, node_type&&)): Define.
99 (_Hash_merge_helper): Specialize for unordered sets and multisets.
100 * include/debug/map.h (map): Add using declarations or forwarding
101 functions for new members.
102 * include/debug/map.h (multimap): Likewise.
103 * include/debug/map.h (multiset): Likewise.
104 * include/debug/map.h (set): Likewise.
105 * include/debug/unordered_map (unordered_map, unordered_multimap):
106 Likewise.
107 * include/debug/unordered_set( unordered_set, unordered_multiset):
108 Likewise.
109 * python/libstdcxx/v6/printers.py (get_value_from_aligned_membuf): New
110 helper function.
111 (get_value_from_list_node, get_value_from_Rb_tree_node): Use helper.
112 (StdNodeHandlePrinter): Define printer for node handles.
113 (build_libstdcxx_dictionary): Register StdNodeHandlePrinter.
114 * testsuite/23_containers/map/modifiers/extract.cc: New.
115 * testsuite/23_containers/map/modifiers/merge.cc: New.
116 * testsuite/23_containers/multimap/modifiers/extract.cc: New.
117 * testsuite/23_containers/multimap/modifiers/merge.cc: New.
118 * testsuite/23_containers/multiset/modifiers/extract.cc: New.
119 * testsuite/23_containers/multiset/modifiers/merge.cc: New.
120 * testsuite/23_containers/set/modifiers/extract.cc: New.
121 * testsuite/23_containers/set/modifiers/merge.cc: New.
122 * testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
123 * testsuite/23_containers/unordered_map/modifiers/merge.cc: New.
124 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
125 New.
126 * testsuite/23_containers/unordered_multimap/modifiers/merge.cc: New.
127 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
128 New.
129 * testsuite/23_containers/unordered_multiset/modifiers/merge.cc: New.
130 * testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
131 * testsuite/23_containers/unordered_set/modifiers/merge.cc: New.
132 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
133 dg-error lineno.
134 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test node handles.
135
8a4c4f12
VV
1362016-09-22 Ville Voutilainen <ville.voutilainen@gmail.com>
137
138 Fix tests on old arm platforms for optional.
139 * testsuite/20_util/optional/77288.cc: Don't use exception_ptr.
140
64626fca
JW
1412016-09-22 Jonathan Wakely <jwakely@redhat.com>
142
6fdc74c9
JW
143 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Adjust for
144 recent change to _Variant_storage.
145 * testsuite/libstdc++-prettyprinters/cxx17.cc: Test variant with
146 reference type.
147
64626fca
JW
148 * include/bits/uses_allocator.h (__uses_allocator_construct): Qualify
149 std::forward and ::new. Cast pointer to void*.
150 * include/std/variant (_Variant_storage, _Union, _Variant_base)
151 (__access, __visit_invoke, variant, visit): Qualify std::forward.
152 * testsuite/20_util/variant/compile.cc: Test for ADL problems.
153
c42bc5d7
TS
1542016-09-22 Tim Shen <timshen@google.com>
155
64626fca 156 * include/std/variant (variant::operator=): Fix assignment
c42bc5d7 157 on references.
64626fca 158 * testsuite/20_util/variant/compile.cc: Add test.
c42bc5d7 159
41501d1a
TS
1602016-09-22 Tim Shen <timshen@google.com>
161
162 PR libstdc++/77641
163 * include/std/variant (_Variant_storage::_Variant_storage):
164 Change _Variant_storage's union to be default constructible.
165 * testsuite/20_util/variant/compile.cc: New test.
166
b641f833
VV
1672016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
168
169 PR libstdc++/77288
170 * include/std/optional (__is_optional_impl, __is_optional): Remove.
171 (__converts_from_optional, __assigns_from_optional): New.
172 (optional(_Up&&)): Use is_same instead of __is_optional.
173 (optional(const optional<_Up>&)): Constrain with
174 __converts_from_optional.
175 (optional(optional<_Up>&&)): Likewise.
176 (operator=(_Up&&)): Use is_same instead of __is_optional, check
177 is_same and is_scalar.
178 (operator=(const optional<_Up>&)): Constrain with
179 __converts_from_optional and __assigns_from_optional.
180 (operator=(optional<_Up>&&)): Likewise.
181 * testsuite/20_util/optional/77288.cc: New.
182 * testsuite/20_util/optional/cons/value.cc: Adjust.
183
55786785
VV
1842016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
185
186 Implement LWG 2729 for tuple.
187 * include/std/tuple (_Tuple_impl(_Tuple_impl&&)):
188 Suppress conditionally.
189 (_Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&&)): Likewise.
190 (__is_tuple_impl_trait_impl, __is_tuple_impl_trait): New.
191 (_Tuple_impl(const _Head&)): Constrain.
192 (_Tuple_impl(_UHead&&)): Likewise.
193 (_Tuple_impl(_Tuple_impl&&)): Suppress conditionally.
194 (_Tuple_impl(const _Tuple_impl<_Idx, _UHead>&)): Constrain.
195 (_Tuple_impl(_Tuple_impl<_Idx, _UHead>&&)): Likewise.
196 (operator=(const tuple&)): Enable conditionally.
197 (operator=(tuple&&)): Suppress conditionally.
198 (operator=(const tuple<_UElements...>&)): Constrain.
199 (operator=(tuple<_UElements...>&&)): Likewise.
200 (operator=(const tuple&)): Enable conditionally (2-param tuple).
201 (operator=(tuple&&)): Suppress conditionally (2-param tuple).
202 (operator=(const tuple<_U1, _U2>&)): Constrain.
203 (operator=(tuple<_U1, _U2>&&)): Likewise.
204 (operator=(const pair<_U1, _U2>&)): Likewise.
205 (operator=(pair<_U1, _U2>&&)): Likewise.
206 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust.
207 * testsuite/20_util/tuple/tuple_traits.cc: New.
208
f524d5b3
VV
2092016-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
210
211 PR libstdc++/77537
212 Implement LWG 2729 for pair.
213 * include/bits/stl_pair.h (_PCC): New.
214 (_ConstructiblePair, _ImplicitlyConvertiblePair):
215 Turn into static member functions of _PCC.
216 (_MoveConstructiblePair, _ImplicitlyMoveConvertiblePair): Likewise.
217 (_PCCP): New.
218 (pair(const _T1&, const _T2&)): Adjust.
219 (_PCCFP): New.
220 (pair(const pair<_U1, _U2>&)): Adjust.
221 (pair(_U1&&, const _T2&)): Likewise.
222 (pair(const _T1&, _U2&&)): Likewise.
223 (pair(_U1&&, _U2&&)): Likewise.
224 (pair(pair<_U1, _U2>&&)): Likewise.
225 (operator=(const pair&)): Make conditionally deleted.
226 (operator=(pair&&)): Make conditionally suppressed.
227 (operator=(const pair<_U1, _U2>&)): Constrain.
228 (operator=(pair<_U1, _U2>&&): Likewise.
229 * include/std/type_traits (__nonesuch): New.
230 * testsuite/20_util/pair/traits.cc: New.
231
377f30c0
VV
2322016-09-20 Ville Voutilainen <ville.voutilainen@gmail.com>
233
234 PR libstdc++/77619
235 * include/bits/stl_construct.h: (_Construct_novalue): New.
236 (_Destroy_n_aux, _Destroy_n): New.
237 * include/bits/stl_uninitialized.h: (type_traits):
238 New include in C++11 mode.
239 (__uninitialized_default_novalue_1): New.
240 (__uninitialized_default_novalue_n_1): Likewise.
241 (__uninitialized_default_novalue): Likewise.
242 (__uninitialized_default_novalue_n): Likewise.
243 (__uninitialized_copy_n_pair): Likewise.
244 (uninitialized_default_construct):
245 Use __uninitialized_default_novalue.
246 (uninitialized_default_construct_n):
247 Use __uninitialized_default_novalue_n.
248 (uninitialized_value_construct): Use __uninitialized_default.
249 (uninitialized_value_construct_n): Use __uninitialized_default_n.
250 (uninitialized_move): Use uninitialized_copy.
251 (uninitialized_move_n): Use __uninitialized_copy_n_pair.
252 (destroy_at): Use _Destroy.
253 (destroy): Likewise.
254 (destroy_n): Likewise.
255 * testsuite/20_util/specialized_algorithms/
256 memory_management_tools/1.cc: Add tests for exceptions,
257 add tests for trivial cases for construct and move.
258
564beb5f
JW
2592016-09-20 Jonathan Wakely <jwakely@redhat.com>
260
261 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
262 (DequeWorkerBase.index, VectorWorkerBase.get): Use // for division.
263
019270bc
JW
2642016-09-19 Jonathan Wakely <jwakely@redhat.com>
265
d0f59435
JW
266 PR libstdc++/77645
267 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.__init__)
268 (DequeWorkerBase.index, VectorWorkerBase.get): Cast results of
269 division to int to work with Python 3.
270
ee1ab3e3
JW
271 * testsuite/lib/gdb-test.exp (gdb-test): Fail if Python error occurs.
272
a0a1009a
JW
273 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): Allow
274 display_hint to be set by subclasses.
275 (StdVariantPrinter): Use array for display_hint. Adjust output to be
276 more similar to std::any and std::optional output.
277 (register_type_printers): Add type printers for basic_string_view
278 typedefs and experimental::any. Adjust type printers for
279 fundamentals_v1 templates to match fundamentals_v2 and later.
280 * testsuite/libstdc++-prettyprinters/cxx17.cc: New.
281
019270bc
JW
282 PR libstdc++/77645
283 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): Rename
284 argument.
285 (ListWorkerBase.get_value_from_node): Define new method.
286 (ListFrontWorker.__call__, ListBackWorker.__call__): Use it.
287
00895372
JW
2882016-09-17 Jonathan Wakely <jwakely@redhat.com>
289
290 * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
291 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
292 Register for C++17 components in namespace std. Strip inline namespace
293 from typename.
294
6ee3fd97
JW
2952016-09-16 Jonathan Wakely <jwakely@redhat.com>
296
297 * doc/xml/manual/profile_mode.xml: Fix typo.
298 * doc/html/manual/profile_mode_devel.html: Regenerate.
299
84c08ec9
JW
3002016-09-16 Jonathan Wakely <jwakely@redhat.com>
301 Marc Glisse <marc.glisse@inria.fr>
302
303 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
304 (operator new(size_t, align_val_t)): Replace modulus operator with
305 mask.
306
426042f5
JW
3072016-09-16 Jonathan Wakely <jwakely@redhat.com>
308
309 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
310 Increase alignment if less than sizeof(void*).
311 [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
312 Increase size if not a multiple of alignment.
313
0273c10e
JW
3142016-09-15 Jonathan Wakely <jwakely@redhat.com>
315
1b75c936
JW
316 * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
317 * doc/html/*: Regenerate.
700e2faa
JW
318
319 * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
320 -Wno-deprecated.
321 * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
0273c10e 322
20a1e5b8
MP
3232016-09-14 Marek Polacek <polacek@redhat.com>
324
325 * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
326 -Wno-deprecated.
327
13cddbc1
CL
3282016-09-14 Christophe Lyon <christophe.lyon@linaro.org>
329
330 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
331 Move dg-do directive before dg-skip.
332 * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc:
333 Move dg-do directive before dg-require.
334 * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise.
335 * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
336 * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise.
337 * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise.
338 * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise.
339 * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise.
340 * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise.
341 * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise.
342 * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise.
343 * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise.
344 * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise.
345 * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise.
346 * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
347 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise.
348 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
349 Likewise.
350 * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
351 * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
352 * testsuite/27_io/objects/char/12048-5.cc: Likewise.
353 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise.
354 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
355
8e14a10c
VV
3562016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
357
358 Implement P0040R3, Extending memory management tools.
359 * include/bits/stl_uninitialized.h (utility): New include
360 in C++17 mode.
361 (uninitialized_default_construct): New.
362 (uninitialized_default_construct_n): Likewise.
363 (uninitialized_value_construct): Likewise.
364 (uninitialized_value_construct_n): Likewise.
365 (uninitialized_move): Likewise.
366 (uninitialized_move_n): Likewise.
367 (destroy_at, destroy, destroy_n): Likewise.
7a461e27
JW
368 * testsuite/20_util/specialized_algorithms/memory_management_tools/
369 1.cc: New.
8e14a10c 370
a313485b
JM
3712016-09-12 Jason Merrill <jason@redhat.com>
372
373 * config/abi/pre/gnu.ver: Use [jmy] for size_t.
374
5e8037ba
VV
3752016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
376
377 Implement P0253R1, Fixing a design mistake in the searchers
378 interface in Library Fundamentals.
379 * include/std/functional: (utility): New include in C++17 mode.
380 (default_searcher): Use a pair as return type, adjust the definition.
381 (boyer_moore_searcher): Likewise.
382 (boyer_moore_horspool_searcher): Likewise.
383 * testsuite/20_util/function_objects/searchers.cc: Adjust.
384
f82dfb8d
VV
3852016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
386
387 Implement C++17 string searchers.
388 * include/std/functional: (unordered_map, vector): New includes
389 in C++17 mode.
390 (array, bits/stl_algo.h): Likewise.
391 (default_searcher, __boyer_moore_map_base): New.
392 (__boyer_moore_array_base, __is_std_equal_to): Likewise.
393 (__boyer_moore_base_t, boyer_moore_searcher): Likewise.
394 (boyer_moore_horspool_searcher, make_default_searcher): Likewise.
395 (make_boyer_moore_searcher): Likewise.
396 (make_boyer_moore_horspool_searcher): Likewise.
397 * testsuite/20_util/function_objects/searchers.cc: New.
398
684211e1
MW
3992016-09-12 Matthew Wahab <matthew.wahab@arm.com>
400
401 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
402 Move dg-do directive before dg-require.
403 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise.
404 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
405 Likewise.
406 * testsuite/22_locale/codecvt/utf8.cc: Likewise.
407 * testsuite/22_locale/locale/cons/unicode.cc: Likewise.
408 * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise.
409 * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise.
410 * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise.
411 * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise.
412 * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise.
413 * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise.
414 * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise.
415 * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise.
416 * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise.
417 * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise.
418 * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
419 Likewise.
7a461e27
JW
420 * testsuite/23_containers/deque/debug/self_move_assign_neg.cc:
421 Likewise.
684211e1
MW
422 * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
423 * testsuite/23_containers/forward_list/debug/60499.cc: Likewise.
7a461e27
JW
424 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
425 Likewise.
426 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
427 Likewise.
428 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
429 Likewise.
430 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
431 Likewise.
432 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
433 Likewise.
434 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
435 Likewise.
436 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
437 Likewise.
438 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
439 Likewise.
440 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
441 Likewise.
442 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
443 Likewise.
444 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
445 Likewise.
446 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
447 Likewise.
448 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
684211e1 449 Likewise.
7a461e27
JW
450 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
451 Likewise.
452 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
453 Likewise.
454 * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
455 Likewise.
456 * testsuite/23_containers/forward_list/debug/
457 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
458 * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
459 Likewise.
7a461e27
JW
460 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
461 Likewise.
462 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
463 Likewise.
464 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
465 Likewise.
466 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
467 Likewise.
468 * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
469 Likewise.
470 * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
471 Likewise.
472 * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
473 Likewise.
684211e1
MW
474 * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise.
475 * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise.
476 * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise.
477 * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise.
478 * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise.
479 * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise.
480 * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise.
481 * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise.
482 * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise.
483 * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
484 * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
485 Likewise.
486 * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise.
487 * testsuite/23_containers/map/debug/60499.cc: Likewise.
488 * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise.
489 * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise.
490 * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise.
491 * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise.
492 * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise.
493 * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise.
494 * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
495 Likewise.
496 * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise.
497 * testsuite/23_containers/multimap/debug/60499.cc: Likewise.
498 * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise.
499 * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise.
500 * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise.
501 * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise.
502 * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise.
503 * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise.
7a461e27
JW
504 * testsuite/23_containers/multimap/debug/
505 iterator_self_move_assign_neg.cc: Likewise.
506 * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
684211e1 507 Likewise.
684211e1
MW
508 * testsuite/23_containers/multiset/debug/60499.cc: Likewise.
509 * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise.
510 * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise.
511 * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise.
512 * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise.
513 * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise.
514 * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise.
7a461e27
JW
515 * testsuite/23_containers/multiset/debug/
516 iterator_self_move_assign_neg.cc: Likewise.
517 * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
684211e1 518 Likewise.
684211e1
MW
519 * testsuite/23_containers/set/debug/60499.cc: Likewise.
520 * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise.
521 * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise.
522 * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise.
523 * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise.
524 * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise.
525 * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise.
526 * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
527 Likewise.
528 * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
529 * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise.
530 * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise.
531 * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise.
7a461e27
JW
532 * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
533 Likewise.
684211e1
MW
534 * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise.
535 * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise.
7a461e27
JW
536 * testsuite/23_containers/unordered_map/debug/construct1_neg.cc:
537 Likewise.
538 * testsuite/23_containers/unordered_map/debug/construct2_neg.cc:
539 Likewise.
540 * testsuite/23_containers/unordered_map/debug/construct3_neg.cc:
541 Likewise.
684211e1
MW
542 * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise.
543 * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise.
544 * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise.
545 * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise.
546 * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise.
7a461e27
JW
547 * testsuite/23_containers/unordered_map/debug/
548 invalid_local_iterator_compare_neg.cc: Likewise.
549 * testsuite/23_containers/unordered_map/debug/
550 invalid_local_iterator_range_neg.cc: Likewise.
551 * testsuite/23_containers/unordered_map/debug/
552 iterator_self_move_assign_neg.cc: Likewise.
684211e1
MW
553 * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
554 Likewise.
555 * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
556 Likewise.
7a461e27
JW
557 * testsuite/23_containers/unordered_map/debug/
558 use_erased_local_iterator_neg.cc: Likewise.
559 * testsuite/23_containers/unordered_map/debug/
560 use_invalid_iterator_neg.cc: Likewise.
561 * testsuite/23_containers/unordered_map/debug/
562 use_invalid_local_iterator_neg.cc: Likewise.
563 * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise.
564 * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc:
684211e1 565 Likewise.
7a461e27 566 * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc:
684211e1 567 Likewise.
684211e1
MW
568 * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
569 Likewise.
7a461e27
JW
570 * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc:
571 Likewise.
572 * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc:
573 Likewise.
684211e1
MW
574 * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc:
575 Likewise.
576 * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc:
577 Likewise.
578 * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc:
579 Likewise.
7a461e27 580 * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc:
684211e1 581 Likewise.
7a461e27 582 * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc:
684211e1 583 Likewise.
7a461e27 584 * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc:
684211e1 585 Likewise.
7a461e27 586 * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc:
684211e1 587 Likewise.
7a461e27 588 * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc:
684211e1 589 Likewise.
7a461e27
JW
590 * testsuite/23_containers/unordered_multimap/debug/
591 invalid_local_iterator_compare_neg.cc: Likewise.
592 * testsuite/23_containers/unordered_multimap/debug/
593 invalid_local_iterator_range_neg.cc: Likewise.
594 * testsuite/23_containers/unordered_multimap/debug/
595 iterator_self_move_assign_neg.cc: Likewise.
596 * testsuite/23_containers/unordered_multimap/debug/
597 max_load_factor_neg.cc: Likewise.
598 * testsuite/23_containers/unordered_multimap/debug/
599 self_move_assign_neg.cc: Likewise.
600 * testsuite/23_containers/unordered_multimap/debug/
601 use_erased_local_iterator_neg.cc: Likewise.
602 * testsuite/23_containers/unordered_multimap/debug/
603 use_invalid_iterator_neg.cc: Likewise.
604 * testsuite/23_containers/unordered_multimap/debug/
605 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
606 * testsuite/23_containers/unordered_multiset/debug/60499.cc:
607 Likewise.
608 * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc:
609 Likewise.
610 * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc:
611 Likewise.
612 * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
613 Likewise.
614 * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc:
615 Likewise.
616 * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc:
617 Likewise.
618 * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc:
619 Likewise.
620 * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc:
621 Likewise.
622 * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc:
623 Likewise.
7a461e27 624 * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc:
684211e1 625 Likewise.
7a461e27 626 * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc:
684211e1 627 Likewise.
7a461e27 628 * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc:
684211e1 629 Likewise.
7a461e27 630 * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc:
684211e1 631 Likewise.
7a461e27 632 * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc:
684211e1 633 Likewise.
7a461e27
JW
634 * testsuite/23_containers/unordered_multiset/debug/
635 invalid_local_iterator_compare_neg.cc: Likewise.
636 * testsuite/23_containers/unordered_multiset/debug/
637 invalid_local_iterator_range_neg.cc: Likewise.
638 * testsuite/23_containers/unordered_multiset/debug/
639 iterator_self_move_assign_neg.cc: Likewise.
640 * testsuite/23_containers/unordered_multiset/debug/
641 max_load_factor_neg.cc: Likewise.
642 * testsuite/23_containers/unordered_multiset/debug/
643 self_move_assign_neg.cc: Likewise.
644 * testsuite/23_containers/unordered_multiset/debug/
645 use_erased_local_iterator_neg.cc: Likewise.
646 * testsuite/23_containers/unordered_multiset/debug/
647 use_invalid_iterator_neg.cc: Likewise.
648 * testsuite/23_containers/unordered_multiset/debug/
649 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
650 * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise.
651 * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise.
652 * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise.
7a461e27
JW
653 * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
654 Likewise.
684211e1
MW
655 * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise.
656 * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise.
7a461e27
JW
657 * testsuite/23_containers/unordered_set/debug/construct1_neg.cc:
658 Likewise.
659 * testsuite/23_containers/unordered_set/debug/construct2_neg.cc:
660 Likewise.
661 * testsuite/23_containers/unordered_set/debug/construct3_neg.cc:
662 Likewise.
684211e1
MW
663 * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise.
664 * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise.
665 * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise.
666 * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise.
667 * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise.
7a461e27
JW
668 * testsuite/23_containers/unordered_set/debug/
669 invalid_local_iterator_compare_neg.cc: Likewise.
670 * testsuite/23_containers/unordered_set/debug/
671 invalid_local_iterator_range_neg.cc: Likewise.
672 * testsuite/23_containers/unordered_set/debug/
673 iterator_self_move_assign_neg.cc: Likewise.
674 * testsuite/23_containers/unordered_set/debug/
675 max_load_factor_neg.cc: Likewise.
676 * testsuite/23_containers/unordered_set/debug/
677 self_move_assign_neg.cc: Likewise.
678 * testsuite/23_containers/unordered_set/debug/
679 use_erased_local_iterator_neg.cc: Likewise.
680 * testsuite/23_containers/unordered_set/debug/
681 use_invalid_iterator_neg.cc: Likewise.
682 * testsuite/23_containers/unordered_set/debug/
683 use_invalid_local_iterator_neg.cc: Likewise.
684211e1
MW
684 * testsuite/23_containers/vector/debug/52433.cc: Likewise.
685 * testsuite/23_containers/vector/debug/60499.cc: Likewise.
686 * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise.
7a461e27
JW
687 * testsuite/23_containers/vector/debug/
688 iterator_self_move_assign_neg.cc: Likewise.
689 * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
684211e1 690 Likewise.
684211e1
MW
691 * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
692 * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise.
693 * testsuite/25_algorithms/push_heap/complexity.cc: Likewise.
694 * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise.
695 * testsuite/29_atomics/atomic/60658.cc: Likewise.
696 * testsuite/29_atomics/atomic/60695.cc: Likewise.
697 * testsuite/29_atomics/atomic/62259.cc: Likewise.
698 * testsuite/29_atomics/atomic/64658.cc: Likewise.
699 * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
700 * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
7a461e27
JW
701 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
702 Likewise.
684211e1 703
25011292
JW
7042016-09-11 Jonathan Wakely <jwakely@redhat.com>
705
706 * libsupc++/new_opant.cc: Include exception_defines.h.
707 * libsupc++/new_opvant.cc: Likewise.
708
af63ba4b
JM
7092016-09-09 Jason Merrill <jason@redhat.com>
710
711 Implement P0035R4, C++17 new of over-aligned types.
712 * libsupc++/new: Declare aligned new/delete operators.
713 * config/abi/pre/gnu.ver: Export them.
714 * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
715 _aligned_malloc.
716 * libsupc++/new_opa.cc: New.
717 * libsupc++/new_opant.cc: New.
718 * libsupc++/new_opva.cc: New.
719 * libsupc++/new_opva.cc: New.
720 * libsupc++/del_opa.cc: New.
721 * libsupc++/del_opant.cc: New.
722 * libsupc++/del_opsa.cc: New.
723 * libsupc++/del_opva.cc: New.
724 * libsupc++/del_opvant.cc: New.
725 * libsupc++/del_opvsa.cc: New.
726 * libsupc++/Makefile.am: Build them.
727
f75d5999
TS
7282016-09-05 Tim Shen <timshen@google.com>
729
730 * include/std/variant: include bits/move.h for std::addressof.
731
eddca7bd
MS
7322016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
733
7a461e27
JW
734 * include/std/variant (_Variant_storage::_M_storage()): Use
735 std::addressof instead of operator& to take address.
eddca7bd 736
5a810362
MK
7372016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
738
739 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
740 setrlimit on both native and cross targets.
741 * configure: Regenerate.
742
3625264f
JW
7432016-08-31 Jonathan Wakely <jwakely@redhat.com>
744
7663cae2
JW
745 * include/bits/shared_ptr.h (_Assignable): New alias template.
746 (shared_ptr::operator=(const shared_ptr<_Tp1>&))
747 (shared_ptr::operator=(shared_ptr<_Tp1>&&))
748 (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
749 _Assignable.
750 * include/bits/shared_ptr_base.h (_Assignable): New alias template.
751 (__shared_ptr::operator=(const __shared_ptr<_Tp1>&))
752 (__shared_ptr::operator=(__shared_ptr<_Tp1>&&))
753 (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with
754 _Assignable.
755 (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter))
756 (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with
757 _Convertible.
758 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to
759 match on any line.
760 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
761 * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test.
762 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update
763 expected errors. Remove unnecessary code.
764 * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test.
765
e46d22a8
JW
766 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
767 comparison object.
768 * testsuite/23_containers/set/move_comparison.cc: New test.
769
3625264f
JW
770 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
771 New test.
772
7875b41f
VV
7732016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
774
775 PR libstdc++/77395
776 * include/std/type_traits (is_constructible): Forward-declare...
777 (__is_base_to_derived_ref): ...and use here.
778 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
779 * testsuite/20_util/is_constructible/77395.cc: New.
780 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
781 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
782 Likewise.
783 * testsuite/20_util/tuple/77395.cc: New.
784
e1becf59
UB
7852016-08-30 Uros Bizjak <ubizjak@gmail.com>
786
787 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
788 directive above dg-require-namedlocale directive.
789 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
790 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
791 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
792 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
793 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
794
4aebb4e4
TS
7952016-08-27 Tim Shen <timshen@google.com>
796
797 PR libstdc++/77356
798 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
799 _M_expression_term): Modify to support dash literal.
800 * include/bits/regex_scanner.h: Add dash as a token type to make
801 a different from the mandated dash literal by escaping.
802 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
803 token in bracket expression parsing.
804 * testsuite/28_regex/regression.cc: Add new testcases.
805
52066eae
JW
8062016-08-26 Jonathan Wakely <jwakely@redhat.com>
807
10491e4c
JW
808 PR libstdc++/51960
809 * doc/xml/manual/intro.xml: Document DR 2127 change.
810 * doc/html/*: Regenerate.
811 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
812 (operator++(), operator++(int)): Use injected class name.
813 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
814
52066eae
JW
815 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
816 using -std in dg-options.
817
e8223484
JW
8182016-08-26 Jonathan Wakely <jwakely@redhat.com>
819 Pedro Alves <palves@redhat.com>
820
821 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
822 and restore dg-interpreter-batch-mode.
823 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
824 gdb-dg-runtest instead of dg-runtest.
825 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
826
86bbf15b
JW
8272016-08-26 Jonathan Wakely <jwakely@redhat.com>
828
829 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
830 precise patterns for basic_string constructors.
831 (GLIBCXX_3.4.23): Export new constructors.
832 * doc/xml/manual/intro.xml: Document LWG 2583 status.
833 * doc/html/*: Regenerate.
834 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
835 (basic_string(const basic_string&, size_type, const Alloc&)): Add
836 new constructor for LWG 2583.
837 (basic_string(const basic_string&, size_type, size_type)): Remove
838 default argument.
839 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
840 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
841 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
842 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
843
9a38acdf
AK
8442016-08-24 Aditya Kumar <hiraditya@msn.com>
845
846 * include/bits/algorithmfwd.h: Remove trailing whitespace.
847 * include/bits/shared_ptr_base.h: Likewise.
848
06db9920
JW
8492016-08-23 Jonathan Wakely <jwakely@redhat.com>
850
e90a8010
JW
851 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
852 * include/profile/array (array): Likewise.
853 (array::swap): Fix exception specification for zero-sized arrays.
854
5ea387db
JW
855 PR libstdc++/77334
856 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
857 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
858 * testsuite/23_containers/map/77334.cc: New test.
859
5d1c6b3e
JW
860 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
861 * doc/html/*: Regenerate.
862
457c4a3f
JW
863 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
864 * testsuite/experimental/feat-lib-fund.cc: Likewise.
865
b405d54f
JW
866 PR libstdc++/71771
867 * include/bits/stl_iterator.h
868 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
869 define for C++98 mode.
870 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
871 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
872 -std=gnu++98.
873 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
874 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
875 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
876 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
877 difference operator.
878 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
879 difference operator for C++98.
880 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
881
06db9920
JW
882 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
883 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
884 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
885 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
886 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
887 Likewise.
888 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
889 _GLIBCXX14_CONSTEXPR.
890 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
891 * include/std/array (array::begin, array::end, array::rbegin)
892 (array::rend, array::cbegin, array:cend, array::crbegin)
893 (array::crend, array::operator[], array::at, array::front)
894 (array::back, array::data): Likewise.
895 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
896 with separate tests for C++11, C++14, and C++17.
897 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
898 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
899 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
900
d79d6252
TS
9012016-08-22 Tim Shen <timshen@google.com>
902
903 Split _M_dfs() into smaller functions.
904 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
905 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
906 (_M_handle_line_end_assertion, _M_handle_word_boundary)
907 (_M_handle_subexpr_lookahead, _M_handle_match)
908 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
909 Add separate function declarations.
910 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
911
27abac26
GN
9122016-08-22 Gleb Natapov <gleb@scylladb.com>
913
914 PR libstdc++/68297
915 * config/abi/pre/gnu-versioned-namespace.ver: Export
916 __cxa_init_primary_exception and std::exception_ptr(void*).
917 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
918 export __cxa_init_primary_exception and std::exception_ptr(void*).
919 * include/Makefile.am: Add new headers.
920 * include/Makefile.in: Regenerate.
921 * libsupc++/Makefile.am: Add new headers.
922 * libsupc++/Makefile.in: Regenerate.
923 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
924 * libsupc++/cxxabi_init_exception.h: New header.
925 (__cxa_init_primary_exception): Declare.
926 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
927 (__cxa_throw): Use __cxa_init_primary_exception.
928 * libsupc++/exception (std::exception): Move to ...
929 * libsupc++/exception.h: New header.
930 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
931 friend declaration.
932 (__exception_ptr::__dest_thunk): New function template.
933 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
934 Use __cxa_allocate_exception and __cxa_init_primary_exception to
935 create exception_ptr.
936 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
937 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
938
94f54d47
JW
9392016-08-22 Jonathan Wakely <jwakely@redhat.com>
940
4c86ffcc
JW
941 * doc/xml/api.xml: Replace hardcoded links for specific versions with
942 link to docs for all releases.
943 * doc/html/*: Regenerate.
944
94f54d47
JW
945 PR libstdc++/77322
946 * doc/xml/manual/intro.xml: Document DR 2062 change.
947 * include/std/functional (function::swap): Add noexcept.
948 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
949 * testsuite/20_util/function/77322.cc: New test.
950
1f4ed04e
JW
9512016-08-19 Jonathan Wakely <jwakely@redhat.com>
952
71c54f8e
JW
953 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
954 *-*-solaris* instead of -pthreads.
955 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
956 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
957 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
958 * testsuite/23_containers/list/pthread1.cc: Likewise.
959 * testsuite/23_containers/list/pthread5.cc: Likewise.
960 * testsuite/23_containers/map/pthread6.cc: Likewise.
961 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
962 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
963 * testsuite/30_threads/shared_mutex/*: Likewise.
964 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
965 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
966 default_weaktoshared.cc: Likewise.
967 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
968 mutex_weaktoshared.cc: Likewise.
969 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
970 dg-require-effective-target instead of using -std option.
971 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
972 Likewise.
973 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
974 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
975 Likewise.
976 * testsuite/30_threads/async/*: Likewise.
977 * testsuite/30_threads/call_once/*: Likewise.
978 * testsuite/30_threads/condition_variable/*: Likewise.
979 * testsuite/30_threads/condition_variable_any/*: Likewise.
980 * testsuite/30_threads/future/*: Likewise.
981 * testsuite/30_threads/lock/*: Likewise.
982 * testsuite/30_threads/mutex/*: Likewise.
983 * testsuite/30_threads/packaged_task/*: Likewise.
984 * testsuite/30_threads/promise/*: Likewise.
985 * testsuite/30_threads/recursive_mutex/*: Likewise.
986 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
987 * testsuite/30_threads/shared_future/*: Likewise.
988 * testsuite/30_threads/shared_lock/*: Likewise.
989 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
990 * testsuite/30_threads/this_thread/*: Likewise.
991 * testsuite/30_threads/thread/*: Likewise.
992 * testsuite/30_threads/timed_mutex/*: Likewise.
993 * testsuite/30_threads/try_lock/*: Likewise.
994 * testsuite/30_threads/unique_lock/*: Likewise.
995
e6ee5bfd
JW
996 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
997 * doc/html/*: Regenerate.
998 * include/experimental/functional (_Not_fn, not_fn): Match C++17
999 semantics.
1000 * include/std/functional (_Not_fn, not_fn): Define for C++17.
1001 * testsuite/20_util/not_fn/1.cc: New.
1002 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
1003 Remove test for volatile-qualified wrapper.
1004
387edf83
JW
1005 * include/std/atomic (atomic::is_always_lock_free): Define.
1006 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
1007 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
1008 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
1009 * doc/xml/manual/status_cxx2017.xml: Update status.
1010 * doc/html/*: Regenerate.
1011
285ee2fb
JW
1012 * include/experimental/tuple (apply): Qualify call to __apply_impl.
1013 * include/std/tuple (apply): Likewise.
1014 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
1015 C++17 mode.
1016 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
1017 * testsuite/experimental/type_traits/value.cc: Likewise.
1018
1f4ed04e
JW
1019 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
1020 and variant.
1021 * doc/html/*: Regenerate.
1022
a577f786
VV
10232016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1024
1025 Implement the latest proposed resolution of LWG 2756.
1026 * include/std/optional (Optional_base(const _Tp&))
1027 (Optional_base(_Tp&&), using _Base::_Base): Remove.
1028 (optional(nullopt_t)): New.
1029 (optional(_Up&&)): Invoke base directly with in_place
1030 rather than creating a temporary, add default template
1031 argument, change constraints.
1032 (optional(const optional<_Up>&)): Invoke base directly
1033 with in_place, remove unnecessary constraints.
1034 (optional(optional<_Up>&& __t)): Likewise.
1035 (optional(in_place_t, _Args&&...)): New.
1036 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
1037 (operator=(_Up&&)): Add default template argument, change constraints.
1038 (operator=(const optional<_Up>&)): Put is_same first in the
1039 constraints.
1040 (operator=(optional<_Up>&&)): Likewise.
1041 * testsuite/20_util/optional/assignment/5.cc: Add a test to
1042 verify assignment from something that can't be perfect-forwarded.
1043 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
1044 that a nested optional is disengaged when constructed
1045 from a disengaged element type, and to verify that assignments
1046 from an engaged element type engage the optional.
1047
197c757c
TS
10482016-08-18 Tim Shen <timshen@google.com>
1049
1050 Implement <variant>
1051
1052 * include/Makefile.am: Add new file std/variant.
1053 * include/Makefile.in: Generated from Makefile.am.
1054 * include/bits/enable_special_members.h: Add a tag type to allow
1055 the construction in non-default constructor.
1056 * include/bits/uses_allocator.h: Add convenience traits to
1057 detect constructibility.
1058 * include/std/variant: Implement <variant>.
1059 * testsuite/20_util/variant/compile.cc: Compile-time tests.
1060 * testsuite/20_util/variant/run.cc: Runtime tests.
1061
6cb98491
JW
10622016-08-18 Jonathan Wakely <jwakely@redhat.com>
1063
0b224dcf
JW
1064 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
1065 (test.new_tests): Rewrite section.
1066 (tests.dg.directives): New section.
1067 * doc/html/*: Regenerate.
1068
b56d48ef
JW
1069 * doc/xml/manual/test.xml: Improve documentation of test targets.
1070 Document new-abi-baseline, check-debug, and check-parallel targets.
1071
409d5555
JW
1072 * doc/xml/manual/build_hacking.xml: New section on shared library
1073 versioning.
1074
a8107a98
JW
1075 * doc/xml/manual/build_hacking.xml: Improve markup.
1076 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
1077 to "Testing".
1078 * doc/xml/faq.xml: Change link text to "Testing".
1079
6cb98491
JW
1080 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
1081 dg-options directive.
1082
657213f7
JW
10832016-08-17 Jonathan Wakely <jwakely@redhat.com>
1084
6fbf26cc
JW
1085 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
1086 directive and use effective target instead of dg-options.
1087
18a20f3f
JW
1088 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
1089 instead of -std in dg-options.
1090 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
1091 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
1092 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
1093 * testsuite/20_util/hash/quality.cc: Likewise.
1094 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
1095 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
1096 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
1097 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
1098 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
1099 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
1100
f7717203
JW
1101 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
1102 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
1103 * testsuite/27_io/rvalue_streams.cc: Likewise.
1104
e30c6e0c
JW
1105 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
1106
e07f4b00
JW
1107 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1108 Remove duplicate dg-options directive.
1109
37144e84
JW
1110 * testsuite/ext/profile/all.cc: Use effective target instead of
1111 -std=gnu++11. Use dg-additional-options instead of repeating options.
1112
8fe79e73
JW
1113 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
1114 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
1115 instead of dg-excess-errors.
1116
c4296692
JW
1117 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
1118 test for C++17.
1119 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
1120 * testsuite/experimental/ratio/value.cc: Likewise.
1121 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
1122 C++17.
1123 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
1124 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
1125 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
1126 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
1127 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
1128 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
1129 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
1130 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
1131 * testsuite/tr1/5_numerical_facilities/special_functions/
1132 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
1133 C++17 compatibility.
1134
ba364478
JW
1135 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
1136 expected signatures for C++14 compatibility.
1137
657213f7
JW
1138 PR libstdc++/77264
1139 * include/bits/basic_string.h (operator=(__sv_type)
1140 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
1141 (replace(size_type, size_type, __sv_type))
1142 (replace(const_iterator, const_iterator, __sv_type))
1143 (find(__sv_type, size_type), rfind(__sv_type, size_type))
1144 (compare(size_type, size_type, __sv_type)): Reformat.
1145 (_If_sv): Define helper for SFINAE constaints.
1146 (append(const _Tp&, size_type, size_type))
1147 (assign(const _Tp&, size_type, size_type))
1148 (insert(size_type, const _Tp&, size_type, size_type))
1149 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
1150 Use _If_sv.
1151 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
1152 SFINAE constraints.
1153 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1154 Likewise.
1155 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1156 Likewise.
1157 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1158 Likewise.
1159 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1160 Likewise.
1161 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1162 Likewise.
1163 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1164 Likewise.
1165 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1166 Likewise.
1167 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1168 Likewise.
1169 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1170 Likewise.
1171 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1172 Likewise.
1173
32917686
JW
11742016-08-16 Jonathan Wakely <jwakely@redhat.com>
1175
1176 PR libstdc++/72847
1177 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
1178 pointers to start and end of storage.
1179 * testsuite/23_containers/vector/bool/72847.cc: New test.
1180 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
1181 _M_finish after deallocating.
1182 (vector<bool>::_M_fill_insert): Likewise.
1183 (vector<bool>::_M_insert_range): Likewise.
1184 (vector<bool>::_M_insert_aux): Likewise.
1185
5c578ae4
VV
11862016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1187
1188 Implement LWG 2744 and LWG 2754.
1189 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
1190 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
1191 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
1192 Likewise.
1193 (emplace(_Args&&...)): Likewise.
1194 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1195 * include/std/utility: (__is_in_place_type_impl): New.
1196 (__is_in_place_type): Likewise.
1197 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
1198 emplace.
1199 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
1200 in_place constructor.
1201 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1202 * testsuite/20_util/any/requirements.cc: Add a test for
1203 in_place-constructing a non-default-constructible type.
1204
24299f65
VV
12052016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
1206
1207 Add a feature macro for C++17 make_from_tuple.
1208 * include/std/tuple (__cpp_lib_make_from_tuple): New.
1209 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
1210 Qualify the call to get<>().
1211 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
1212
0657379e
UB
12132016-08-15 Uros Bizjak <ubizjak@gmail.com>
1214
1215 * src/filesystem/ops.cc: Always include ostream and
1216 ext/stdio_filebuf.h.
1217 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
1218 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
1219 sendfile fails with ENOSYS or EINVAL.
1220
f9657322
TP
12212016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
1222
1223 PR libstdc++/72840
1224 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
1225 syntax.
1226
ca1ab6be
VV
12272016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1228
1229 Implement C++17 make_from_tuple.
1230 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
1231 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
1232
68a51b68
VV
12332016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
1234
1235 Implement LWG 2758.
1236 * include/bits/basic_string.h
1237 (append(__sv_type, size_type, size_type)): Turn into a template,
1238 change parameter type, constrain, add a conversion to __sv_type
1239 from the dependent parameter type.
1240 (assign(__sv_type, size_type, size_type)): Likewise.
1241 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1242 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1243 Likewise.
1244 (compare(size_type, size_type,__sv_type, size_type, size_type)):
1245 Likewise.
1246 * testsuite/21_strings/basic_string/lwg2758.cc: New.
1247
3e9f67e6
JW
12482016-08-06 Jonathan Wakely <jwakely@redhat.com>
1249
caee9cde
JW
1250 * doc/xml/manual/status_cxx2017.xml: Update status table.
1251 * doc/html/manual/status.html: Regenerate.
1252
ea2f1f49
JW
1253 * testsuite/lib/libstdc++.exp: Fix typo in comment.
1254
6ef835c6
JW
1255 PR libstdc++/72820
1256 * include/std/functional (_Function_base::_Base_manager::_M_clone):
1257 Qualify new operator.
1258 * testsuite/20_util/function/cons/72820.cc: New test.
1259
3e9f67e6
JW
1260 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
1261 * doc/html/manual/status.html: Regenerate.
1262 * include/Makefile.am: Add new header.
1263 * include/Makefile.in: Regenerate.
1264 * include/bits/invoke.h: New header.
1265 (__invoke): Make constexpr. Add && to types in exception specification.
1266 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
1267 names. Include <bits/invoke.h> and use std::__invoke.
1268 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
1269 new header.
1270 (invoke): Add && to types in exception specification.
1271 * include/std/tuple (apply, __apply_impl): Define for C++17.
1272 * testsuite/20_util/tuple/apply/1.cc: New test.
1273 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
1274 lineno.
1275
98e6e662
JW
12762016-08-05 Jonathan Wakely <jwakely@redhat.com>
1277
a0b1bf21
JW
1278 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
1279 * doc/html/manual/status.html: Regenerate.
1280
5f6acdfb
JW
1281 * include/std/chrono (floor, ceil, round, abs): New for C++17.
1282 * testsuite/20_util/duration_cast/rounding.cc: New test.
1283 * testsuite/20_util/time_point_cast/rounding.cc: New test.
1284 * doc/xml/manual/status_cxx2017.xml: Update status table.
1285 * doc/html/manual/status.html: Regenerate.
1286 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1287 dg-error lineno.
1288 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1289 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1290 * testsuite/20_util/duration/literals/range.cc: Likewise.
1291
98e6e662
JW
1292 * include/std/functional (__callable_functor): Remove.
1293 (_Function_handler::_M_invoke): Use __invoke instead of
1294 __callable_functor or mem_fn.
1295 (function::_Callable): Use lvalue in result_of expression.
1296 (function): Remove TODO comments about allocators.
1297 * testsuite/20_util/function/cons/refqual.cc: New test.
1298
7d2035fa
JW
12992016-08-04 Jonathan Wakely <jwakely@redhat.com>
1300
42183d03
JW
1301 * doc/xml/manual/status_cxx2017.xml: Update status table.
1302 * include/std/functional (__inv_unwrap): Move to <type_traits>.
1303 (__invoke_impl): Remove exception specifications.
1304 (__invoke, invoke): Add exception specifications using
1305 __is_nothrow_callable.
1306 * include/std/type_traits (__inv_unwrap): Move from <functional>.
1307 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
1308 (__is_callable, __is_nothrow_callable): New traits.
1309 (is_callable, is_callable_v): New C++17 traits.
1310 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
1311 * testsuite/20_util/is_callable/requirements/
1312 explicit_instantiation.cc: New test.
1313 * testsuite/20_util/is_callable/requirements/
1314 explicit_instantiation_ext.cc: New test.
1315 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
1316 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
1317 test.
1318 * testsuite/20_util/is_callable/value.cc: New test.
1319 * testsuite/20_util/is_callable/value_ext.cc: New test.
1320 * testsuite/20_util/is_nothrow_callable/requirements/
1321 explicit_instantiation.cc: New test.
1322 * testsuite/20_util/is_nothrow_callable/requirements/
1323 explicit_instantiation_ext.cc: New test.
1324 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
1325 New test.
1326 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
1327 New test.
1328 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
1329 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
1330
246c618e
JW
1331 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
1332 * doc/html/manual/status.html: Regenerate.
1333
9a8e528c
JW
1334 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
1335 effective target not dg-options. Move check for feature-test macro to:
1336 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
1337 New test.
1338
7d2035fa
JW
1339 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
1340 (__invfwd): Adjust.
1341 (__invoke_impl): Remove unused template parameters.
1342 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
1343 parameter.
1344 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
1345 and test __invoke extension for C++11.
1346
27631a25
JW
13472016-08-03 Jonathan Wakely <jwakely@redhat.com>
1348
c7fdbdcd
JW
1349 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
1350 Define feature-test macro.
1351 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
1352 for the macro.
1353
f21f4463
JW
1354 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
1355 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
1356 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1357 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
1358 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1359
32eaac9c
JW
1360 * include/std/utility (as_const): Define.
1361 * testsuite/20_util/as_const/1.cc: New test.
1362 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
1363
b7dabce5
JW
1364 * include/bits/shared_ptr.h (owner_less): Add default template
1365 argument.
1366 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
1367 specialization.
1368 (owner_less<void>): Define specialization.
1369 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
1370 Update value.
1371 * testsuite/20_util/owner_less/void.cc: New test.
1372 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
1373
068c8ac1
JW
1374 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
1375 Define feature-test macro.
1376 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
1377 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
1378 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
1379 (__cpp_lib_type_trait_variable_templates): Define.
1380
0bd9bdb4
JW
1381 * include/bits/stl_function.h: Remove commented-out macro.
1382 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
1383 Define feature-test macro.
1384 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
1385
f8571e51
JW
1386 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
1387 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
1388 true.
1389 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
1390 do #error for C++17.
1391 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
1392 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
1393 * include/tr1/bessel_function.tcc: Likewise.
1394 * include/tr1/beta_function.tcc: Likewise.
1395 * include/tr1/cmath: Likewise.
1396 * include/tr1/ell_integral.tcc: Likewise.
1397 * include/tr1/exp_integral.tcc: Likewise.
1398 * include/tr1/gamma.tcc: Likewise.
1399 * include/tr1/hypergeometric.tcc: Likewise.
1400 * include/tr1/legendre_function.tcc: Likewise.
1401 * include/tr1/modified_bessel_func.tcc: Likewise.
1402 * include/tr1/poly_hermite.tcc: Likewise.
1403 * include/tr1/poly_laguerre.tcc: Likewise.
1404 * include/tr1/riemann_zeta.tcc: Likewise.
1405 * include/tr1/special_function_util.h: Likewise.
1406 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
1407
27631a25
JW
1408 * include/std/type_traits (has_trivial_default_constructor): Remove.
1409 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
1410 * testsuite/20_util/has_trivial_copy_assign/requirements/
1411 explicit_instantiation.cc: Remove test.
1412 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1413 line number.
1414 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1415 Likewise.
1416 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1417 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1418 explicit_instantiation.cc: Likewise.
1419 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1420 typedefs.cc: Likewise.
1421 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1422 * testsuite/20_util/has_trivial_default_constructor/requirements/
1423 explicit_instantiation.cc: Likewise.
1424 * testsuite/20_util/has_trivial_default_constructor/requirements/
1425 typedefs.cc: Likewise.
1426 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1427 Likewise.
1428 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1429 Check has_trivial_default_constructor, has_trivial_copy_constructor,
1430 and has_trivial_copy_assign are not defined.
1431 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
1432 tests.
1433 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1434 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1435 dg-error line number.
1436 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1437 Likewise.
1438
69332dba
JW
14392016-08-02 Jonathan Wakely <jwakely@redhat.com>
1440
589a30d1
JW
1441 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
1442 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
1443 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1444 Likewise.
1445 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
1446 Likewise.
1447 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
1448 Likewise.
1449 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1450 Likewise.
1451 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
1452 Likewise.
1453 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
1454 Likewise.
1455
8bcd00bb
JW
1456 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
1457 comments.
1458
a4e1011c
JW
1459 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
1460 dg-error to relevant line.
1461 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1462 Likewise.
1463 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1464
64dde682
JW
1465 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
1466
807bd096
JW
1467 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
1468 options are present that aren't valid for C.
1469 * testsuite/abi/header_cxxabi.c: Likewise.
1470
8c65cd30
JW
1471 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
1472 check_value.cc: Do not add special functions to namespace std in TR1
1473 test.
1474
196c9e7a
JW
1475 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
1476 run for C++11 and later.
1477 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
1478 Likewise.
1479 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
1480 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
1481 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
1482 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
1483 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
1484 Likewise.
1485 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
1486 Likewise.
1487 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
1488 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
1489 Likewise.
1490 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
1491 Likewise.
1492 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
1493 Likewise.
1494 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
1495 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
1496 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
1497 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
1498 * testsuite/special_functions/03_beta/compile.cc: Likewise.
1499 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
1500 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
1501 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
1502 Likewise.
1503 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
1504 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
1505 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
1506 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
1507 Likewise.
1508 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
1509 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
1510 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
1511 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
1512 Likewise.
1513 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
1514 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
1515 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
1516 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
1517 Likewise.
1518 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
1519 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
1520 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
1521 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
1522 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
1523 Likewise.
1524 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
1525 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
1526 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
1527 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
1528 Likewise.
1529 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
1530 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
1531 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
1532 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
1533 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
1534 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
1535 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
1536 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
1537 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
1538 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
1539 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
1540 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
1541 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
1542 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
1543 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
1544 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
1545 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
1546 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
1547 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
1548 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
1549 * testsuite/special_functions/14_expint/compile.cc: Likewise.
1550 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
1551 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
1552 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
1553 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
1554 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
1555 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
1556 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
1557 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
1558 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
1559 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
1560 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
1561 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
1562 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
1563 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
1564 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
1565 Likewise.
1566 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
1567 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
1568 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
1569 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
1570 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
1571 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
1572 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
1573 * testsuite/special_functions/20_sph_legendre/check_value.cc:
1574 Likewise.
1575 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
1576 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
1577 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
1578 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
1579 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
1580 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
1581
69332dba
JW
1582 * testsuite/tr1/5_numerical_facilities/special_functions/
1583 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
1584 of [[gnu::unused]].
1585 * testsuite/tr1/5_numerical_facilities/special_functions/
1586 09_cyl_bessel_j/check_value.cc: Likewise.
1587 * testsuite/tr1/5_numerical_facilities/special_functions/
1588 10_cyl_bessel_k/check_value.cc: Likewise.
1589 * testsuite/tr1/5_numerical_facilities/special_functions/
1590 11_cyl_neumann/check_value.cc: Likewise.
1591 * testsuite/tr1/5_numerical_facilities/special_functions/
1592 21_sph_bessel/check_value.cc: Likewise.
1593 * testsuite/tr1/5_numerical_facilities/special_functions/
1594 23_sph_neumann/check_value.cc: Likewise.
1595
e1539627
RO
15962016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1597
1598 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1599 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1600 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1601 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
1602 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
1603 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
1604
c1b6948e
JW
16052016-08-02 Jonathan Wakely <jwakely@redhat.com>
1606
e877144d
JW
1607 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
1608 test if -flto used.
1609
c1b6948e
JW
1610 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
1611 additional flags for compiling libtestc++.a objects.
1612
9b46e4d6
JW
16132016-08-01 Jonathan Wakely <jwakely@redhat.com>
1614
92d58dee
JW
1615 * include/bits/basic_string.h (data() const): Update comment.
1616 (data()): Add non-const overload for C++17.
1617 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1618 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1619
0f86525a
JW
1620 * include/bits/basic_string.tcc: Disable explicit instantiation
1621 declarations for C++17.
1622
9839ff60
JW
1623 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
1624 ignored "xfail" from { dg-do compile { xfail selector } } directive.
1625 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1626 Likewise.
1627 * testsuite/26_numerics/headers/cmath/
1628 c99_classification_macros_c++11.cc: Likewise.
1629 * testsuite/26_numerics/headers/cmath/
1630 c99_classification_macros_c++98.cc: Likewise.
1631 * testsuite/26_numerics/headers/cmath/
1632 c99_classification_macros_c.cc: Likewise.
1633
cbcc9fe8
JW
1634 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
1635 for different construct/destroy counts in C++98 mode.
1636
74811472
JW
1637 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
1638
a02a61ee
JW
1639 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
1640 later.
1641 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
1642 Likewise.
1643
98b5fb3c
JW
1644 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
1645 C++98-compatible initialization for array.
1646
6f3b8891
JW
1647 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
1648 unused header and variable from compile-only test.
1649 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
1650 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
1651 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
1652 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
1653 Likewise.
1654
2ab794eb
JW
1655 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
1656 Remove duplicate dg-options directive.
1657
4d16871b
JW
1658 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1659 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
1660
e3509835
JW
1661 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
1662 linker options from compile-only tests.
1663 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1664 Likewise.
1665
9b46e4d6
JW
1666 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
1667 supported for C++11 and later.
1668 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
1669 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
1670
77c3c27e
UB
16712016-08-01 Uros Bizjak <ubizjak@gmail.com>
1672
1673 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1674
f245e3a0
JW
16752016-07-31 Jonathan Wakely <jwakely@redhat.com>
1676
c4da1da2
JW
1677 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
1678 compile-only test.
1679
9d5b70b0
JW
1680 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1681 Ensure test is compiled with optimization.
1682
ee628057
JW
1683 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1684 Adjust dg-prune-output pattern for error in C++98 mode.
1685
d23d1bee
JW
1686 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
1687 run for C++11 or later.
1688
f2738d6c
JW
1689 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
1690 test to not rely on GNU extension (escaped normal characters in POSIX
1691 BRE). Enable tests for other strings which are now supported.
1692
77f3d979
JW
1693 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
1694 c++11 instead of setting -std=gnu++14.
1695
3c040fa4
JW
1696 PR libstdc++/72745
1697 * include/std/array (get): Use positive message for static assertions.
1698 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
1699 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
1700 specialization for invalid indices, with static assertion.
1701 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
1702
f245e3a0
JW
1703 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
1704 dg-error to relevant line.
1705 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
1706 Likewise.
1707 * testsuite/23_containers/forward_list/requirements/dr438/
1708 assign_neg.cc: Likewise.
1709 * testsuite/23_containers/forward_list/requirements/dr438/
1710 constructor_1_neg.cc: Likewise.
1711 * testsuite/23_containers/forward_list/requirements/dr438/
1712 constructor_2_neg.cc: Likewise.
1713 * testsuite/23_containers/forward_list/requirements/dr438/
1714 insert_neg.cc: Likewise.
1715 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
1716 Likewise.
1717 * testsuite/26_numerics/random/linear_congruential_engine/
1718 requirements/non_uint_neg.cc: Likewise.
1719 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1720 Likewise. Also test for std::atomic_address.
1721
8c914227
VV
17222016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
1723
1724 Add missing variable traits, fix testsuite failures.
1725 * include/bits/uses_allocator.h (uses_allocator_v): New.
1726 * include/std/functional (is_bind_expression_v, is_placeholder_v):
1727 Likewise.
1728 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
1729 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1730 * testsuite/20_util/duration/literals/range.cc: Likewise.
1731 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
1732 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1733 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1734 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1735 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1736 Likewise.
1737 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1738 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
1739 New.
1740
7523c5eb
JW
17412016-07-31 Jonathan Wakely <jwakely@redhat.com>
1742
2f297149
JW
1743 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
1744 not test 128-bit types.
1745 * testsuite/20_util/is_floating_point/value.cc: Likewise.
1746 * testsuite/20_util/is_integral/value.cc: Likewise.
1747 * testsuite/20_util/is_signed/value.cc: Likewise.
1748 * testsuite/20_util/is_unsigned/value.cc: Likewise.
1749 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
1750 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1751 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
1752 Likewise.
1753 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1754 Likewise.
1755
7523c5eb
JW
1756 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
1757
137422c8
VV
17582016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
1759
1760 Implement C++17 variable templates for type traits.
1761 * include/std/chrono (treat_as_floating_point_v): New.
1762 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1763 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1764 (ratio_greater_equal_v): Likewise.
1765 * include/std/system_error (is_error_code_enum_v)
1766 (is_error_condition_enum_v): Likewise.
1767 * include/std/tuple (tuple_size_v): Likewise.
1768 * type_traits (conjunction_v, disjunction_v, negation_v)
1769 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1770 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1771 (is_rvalue_reference_v, is_member_object_pointer_v)
1772 (is_member_function_pointer_v, is_enum_v, is_union_v)
1773 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1774 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1775 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1776 (is_trivially_copyable_v, is_standard_layout_v)
1777 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1778 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1779 (is_constructible_v, is_default_constructible_v)
1780 (is_copy_constructible_v, is_move_constructible_v)
1781 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1782 (is_destructible_v, is_trivially_constructible_v)
1783 (is_trivially_default_constructible_v)
1784 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1785 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1786 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1787 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1788 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1789 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1790 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1791 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1792 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1793 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1794 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1795 Likewise.
1796 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1797 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1798 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1799
0c4c4909
AS
18002016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1801
1802 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1803 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1804 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1805
fe97ccec
JW
18062016-07-29 Jonathan Wakely <jwakely@redhat.com>
1807
13ec6e5e
JW
1808 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1809 * doc/html/manual/abi.html: Regenerate.
1810
62589e99
JW
1811 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1812 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1813 symbols.
1814 * configure: Regenerate.
1815 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1816
fe97ccec
JW
1817 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1818 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1819 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1820 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1821 Likewise.
1822 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1823 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1824 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1825
2de6b254
JW
18262016-07-28 Jonathan Wakely <jwakely@redhat.com>
1827
1a2196e4
JW
1828 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1829 Adjust dg-prune-output pattern for error in C++98 mode.
1830 * testsuite/23_containers/deque/requirements/dr438/
1831 constructor_1_neg.cc: Likewise.
1832 * testsuite/23_containers/deque/requirements/dr438/
1833 constructor_2_neg.cc: Likewise.
1834 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1835 Likewise.
1836 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1837 Likewise.
1838 * testsuite/23_containers/list/requirements/dr438/
1839 constructor_1_neg.cc: Likewise.
1840 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1841 Likewise.
1842 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1843 Likewise.
1844 * testsuite/23_containers/vector/requirements/dr438/
1845 constructor_1_neg.cc: Likewise.
1846 * testsuite/23_containers/vector/requirements/dr438/
1847 constructor_2_neg.cc: Likewise.
1848 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1849 Likewise.
1850
e539b4ff
JW
1851 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1852 for different construct/destroy counts in C++98 mode.
1853
c3c2f973
JW
1854 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1855 dg-options to dg-additional-options so that default options are used.
1856 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1857 Likewise.
1858 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1859 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1860 Likewise.
1861 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1862 Use dg-additional-options instead of repeating the common options.
1863
2de6b254
JW
1864 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1865 dg-do compile directive.
1866 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1867 dg-do directive.
1868 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1869
ca8f2cb1
VV
18702016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1871
1872 Implement std::string_view and P0254r2,
1873 Integrating std::string_view and std::string.
1874 * include/Makefile.am: Add string_view and string_view.tcc
1875 to the exported headers.
1876 * include/Makefile.in: Likewise.
1877 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1878 (__sv_type): New.
1879 (basic_string(__sv_type, const _Alloc&)): Likewise.
1880 (operator=(__sv_type)): Likewise.
1881 (operator __sv_type()): Likewise.
1882 (operator+=(__sv_type)): Likewise.
1883 (append(__sv_type __sv)): Likewise.
1884 (append(__sv_type, size_type, size_type)): Likewise.
1885 (assign(__sv_type)): Likewise.
1886 (assign(__sv_type, size_type, size_type)): Likewise.
1887 (insert(size_type, __sv_type)): Likewise.
1888 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1889 (replace(size_type, size_type, __sv_type)): Likewise.
1890 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1891 Likewise.
1892 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1893 (find(__sv_type, size_type)): Likewise.
1894 (rfind(__sv_type, size_type)): Likewise.
1895 (find_first_of(__sv_type, size_type)): Likewise.
1896 (find_last_of(__sv_type, size_type)): Likewise.
1897 (find_first_not_of(__sv_type, size_type)): Likewise.
1898 (find_last_not_of(__sv_type, size_type)): Likewise.
1899 (compare(__sv_type)): Likewise.
1900 (compare(size_type, size_type, __sv_type)): Likewise.
1901 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1902 Likewise.
1903 * include/bits/string_view.tcc: New.
1904 * include/std/string_view: Likewise.
1905 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1906 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1907 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1908 Likewise.
1909 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1910 Likewise.
1911 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1912 Likewise.
1913 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1914 Likewise.
1915 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1916 Likewise.
1917 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1918 Likewise.
1919 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1920 Likewise.
1921 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1922 Likewise.
1923 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1924 Likewise.
1925 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1926 Likewise.
1927 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1928 Likewise.
1929 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1930 Likewise.
1931 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1932 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1933 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1934 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1935 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1936 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1937 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1938 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1939 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1940 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1941 Likewise.
1942 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1943 Likewise.
1944 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1945 Likewise.
1946 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1947 Likewise.
1948 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1949 Likewise.
1950 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1951 Likewise.
1952 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1953 Likewise.
1954 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1955 Likewise.
1956 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1957 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1958 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1959 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1960 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1961 Likewise.
1962 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1963 Likewise.
1964 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1965 Likewise.
1966 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1967 Likewise.
1968 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1969 Likewise.
1970 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1971 Likewise.
1972 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1973 Likewise.
1974 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1975 Likewise.
1976 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1977 Likewise.
1978 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1979 Likewise.
1980 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1981 Likewise.
1982 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1983 Likewise.
1984 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1985 Likewise.
1986 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1987 Likewise.
1988 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1989 Likewise.
1990 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1991 Likewise.
1992 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1993 Likewise.
1994 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1995 Likewise.
1996 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1997 Likewise.
1998 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1999 Likewise.
2000 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
2001 Likewise.
2002 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
2003 Likewise.
2004 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
2005 Likewise.
2006 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
2007 Likewise.
2008 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
2009 Likewise.
2010 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
2011 Likewise.
2012 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
2013 Likewise.
2014 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
2015 Likewise.
2016 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
2017 Likewise.
2018 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
2019 Likewise.
2020 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
2021 Likewise.
2022 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
2023 Likewise.
2024 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
2025 Likewise.
2026 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
2027 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
2028 Likewise.
2029 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
2030 Likewise.
2031 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
2032 Likewise.
2033 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
2034 Likewise.
2035 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
2036 Likewise.
2037 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
2038 Likewise.
2039 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
2040 Likewise.
2041 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
2042 Likewise.
2043 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
2044 Likewise.
2045 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
2046 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
2047
427f68c6
JW
20482016-07-27 Jonathan Wakely <jwakely@redhat.com>
2049
2050 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
2051
a837417c
GC
20522016-07-25 Georeth Chow <georeth2010@gmail.com>
2053
2054 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
2055 _S_concat enumerator.
2056 * testsuite/ext/rope/6.cc: New test.
2057
19bb30c0
JW
20582016-07-25 Jonathan Wakely <jwakely@redhat.com>
2059
2060 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
2061 std::mt19937, std::thread and std::atomic to simplify test.
2062 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2063
960637ac
JW
20642016-07-22 Jonathan Wakely <jwakely@redhat.com>
2065
8cab3d18
JW
2066 PR libstdc++/71964
2067 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2068 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
2069 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
2070 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
2071 * testsuite/23_containers/set/allocator/71964.cc: New test.
2072
960637ac
JW
2073 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
2074 delete[] instead of delete.
2075
22620c14
JW
20762016-07-21 Jonathan Wakely <jwakely@redhat.com>
2077
8b649cd3
JW
2078 * include/experimental/propagate_const (propagate_const::__t): Rename
2079 to _M_t and remove comment. Qualify std::move and std::forward.
2080 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
2081
509b778f
JW
2082 * testsuite/23_containers/vector/zero_sized_allocations.cc:
2083 Define sized deallocation function.
2084 * testsuite/util/testsuite_new_operators.h:
2085 (operator delete(void*, const std::nothrow_t&)): Define nothrow
2086 deallocation function.
2087
e93a101f
JW
2088 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
2089 reads past the end of strings.
2090 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
2091 Likewise.
2092 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
2093 invalid array accesses.
2094 * testsuite/experimental/string_view/operations/compare/char/1.cc:
2095 Fix read past the end of string.
2096 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
2097
0a024155
JW
2098 * testsuite/24_iterators/container_access.cc: Fix missing returns.
2099 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
2100
22620c14
JW
2101 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
2102 leak) memory for arguments to placement delete.
2103 * testsuite/20_util/addressof/1.cc: Don't leak memory.
2104 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
2105 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
2106 Likewise.
2107
18407bfb
JW
21082016-07-20 Jonathan Wakely <jwakely@redhat.com>
2109
09a855ae
JW
2110 * doc/xml/manual/intro.xml: Document DR 2684 status.
2111 * doc/html/*: Regenerate.
2112
e87b7d52
JW
2113 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
2114 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
2115 (atomic_uint64_t): Define (LWG 2441).
2116 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
2117 lines.
2118 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
2119 the new types.
2120 * doc/xml/manual/intro.xml: Document DR 2441 status.
2121
07c772ed
JW
2122 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
2123 to use perfect forwarding (LWG 2328).
2124 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
2125 * doc/xml/manual/intro.xml: Document DR 2328 status.
2126
18407bfb
JW
2127 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
2128 static objects for catching nullptr as pointer to member types.
2129
40f3e913
VV
21302016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
2131
2132 Clean up optional's comments.
2133 * include/std/optional: Remove incorrect section headers
2134 from comments when redundant, replace bare section
2135 headers with more descriptive comments.
2136
479d0ed5
JW
21372016-07-15 Jonathan Wakely <jwakely@redhat.com>
2138
4f5f9962
JW
2139 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
2140 * include/bits/move.h: Likewise.
2141 * include/bits/postypes.h: Likewise.
2142 * include/debug/bitset: Likewise.
2143 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
2144 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
2145 comment.
2146 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
2147 * testsuite/util/thread/all.h: Likewise.
2148
d1129d45
JW
2149 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
2150 and adjust comment.
2151
479d0ed5
JW
2152 PR c++/58796
2153 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
2154 nullptr match handlers of pointer type.
2155
4db1cb44
ESR
21562016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
2157
2158 Implement C++17 P0025 clamp.
2159 * include/bits/algorithmfwd.h: Declare clamp overloads.
2160 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
2161 * testsuite/25_algorithms/clamp/1.cc: New test.
2162 * testsuite/25_algorithms/clamp/2.cc: New test.
2163 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
2164 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2165 1.cc: New test.
2166 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
2167 pod.cc: New test.
2168
1ec0f763
VV
21692016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2170
2171 Fix the constraints for any's assignment operator template to properly
2172 reject assignment from a non-copyable lvalue.
2173 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
2174 type for is_copy_constructible,
2175 * testsuite/20_util/any/requirements.cc: Add a test for
2176 non-copyable lvalues.
2177
0a2bf188
JW
21782016-07-14 Jonathan Wakely <jwakely@redhat.com>
2179
ea5ec6b7
JW
2180 * include/experimental/functional: Include <parallel/algorithm> in
2181 Parallel Mode.
2182
47d5cb3c
JW
2183 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
2184 for std::search.
2185
0a2bf188
JW
2186 PR libstdc++/70716
2187 * include/bits/forward_list.h (forward_list): Update doxygen comments
2188 to reflect allocator propagation semantics. Remove ambiguous
2189 statements about data being lost.
2190 * include/bits/stl_deque.h (deque): Likewise.
2191 * include/bits/stl_list.h (list): Likewise.
2192 * include/bits/stl_map.h (map): Likewise.
2193 * include/bits/stl_multimap.h (multimap): Likewise.
2194 * include/bits/stl_multiset.h (multiset): Likewise.
2195 * include/bits/stl_set.h (set): Likewise.
2196 * include/bits/stl_vector.h (vector): Likewise.
2197 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
2198 Likewise.
2199 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
2200 Likewise.
2201
25a69162
VV
22022016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
2203
2204 Implement P0032R3, Homogeneous interface for variant, any and optional,
2205 for the parts concerning any and optional.
2206 * include/std/any (_Storage()): Make constexpr and have it
2207 initialize _M_ptr.
2208 (any()): Make constexpr.
2209 (any(const any&)): Adjust.
2210 (any(any&&)): Likewise.
2211 (__any_constructible_t): New.
2212 (any(_ValueType&&)): Constrain.
2213 (any(in_place_type_t<_Tp>, _Args&&...)): New.
2214 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
2215 Likewise.
2216 (~any()): Adjust.
2217 (operator=(const any&)): Likewise.
2218 (operator=(any&&)): Likewise.
2219 (operator=(_ValueType&&)): Constrain.
2220 (emplace(_Args&&...)): New.
2221 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
2222 (clear()): Remove.
2223 (reset()): New.
2224 (swap(any&)): Adjust.
2225 (empty()): Remove.
2226 (has_value()): New.
2227 (type()): Adjust.
2228 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
2229 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
2230 (make_any(_Args&&...)): Likewise.
2231 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
2232 * include/std/optional (in_place_t, in_place): Remove.
2233 (bad_optional_access): Add a comment referring to LEWG 72.
2234 (emplace(_Args&&...)): Constrain.
2235 (has_value()): New.
2236 (reset()): Likewise.
2237 (make_optional(_Args&&...)): Likewise.
2238 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
2239 * include/std/utility (in_place_tag): New.
2240 (__in_place, __in_place_type, __in_place_index): Likewise.
2241 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
2242 (in_place(__in_place*)): Likewise.
2243 (in_place(__in_place_type<_Tp>*)): Likewise.
2244 (in_place(__in_place_index<_Idx>*)): Likewise.
2245 * testsuite/20_util/any/assign/1.cc: Adjust.
2246 * testsuite/20_util/any/assign/emplace.cc: New.
2247 * testsuite/20_util/any/assign/self.cc: Adjust.
2248 * testsuite/20_util/any/cons/1.cc: Likewise.
2249 * testsuite/20_util/any/cons/in_place.cc: New.
2250 * testsuite/20_util/any/make_any.cc: Likewise.
2251 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
2252 * testsuite/20_util/any/misc/swap.cc: Likewise.
2253 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2254 * testsuite/20_util/any/requirements.cc: New.
2255 * testsuite/20_util/in_place/requirements.cc: Likewise.
2256 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
2257 * testsuite/20_util/optional/in_place.cc: Likewise.
2258 * testsuite/20_util/optional/make_optional.cc: Add tests for
2259 the new overloads of make_optional.
2260
c0d31471
VV
22612016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2262
2263 Implement P0307R2, Making Optional Greater Equal Again.
2264 * include/experimental/optional (_Has_addressof): Fix the comment.
2265 * include/std/optional (_Has_addressof): Likewise.
2266 (operator=(_Up&&)): Constrain.
2267 (operator=(const optional<_Up>&)): Likewise.
2268 (operator=(optional<_Up>&&)): Likewise.
2269 (__optional_relop_t): New.
2270 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2271 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2272 Constrain and make transparent.
2273 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2274 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2275 Constrain and make transparent.
2276 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2277 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2278 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2279 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2280 (operator!=(const optional<_Tp>&, _Tp const&)):
2281 Constrain and make transparent.
2282 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2283 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2284 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2285 (operator>(const optional<_Tp>&, const _Tp&)):
2286 Constrain and make transparent.
2287 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2288 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2289 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2290 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2291 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2292 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2293 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2294 * testsuite/20_util/optional/relops/1.cc: Likewise.
2295 * testsuite/20_util/optional/relops/2.cc: Likewise.
2296 * testsuite/20_util/optional/relops/3.cc: Likewise.
2297 * testsuite/20_util/optional/relops/4.cc: Likewise.
2298 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2299 that optional's relops are transparent and don't synthesize
2300 operators. Also test that assignment sfinaes.
2301
260d92cd
JW
23022016-07-13 Jonathan Wakely <jwakely@redhat.com>
2303
e383deac
JW
2304 PR libstdc++/71856
2305 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
2306 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
2307 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
2308 on _GLIBCXX_ASSERTIONS.
2309 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
2310 Include <unistd.h> for sleep.
2311 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
2312 * include/parallel/merge.h: Likewise.
2313 * include/parallel/multiway_merge.h: Likewise.
2314 * include/parallel/partition.h: Likewise.
2315 * include/parallel/queue.h: Likewise.
2316 * include/parallel/sort.h: Likewise.
2317 * testsuite/25_algorithms/headers/algorithm/
2318 parallel_algorithm_assert.cc: New.
2319
17f8dc93
JW
2320 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
2321 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
2322 Forward to different overload.
2323
260d92cd
JW
2324 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
2325 static.
2326
2d60da10
JW
23272016-07-13 Jonathan Wakely <jwakely@redhat.com>
2328
2329 Revert "Add non-const overload of std::string::data()".
2330
05505e9d
VV
23312016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
2332
86c0ec1d
VV
2333 Implement P0307R2, Making Optional Greater Equal Again.
2334 * include/experimental/optional (_Has_addressof): Fix the comment.
2335 * include/std/optional (_Has_addressof): Likewise.
2336 (operator=(_Up&&)): Constrain.
2337 (operator=(const optional<_Up>&)): Likewise.
2338 (operator=(optional<_Up>&&)): Likewise.
2339 (__optional_relop_t): New.
2340 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2341 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
2342 Constrain and make transparent.
2343 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
2344 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
2345 Constrain and make transparent.
2346 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2347 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
2348 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
2349 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
2350 (operator!=(const optional<_Tp>&, _Tp const&)):
2351 Constrain and make transparent.
2352 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
2353 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
2354 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
2355 (operator>(const optional<_Tp>&, const _Tp&)):
2356 Constrain and make transparent.
2357 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
2358 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
2359 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
2360 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
2361 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
2362 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
2363 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2364 * testsuite/20_util/optional/relops/1.cc: Likewise.
2365 * testsuite/20_util/optional/relops/2.cc: Likewise.
2366 * testsuite/20_util/optional/relops/3.cc: Likewise.
2367 * testsuite/20_util/optional/relops/4.cc: Likewise.
2368 * testsuite/20_util/optional/requirements.cc: Add tests to verify
2369 that optional's relops are transparent and don't synthesize
2370 operators. Also test that assignment sfinaes.
2371
ceea48fc
JW
23722016-07-13 Jonathan Wakely <jwakely@redhat.com>
2373
2374 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
2375 New function.
2376 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
2377 instead of _M_data().
2378 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
2379 Likewise.
2380 (append(const basic_string&)): Likewise.
2381 (append(const basic_string&, size_type, size_type)): Likewise.
2382 (assign(const basic_string&, size_type, size_type)): Likewise.
2383 (insert(size_type, const basic_string&)): Likewise.
2384 (insert(size_type, const basic_string&, size_type, size_type)):
2385 Likewise.
2386 (replace(size_type, size_type, const basic_string&, size_type,
2387 size_type)): Likewise.
2388 (replace(__const_iterator, __const_iterator, const basic_string&)):
2389 Likewise.
2390 (c_str(), data()): Use c_str() instead of _M_data().
2391 (data()): Add non-const overload as per LWG 2391 and P0272R1.
2392 (compare(const basic_string&)): Use data() instead of _M_data().
2393 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
2394 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
2395 Pass raw pointers to _S_copy.
2396 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
2397 _S_assign.
2398 (find(const _CharT*, size_type, size_type)): Use data instead of
2399 _M_data().
2400 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
2401 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
2402 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
2403
17b31c05
JW
24042016-07-12 Jonathan Wakely <jwakely@redhat.com>
2405
7cbadfdc
JW
2406 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
2407 * doc/xml/manual/intro.xml: Document DR 2458 status.
2408 * doc/html*: Regenerate.
2409
1b24fb4c
JW
2410 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
2411 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2412 Only include <array>.
2413 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
2414 Likewise.
1b1c16e0 2415 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
2416 * doc/html*: Regenerate.
2417
17b31c05
JW
2418 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2419 Add testcase from LWG 2164.
2420
76225d2c
FD
24212016-07-11 François Dumont <fdumont@gcc.gnu.org>
2422
2423 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
2424 to _M_realloc_insert.
2425 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2426 (_M_realloc_insert): Declare new function.
2427 (_M_emplace_back_aux): Remove definition.
2428 * include/bits/vector.tcc (emplace_back(_Args...)):
2429 Use _M_realloc_insert.
2430 (insert(const_iterator, const value_type&)): Likewise.
2431 (_M_insert_rval, _M_emplace_aux): Likewise.
2432 (_M_emplace_back_aux): Remove declaration.
2433 (_M_realloc_insert): Define.
2434 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2435 Adjust expected results for emplacing an lvalue with reallocation.
2436
435e56fb
VV
24372016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
2438
2439 Implement std::optional.
2440 * include/Makefile.am: Add optional to exported headers.
2441 * include/Makefile.in: Likewise.
2442 * include/std/optional: New.
2443 * testsuite/20_util/optional/typedefs.cc: Likewise.
2444 * testsuite/20_util/optional/relops/2.cc: Likewise.
2445 * testsuite/20_util/optional/relops/3.cc: Likewise.
2446 * testsuite/20_util/optional/relops/4.cc: Likewise.
2447 * testsuite/20_util/optional/relops/5.cc: Likewise.
2448 * testsuite/20_util/optional/relops/1.cc: Likewise.
2449 * testsuite/20_util/optional/relops/6.cc: Likewise.
2450 * testsuite/20_util/optional/nullopt.cc: Likewise.
2451 * testsuite/20_util/optional/in_place.cc: Likewise.
2452 * testsuite/20_util/optional/make_optional.cc: Likewise.
2453 * testsuite/20_util/optional/assignment/2.cc: Likewise.
2454 * testsuite/20_util/optional/assignment/3.cc: Likewise.
2455 * testsuite/20_util/optional/assignment/4.cc: Likewise.
2456 * testsuite/20_util/optional/assignment/5.cc: Likewise.
2457 * testsuite/20_util/optional/assignment/1.cc: Likewise.
2458 * testsuite/20_util/optional/assignment/6.cc: Likewise.
2459 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
2460 * testsuite/20_util/optional/cons/default.cc: Likewise.
2461 * testsuite/20_util/optional/cons/move.cc: Likewise.
2462 * testsuite/20_util/optional/cons/value.cc: Likewise.
2463 * testsuite/20_util/optional/cons/copy.cc: Likewise.
2464 * testsuite/20_util/optional/requirements.cc: Likewise.
2465 * testsuite/20_util/optional/observers/2.cc: Likewise.
2466 * testsuite/20_util/optional/observers/3.cc: Likewise.
2467 * testsuite/20_util/optional/observers/4.cc: Likewise.
2468 * testsuite/20_util/optional/observers/5.cc: Likewise.
2469 * testsuite/20_util/optional/observers/1.cc: Likewise.
2470 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
2471 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
2472 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
2473 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
2474 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
2475 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
2476 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
2477 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
2478 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
2479 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
2480 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
2481 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
2482 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
2483 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
2484 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
2485 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
2486 * testsuite/20_util/optional/swap/1.cc: Likewise.
2487
d81102f4
JW
24882016-07-08 Jonathan Wakely <jwakely@redhat.com>
2489
2490 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
2491
9fc0faf0
JW
24922016-07-07 Jonathan Wakely <jwakely@redhat.com>
2493
2494 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
2495 * doc/html/*: Regenerate.
2496
52e86221
VV
24972016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
2498
2499 Implement std::any.
2500 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
2501 * include/Makefile.in: Likewise.
2502 * include/std/any: New.
2503 * testsuite/20_util/any/assign/1.cc: Likewise.
2504 * testsuite/20_util/any/assign/2.cc: Likewise.
2505 * testsuite/20_util/any/assign/self.cc: Likewise.
2506 * testsuite/20_util/any/cons/1.cc: Likewise.
2507 * testsuite/20_util/any/cons/2.cc: Likewise.
2508 * testsuite/20_util/any/cons/aligned.cc: Likewise.
2509 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
2510 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
2511 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
2512 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
2513 * testsuite/20_util/any/misc/swap.cc: Likewise.
2514 * testsuite/20_util/any/modifiers/1.cc: Likewise.
2515 * testsuite/20_util/any/observers/type.cc: Likewise.
2516 * testsuite/20_util/any/typedefs.cc: Likewise.
2517
3042e708
VV
25182016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2519
2520 Add a new header for diagnosing the use of C++17 facilities
2521 in pre-C++17 modes.
2522 * include/bits/c++17_warning.h: New.
2523
6ffe8548
VV
25242016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2525
2526 Implement LWG 2451, optional<T> should 'forward' T's
2527 implicit conversions.
2528 * include/experimental/optional (__is_optional_impl, __is_optional):
2529 New.
2530 (optional()): Make constexpr and default.
2531 (optional(_Up&&), optional(const optional<_Up>&),
2532 optional(optional<_Up>&& __t): New.
2533 (operator=(_Up&&)): Constrain.
2534 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
2535 * testsuite/experimental/optional/cons/value.cc:
2536 Add tests for the functionality added by LWG 2451.
2537 * testsuite/experimental/optional/cons/value_neg.cc: New.
2538
7d4f48b5
VV
25392016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2540
2541 Implement LWG 2509,
2542 any_cast doesn't work with rvalue reference targets and cannot
2543 move with a value target.
2544 * include/experimental/any (any(_ValueType&&)): Constrain and
2545 add an overload that doesn't forward.
2546 (any_cast(any&&)): Constrain and add an overload that moves.
2547 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
2548 the functionality added by LWG 2509.
2549
097e8994
FD
25502016-07-04 François Dumont <fdumont@gcc.gnu.org>
2551
2552 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
2553 New test.
2554 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
2555 test.
2556
9958c7eb
JW
25572016-07-04 Jonathan Wakely <jwakely@redhat.com>
2558
2559 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
2560 Define inline. Forward to _M_emplace_aux.
2561 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
2562 (_M_insert_rval, _M_emplace_aux): Declare new functions.
2563 (_Temporary_value): New RAII type using allocator to construct/destroy.
2564 (_S_insert_aux_assign): Remove.
2565 (_M_insert_aux): Make non-variadic.
2566 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
2567 Use _Temporary_value.
2568 (emplace(const_iterator, _Args&&...)): Remove definition.
2569 (_M_insert_rval, _M_emplace_aux): Define.
2570 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
2571 (_M_fill_insert): Use _Temporary_value.
2572 * testsuite/23_containers/vector/allocator/construction.cc: New test.
2573 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
2574 Adjust expected results for emplacing an lvalue with reallocation.
2575 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
2576 expected results to account for construction/destruction of temporary
2577 using allocator.
2578 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
2579
e12880f9
VV
25802016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
2581
2582 PR libstdc++/71313
2583 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
2584 Call remove_all for children of a directory.
2585 * testsuite/experimental/filesystem/operations/create_directories.cc:
2586 Adjust.
2587
6c539f2e
FD
25882016-07-02 François Dumont <fdumont@gcc.gnu.org>
2589
2590 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2591 dg-error line numbers.
2592 * testsuite/23_containers/array/tuple_interface/
2593 tuple_element_debug_neg.cc: Likewise.
2594 * testsuite/25_algorithms/lexicographical_compare/debug/
2595 irreflexive_neg.cc: Remove.
2596
72fb6bae
TP
25972016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
2598
2599 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
2600 than specific target.
2601
dc448fa0
FD
26022016-06-27 François Dumont <fdumont@gcc.gnu.org>
2603
2604 PR libstdc++/71640
2605 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
2606 friend declaration.
2607
e615c24c
FD
26082016-06-23 François Dumont <fdumont@gcc.gnu.org>
2609
2610 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
2611 zero-size array.
2612
0609abda
TS
26132016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2614
2615 * configure.host: Remove mep-* support.
2616
8466af06
TS
26172016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2618
2619 * configure: Regenerate.
2620 * configure.host: Remove support for knetbsd.
2621 * crossconfig.m4: Likewise.
2622
29dbb034
FD
26232016-06-20 François Dumont <fdumont@gcc.gnu.org>
2624
2625 PR libstdc++/71181
2626 * include/tr1/hashtable_policy.h
2627 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
2628 dereferenceable to avoid check on lower_bound result.
2629 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
2630 (_Prime_rehash_policy::_M_need_rehash): Likewise.
2631 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
2632 Always return a value greater than input value. Set _M_next_resize to
2633 max value when reaching highest prime number.
2634 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
2635 being now useless.
2636 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
2637 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
2638 (test02): New.
2639 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
2640 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2641 Fix indentation.
2642
3ebacabd
JW
26432016-06-17 Jonathan Wakely <jwakely@redhat.com>
2644
2645 PR libstdc++/71545
2646 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
2647 Remove irreflexive checks.
2648 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
2649 binary_search): Likewise.
2650 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
2651 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
2652 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
2653 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
2654 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
2655 Add constructor from array.
2656
bd2ee798
FD
26572016-06-16 François Dumont <fdumont@gcc.gnu.org>
2658
2659 * include/debug/debug.h
2660 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
2661 (__glibcxx_requires_subscript): Move...
2662 * include/debug/assertions.h: ...here and add __builtin_expect.
2663 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
2664 * include/bits/stl_deque.h
2665 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
2666 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
2667 (std::deque<>::back()): Likewise.
2668 (std::deque<>::pop_front()): Likewise.
2669 (std::deque<>::pop_back()): Likewise.
2670 (std::deque<>::swap(deque&)): Add allocator check.
2671 * include/bits/stl_vector.h
2672 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
2673 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
2674 (std::vector<>::back()): Likewise.
2675 (std::vector<>::pop_back()): Likewise.
2676 (std::vector<>::swap(vector&)): Add allocator check.
2677
6b9539e2
DK
26782016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
2679
2680 Provide swappable traits (p0185r1)
2681 * include/std/type_traits (is_swappable, is_nothrow_swappable,
2682 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
2683 is_nothrow_swappable_v, is_swappable_with_v,
2684 is_nothrow_swappable_with_v): New.
2685 * include/bits/stl_pair.h: Use it as per p0185r1.
2686 * include/bits/stl_queue.h: Likewise.
2687 * include/bits/stl_stack.h: Likewise.
2688 * include/bits/unique_ptr.h: Likewise.
2689 * include/std/tuple: Likewise.
2690 * include/std/array: Likewise. Fix zero-size member swap.
2691 * include/bits/hashtable.h: Use __and_.
2692 * testsuite/20_util/is_nothrow_swappable/requirements/
2693 explicit_instantiation.cc: Change test options to std=gnu++17.
2694 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2695 Likewise.
2696 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
2697 * testsuite/20_util/is_swappable/requirements/
2698 explicit_instantiation.cc: Likewise.
2699 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
2700 * testsuite/20_util/is_swappable/value.cc: Likewise.
2701 * testsuite/20_util/is_nothrow_swappable/requirements/
2702 explicit_instantiation_ext.cc: New.
2703 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
2704 New.
2705 * testsuite/20_util/is_nothrow_swappable/value.h: New.
2706 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
2707 * testsuite/20_util/is_nothrow_swappable_with/requirements/
2708 explicit_instantiation.cc: New.
2709 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
2710 New.
2711 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
2712 * testsuite/20_util/is_swappable/requirements/
2713 explicit_instantiation_ext.cc: New.
2714 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
2715 * testsuite/20_util/is_swappable/value.h: New.
2716 * testsuite/20_util/is_swappable/value_ext.cc: New.
2717 * testsuite/20_util/is_swappable_with/requirements/
2718 explicit_instantiation.cc: New.
2719 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
2720 * testsuite/20_util/is_swappable_with/value.cc: New.
2721 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2722 dg-error line numbers.
2723 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2724 Likewise.
2725
0ae207e9
JW
27262016-06-16 Jonathan Wakely <jwakely@redhat.com>
2727
33ac58d5
JW
2728 * include/std/array: Remove trailing whitespace.
2729 * include/std/atomic: Likewise.
2730 * include/std/bitset: Likewise.
2731 * include/std/chrono: Likewise.
2732 * include/std/complex: Likewise.
2733 * include/std/condition_variable: Likewise.
2734 * include/std/fstream: Likewise.
2735 * include/std/functional: Likewise.
2736 * include/std/future: Likewise.
2737 * include/std/iomanip: Likewise.
2738 * include/std/iosfwd: Likewise.
2739 * include/std/istream: Likewise.
2740 * include/std/limits: Likewise.
2741 * include/std/ratio: Likewise.
2742 * include/std/scoped_allocator: Likewise.
2743 * include/std/sstream: Likewise.
2744 * include/std/stdexcept: Likewise.
2745 * include/std/string: Likewise.
2746 * include/std/system_error: Likewise.
2747 * include/std/thread: Likewise.
2748 * include/std/tuple: Likewise.
2749 * include/std/type_traits: Likewise.
2750 * include/std/utility: Likewise.
2751 * include/std/valarray: Likewise.
2752 * include/std/vector: Likewise.
2753
0ae207e9
JW
2754 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
2755 new overloaded functions.
2756 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
2757 to avoid creating a redundant temporary.
2758 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
2759 test.
2760
d7e16fc5
FD
27612016-06-15 François Dumont <fdumont@gcc.gnu.org>
2762
2763 * include/bits/stl_deque.h
2764 (std::deque<>::operator=): Call _M_assign_aux.
2765 (std::deque<>::assign(initializer_list<>)): Likewise.
2766 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2767 (std::deque<>::insert(const_iterator, initializer_list<>)):
2768 Call _M_range_insert_aux.
2769 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2770 Likewise.
2771 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2772 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2773 * include/bits/deque.tcc
2774 (std::deque<>::operator=): Call _M_range_insert_aux.
2775 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2776 Likewise.
2777 * include/bits/stl_vector.h
2778 (std::vector<>::operator=): Call _M_assign_aux.
2779 (std::vector<>::assign(initializer_list<>)): Likewise.
2780 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2781 (std::vector<>::insert(const_iterator, initializer_list<>)):
2782 Call _M_range_insert.
2783 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2784
373c0095
FD
27852016-06-07 François Dumont <fdumont@gcc.gnu.org>
2786
2787 * include/std/tuple (_Head_base<>): Default specialization condition at
2788 type declaration.
2789
dbc6221f
VV
27902016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2791
2792 Support allocators in tuples of zero size.
2793 * include/std/tuple (tuple<>::tuple(),
2794 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2795 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2796 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2797
94229fb6
JW
27982016-06-06 Jonathan Wakely <jwakely@redhat.com>
2799
2800 PR libstdc++/71320
2801 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2802 Add or remove permissions according to perms argument.
2803 * testsuite/experimental/filesystem/operations/permissions.cc: New
2804 test.
2805
7a667453
VV
28062016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2807
2808 Protect allocator-overloads of tuple-from-tuple constructors
2809 from cases that would create dangling references.
2810 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2811 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2812 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2813 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2814
4acc3634
GP
28152016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2816
2817 * doc/xml/manual/backwards_compatibility.xml: Adjust
2818 lists.debian.org link to https.
2819 * doc/html/manual/backwards.html: Regenerate.
2820
9020909e
JW
28212016-05-27 Jonathan Wakely <jwakely@redhat.com>
2822
2823 * doc/xml/manual/abi.xml: Adjust URL to use https.
2824 * doc/html/manual/*: Regenerate.
2825
b7021006
VV
28262016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2827
2828 PR libstdc++/66338
2829 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2830 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2831 check for _NotSameTuple.
2832 * include/std/tuple (_TMCT): New.
2833 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2834 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2835 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2836 const tuple<_UElements...>&)): Likewise.
2837 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2838 tuple<_UElements...>&&)): Likewise.
2839 * testsuite/20_util/tuple/cons/66338.cc: New.
2840
834f4c43
JW
28412016-05-25 Jonathan Wakely <jwakely@redhat.com>
2842
c42d2288
JW
2843 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2844 * configure: Regenerate.
2845 * config.h.in: Regenerate.
2846
834f4c43
JW
2847 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2848 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2849 Remove const qualification on function. Replace
2850 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2851 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2852 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2853
732eb076
FD
28542016-05-24 François Dumont <fdumont@gcc.gnu.org>
2855
2856 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2857 * include/bits/hashtable_policy.h
2858 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2859 having load factor management.
2860 (_Mask_range_hashing): New.
2861 (__clp2): New.
2862 (_Power2_rehash_policy): New.
2863 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2864 partial specializations only depend on whether iterators are constant
2865 or not.
2866 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2867 test new hash policy.
2868 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2869 Likewise.
2870 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2871 Likewise.
2872 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2873 Likewise.
2874 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2875 Likewise.
2876 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2877 New.
2878 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2879 using the new hash policy.
2880 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2881
8be062c6
JW
28822016-05-24 Jonathan Wakely <jwakely@redhat.com>
2883
2884 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2885
447caf82
FD
28862016-05-23 François Dumont <fdumont@gcc.gnu.org>
2887
2888 * include/debug/safe_iterator.h
2889 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2890 operator ->.
2891 * include/debug/safe_local_iterator.h
2892 (_Safe_local_iterator<>::operator->()): Likewise.
2893
11f8114b
TP
28942016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2895
2896 * testsuite/experimental/memory_resource/1.cc: Add required argument
2897 to dg-require-atomic-builtins.
2898
541a9b10
JW
28992016-05-13 Jonathan Wakely <jwakely@redhat.com>
2900
2901 PR libstdc++/71073
2902 * include/debug/bitset: Add #pragma GCC system_header.
2903 * include/debug/deque: Likewise.
2904 * include/debug/list: Likewise.
2905 * include/debug/map: Likewise.
2906 * include/debug/set: Likewise.
2907 * include/debug/string: Likewise.
2908 * include/debug/unordered_map: Likewise.
2909 * include/debug/unordered_set: Likewise.
2910 * include/debug/vector: Likewise.
2911 * include/debug/functions.h: Adjust whitespace.
2912
068b220e
JW
29132016-05-12 Jonathan Wakely <jwakely@redhat.com>
2914
2915 PR libstdc++/71081
2916 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2917
3d73ae6e
JW
29182016-05-11 Jonathan Wakely <jwakely@redhat.com>
2919
2920 PR libstdc++/71049
2921 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2922 exception constructors with __sso_string parameters.
2923
d7187f9e
JW
29242016-05-10 Jonathan Wakely <jwakely@redhat.com>
2925
7f99d40a
JW
2926 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2927 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2928 Test begin and end functions.
2929 * testsuite/experimental/filesystem/iterators/
2930 recursive_directory_iterator.cc: Likewise.
2931
6fe673ad
JW
2932 PR libstdc++/71038
2933 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2934 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2935
77a87b2a
JW
2936 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2937 Overload operator* to move from rvalues.
2938
f9a39467
JW
2939 PR libstdc++/71036
2940 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2941 * testsuite/experimental/filesystem/operations/create_directory.cc:
2942 New test.
2943
6f0800d4
JW
2944 PR libstdc++/71037
2945 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2946 base path to exception.
2947 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2948 paths contained in exception.
2949
f10b2e1c
JW
2950 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2951 using declaration.
2952
d7187f9e
JW
2953 PR libstdc++/71005
2954 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2955 New type.
2956 (directory_iterator::operator++(int)): Return proxy.
2957 (recursive_directory_iterator::operator++(int)): Likewise.
2958 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2959 Test post-increment.
2960 * testsuite/experimental/filesystem/iterators/
2961 recursive_directory_iterator.cc: Likewise.
2962
7972e246
JW
29632016-05-09 Jonathan Wakely <jwakely@redhat.com>
2964
2965 PR libstdc++/71004
2966 * testsuite/experimental/filesystem/iterators/
2967 recursive_directory_iterator.cc: Fix test02 to not call member
2968 functions on invalid iterator, and use VERIFY not assert.
2969
fb334765
VV
29702016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2971
2972 Avoid endless run-time recursion for copying single-element
2973 tuples where the element type is by-value constructible
2974 from any type.
2975 * include/std/tuple (_NotSameTuple): New.
2976 * include/std/tuple (tuple(_UElements&&...): Use it.
2977 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2978
e4cce0ce
JW
29792016-05-09 Jonathan Wakely <jwakely@redhat.com>
2980
2981 PR libstdc++/71004
2982 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2983 Initialize scalar member variables in default constructor.
2984 * testsuite/experimental/filesystem/iterators/
d7187f9e 2985 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 2986
40436d81
RO
29872016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2988
2989 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2990
f5c40ce2
JW
29912016-05-05 Jonathan Wakely <jwakely@redhat.com>
2992
2993 * testsuite/experimental/filesystem/path/native/string.cc: Add
2994 dg-require-filesystem-ts directive.
2995
d9cb3e75
JW
29962016-05-04 Jonathan Wakely <jwakely@redhat.com>
2997
2998 PR libstdc++/70940
2999 * include/experimental/memory_resource
3000 (__resource_adaptor_imp::do_allocate): Do not default-construct
3001 rebound allocator.
3002 (__resource_adaptor_imp::do_deallocate): Likewise. Use
3003 allocator_traits to get pointer type.
3004 (__null_memory_resource::do_allocate): Remove unused parameters.
3005 (__null_memory_resource::do_deallocate): Likewise.
3006 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
3007 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
3008 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
3009 move to ...
3010 * testsuite/experimental/memory_resource/1.cc: Here.
3011 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
3012 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
3013
f92ab29f
CG
30142016-04-29 Chris Gregory <czipperz@gmail.com>
3015
3016 * config/*: Remove trailing whitespace.
3017 * src/*: Likewise.
3018 * testsuite/tr1/*: Likewise.
3019 * testsuite/util/*: Likewise.
3020
272b2ce4
JW
30212016-04-28 Jonathan Wakely <jwakely@redhat.com>
3022
9f9eb84e
JW
3023 PR libstdc++/70766
3024 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
3025 __addressof.
3026 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
3027 Likewise.
3028 * include/std/atomic (atomic<_Tp>): Likewise.
3029 * include/std/shared_mutex (shared_lock): Likewise.
3030 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
3031 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
3032 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3033 * testsuite/29_atomics/atomic/70766.cc: New test.
3034 * testsuite/30_threads/shared_lock/70766.cc: New test.
3035
272b2ce4
JW
3036 * include/bits/hashtable_policy.h (__detail::_Insert_base,
3037 __detail::_Insert): Improve comments.
3038
45e20696
JW
30392016-04-27 Jonathan Wakely <jwakely@redhat.com>
3040
3041 PR libstdc++/70767
3042 * include/std/limits: Update comments about DRs.
3043 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
3044 numeric_limits<const volatile _Tp>): Define unconditionally.
3045
a635cdb2
JW
30462016-04-24 Jonathan Wakely <jwakely@redhat.com>
3047
3048 PR libstdc++/70762
3049 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
3050 static counter to return a different path on every call.
3051
216f7526
TS
30522016-04-22 Tim Shen <timshen@google.com>
3053
3054 PR libstdc++/70745
3055 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
3056 Fix the match_not_bow and match_not_eow behavior.
3057 * testsuite/28_regex/regression.cc: Add testcase.
3058
a1e1ec76
JW
30592016-04-20 Jonathan Wakely <jwakely@redhat.com>
3060
3061 PR libstdc++/69703
3062 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
3063 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
3064
9c476ad4
JW
30652016-04-19 Jonathan Wakely <jwakely@redhat.com>
3066
29ca91f7 3067 PR libstdc++/69703
a1e1ec76 3068 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
3069 Override endianness bit in mode.
3070 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
3071 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
3072 that little_endian mode is ignored.
3073 * testsuite/experimental/filesystem/path/native/string.cc: New test.
3074
14905251
JW
3075 PR libstdc++/70609
3076 * src/filesystem/ops.cc (close_fd): New function.
3077 (do_copy_file): Set permissions before copying file contents. Check
3078 result of closing file descriptors. Don't copy streambuf when file
3079 is empty.
3080 (copy(const path&, const path&, copy_options, error_code&)): Use
3081 lstat for source file when copy_symlinks is set.
3082 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
3083
9c476ad4
JW
3084 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
3085 operator~ operator&=, operator|=, operator^=): Add noexcept to
3086 overloaded operators for copy_options, perms and directory_options.
3087 * src/filesystem/ops.cc (make_file_type, make_file_status,
3088 is_not_found_errno, file_time): Add noexcept.
3089
d855ad89
ESR
30902016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
3091
3092 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
3093
8dc1e574
JW
30942016-04-18 Jonathan Wakely <jwakely@redhat.com>
3095
0cded43d
JW
3096 PR libstdc++/41759
3097 * include/bits/random.h: Reword static assertion messages to state
3098 positive conditions.
3099 * include/bits/random.tcc: Likewise.
3100 * include/bits/uniform_int_dist.h: Likewise.
3101 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
3102 patterns.
3103
90751aa7
JW
3104 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
3105
351a5f81
JW
3106 * config/cpu/sh/atomicity.h: Fix typo in comment.
3107
b05cf382
JW
3108 PR libstdc++/70294
3109 * include/std/thread (operator<, operator==): Move definitions to
3110 namespace-scope.
3111 * testsuite/30_threads/thread/id/70294.cc: New test.
3112
4ed6e524
JW
3113 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
3114 -Wno-pedantic to dg-options.
3115 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
3116 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
3117 to dg-options.
3118 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
3119 Remove extra semi-colon.
3120 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
3121 Always supply second argument to static_assert.
3122 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
3123 semi-colon.
3124 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
3125 dg-options.
3126 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
3127 * testsuite/29_atomics/atomic/60695.cc: Likewise.
3128 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
3129 alignof when operand is an object not a type.
3130 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
3131 * testsuite/decimal/make-decimal.cc: Likewise.
3132 * testsuite/experimental/type_traits/value.cc: Always supply second
3133 argument to static_assert.
3134 * testsuite/util/testsuite_common_types.h: Use __extension__ for
3135 __int128 types.
3136
abb6e0a1
JW
3137 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
3138 internal header.
3139 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
3140 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
3141 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
3142 Likewise. Add licence and change to compile-only test.
3143
6b6147dd
JW
3144 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
3145 unused parameter.
3146 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
3147
8dc1e574
JW
3148 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
3149 warnings.
3150
80dbaf98
ESR
31512016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
3152
3153 * include/bits/specfun.h: Trivial comment misspelling.
3154
9f285ccb
JM
31552016-04-14 Jason Merrill <jason@redhat.com>
3156
3157 Revert Jonathan's empty ABI change from yesterday.
3158
342fac95
MS
31592016-04-13 Martin Sebor <msebor@redhat.com>
3160
3161 PR c++/69517
3162 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
3163 upper bound is positive.
3164
a6297ab5
JW
31652016-04-13 Jonathan Wakely <jwakely@redhat.com>
3166
3167 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
3168 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
3169 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
3170 of functions taking empty structs by value. Add a template parameter
3171 to overloads without hints. Rename overloads with hints to
3172 _M_emplace_hint.
3173 (_Hashtable::_M_erase(true_type, const_iterator),
3174 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
3175 by reordering parameters.
3176 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
3177 _M_emplace_hint instead of _M_emplace.
3178 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
3179 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
3180 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
3181 __shared_ptr): Likewise.
3182 * include/bits/stl_algo.h (replace_if): Likewise.
3183 * include/bits/stl_pair.h (piecewise_construct_t,
3184 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
3185 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
3186 __uses_alloc0): Likewise.
3187 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
3188 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
3189 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
3190 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3191 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
3192 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
3193 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
3194
0c39f36d
ESR
31952016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
3196
3197 Document C++17/TR29124 C++ Special Math Functions.
3198 * include/bits/specfun.h: Add Doxygen markup.
3199
6da8b931
JW
32002016-04-07 Jonathan Wakely <jwakely@redhat.com>
3201
3202 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
3203
49a52ebc
EB
32042016-04-06 Eric Botcazou <ebotcazou@adacore.com>
3205
3206 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
3207 * src/Makefile.in: Regenerate.
3208
87cec93e
JW
32092016-04-05 Jonathan Wakely <jwakely@redhat.com>
3210
d2aee115
JW
3211 PR libstdc++/70554
3212 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
3213 __atomic_fetch_add for bool.
3214 * configure: Regenerate.
3215
d5ec69f3
JW
3216 * testsuite/30_threads/thread/70503.cc: Require -static to work.
3217
87cec93e
JW
3218 PR libstdc++/70503
3219 * src/c++11/thread.cc (execute_native_thread_routine,
3220 execute_native_thread_routine_compat): Give internal linkage.
3221 * testsuite/30_threads/thread/70503.cc: New test.
3222
7b3318c4
VV
32232016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
3224
3225 PR libstdc++/70437
3226 * include/bits/stl_pair.h (_ConstructiblePair,
3227 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
3228 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
3229 for same-type cases.
3230 * testsuite/20_util/pair/70437.cc: New.
3231
00e6c25a
JW
32322016-03-24 Jonathan Wakely <jwakely@redhat.com>
3233
3234 PR libstdc++/69945
3235 * config/abi/pre/gnu.ver: Add new symbol.
3236 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
3237 * testsuite/18_support/free_eh_pool.cc: New test.
3238
bfd84e6b
BE
32392016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3240
3241 * include/Makefile.am (install-freestanding-headers): Add
3242 concept_check.h and move.h to the installed headers.
3243 * include/Makefile.in: Regenerated.
3244 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
3245 freestanding implementations.
3246 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
3247 that this macro has no effect for freestanding implementations.
3248 * doc/html/manual/using_macros.html: Likewise.
3249
86715b09
JW
32502016-02-24 Jonathan Wakely <jwakely@redhat.com>
3251
3252 PR libstdc++/69939
3253 * include/experimental/tuple (__apply_impl): Qualify get and forward.
3254
9aee022e
JW
32552016-02-23 Jonathan Wakely <jwakely@redhat.com>
3256
be9967e8
JW
3257 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
3258 * doc/html/*: Regenerate.
3259
9aee022e
JW
3260 PR libstdc++/69893
3261 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
3262 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
3263 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
3264 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
3265 trunc) [__cplusplus >= 201103L]: Import from namespace std.
3266 (fabs) [__cplusplus < 201103L]: Import from namespace std.
3267 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
3268 Likewise.
3269 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
3270 namespace before including TR1 headers.
3271 * testsuite/tr1/headers/c++200x/math.cc: New test.
3272
5f6dd593
BE
32732016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
3274
3275 PR libstdc++/69881
3276 * include/c_global/cstdarg: Undefine __need___va_list.
3277 * include/c_global/cstddef: Undefine all kinds of __need_*.
3278
244901a5
TS
32792016-02-16 Tim Shen <timshen@google.com>
3280
3281 PR libstdc++/69794
3282 * include/bits/regex_scanner.h: Add different special character
3283 sets for grep and egrep regex.
3284 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
3285 * testsuite/28_regex/regression.cc: Add new testcase.
3286
cc07da33
JW
32872016-02-08 Jonathan Wakely <jwakely@redhat.com>
3288
2158532f
JW
3289 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
3290 added 'constexpr' in previous commit.
3291 * configure: Regenerate.
3292
cc07da33
JW
3293 PR libstdc++/48891
3294 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
3295 checks for all targets except *-*-solaris2.* and ensure we find the
3296 libc math.h header not our own.
3297 * configure: Regenerate.
3298
acc04646
DV
32992016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
3300
3301 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
3302 New file. Copied over from s390-linux-gnu.
3303
dbcda3ee
JW
33042016-02-04 Jonathan Wakely <jwakely@redhat.com>
3305
3555173f
JW
3306 PR libstdc++/69626
3307 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
3308 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
3309 * config.h.in: Regenerate.
3310 * configure: Regenerate.
3311 * testsuite/21_strings/c_strings/char/69626.cc: New.
3312
15ebf379
JW
3313 * doc/html/index.html: Regenerate.
3314
dbcda3ee
JW
3315 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
3316 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
3317 * doc/html/*: Regenerate.
3318
571512d5
BE
33192016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
3320
3321 PR libstdc++/69581
3322 * include/c_compatibility/math.h: Move header guards.
3323 * include/c_compatibility/stdlib.h: Likewise.
3324
f597d5f7
JW
33252016-01-29 Jonathan Wakely <jwakely@redhat.com>
3326
3327 PR libstdc++/69506
3328 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3329
69b0daeb
JDA
33302016-01-28 John David Anglin <danglin@gcc.gnu.org>
3331
3332 PR libstdc++/69450
3333 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
3334 isinf and isnan functions into two independent checks. Check on hpux.
3335 * config.h.in: Regenerate.
3336 * configure: Regenerate.
3337 * include/c_global/cmath (isinf(double), isnan(double)): Use
3338 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
3339 respectively.
3340
8dc781e4
JJ
33412016-01-27 Jakub Jelinek <jakub@redhat.com>
3342
3343 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
3344
bae87f7f
JW
33452016-01-27 Jonathan Wakely <jwakely@redhat.com>
3346
3347 PR libstdc++/69295
3348 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
3349 -ffp-contract=off, and -ffloat-store to disable excess precision.
3350 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
3351 -ffp-contract=off.
3352
f1d591e8
JW
33532016-01-26 Jonathan Wakely <jwakely@redhat.com>
3354
3355 PR libstdc++/69478
3356 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
3357 random_access_iterator_tag>): Check is_move_assignable when moving.
3358 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
3359 Likewise.
3360 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
3361 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
3362 * testsuite/25_algorithms/move/69478.cc: New.
3363 * testsuite/25_algorithms/move_backward/69478.cc: new.
3364
8964d2a0
AP
33652016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
3366
3367 * include/c_compatibility/stdlib.h: Include wide character related
3368 definitions only when they are available in cstdlib.
3369
2944621e
JW
33702016-01-25 Jonathan Wakely <jwakely@redhat.com>
3371
3372 PR libstdc++/69464
3373 * include/Makefile.am: Add new header.
3374 * include/Makefile.in: Regenerate.
3375 * include/bits/random.h (uniform_int_distribution): Move to
3376 bits/uniform_int_dist.h.
3377 * include/bits/random.tcc (uniform_int_distribution::operator(),
3378 uniform_int_distribution::__generate_impl): Likewise.
3379 * include/bits/uniform_int_dist.h: New header.
3380 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
3381 <bits/uniform_int_dist.h> instead of <random>.
3382 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3383 move_iterators/1.cc: Include correct header for uninitialized_copy.
3384 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3385 move_iterators/1.cc: Likewise.
3386 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
3387 header for vector.
3388 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
3389
3676c087
JDA
33902016-01-23 John David Anglin <danglin@gcc.gnu.org>
3391
3392 PR libstdc++/69446
3393 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3394
02dc2419
ESR
33952016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
3396
3397 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
3398 * include/c_compatibility/math.h: Import the TR29124 functions
3399 into the global namespace.
3400 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
3401 xfail and make compile-only.
3402 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
3403 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
3404 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
3405 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
3406 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
3407 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
3408 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
3409 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
3410 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
3411 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
3412 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
3413 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
3414 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
3415 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
3416 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
3417 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
3418 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
3419 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
3420 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
3421 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
3422
350fe282
JW
34232016-01-22 Jonathan Wakely <jwakely@redhat.com>
3424
d1fb377c
JW
3425 PR libstdc++/69116
3426 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
3427 define result_type for types which can be safely used with valarrays.
3428 * testsuite/26_numerics/valarray/69116.cc: New.
3429
350fe282
JW
3430 PR libstdc++/69413
3431 * config/os/gnu-linux/os_defines.h: Define
3432 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
3433 * include/c_global/cmath (isinf, isnan): Check it.
3434 * doc/xml/manual/internals.xml: Document it.
3435 * doc/html/*: Regenerate.
3436
ab56cbed
JW
34372016-01-21 Jonathan Wakely <jwakely@redhat.com>
3438
3439 PR libstdc++/69406
3440 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
3441 * include/ext/type_traits.h: Likewise.
3442 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
3443 for presence of C headers.
3444 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
3445 dg-error line number.
3446 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
3447 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
3448 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
3449
7e10bcfa
TR
34502016-01-20 Torvald Riegel <triegel@redhat.com>
3451
3452 PR libstdc++/69310
3453 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
3454
eac437bf
JW
34552016-01-20 Jonathan Wakely <jwakely@redhat.com>
3456
3f93466a
JW
3457 PR libstdc++/60401
3458 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
3459 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
3460 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
3461 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
3462 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
3463 Add using declarations.
3464 * testsuite/26_numerics/headers/cmath/60401.cc: New.
3465
eac437bf
JW
3466 PR libstdc++/69386
3467 * include/c_global/ccomplex: Ensure C++ language linkage.
3468 * include/c_global/cmath: Likewise.
3469 * include/c_global/cstdlib: Likewise.
3470 * include/c_global/ctgmath: Likewise.
3471 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
3472
96e19ada
JW
34732016-01-19 Jonathan Wakely <jwakely@redhat.com>
3474
3475 PR libstdc++/14608
3476 PR libstdc++/60401
3477 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
3478 --enable-cheaders=c_global configs.
3479 * include/Makefile.in: Regenerate.
3480 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
3481 test and allow inclusion from C files.
3482 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
3483 (at_quick_exit, quick_exit): Add using directives.
3484 * include/c_global/cmath: Use #include_next for math.h.
3485 * include/c_global/cstdlib: Use #include_next for stdlib.h.
3486 * testsuite/26_numerics/headers/cmath/14608.cc: New.
3487 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
3488 Remove xfail for most targets.
3489 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
3490
9585381a
TR
34912016-01-18 Torvald Riegel <triegel@redhat.com>
3492
3493 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
3494 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
3495 and move after its definition.
3496 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
3497 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
3498 __GXX_WEAK__, and only provide transactional clones if
3499 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
3500 functions.
3501
f5460595
JW
35022016-01-18 Jonathan Wakely <jwakely@redhat.com>
3503
c91bcffc
JW
3504 PR libstdc++/60637
3505 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
3506
d75d9f91 3507 PR libstdc++/69243
9c5ad80e
JW
3508 * include/std/functional (_Function_base::_M_not_empty_function):
3509 Change overloads for pointers to take arguments by value.
3510 * testsuite/20_util/function/cons/57465.cc: Add tests for
3511 pointer-to-member cases.
3512
f5460595
JW
3513 PR libstdc++/69340
3514 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
3515 Use macros for exception handling and fix unused parameter warning.
3516
271366f6
JDA
35172016-01-17 John David Anglin <danglin@gcc.gnu.org>
3518
3519 PR libstdc++/68734
3520 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3521
7a5d1d34
TR
35222016-01-17 Torvald Riegel <triegel@redhat.com>
3523
3524 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
3525
5445d5bf
L
35262016-01-16 H.J. Lu <hongjiu.lu@intel.com>
3527
3528 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
3529 __int128 symbols.
3530
3d076231
JW
35312016-01-15 Jonathan Wakely <jwakely@redhat.com>
3532
d7c1581c
JW
3533 PR libstdc++/69293
3534 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
3535 static assertion that type is constructible from the arguments.
3536 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
3537 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
3538 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
3539
3d076231
JW
3540 PR libstdc++/69294
3541 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3542 and isnan on AIX. Quote variables.
3543 * configure: Regenerate.
3544
a04d5fc9
TR
35452016-01-15 Torvald Riegel <triegel@redhat.com>
3546
3547 * include/bits/basic_string.h (basic_string): Declare friends.
3548 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
3549 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
3550 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
3551 length_error, out_of_range, runtime_error, range_error,
3552 underflow_error, overflow_error): Declare members as transaction-safe.
3553 (logic_error, runtime_error): Declare friend functions.
3554 * libsupc++/exception (exception, bad_exception): Declare members as
3555 transaction-safe.
3556 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
3557 transaction-safe members of exceptions and helper functions.
3558 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
3559 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
3560 (CXXABI_1.3.10): New.
3561 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
3562 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
3563 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
3564 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
3565 * include/Makefile.in: Regenerate.
3566 * config.h.in: Regenerate.
3567 * configure: Regenerate.
3568 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
3569
cebeb718
SE
35702016-01-15 Steve Ellcey <sellcey@imgtec.com>
3571
3572 * include/ext/random.tcc: Use __builtin_isfinite instead of
3573 std::isfinite.
3574
3b07547d
JW
35752016-01-15 Jonathan Wakely <jwakely@redhat.com>
3576
3577 * include/bits/std_mutex.h: Fix Doxygen @file name.
3578
2be75957
ESR
35792016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
3580 Jonathan Wakely <jwakely@redhat.com>
3581 Florian Goth <CaptainSifff@gmx.de>
3582
3583 Implement TR29124 C++ special Math Functions.
3584 * include/Makefile.am: Add new headers.
3585 * include/Makefile.in: Regenerate.
3586 * include/bits/specfun.h: New.
3587 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
3588 * include/tr1/bessel_function.tcc: Ditto.
3589 * include/tr1/beta_function.tcc: Ditto.
3590 * include/tr1/cmath: Ditto.
3591 * include/tr1/ell_integral.tcc: Ditto.
3592 * include/tr1/exp_integral.tcc: Ditto.
3593 * include/tr1/gamma.tcc: Ditto.
3594 * include/tr1/hypergeometric.tcc: Ditto.
3595 * include/tr1/legendre_function.tcc: Ditto.
3596 * include/tr1/modified_bessel_func.tcc: Ditto.
3597 * include/tr1/poly_hermite.tcc: Ditto.
3598 * include/tr1/poly_laguerre.tcc: Ditto.
3599 * include/tr1/riemann_zeta.tcc: Ditto.
3600 * include/tr1/special_function_util.h: Ditto.
3601 * testsuite/ext/special_functions/conf_hyperg: New.
3602 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
3603 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
3604 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
3605 * testsuite/ext/special_functions/hyperg: New.
3606 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
3607 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
3608 * testsuite/ext/special_functions/hyperg/compile.cc: New.
3609 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
3610 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
3611 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
3612 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
3613 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
3614 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
3615 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
3616 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
3617 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
3618 * testsuite/special_functions/03_beta/check_nan.cc: New.
3619 * testsuite/special_functions/03_beta/check_value.cc: New.
3620 * testsuite/special_functions/03_beta/compile.cc: New.
3621 * testsuite/special_functions/03_beta/compile_2.cc: New.
3622 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
3623 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
3624 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
3625 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
3626 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
3627 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
3628 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
3629 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
3630 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
3631 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
3632 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
3633 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
3634 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
3635 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
3636 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
3637 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
3638 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
3639 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
3640 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
3641 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
3642 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
3643 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
3644 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
3645 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
3646 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
3647 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
3648 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
3649 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
3650 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
3651 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
3652 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
3653 * testsuite/special_functions/11_ellint_1/compile.cc: New.
3654 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
3655 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
3656 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
3657 * testsuite/special_functions/12_ellint_2/compile.cc: New.
3658 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
3659 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
3660 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
3661 * testsuite/special_functions/13_ellint_3/compile.cc: New.
3662 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
3663 * testsuite/special_functions/14_expint/check_nan.cc: New.
3664 * testsuite/special_functions/14_expint/check_value.cc: New.
3665 * testsuite/special_functions/14_expint/compile.cc: New.
3666 * testsuite/special_functions/14_expint/compile_2.cc: New.
3667 * testsuite/special_functions/15_hermite/check_nan.cc: New.
3668 * testsuite/special_functions/15_hermite/check_value.cc: New.
3669 * testsuite/special_functions/15_hermite/compile.cc: New.
3670 * testsuite/special_functions/15_hermite/compile_2.cc: New.
3671 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
3672 * testsuite/special_functions/16_laguerre/check_value.cc: New.
3673 * testsuite/special_functions/16_laguerre/compile.cc: New.
3674 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
3675 * testsuite/special_functions/17_legendre/check_nan.cc: New.
3676 * testsuite/special_functions/17_legendre/check_value.cc: New.
3677 * testsuite/special_functions/17_legendre/compile.cc: New.
3678 * testsuite/special_functions/17_legendre/compile_2.cc: New.
3679 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
3680 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
3681 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
3682 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
3683 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
3684 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
3685 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
3686 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
3687 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
3688 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
3689 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
3690 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
3691 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
3692 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
3693 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
3694 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
3695 * testsuite/util/specfun_testcase.h: New.
3696 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
3697 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
3698 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
3699 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
3700 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
3701 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
3702 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
3703
39a1d8c8
JW
37042016-01-13 Jonathan Wakely <jwakely@redhat.com>
3705
3706 PR libstdc++/48891
3707 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
3708 and isnan functions.
3709 * config.h.in: Regenerate.
3710 * configure: Regenerate.
3711 * include/c_global/cmath (isinf(double), isnan(double))
3712 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
3713 * testsuite/26_numerics/headers/cmath/48891.cc: New.
3714
e862906c
RO
37152016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3716
3717 PR libstdc++/66006
3718 * configure.host (abi_baseline_pair): Use separate baseline for
3719 Solaris 11+ and Solaris 10 with gld.
3720 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
3721 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
3722 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
3723
26b5ace7
DK
37242016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
3725
3726 PR libstdc++/68877
3727 * include/std/type_traits: Following N4511, reimplement __is_swappable
3728 and __is_nothrow_swappable. Move __is_swappable to namespace std,
3729 adjust callers. Use __is_nothrow_swappable in swap.
3730 * include/bits/move.h: Use __is_nothrow_swappable in swap.
3731 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
3732 __is_swappable related tests.
3733 * testsuite/20_util/is_swappable/value.cc: New.
3734 * testsuite/20_util/is_swappable/requirements/
3735 explicit_instantiation.cc: New.
3736 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
3737 * testsuite/25_algorithms/swap/68877.cc: New.
3738
1c3c7c41
JW
37392016-01-12 Jonathan Wakely <jwakely@redhat.com>
3740
bd285a8b
JW
3741 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
3742
1c3c7c41
JW
3743 PR libstdc++/69005
3744 PR libstdc++/69222
3745 * include/std/functional (function::_Invoke): Remove, use result_of.
3746 (function::_Callable): Replace alias template with class template
3747 and use partial specialization instead of _NotSelf alias template.
3748 (function(_Functor)): Add "not self" constraint so that _Callable is
3749 not used while type is incomplete.
3750 * testsuite/20_util/function/69222.cc: New.
3751
1517bc30
JW
37522016-01-11 Jonathan Wakely <jwakely@redhat.com>
3753
3754 PR libstdc++/60976
3755 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
3756 Define partial specialization.
3757 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
3758 destroy members to std::allocator explicit specialization.
3759
e525d78c
JW
37602016-01-08 Jonathan Wakely <jwakely@redhat.com>
3761
8babc12b
JW
3762 * testsuite/26_numerics/headers/cmath/
3763 c99_classification_macros_c++.cc: Rename to ...
3764 * testsuite/26_numerics/headers/cmath/
3765 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3766 * testsuite/26_numerics/headers/cmath/
3767 c99_classification_macros_c++0x.cc: Rename to ...
3768 * testsuite/26_numerics/headers/cmath/
3769 c99_classification_macros_c++11.cc: Here.
3770
32a8c97f 3771 PR libstdc++/69190
e525d78c
JW
3772 * include/bits/uses_allocator.h: Add missing include.
3773
f885fa89
JW
37742016-01-07 Jonathan Wakely <jwakely@redhat.com>
3775
3776 PR libstdc++/69105
3777 PR libstdc++/69106
3778 PR libstdc++/69114
3779 * include/bits/stl_iterator.h (back_insert_iterator,
3780 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3781 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3782 * include/std/future (__future::base::_State_baseV2::__setter):
3783 Likewise.
3784 * include/std/scoped_allocator (__outermost): Likewise.
3785 * testsuite/20_util/scoped_allocator/69114.cc: New.
3786 * testsuite/20_util/uses_allocator/69114.cc: New.
3787 * testsuite/30_threads/promise/69106.cc: New.
3788
0c3e5dd1
JW
37892016-01-06 Jonathan Wakely <jwakely@redhat.com>
3790
373a75fb
JW
3791 PR libstdc++/69092
3792 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3793 Remove _GLIBCXX_NOEXCEPT.
3794 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3795
0c3e5dd1
JW
3796 * include/Makefile.am: Adjust.
3797 * include/Makefile.in: Regenerate.
3798 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3799 * include/std/condition_variable: Adjust include.
3800 * include/std/mutex: Likewise.
3801
818ab71a 38022016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
3803
3804 Update copyright years.
b4df5e92 3805\f
818ab71a 3806Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
3807
3808Copying and distribution of this file, with or without modification,
3809are permitted in any medium without royalty provided the copyright
3810notice and this notice are preserved.