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