]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Restore dg-interpreter-batch-mode for libstdc++ tests
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
e8223484
JW
12016-08-26 Jonathan Wakely <jwakely@redhat.com>
2 Pedro Alves <palves@redhat.com>
3
4 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
5 and restore dg-interpreter-batch-mode.
6 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
7 gdb-dg-runtest instead of dg-runtest.
8 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
9
86bbf15b
JW
102016-08-26 Jonathan Wakely <jwakely@redhat.com>
11
12 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
13 precise patterns for basic_string constructors.
14 (GLIBCXX_3.4.23): Export new constructors.
15 * doc/xml/manual/intro.xml: Document LWG 2583 status.
16 * doc/html/*: Regenerate.
17 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
18 (basic_string(const basic_string&, size_type, const Alloc&)): Add
19 new constructor for LWG 2583.
20 (basic_string(const basic_string&, size_type, size_type)): Remove
21 default argument.
22 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
23 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
24 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
25 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
26
9a38acdf
AK
272016-08-24 Aditya Kumar <hiraditya@msn.com>
28
29 * include/bits/algorithmfwd.h: Remove trailing whitespace.
30 * include/bits/shared_ptr_base.h: Likewise.
31
06db9920
JW
322016-08-23 Jonathan Wakely <jwakely@redhat.com>
33
e90a8010
JW
34 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
35 * include/profile/array (array): Likewise.
36 (array::swap): Fix exception specification for zero-sized arrays.
37
5ea387db
JW
38 PR libstdc++/77334
39 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
40 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
41 * testsuite/23_containers/map/77334.cc: New test.
42
5d1c6b3e
JW
43 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
44 * doc/html/*: Regenerate.
45
457c4a3f
JW
46 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
47 * testsuite/experimental/feat-lib-fund.cc: Likewise.
48
b405d54f
JW
49 PR libstdc++/71771
50 * include/bits/stl_iterator.h
51 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
52 define for C++98 mode.
53 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
54 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
55 -std=gnu++98.
56 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
57 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
58 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
59 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
60 difference operator.
61 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
62 difference operator for C++98.
63 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
64
06db9920
JW
65 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
66 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
67 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
68 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
69 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
70 Likewise.
71 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
72 _GLIBCXX14_CONSTEXPR.
73 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
74 * include/std/array (array::begin, array::end, array::rbegin)
75 (array::rend, array::cbegin, array:cend, array::crbegin)
76 (array::crend, array::operator[], array::at, array::front)
77 (array::back, array::data): Likewise.
78 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
79 with separate tests for C++11, C++14, and C++17.
80 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
81 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
82 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
83
d79d6252
TS
842016-08-22 Tim Shen <timshen@google.com>
85
86 Split _M_dfs() into smaller functions.
87 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
88 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
89 (_M_handle_line_end_assertion, _M_handle_word_boundary)
90 (_M_handle_subexpr_lookahead, _M_handle_match)
91 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
92 Add separate function declarations.
93 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
94
27abac26
GN
952016-08-22 Gleb Natapov <gleb@scylladb.com>
96
97 PR libstdc++/68297
98 * config/abi/pre/gnu-versioned-namespace.ver: Export
99 __cxa_init_primary_exception and std::exception_ptr(void*).
100 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
101 export __cxa_init_primary_exception and std::exception_ptr(void*).
102 * include/Makefile.am: Add new headers.
103 * include/Makefile.in: Regenerate.
104 * libsupc++/Makefile.am: Add new headers.
105 * libsupc++/Makefile.in: Regenerate.
106 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
107 * libsupc++/cxxabi_init_exception.h: New header.
108 (__cxa_init_primary_exception): Declare.
109 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
110 (__cxa_throw): Use __cxa_init_primary_exception.
111 * libsupc++/exception (std::exception): Move to ...
112 * libsupc++/exception.h: New header.
113 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
114 friend declaration.
115 (__exception_ptr::__dest_thunk): New function template.
116 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
117 Use __cxa_allocate_exception and __cxa_init_primary_exception to
118 create exception_ptr.
119 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
120 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
121
94f54d47
JW
1222016-08-22 Jonathan Wakely <jwakely@redhat.com>
123
4c86ffcc
JW
124 * doc/xml/api.xml: Replace hardcoded links for specific versions with
125 link to docs for all releases.
126 * doc/html/*: Regenerate.
127
94f54d47
JW
128 PR libstdc++/77322
129 * doc/xml/manual/intro.xml: Document DR 2062 change.
130 * include/std/functional (function::swap): Add noexcept.
131 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
132 * testsuite/20_util/function/77322.cc: New test.
133
1f4ed04e
JW
1342016-08-19 Jonathan Wakely <jwakely@redhat.com>
135
71c54f8e
JW
136 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
137 *-*-solaris* instead of -pthreads.
138 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
139 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
140 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
141 * testsuite/23_containers/list/pthread1.cc: Likewise.
142 * testsuite/23_containers/list/pthread5.cc: Likewise.
143 * testsuite/23_containers/map/pthread6.cc: Likewise.
144 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
145 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
146 * testsuite/30_threads/shared_mutex/*: Likewise.
147 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
148 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
149 default_weaktoshared.cc: Likewise.
150 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
151 mutex_weaktoshared.cc: Likewise.
152 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
153 dg-require-effective-target instead of using -std option.
154 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
155 Likewise.
156 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
157 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
158 Likewise.
159 * testsuite/30_threads/async/*: Likewise.
160 * testsuite/30_threads/call_once/*: Likewise.
161 * testsuite/30_threads/condition_variable/*: Likewise.
162 * testsuite/30_threads/condition_variable_any/*: Likewise.
163 * testsuite/30_threads/future/*: Likewise.
164 * testsuite/30_threads/lock/*: Likewise.
165 * testsuite/30_threads/mutex/*: Likewise.
166 * testsuite/30_threads/packaged_task/*: Likewise.
167 * testsuite/30_threads/promise/*: Likewise.
168 * testsuite/30_threads/recursive_mutex/*: Likewise.
169 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
170 * testsuite/30_threads/shared_future/*: Likewise.
171 * testsuite/30_threads/shared_lock/*: Likewise.
172 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
173 * testsuite/30_threads/this_thread/*: Likewise.
174 * testsuite/30_threads/thread/*: Likewise.
175 * testsuite/30_threads/timed_mutex/*: Likewise.
176 * testsuite/30_threads/try_lock/*: Likewise.
177 * testsuite/30_threads/unique_lock/*: Likewise.
178
e6ee5bfd
JW
179 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
180 * doc/html/*: Regenerate.
181 * include/experimental/functional (_Not_fn, not_fn): Match C++17
182 semantics.
183 * include/std/functional (_Not_fn, not_fn): Define for C++17.
184 * testsuite/20_util/not_fn/1.cc: New.
185 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
186 Remove test for volatile-qualified wrapper.
187
387edf83
JW
188 * include/std/atomic (atomic::is_always_lock_free): Define.
189 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
190 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
191 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
192 * doc/xml/manual/status_cxx2017.xml: Update status.
193 * doc/html/*: Regenerate.
194
285ee2fb
JW
195 * include/experimental/tuple (apply): Qualify call to __apply_impl.
196 * include/std/tuple (apply): Likewise.
197 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
198 C++17 mode.
199 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
200 * testsuite/experimental/type_traits/value.cc: Likewise.
201
1f4ed04e
JW
202 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
203 and variant.
204 * doc/html/*: Regenerate.
205
a577f786
VV
2062016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
207
208 Implement the latest proposed resolution of LWG 2756.
209 * include/std/optional (Optional_base(const _Tp&))
210 (Optional_base(_Tp&&), using _Base::_Base): Remove.
211 (optional(nullopt_t)): New.
212 (optional(_Up&&)): Invoke base directly with in_place
213 rather than creating a temporary, add default template
214 argument, change constraints.
215 (optional(const optional<_Up>&)): Invoke base directly
216 with in_place, remove unnecessary constraints.
217 (optional(optional<_Up>&& __t)): Likewise.
218 (optional(in_place_t, _Args&&...)): New.
219 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
220 (operator=(_Up&&)): Add default template argument, change constraints.
221 (operator=(const optional<_Up>&)): Put is_same first in the
222 constraints.
223 (operator=(optional<_Up>&&)): Likewise.
224 * testsuite/20_util/optional/assignment/5.cc: Add a test to
225 verify assignment from something that can't be perfect-forwarded.
226 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
227 that a nested optional is disengaged when constructed
228 from a disengaged element type, and to verify that assignments
229 from an engaged element type engage the optional.
230
197c757c
TS
2312016-08-18 Tim Shen <timshen@google.com>
232
233 Implement <variant>
234
235 * include/Makefile.am: Add new file std/variant.
236 * include/Makefile.in: Generated from Makefile.am.
237 * include/bits/enable_special_members.h: Add a tag type to allow
238 the construction in non-default constructor.
239 * include/bits/uses_allocator.h: Add convenience traits to
240 detect constructibility.
241 * include/std/variant: Implement <variant>.
242 * testsuite/20_util/variant/compile.cc: Compile-time tests.
243 * testsuite/20_util/variant/run.cc: Runtime tests.
244
6cb98491
JW
2452016-08-18 Jonathan Wakely <jwakely@redhat.com>
246
0b224dcf
JW
247 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
248 (test.new_tests): Rewrite section.
249 (tests.dg.directives): New section.
250 * doc/html/*: Regenerate.
251
b56d48ef
JW
252 * doc/xml/manual/test.xml: Improve documentation of test targets.
253 Document new-abi-baseline, check-debug, and check-parallel targets.
254
409d5555
JW
255 * doc/xml/manual/build_hacking.xml: New section on shared library
256 versioning.
257
a8107a98
JW
258 * doc/xml/manual/build_hacking.xml: Improve markup.
259 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
260 to "Testing".
261 * doc/xml/faq.xml: Change link text to "Testing".
262
6cb98491
JW
263 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
264 dg-options directive.
265
657213f7
JW
2662016-08-17 Jonathan Wakely <jwakely@redhat.com>
267
6fbf26cc
JW
268 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
269 directive and use effective target instead of dg-options.
270
18a20f3f
JW
271 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
272 instead of -std in dg-options.
273 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
274 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
275 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
276 * testsuite/20_util/hash/quality.cc: Likewise.
277 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
278 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
279 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
280 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
281 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
282 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
283
f7717203
JW
284 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
285 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
286 * testsuite/27_io/rvalue_streams.cc: Likewise.
287
e30c6e0c
JW
288 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
289
e07f4b00
JW
290 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
291 Remove duplicate dg-options directive.
292
37144e84
JW
293 * testsuite/ext/profile/all.cc: Use effective target instead of
294 -std=gnu++11. Use dg-additional-options instead of repeating options.
295
8fe79e73
JW
296 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
297 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
298 instead of dg-excess-errors.
299
c4296692
JW
300 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
301 test for C++17.
302 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
303 * testsuite/experimental/ratio/value.cc: Likewise.
304 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
305 C++17.
306 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
307 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
308 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
309 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
310 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
311 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
312 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
313 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
314 * testsuite/tr1/5_numerical_facilities/special_functions/
315 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
316 C++17 compatibility.
317
ba364478
JW
318 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
319 expected signatures for C++14 compatibility.
320
657213f7
JW
321 PR libstdc++/77264
322 * include/bits/basic_string.h (operator=(__sv_type)
323 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
324 (replace(size_type, size_type, __sv_type))
325 (replace(const_iterator, const_iterator, __sv_type))
326 (find(__sv_type, size_type), rfind(__sv_type, size_type))
327 (compare(size_type, size_type, __sv_type)): Reformat.
328 (_If_sv): Define helper for SFINAE constaints.
329 (append(const _Tp&, size_type, size_type))
330 (assign(const _Tp&, size_type, size_type))
331 (insert(size_type, const _Tp&, size_type, size_type))
332 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
333 Use _If_sv.
334 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
335 SFINAE constraints.
336 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
337 Likewise.
338 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
339 Likewise.
340 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
341 Likewise.
342 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
343 Likewise.
344 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
345 Likewise.
346 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
347 Likewise.
348 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
349 Likewise.
350 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
351 Likewise.
352 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
353 Likewise.
354 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
355 Likewise.
356
32917686
JW
3572016-08-16 Jonathan Wakely <jwakely@redhat.com>
358
359 PR libstdc++/72847
360 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
361 pointers to start and end of storage.
362 * testsuite/23_containers/vector/bool/72847.cc: New test.
363 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
364 _M_finish after deallocating.
365 (vector<bool>::_M_fill_insert): Likewise.
366 (vector<bool>::_M_insert_range): Likewise.
367 (vector<bool>::_M_insert_aux): Likewise.
368
5c578ae4
VV
3692016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
370
371 Implement LWG 2744 and LWG 2754.
372 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
373 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
374 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
375 Likewise.
376 (emplace(_Args&&...)): Likewise.
377 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
378 * include/std/utility: (__is_in_place_type_impl): New.
379 (__is_in_place_type): Likewise.
380 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
381 emplace.
382 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
383 in_place constructor.
384 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
385 * testsuite/20_util/any/requirements.cc: Add a test for
386 in_place-constructing a non-default-constructible type.
387
24299f65
VV
3882016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
389
390 Add a feature macro for C++17 make_from_tuple.
391 * include/std/tuple (__cpp_lib_make_from_tuple): New.
392 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
393 Qualify the call to get<>().
394 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
395
0657379e
UB
3962016-08-15 Uros Bizjak <ubizjak@gmail.com>
397
398 * src/filesystem/ops.cc: Always include ostream and
399 ext/stdio_filebuf.h.
400 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
401 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
402 sendfile fails with ENOSYS or EINVAL.
403
f9657322
TP
4042016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
405
406 PR libstdc++/72840
407 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
408 syntax.
409
ca1ab6be
VV
4102016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
411
412 Implement C++17 make_from_tuple.
413 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
414 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
415
68a51b68
VV
4162016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
417
418 Implement LWG 2758.
419 * include/bits/basic_string.h
420 (append(__sv_type, size_type, size_type)): Turn into a template,
421 change parameter type, constrain, add a conversion to __sv_type
422 from the dependent parameter type.
423 (assign(__sv_type, size_type, size_type)): Likewise.
424 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
425 (replace(size_type, size_type, __sv_type, size_type, size_type)):
426 Likewise.
427 (compare(size_type, size_type,__sv_type, size_type, size_type)):
428 Likewise.
429 * testsuite/21_strings/basic_string/lwg2758.cc: New.
430
3e9f67e6
JW
4312016-08-06 Jonathan Wakely <jwakely@redhat.com>
432
caee9cde
JW
433 * doc/xml/manual/status_cxx2017.xml: Update status table.
434 * doc/html/manual/status.html: Regenerate.
435
ea2f1f49
JW
436 * testsuite/lib/libstdc++.exp: Fix typo in comment.
437
6ef835c6
JW
438 PR libstdc++/72820
439 * include/std/functional (_Function_base::_Base_manager::_M_clone):
440 Qualify new operator.
441 * testsuite/20_util/function/cons/72820.cc: New test.
442
3e9f67e6
JW
443 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
444 * doc/html/manual/status.html: Regenerate.
445 * include/Makefile.am: Add new header.
446 * include/Makefile.in: Regenerate.
447 * include/bits/invoke.h: New header.
448 (__invoke): Make constexpr. Add && to types in exception specification.
449 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
450 names. Include <bits/invoke.h> and use std::__invoke.
451 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
452 new header.
453 (invoke): Add && to types in exception specification.
454 * include/std/tuple (apply, __apply_impl): Define for C++17.
455 * testsuite/20_util/tuple/apply/1.cc: New test.
456 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
457 lineno.
458
98e6e662
JW
4592016-08-05 Jonathan Wakely <jwakely@redhat.com>
460
a0b1bf21
JW
461 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
462 * doc/html/manual/status.html: Regenerate.
463
5f6acdfb
JW
464 * include/std/chrono (floor, ceil, round, abs): New for C++17.
465 * testsuite/20_util/duration_cast/rounding.cc: New test.
466 * testsuite/20_util/time_point_cast/rounding.cc: New test.
467 * doc/xml/manual/status_cxx2017.xml: Update status table.
468 * doc/html/manual/status.html: Regenerate.
469 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
470 dg-error lineno.
471 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
472 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
473 * testsuite/20_util/duration/literals/range.cc: Likewise.
474
98e6e662
JW
475 * include/std/functional (__callable_functor): Remove.
476 (_Function_handler::_M_invoke): Use __invoke instead of
477 __callable_functor or mem_fn.
478 (function::_Callable): Use lvalue in result_of expression.
479 (function): Remove TODO comments about allocators.
480 * testsuite/20_util/function/cons/refqual.cc: New test.
481
7d2035fa
JW
4822016-08-04 Jonathan Wakely <jwakely@redhat.com>
483
42183d03
JW
484 * doc/xml/manual/status_cxx2017.xml: Update status table.
485 * include/std/functional (__inv_unwrap): Move to <type_traits>.
486 (__invoke_impl): Remove exception specifications.
487 (__invoke, invoke): Add exception specifications using
488 __is_nothrow_callable.
489 * include/std/type_traits (__inv_unwrap): Move from <functional>.
490 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
491 (__is_callable, __is_nothrow_callable): New traits.
492 (is_callable, is_callable_v): New C++17 traits.
493 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
494 * testsuite/20_util/is_callable/requirements/
495 explicit_instantiation.cc: New test.
496 * testsuite/20_util/is_callable/requirements/
497 explicit_instantiation_ext.cc: New test.
498 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
499 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
500 test.
501 * testsuite/20_util/is_callable/value.cc: New test.
502 * testsuite/20_util/is_callable/value_ext.cc: New test.
503 * testsuite/20_util/is_nothrow_callable/requirements/
504 explicit_instantiation.cc: New test.
505 * testsuite/20_util/is_nothrow_callable/requirements/
506 explicit_instantiation_ext.cc: New test.
507 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
508 New test.
509 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
510 New test.
511 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
512 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
513
246c618e
JW
514 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
515 * doc/html/manual/status.html: Regenerate.
516
9a8e528c
JW
517 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
518 effective target not dg-options. Move check for feature-test macro to:
519 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
520 New test.
521
7d2035fa
JW
522 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
523 (__invfwd): Adjust.
524 (__invoke_impl): Remove unused template parameters.
525 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
526 parameter.
527 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
528 and test __invoke extension for C++11.
529
27631a25
JW
5302016-08-03 Jonathan Wakely <jwakely@redhat.com>
531
c7fdbdcd
JW
532 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
533 Define feature-test macro.
534 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
535 for the macro.
536
f21f4463
JW
537 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
538 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
539 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
540 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
541 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
542
32eaac9c
JW
543 * include/std/utility (as_const): Define.
544 * testsuite/20_util/as_const/1.cc: New test.
545 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
546
b7dabce5
JW
547 * include/bits/shared_ptr.h (owner_less): Add default template
548 argument.
549 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
550 specialization.
551 (owner_less<void>): Define specialization.
552 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
553 Update value.
554 * testsuite/20_util/owner_less/void.cc: New test.
555 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
556
068c8ac1
JW
557 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
558 Define feature-test macro.
559 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
560 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
561 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
562 (__cpp_lib_type_trait_variable_templates): Define.
563
0bd9bdb4
JW
564 * include/bits/stl_function.h: Remove commented-out macro.
565 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
566 Define feature-test macro.
567 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
568
f8571e51
JW
569 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
570 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
571 true.
572 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
573 do #error for C++17.
574 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
575 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
576 * include/tr1/bessel_function.tcc: Likewise.
577 * include/tr1/beta_function.tcc: Likewise.
578 * include/tr1/cmath: Likewise.
579 * include/tr1/ell_integral.tcc: Likewise.
580 * include/tr1/exp_integral.tcc: Likewise.
581 * include/tr1/gamma.tcc: Likewise.
582 * include/tr1/hypergeometric.tcc: Likewise.
583 * include/tr1/legendre_function.tcc: Likewise.
584 * include/tr1/modified_bessel_func.tcc: Likewise.
585 * include/tr1/poly_hermite.tcc: Likewise.
586 * include/tr1/poly_laguerre.tcc: Likewise.
587 * include/tr1/riemann_zeta.tcc: Likewise.
588 * include/tr1/special_function_util.h: Likewise.
589 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
590
27631a25
JW
591 * include/std/type_traits (has_trivial_default_constructor): Remove.
592 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
593 * testsuite/20_util/has_trivial_copy_assign/requirements/
594 explicit_instantiation.cc: Remove test.
595 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
596 line number.
597 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
598 Likewise.
599 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
600 * testsuite/20_util/has_trivial_copy_constructor/requirements/
601 explicit_instantiation.cc: Likewise.
602 * testsuite/20_util/has_trivial_copy_constructor/requirements/
603 typedefs.cc: Likewise.
604 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
605 * testsuite/20_util/has_trivial_default_constructor/requirements/
606 explicit_instantiation.cc: Likewise.
607 * testsuite/20_util/has_trivial_default_constructor/requirements/
608 typedefs.cc: Likewise.
609 * testsuite/20_util/has_trivial_default_constructor/value.cc:
610 Likewise.
611 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
612 Check has_trivial_default_constructor, has_trivial_copy_constructor,
613 and has_trivial_copy_assign are not defined.
614 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
615 tests.
616 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
617 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
618 dg-error line number.
619 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
620 Likewise.
621
69332dba
JW
6222016-08-02 Jonathan Wakely <jwakely@redhat.com>
623
589a30d1
JW
624 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
625 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
626 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
627 Likewise.
628 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
629 Likewise.
630 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
631 Likewise.
632 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
633 Likewise.
634 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
635 Likewise.
636 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
637 Likewise.
638
8bcd00bb
JW
639 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
640 comments.
641
a4e1011c
JW
642 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
643 dg-error to relevant line.
644 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
645 Likewise.
646 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
647
64dde682
JW
648 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
649
807bd096
JW
650 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
651 options are present that aren't valid for C.
652 * testsuite/abi/header_cxxabi.c: Likewise.
653
8c65cd30
JW
654 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
655 check_value.cc: Do not add special functions to namespace std in TR1
656 test.
657
196c9e7a
JW
658 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
659 run for C++11 and later.
660 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
661 Likewise.
662 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
663 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
664 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
665 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
666 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
667 Likewise.
668 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
669 Likewise.
670 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
671 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
672 Likewise.
673 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
674 Likewise.
675 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
676 Likewise.
677 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
678 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
679 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
680 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
681 * testsuite/special_functions/03_beta/compile.cc: Likewise.
682 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
683 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
684 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
685 Likewise.
686 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
687 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
688 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
689 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
690 Likewise.
691 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
692 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
693 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
694 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
695 Likewise.
696 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
697 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
698 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
699 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
700 Likewise.
701 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
702 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
703 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
704 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
705 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
706 Likewise.
707 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
708 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
709 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
710 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
711 Likewise.
712 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
713 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
714 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
715 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
716 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
717 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
718 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
719 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
720 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
721 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
722 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
723 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
724 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
725 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
726 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
727 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
728 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
729 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
730 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
731 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
732 * testsuite/special_functions/14_expint/compile.cc: Likewise.
733 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
734 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
735 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
736 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
737 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
738 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
739 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
740 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
741 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
742 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
743 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
744 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
745 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
746 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
747 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
748 Likewise.
749 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
750 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
751 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
752 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
753 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
754 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
755 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
756 * testsuite/special_functions/20_sph_legendre/check_value.cc:
757 Likewise.
758 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
759 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
760 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
761 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
762 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
763 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
764
69332dba
JW
765 * testsuite/tr1/5_numerical_facilities/special_functions/
766 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
767 of [[gnu::unused]].
768 * testsuite/tr1/5_numerical_facilities/special_functions/
769 09_cyl_bessel_j/check_value.cc: Likewise.
770 * testsuite/tr1/5_numerical_facilities/special_functions/
771 10_cyl_bessel_k/check_value.cc: Likewise.
772 * testsuite/tr1/5_numerical_facilities/special_functions/
773 11_cyl_neumann/check_value.cc: Likewise.
774 * testsuite/tr1/5_numerical_facilities/special_functions/
775 21_sph_bessel/check_value.cc: Likewise.
776 * testsuite/tr1/5_numerical_facilities/special_functions/
777 23_sph_neumann/check_value.cc: Likewise.
778
e1539627
RO
7792016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
780
781 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
782 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
783 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
784 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
785 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
786 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
787
c1b6948e
JW
7882016-08-02 Jonathan Wakely <jwakely@redhat.com>
789
e877144d
JW
790 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
791 test if -flto used.
792
c1b6948e
JW
793 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
794 additional flags for compiling libtestc++.a objects.
795
9b46e4d6
JW
7962016-08-01 Jonathan Wakely <jwakely@redhat.com>
797
92d58dee
JW
798 * include/bits/basic_string.h (data() const): Update comment.
799 (data()): Add non-const overload for C++17.
800 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
801 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
802
0f86525a
JW
803 * include/bits/basic_string.tcc: Disable explicit instantiation
804 declarations for C++17.
805
9839ff60
JW
806 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
807 ignored "xfail" from { dg-do compile { xfail selector } } directive.
808 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
809 Likewise.
810 * testsuite/26_numerics/headers/cmath/
811 c99_classification_macros_c++11.cc: Likewise.
812 * testsuite/26_numerics/headers/cmath/
813 c99_classification_macros_c++98.cc: Likewise.
814 * testsuite/26_numerics/headers/cmath/
815 c99_classification_macros_c.cc: Likewise.
816
cbcc9fe8
JW
817 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
818 for different construct/destroy counts in C++98 mode.
819
74811472
JW
820 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
821
a02a61ee
JW
822 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
823 later.
824 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
825 Likewise.
826
98b5fb3c
JW
827 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
828 C++98-compatible initialization for array.
829
6f3b8891
JW
830 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
831 unused header and variable from compile-only test.
832 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
833 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
834 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
835 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
836 Likewise.
837
2ab794eb
JW
838 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
839 Remove duplicate dg-options directive.
840
4d16871b
JW
841 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
842 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
843
e3509835
JW
844 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
845 linker options from compile-only tests.
846 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
847 Likewise.
848
9b46e4d6
JW
849 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
850 supported for C++11 and later.
851 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
852 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
853
77c3c27e
UB
8542016-08-01 Uros Bizjak <ubizjak@gmail.com>
855
856 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
857
f245e3a0
JW
8582016-07-31 Jonathan Wakely <jwakely@redhat.com>
859
c4da1da2
JW
860 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
861 compile-only test.
862
9d5b70b0
JW
863 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
864 Ensure test is compiled with optimization.
865
ee628057
JW
866 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
867 Adjust dg-prune-output pattern for error in C++98 mode.
868
d23d1bee
JW
869 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
870 run for C++11 or later.
871
f2738d6c
JW
872 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
873 test to not rely on GNU extension (escaped normal characters in POSIX
874 BRE). Enable tests for other strings which are now supported.
875
77f3d979
JW
876 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
877 c++11 instead of setting -std=gnu++14.
878
3c040fa4
JW
879 PR libstdc++/72745
880 * include/std/array (get): Use positive message for static assertions.
881 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
882 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
883 specialization for invalid indices, with static assertion.
884 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
885
f245e3a0
JW
886 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
887 dg-error to relevant line.
888 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
889 Likewise.
890 * testsuite/23_containers/forward_list/requirements/dr438/
891 assign_neg.cc: Likewise.
892 * testsuite/23_containers/forward_list/requirements/dr438/
893 constructor_1_neg.cc: Likewise.
894 * testsuite/23_containers/forward_list/requirements/dr438/
895 constructor_2_neg.cc: Likewise.
896 * testsuite/23_containers/forward_list/requirements/dr438/
897 insert_neg.cc: Likewise.
898 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
899 Likewise.
900 * testsuite/26_numerics/random/linear_congruential_engine/
901 requirements/non_uint_neg.cc: Likewise.
902 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
903 Likewise. Also test for std::atomic_address.
904
8c914227
VV
9052016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
906
907 Add missing variable traits, fix testsuite failures.
908 * include/bits/uses_allocator.h (uses_allocator_v): New.
909 * include/std/functional (is_bind_expression_v, is_placeholder_v):
910 Likewise.
911 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
912 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
913 * testsuite/20_util/duration/literals/range.cc: Likewise.
914 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
915 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
916 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
917 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
918 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
919 Likewise.
920 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
921 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
922 New.
923
7523c5eb
JW
9242016-07-31 Jonathan Wakely <jwakely@redhat.com>
925
2f297149
JW
926 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
927 not test 128-bit types.
928 * testsuite/20_util/is_floating_point/value.cc: Likewise.
929 * testsuite/20_util/is_integral/value.cc: Likewise.
930 * testsuite/20_util/is_signed/value.cc: Likewise.
931 * testsuite/20_util/is_unsigned/value.cc: Likewise.
932 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
933 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
934 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
935 Likewise.
936 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
937 Likewise.
938
7523c5eb
JW
939 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
940
137422c8
VV
9412016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
942
943 Implement C++17 variable templates for type traits.
944 * include/std/chrono (treat_as_floating_point_v): New.
945 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
946 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
947 (ratio_greater_equal_v): Likewise.
948 * include/std/system_error (is_error_code_enum_v)
949 (is_error_condition_enum_v): Likewise.
950 * include/std/tuple (tuple_size_v): Likewise.
951 * type_traits (conjunction_v, disjunction_v, negation_v)
952 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
953 (is_array_v, is_pointer_v, is_lvalue_reference_v)
954 (is_rvalue_reference_v, is_member_object_pointer_v)
955 (is_member_function_pointer_v, is_enum_v, is_union_v)
956 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
957 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
958 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
959 (is_trivially_copyable_v, is_standard_layout_v)
960 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
961 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
962 (is_constructible_v, is_default_constructible_v)
963 (is_copy_constructible_v, is_move_constructible_v)
964 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
965 (is_destructible_v, is_trivially_constructible_v)
966 (is_trivially_default_constructible_v)
967 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
968 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
969 (is_trivially_move_assignable_v, is_trivially_destructible_v)
970 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
971 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
972 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
973 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
974 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
975 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
976 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
977 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
978 Likewise.
979 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
980 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
981 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
982
0c4c4909
AS
9832016-07-29 Andreas Schwab <schwab@linux-m68k.org>
984
985 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
986 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
987 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
988
fe97ccec
JW
9892016-07-29 Jonathan Wakely <jwakely@redhat.com>
990
13ec6e5e
JW
991 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
992 * doc/html/manual/abi.html: Regenerate.
993
62589e99
JW
994 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
995 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
996 symbols.
997 * configure: Regenerate.
998 * testsuite/util/testsuite_abi.cc: Add new symbol version.
999
fe97ccec
JW
1000 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1001 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1002 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1003 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1004 Likewise.
1005 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1006 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1007 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1008
2de6b254
JW
10092016-07-28 Jonathan Wakely <jwakely@redhat.com>
1010
1a2196e4
JW
1011 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1012 Adjust dg-prune-output pattern for error in C++98 mode.
1013 * testsuite/23_containers/deque/requirements/dr438/
1014 constructor_1_neg.cc: Likewise.
1015 * testsuite/23_containers/deque/requirements/dr438/
1016 constructor_2_neg.cc: Likewise.
1017 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1018 Likewise.
1019 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1020 Likewise.
1021 * testsuite/23_containers/list/requirements/dr438/
1022 constructor_1_neg.cc: Likewise.
1023 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1024 Likewise.
1025 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1026 Likewise.
1027 * testsuite/23_containers/vector/requirements/dr438/
1028 constructor_1_neg.cc: Likewise.
1029 * testsuite/23_containers/vector/requirements/dr438/
1030 constructor_2_neg.cc: Likewise.
1031 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1032 Likewise.
1033
e539b4ff
JW
1034 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1035 for different construct/destroy counts in C++98 mode.
1036
c3c2f973
JW
1037 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1038 dg-options to dg-additional-options so that default options are used.
1039 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1040 Likewise.
1041 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1042 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1043 Likewise.
1044 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1045 Use dg-additional-options instead of repeating the common options.
1046
2de6b254
JW
1047 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1048 dg-do compile directive.
1049 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1050 dg-do directive.
1051 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1052
ca8f2cb1
VV
10532016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1054
1055 Implement std::string_view and P0254r2,
1056 Integrating std::string_view and std::string.
1057 * include/Makefile.am: Add string_view and string_view.tcc
1058 to the exported headers.
1059 * include/Makefile.in: Likewise.
1060 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1061 (__sv_type): New.
1062 (basic_string(__sv_type, const _Alloc&)): Likewise.
1063 (operator=(__sv_type)): Likewise.
1064 (operator __sv_type()): Likewise.
1065 (operator+=(__sv_type)): Likewise.
1066 (append(__sv_type __sv)): Likewise.
1067 (append(__sv_type, size_type, size_type)): Likewise.
1068 (assign(__sv_type)): Likewise.
1069 (assign(__sv_type, size_type, size_type)): Likewise.
1070 (insert(size_type, __sv_type)): Likewise.
1071 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1072 (replace(size_type, size_type, __sv_type)): Likewise.
1073 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1074 Likewise.
1075 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1076 (find(__sv_type, size_type)): Likewise.
1077 (rfind(__sv_type, size_type)): Likewise.
1078 (find_first_of(__sv_type, size_type)): Likewise.
1079 (find_last_of(__sv_type, size_type)): Likewise.
1080 (find_first_not_of(__sv_type, size_type)): Likewise.
1081 (find_last_not_of(__sv_type, size_type)): Likewise.
1082 (compare(__sv_type)): Likewise.
1083 (compare(size_type, size_type, __sv_type)): Likewise.
1084 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1085 Likewise.
1086 * include/bits/string_view.tcc: New.
1087 * include/std/string_view: Likewise.
1088 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1089 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1090 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1091 Likewise.
1092 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1093 Likewise.
1094 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1095 Likewise.
1096 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1097 Likewise.
1098 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1099 Likewise.
1100 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1101 Likewise.
1102 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1103 Likewise.
1104 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1105 Likewise.
1106 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1107 Likewise.
1108 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1109 Likewise.
1110 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1111 Likewise.
1112 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1113 Likewise.
1114 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1115 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1116 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1117 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1118 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1119 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1120 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1121 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1122 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1123 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1124 Likewise.
1125 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1126 Likewise.
1127 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1128 Likewise.
1129 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1130 Likewise.
1131 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1132 Likewise.
1133 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1134 Likewise.
1135 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1136 Likewise.
1137 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1138 Likewise.
1139 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1140 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1141 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1142 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1143 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1144 Likewise.
1145 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1146 Likewise.
1147 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1148 Likewise.
1149 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1150 Likewise.
1151 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1152 Likewise.
1153 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1154 Likewise.
1155 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1156 Likewise.
1157 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1158 Likewise.
1159 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1160 Likewise.
1161 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1162 Likewise.
1163 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1164 Likewise.
1165 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1166 Likewise.
1167 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1168 Likewise.
1169 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1170 Likewise.
1171 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1172 Likewise.
1173 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1174 Likewise.
1175 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1176 Likewise.
1177 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1178 Likewise.
1179 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1180 Likewise.
1181 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1182 Likewise.
1183 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1184 Likewise.
1185 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1186 Likewise.
1187 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1188 Likewise.
1189 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1190 Likewise.
1191 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1192 Likewise.
1193 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1194 Likewise.
1195 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1196 Likewise.
1197 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1198 Likewise.
1199 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1200 Likewise.
1201 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1202 Likewise.
1203 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1204 Likewise.
1205 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1206 Likewise.
1207 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1208 Likewise.
1209 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1210 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1211 Likewise.
1212 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1213 Likewise.
1214 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1215 Likewise.
1216 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1217 Likewise.
1218 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1219 Likewise.
1220 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1221 Likewise.
1222 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1223 Likewise.
1224 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1225 Likewise.
1226 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1227 Likewise.
1228 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1229 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1230
427f68c6
JW
12312016-07-27 Jonathan Wakely <jwakely@redhat.com>
1232
1233 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1234
a837417c
GC
12352016-07-25 Georeth Chow <georeth2010@gmail.com>
1236
1237 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1238 _S_concat enumerator.
1239 * testsuite/ext/rope/6.cc: New test.
1240
19bb30c0
JW
12412016-07-25 Jonathan Wakely <jwakely@redhat.com>
1242
1243 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1244 std::mt19937, std::thread and std::atomic to simplify test.
1245 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1246
960637ac
JW
12472016-07-22 Jonathan Wakely <jwakely@redhat.com>
1248
8cab3d18
JW
1249 PR libstdc++/71964
1250 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1251 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1252 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1253 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1254 * testsuite/23_containers/set/allocator/71964.cc: New test.
1255
960637ac
JW
1256 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1257 delete[] instead of delete.
1258
22620c14
JW
12592016-07-21 Jonathan Wakely <jwakely@redhat.com>
1260
8b649cd3
JW
1261 * include/experimental/propagate_const (propagate_const::__t): Rename
1262 to _M_t and remove comment. Qualify std::move and std::forward.
1263 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1264
509b778f
JW
1265 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1266 Define sized deallocation function.
1267 * testsuite/util/testsuite_new_operators.h:
1268 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1269 deallocation function.
1270
e93a101f
JW
1271 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1272 reads past the end of strings.
1273 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1274 Likewise.
1275 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1276 invalid array accesses.
1277 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1278 Fix read past the end of string.
1279 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1280
0a024155
JW
1281 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1282 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1283
22620c14
JW
1284 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1285 leak) memory for arguments to placement delete.
1286 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1287 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1288 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1289 Likewise.
1290
18407bfb
JW
12912016-07-20 Jonathan Wakely <jwakely@redhat.com>
1292
09a855ae
JW
1293 * doc/xml/manual/intro.xml: Document DR 2684 status.
1294 * doc/html/*: Regenerate.
1295
e87b7d52
JW
1296 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1297 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1298 (atomic_uint64_t): Define (LWG 2441).
1299 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1300 lines.
1301 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1302 the new types.
1303 * doc/xml/manual/intro.xml: Document DR 2441 status.
1304
07c772ed
JW
1305 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1306 to use perfect forwarding (LWG 2328).
1307 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1308 * doc/xml/manual/intro.xml: Document DR 2328 status.
1309
18407bfb
JW
1310 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1311 static objects for catching nullptr as pointer to member types.
1312
40f3e913
VV
13132016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1314
1315 Clean up optional's comments.
1316 * include/std/optional: Remove incorrect section headers
1317 from comments when redundant, replace bare section
1318 headers with more descriptive comments.
1319
479d0ed5
JW
13202016-07-15 Jonathan Wakely <jwakely@redhat.com>
1321
4f5f9962
JW
1322 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1323 * include/bits/move.h: Likewise.
1324 * include/bits/postypes.h: Likewise.
1325 * include/debug/bitset: Likewise.
1326 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1327 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1328 comment.
1329 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1330 * testsuite/util/thread/all.h: Likewise.
1331
d1129d45
JW
1332 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1333 and adjust comment.
1334
479d0ed5
JW
1335 PR c++/58796
1336 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1337 nullptr match handlers of pointer type.
1338
4db1cb44
ESR
13392016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1340
1341 Implement C++17 P0025 clamp.
1342 * include/bits/algorithmfwd.h: Declare clamp overloads.
1343 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1344 * testsuite/25_algorithms/clamp/1.cc: New test.
1345 * testsuite/25_algorithms/clamp/2.cc: New test.
1346 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1347 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1348 1.cc: New test.
1349 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1350 pod.cc: New test.
1351
1ec0f763
VV
13522016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1353
1354 Fix the constraints for any's assignment operator template to properly
1355 reject assignment from a non-copyable lvalue.
1356 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1357 type for is_copy_constructible,
1358 * testsuite/20_util/any/requirements.cc: Add a test for
1359 non-copyable lvalues.
1360
0a2bf188
JW
13612016-07-14 Jonathan Wakely <jwakely@redhat.com>
1362
ea5ec6b7
JW
1363 * include/experimental/functional: Include <parallel/algorithm> in
1364 Parallel Mode.
1365
47d5cb3c
JW
1366 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1367 for std::search.
1368
0a2bf188
JW
1369 PR libstdc++/70716
1370 * include/bits/forward_list.h (forward_list): Update doxygen comments
1371 to reflect allocator propagation semantics. Remove ambiguous
1372 statements about data being lost.
1373 * include/bits/stl_deque.h (deque): Likewise.
1374 * include/bits/stl_list.h (list): Likewise.
1375 * include/bits/stl_map.h (map): Likewise.
1376 * include/bits/stl_multimap.h (multimap): Likewise.
1377 * include/bits/stl_multiset.h (multiset): Likewise.
1378 * include/bits/stl_set.h (set): Likewise.
1379 * include/bits/stl_vector.h (vector): Likewise.
1380 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1381 Likewise.
1382 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1383 Likewise.
1384
25a69162
VV
13852016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1386
1387 Implement P0032R3, Homogeneous interface for variant, any and optional,
1388 for the parts concerning any and optional.
1389 * include/std/any (_Storage()): Make constexpr and have it
1390 initialize _M_ptr.
1391 (any()): Make constexpr.
1392 (any(const any&)): Adjust.
1393 (any(any&&)): Likewise.
1394 (__any_constructible_t): New.
1395 (any(_ValueType&&)): Constrain.
1396 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1397 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1398 Likewise.
1399 (~any()): Adjust.
1400 (operator=(const any&)): Likewise.
1401 (operator=(any&&)): Likewise.
1402 (operator=(_ValueType&&)): Constrain.
1403 (emplace(_Args&&...)): New.
1404 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1405 (clear()): Remove.
1406 (reset()): New.
1407 (swap(any&)): Adjust.
1408 (empty()): Remove.
1409 (has_value()): New.
1410 (type()): Adjust.
1411 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1412 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1413 (make_any(_Args&&...)): Likewise.
1414 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1415 * include/std/optional (in_place_t, in_place): Remove.
1416 (bad_optional_access): Add a comment referring to LEWG 72.
1417 (emplace(_Args&&...)): Constrain.
1418 (has_value()): New.
1419 (reset()): Likewise.
1420 (make_optional(_Args&&...)): Likewise.
1421 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1422 * include/std/utility (in_place_tag): New.
1423 (__in_place, __in_place_type, __in_place_index): Likewise.
1424 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1425 (in_place(__in_place*)): Likewise.
1426 (in_place(__in_place_type<_Tp>*)): Likewise.
1427 (in_place(__in_place_index<_Idx>*)): Likewise.
1428 * testsuite/20_util/any/assign/1.cc: Adjust.
1429 * testsuite/20_util/any/assign/emplace.cc: New.
1430 * testsuite/20_util/any/assign/self.cc: Adjust.
1431 * testsuite/20_util/any/cons/1.cc: Likewise.
1432 * testsuite/20_util/any/cons/in_place.cc: New.
1433 * testsuite/20_util/any/make_any.cc: Likewise.
1434 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1435 * testsuite/20_util/any/misc/swap.cc: Likewise.
1436 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1437 * testsuite/20_util/any/requirements.cc: New.
1438 * testsuite/20_util/in_place/requirements.cc: Likewise.
1439 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1440 * testsuite/20_util/optional/in_place.cc: Likewise.
1441 * testsuite/20_util/optional/make_optional.cc: Add tests for
1442 the new overloads of make_optional.
1443
c0d31471
VV
14442016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1445
1446 Implement P0307R2, Making Optional Greater Equal Again.
1447 * include/experimental/optional (_Has_addressof): Fix the comment.
1448 * include/std/optional (_Has_addressof): Likewise.
1449 (operator=(_Up&&)): Constrain.
1450 (operator=(const optional<_Up>&)): Likewise.
1451 (operator=(optional<_Up>&&)): Likewise.
1452 (__optional_relop_t): New.
1453 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1454 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1455 Constrain and make transparent.
1456 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1457 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1458 Constrain and make transparent.
1459 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1460 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1461 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1462 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1463 (operator!=(const optional<_Tp>&, _Tp const&)):
1464 Constrain and make transparent.
1465 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1466 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1467 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1468 (operator>(const optional<_Tp>&, const _Tp&)):
1469 Constrain and make transparent.
1470 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1471 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1472 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1473 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1474 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1475 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1476 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1477 * testsuite/20_util/optional/relops/1.cc: Likewise.
1478 * testsuite/20_util/optional/relops/2.cc: Likewise.
1479 * testsuite/20_util/optional/relops/3.cc: Likewise.
1480 * testsuite/20_util/optional/relops/4.cc: Likewise.
1481 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1482 that optional's relops are transparent and don't synthesize
1483 operators. Also test that assignment sfinaes.
1484
260d92cd
JW
14852016-07-13 Jonathan Wakely <jwakely@redhat.com>
1486
e383deac
JW
1487 PR libstdc++/71856
1488 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1489 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1490 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1491 on _GLIBCXX_ASSERTIONS.
1492 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1493 Include <unistd.h> for sleep.
1494 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1495 * include/parallel/merge.h: Likewise.
1496 * include/parallel/multiway_merge.h: Likewise.
1497 * include/parallel/partition.h: Likewise.
1498 * include/parallel/queue.h: Likewise.
1499 * include/parallel/sort.h: Likewise.
1500 * testsuite/25_algorithms/headers/algorithm/
1501 parallel_algorithm_assert.cc: New.
1502
17f8dc93
JW
1503 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1504 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1505 Forward to different overload.
1506
260d92cd
JW
1507 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1508 static.
1509
2d60da10
JW
15102016-07-13 Jonathan Wakely <jwakely@redhat.com>
1511
1512 Revert "Add non-const overload of std::string::data()".
1513
05505e9d
VV
15142016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1515
86c0ec1d
VV
1516 Implement P0307R2, Making Optional Greater Equal Again.
1517 * include/experimental/optional (_Has_addressof): Fix the comment.
1518 * include/std/optional (_Has_addressof): Likewise.
1519 (operator=(_Up&&)): Constrain.
1520 (operator=(const optional<_Up>&)): Likewise.
1521 (operator=(optional<_Up>&&)): Likewise.
1522 (__optional_relop_t): New.
1523 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1524 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1525 Constrain and make transparent.
1526 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1527 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1528 Constrain and make transparent.
1529 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1530 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1531 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1532 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1533 (operator!=(const optional<_Tp>&, _Tp const&)):
1534 Constrain and make transparent.
1535 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1536 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1537 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1538 (operator>(const optional<_Tp>&, const _Tp&)):
1539 Constrain and make transparent.
1540 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1541 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1542 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1543 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1544 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1545 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1546 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1547 * testsuite/20_util/optional/relops/1.cc: Likewise.
1548 * testsuite/20_util/optional/relops/2.cc: Likewise.
1549 * testsuite/20_util/optional/relops/3.cc: Likewise.
1550 * testsuite/20_util/optional/relops/4.cc: Likewise.
1551 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1552 that optional's relops are transparent and don't synthesize
1553 operators. Also test that assignment sfinaes.
1554
ceea48fc
JW
15552016-07-13 Jonathan Wakely <jwakely@redhat.com>
1556
1557 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1558 New function.
1559 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1560 instead of _M_data().
1561 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1562 Likewise.
1563 (append(const basic_string&)): Likewise.
1564 (append(const basic_string&, size_type, size_type)): Likewise.
1565 (assign(const basic_string&, size_type, size_type)): Likewise.
1566 (insert(size_type, const basic_string&)): Likewise.
1567 (insert(size_type, const basic_string&, size_type, size_type)):
1568 Likewise.
1569 (replace(size_type, size_type, const basic_string&, size_type,
1570 size_type)): Likewise.
1571 (replace(__const_iterator, __const_iterator, const basic_string&)):
1572 Likewise.
1573 (c_str(), data()): Use c_str() instead of _M_data().
1574 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1575 (compare(const basic_string&)): Use data() instead of _M_data().
1576 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1577 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1578 Pass raw pointers to _S_copy.
1579 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1580 _S_assign.
1581 (find(const _CharT*, size_type, size_type)): Use data instead of
1582 _M_data().
1583 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1584 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1585 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1586
17b31c05
JW
15872016-07-12 Jonathan Wakely <jwakely@redhat.com>
1588
7cbadfdc
JW
1589 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1590 * doc/xml/manual/intro.xml: Document DR 2458 status.
1591 * doc/html*: Regenerate.
1592
1b24fb4c
JW
1593 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1594 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1595 Only include <array>.
1596 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1597 Likewise.
1b1c16e0 1598 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
1599 * doc/html*: Regenerate.
1600
17b31c05
JW
1601 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1602 Add testcase from LWG 2164.
1603
76225d2c
FD
16042016-07-11 François Dumont <fdumont@gcc.gnu.org>
1605
1606 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1607 to _M_realloc_insert.
1608 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1609 (_M_realloc_insert): Declare new function.
1610 (_M_emplace_back_aux): Remove definition.
1611 * include/bits/vector.tcc (emplace_back(_Args...)):
1612 Use _M_realloc_insert.
1613 (insert(const_iterator, const value_type&)): Likewise.
1614 (_M_insert_rval, _M_emplace_aux): Likewise.
1615 (_M_emplace_back_aux): Remove declaration.
1616 (_M_realloc_insert): Define.
1617 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1618 Adjust expected results for emplacing an lvalue with reallocation.
1619
435e56fb
VV
16202016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1621
1622 Implement std::optional.
1623 * include/Makefile.am: Add optional to exported headers.
1624 * include/Makefile.in: Likewise.
1625 * include/std/optional: New.
1626 * testsuite/20_util/optional/typedefs.cc: Likewise.
1627 * testsuite/20_util/optional/relops/2.cc: Likewise.
1628 * testsuite/20_util/optional/relops/3.cc: Likewise.
1629 * testsuite/20_util/optional/relops/4.cc: Likewise.
1630 * testsuite/20_util/optional/relops/5.cc: Likewise.
1631 * testsuite/20_util/optional/relops/1.cc: Likewise.
1632 * testsuite/20_util/optional/relops/6.cc: Likewise.
1633 * testsuite/20_util/optional/nullopt.cc: Likewise.
1634 * testsuite/20_util/optional/in_place.cc: Likewise.
1635 * testsuite/20_util/optional/make_optional.cc: Likewise.
1636 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1637 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1638 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1639 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1640 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1641 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1642 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1643 * testsuite/20_util/optional/cons/default.cc: Likewise.
1644 * testsuite/20_util/optional/cons/move.cc: Likewise.
1645 * testsuite/20_util/optional/cons/value.cc: Likewise.
1646 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1647 * testsuite/20_util/optional/requirements.cc: Likewise.
1648 * testsuite/20_util/optional/observers/2.cc: Likewise.
1649 * testsuite/20_util/optional/observers/3.cc: Likewise.
1650 * testsuite/20_util/optional/observers/4.cc: Likewise.
1651 * testsuite/20_util/optional/observers/5.cc: Likewise.
1652 * testsuite/20_util/optional/observers/1.cc: Likewise.
1653 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1654 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1655 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1656 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1657 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1658 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1659 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1660 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1661 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1662 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1663 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1664 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1665 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1666 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1667 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1668 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1669 * testsuite/20_util/optional/swap/1.cc: Likewise.
1670
d81102f4
JW
16712016-07-08 Jonathan Wakely <jwakely@redhat.com>
1672
1673 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1674
9fc0faf0
JW
16752016-07-07 Jonathan Wakely <jwakely@redhat.com>
1676
1677 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1678 * doc/html/*: Regenerate.
1679
52e86221
VV
16802016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1681
1682 Implement std::any.
1683 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1684 * include/Makefile.in: Likewise.
1685 * include/std/any: New.
1686 * testsuite/20_util/any/assign/1.cc: Likewise.
1687 * testsuite/20_util/any/assign/2.cc: Likewise.
1688 * testsuite/20_util/any/assign/self.cc: Likewise.
1689 * testsuite/20_util/any/cons/1.cc: Likewise.
1690 * testsuite/20_util/any/cons/2.cc: Likewise.
1691 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1692 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1693 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1694 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1695 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1696 * testsuite/20_util/any/misc/swap.cc: Likewise.
1697 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1698 * testsuite/20_util/any/observers/type.cc: Likewise.
1699 * testsuite/20_util/any/typedefs.cc: Likewise.
1700
3042e708
VV
17012016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1702
1703 Add a new header for diagnosing the use of C++17 facilities
1704 in pre-C++17 modes.
1705 * include/bits/c++17_warning.h: New.
1706
6ffe8548
VV
17072016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1708
1709 Implement LWG 2451, optional<T> should 'forward' T's
1710 implicit conversions.
1711 * include/experimental/optional (__is_optional_impl, __is_optional):
1712 New.
1713 (optional()): Make constexpr and default.
1714 (optional(_Up&&), optional(const optional<_Up>&),
1715 optional(optional<_Up>&& __t): New.
1716 (operator=(_Up&&)): Constrain.
1717 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1718 * testsuite/experimental/optional/cons/value.cc:
1719 Add tests for the functionality added by LWG 2451.
1720 * testsuite/experimental/optional/cons/value_neg.cc: New.
1721
7d4f48b5
VV
17222016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1723
1724 Implement LWG 2509,
1725 any_cast doesn't work with rvalue reference targets and cannot
1726 move with a value target.
1727 * include/experimental/any (any(_ValueType&&)): Constrain and
1728 add an overload that doesn't forward.
1729 (any_cast(any&&)): Constrain and add an overload that moves.
1730 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1731 the functionality added by LWG 2509.
1732
097e8994
FD
17332016-07-04 François Dumont <fdumont@gcc.gnu.org>
1734
1735 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1736 New test.
1737 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1738 test.
1739
9958c7eb
JW
17402016-07-04 Jonathan Wakely <jwakely@redhat.com>
1741
1742 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1743 Define inline. Forward to _M_emplace_aux.
1744 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1745 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1746 (_Temporary_value): New RAII type using allocator to construct/destroy.
1747 (_S_insert_aux_assign): Remove.
1748 (_M_insert_aux): Make non-variadic.
1749 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1750 Use _Temporary_value.
1751 (emplace(const_iterator, _Args&&...)): Remove definition.
1752 (_M_insert_rval, _M_emplace_aux): Define.
1753 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1754 (_M_fill_insert): Use _Temporary_value.
1755 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1756 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1757 Adjust expected results for emplacing an lvalue with reallocation.
1758 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1759 expected results to account for construction/destruction of temporary
1760 using allocator.
1761 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1762
e12880f9
VV
17632016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1764
1765 PR libstdc++/71313
1766 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1767 Call remove_all for children of a directory.
1768 * testsuite/experimental/filesystem/operations/create_directories.cc:
1769 Adjust.
1770
6c539f2e
FD
17712016-07-02 François Dumont <fdumont@gcc.gnu.org>
1772
1773 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1774 dg-error line numbers.
1775 * testsuite/23_containers/array/tuple_interface/
1776 tuple_element_debug_neg.cc: Likewise.
1777 * testsuite/25_algorithms/lexicographical_compare/debug/
1778 irreflexive_neg.cc: Remove.
1779
72fb6bae
TP
17802016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1781
1782 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1783 than specific target.
1784
dc448fa0
FD
17852016-06-27 François Dumont <fdumont@gcc.gnu.org>
1786
1787 PR libstdc++/71640
1788 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1789 friend declaration.
1790
e615c24c
FD
17912016-06-23 François Dumont <fdumont@gcc.gnu.org>
1792
1793 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1794 zero-size array.
1795
0609abda
TS
17962016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1797
1798 * configure.host: Remove mep-* support.
1799
8466af06
TS
18002016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1801
1802 * configure: Regenerate.
1803 * configure.host: Remove support for knetbsd.
1804 * crossconfig.m4: Likewise.
1805
29dbb034
FD
18062016-06-20 François Dumont <fdumont@gcc.gnu.org>
1807
1808 PR libstdc++/71181
1809 * include/tr1/hashtable_policy.h
1810 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1811 dereferenceable to avoid check on lower_bound result.
1812 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1813 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1814 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1815 Always return a value greater than input value. Set _M_next_resize to
1816 max value when reaching highest prime number.
1817 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1818 being now useless.
1819 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1820 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1821 (test02): New.
1822 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1823 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1824 Fix indentation.
1825
3ebacabd
JW
18262016-06-17 Jonathan Wakely <jwakely@redhat.com>
1827
1828 PR libstdc++/71545
1829 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1830 Remove irreflexive checks.
1831 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1832 binary_search): Likewise.
1833 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1834 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1835 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1836 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1837 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1838 Add constructor from array.
1839
bd2ee798
FD
18402016-06-16 François Dumont <fdumont@gcc.gnu.org>
1841
1842 * include/debug/debug.h
1843 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1844 (__glibcxx_requires_subscript): Move...
1845 * include/debug/assertions.h: ...here and add __builtin_expect.
1846 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1847 * include/bits/stl_deque.h
1848 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1849 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1850 (std::deque<>::back()): Likewise.
1851 (std::deque<>::pop_front()): Likewise.
1852 (std::deque<>::pop_back()): Likewise.
1853 (std::deque<>::swap(deque&)): Add allocator check.
1854 * include/bits/stl_vector.h
1855 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1856 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1857 (std::vector<>::back()): Likewise.
1858 (std::vector<>::pop_back()): Likewise.
1859 (std::vector<>::swap(vector&)): Add allocator check.
1860
6b9539e2
DK
18612016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1862
1863 Provide swappable traits (p0185r1)
1864 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1865 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1866 is_nothrow_swappable_v, is_swappable_with_v,
1867 is_nothrow_swappable_with_v): New.
1868 * include/bits/stl_pair.h: Use it as per p0185r1.
1869 * include/bits/stl_queue.h: Likewise.
1870 * include/bits/stl_stack.h: Likewise.
1871 * include/bits/unique_ptr.h: Likewise.
1872 * include/std/tuple: Likewise.
1873 * include/std/array: Likewise. Fix zero-size member swap.
1874 * include/bits/hashtable.h: Use __and_.
1875 * testsuite/20_util/is_nothrow_swappable/requirements/
1876 explicit_instantiation.cc: Change test options to std=gnu++17.
1877 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1878 Likewise.
1879 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1880 * testsuite/20_util/is_swappable/requirements/
1881 explicit_instantiation.cc: Likewise.
1882 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1883 * testsuite/20_util/is_swappable/value.cc: Likewise.
1884 * testsuite/20_util/is_nothrow_swappable/requirements/
1885 explicit_instantiation_ext.cc: New.
1886 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1887 New.
1888 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1889 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1890 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1891 explicit_instantiation.cc: New.
1892 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1893 New.
1894 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1895 * testsuite/20_util/is_swappable/requirements/
1896 explicit_instantiation_ext.cc: New.
1897 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1898 * testsuite/20_util/is_swappable/value.h: New.
1899 * testsuite/20_util/is_swappable/value_ext.cc: New.
1900 * testsuite/20_util/is_swappable_with/requirements/
1901 explicit_instantiation.cc: New.
1902 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1903 * testsuite/20_util/is_swappable_with/value.cc: New.
1904 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1905 dg-error line numbers.
1906 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1907 Likewise.
1908
0ae207e9
JW
19092016-06-16 Jonathan Wakely <jwakely@redhat.com>
1910
33ac58d5
JW
1911 * include/std/array: Remove trailing whitespace.
1912 * include/std/atomic: Likewise.
1913 * include/std/bitset: Likewise.
1914 * include/std/chrono: Likewise.
1915 * include/std/complex: Likewise.
1916 * include/std/condition_variable: Likewise.
1917 * include/std/fstream: Likewise.
1918 * include/std/functional: Likewise.
1919 * include/std/future: Likewise.
1920 * include/std/iomanip: Likewise.
1921 * include/std/iosfwd: Likewise.
1922 * include/std/istream: Likewise.
1923 * include/std/limits: Likewise.
1924 * include/std/ratio: Likewise.
1925 * include/std/scoped_allocator: Likewise.
1926 * include/std/sstream: Likewise.
1927 * include/std/stdexcept: Likewise.
1928 * include/std/string: Likewise.
1929 * include/std/system_error: Likewise.
1930 * include/std/thread: Likewise.
1931 * include/std/tuple: Likewise.
1932 * include/std/type_traits: Likewise.
1933 * include/std/utility: Likewise.
1934 * include/std/valarray: Likewise.
1935 * include/std/vector: Likewise.
1936
0ae207e9
JW
1937 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1938 new overloaded functions.
1939 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1940 to avoid creating a redundant temporary.
1941 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1942 test.
1943
d7e16fc5
FD
19442016-06-15 François Dumont <fdumont@gcc.gnu.org>
1945
1946 * include/bits/stl_deque.h
1947 (std::deque<>::operator=): Call _M_assign_aux.
1948 (std::deque<>::assign(initializer_list<>)): Likewise.
1949 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1950 (std::deque<>::insert(const_iterator, initializer_list<>)):
1951 Call _M_range_insert_aux.
1952 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1953 Likewise.
1954 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1955 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1956 * include/bits/deque.tcc
1957 (std::deque<>::operator=): Call _M_range_insert_aux.
1958 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1959 Likewise.
1960 * include/bits/stl_vector.h
1961 (std::vector<>::operator=): Call _M_assign_aux.
1962 (std::vector<>::assign(initializer_list<>)): Likewise.
1963 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1964 (std::vector<>::insert(const_iterator, initializer_list<>)):
1965 Call _M_range_insert.
1966 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1967
373c0095
FD
19682016-06-07 François Dumont <fdumont@gcc.gnu.org>
1969
1970 * include/std/tuple (_Head_base<>): Default specialization condition at
1971 type declaration.
1972
dbc6221f
VV
19732016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1974
1975 Support allocators in tuples of zero size.
1976 * include/std/tuple (tuple<>::tuple(),
1977 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1978 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1979 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1980
94229fb6
JW
19812016-06-06 Jonathan Wakely <jwakely@redhat.com>
1982
1983 PR libstdc++/71320
1984 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1985 Add or remove permissions according to perms argument.
1986 * testsuite/experimental/filesystem/operations/permissions.cc: New
1987 test.
1988
7a667453
VV
19892016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1990
1991 Protect allocator-overloads of tuple-from-tuple constructors
1992 from cases that would create dangling references.
1993 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1994 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
1995 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
1996 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
1997
4acc3634
GP
19982016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
1999
2000 * doc/xml/manual/backwards_compatibility.xml: Adjust
2001 lists.debian.org link to https.
2002 * doc/html/manual/backwards.html: Regenerate.
2003
9020909e
JW
20042016-05-27 Jonathan Wakely <jwakely@redhat.com>
2005
2006 * doc/xml/manual/abi.xml: Adjust URL to use https.
2007 * doc/html/manual/*: Regenerate.
2008
b7021006
VV
20092016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2010
2011 PR libstdc++/66338
2012 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2013 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2014 check for _NotSameTuple.
2015 * include/std/tuple (_TMCT): New.
2016 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2017 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2018 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2019 const tuple<_UElements...>&)): Likewise.
2020 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2021 tuple<_UElements...>&&)): Likewise.
2022 * testsuite/20_util/tuple/cons/66338.cc: New.
2023
834f4c43
JW
20242016-05-25 Jonathan Wakely <jwakely@redhat.com>
2025
c42d2288
JW
2026 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2027 * configure: Regenerate.
2028 * config.h.in: Regenerate.
2029
834f4c43
JW
2030 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2031 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2032 Remove const qualification on function. Replace
2033 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2034 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2035 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2036
732eb076
FD
20372016-05-24 François Dumont <fdumont@gcc.gnu.org>
2038
2039 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2040 * include/bits/hashtable_policy.h
2041 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2042 having load factor management.
2043 (_Mask_range_hashing): New.
2044 (__clp2): New.
2045 (_Power2_rehash_policy): New.
2046 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2047 partial specializations only depend on whether iterators are constant
2048 or not.
2049 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2050 test new hash policy.
2051 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2052 Likewise.
2053 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2054 Likewise.
2055 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2056 Likewise.
2057 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2058 Likewise.
2059 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2060 New.
2061 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2062 using the new hash policy.
2063 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2064
8be062c6
JW
20652016-05-24 Jonathan Wakely <jwakely@redhat.com>
2066
2067 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2068
447caf82
FD
20692016-05-23 François Dumont <fdumont@gcc.gnu.org>
2070
2071 * include/debug/safe_iterator.h
2072 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2073 operator ->.
2074 * include/debug/safe_local_iterator.h
2075 (_Safe_local_iterator<>::operator->()): Likewise.
2076
11f8114b
TP
20772016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2078
2079 * testsuite/experimental/memory_resource/1.cc: Add required argument
2080 to dg-require-atomic-builtins.
2081
541a9b10
JW
20822016-05-13 Jonathan Wakely <jwakely@redhat.com>
2083
2084 PR libstdc++/71073
2085 * include/debug/bitset: Add #pragma GCC system_header.
2086 * include/debug/deque: Likewise.
2087 * include/debug/list: Likewise.
2088 * include/debug/map: Likewise.
2089 * include/debug/set: Likewise.
2090 * include/debug/string: Likewise.
2091 * include/debug/unordered_map: Likewise.
2092 * include/debug/unordered_set: Likewise.
2093 * include/debug/vector: Likewise.
2094 * include/debug/functions.h: Adjust whitespace.
2095
068b220e
JW
20962016-05-12 Jonathan Wakely <jwakely@redhat.com>
2097
2098 PR libstdc++/71081
2099 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2100
3d73ae6e
JW
21012016-05-11 Jonathan Wakely <jwakely@redhat.com>
2102
2103 PR libstdc++/71049
2104 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2105 exception constructors with __sso_string parameters.
2106
d7187f9e
JW
21072016-05-10 Jonathan Wakely <jwakely@redhat.com>
2108
7f99d40a
JW
2109 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2110 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2111 Test begin and end functions.
2112 * testsuite/experimental/filesystem/iterators/
2113 recursive_directory_iterator.cc: Likewise.
2114
6fe673ad
JW
2115 PR libstdc++/71038
2116 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2117 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2118
77a87b2a
JW
2119 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2120 Overload operator* to move from rvalues.
2121
f9a39467
JW
2122 PR libstdc++/71036
2123 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2124 * testsuite/experimental/filesystem/operations/create_directory.cc:
2125 New test.
2126
6f0800d4
JW
2127 PR libstdc++/71037
2128 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2129 base path to exception.
2130 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2131 paths contained in exception.
2132
f10b2e1c
JW
2133 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2134 using declaration.
2135
d7187f9e
JW
2136 PR libstdc++/71005
2137 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2138 New type.
2139 (directory_iterator::operator++(int)): Return proxy.
2140 (recursive_directory_iterator::operator++(int)): Likewise.
2141 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2142 Test post-increment.
2143 * testsuite/experimental/filesystem/iterators/
2144 recursive_directory_iterator.cc: Likewise.
2145
7972e246
JW
21462016-05-09 Jonathan Wakely <jwakely@redhat.com>
2147
2148 PR libstdc++/71004
2149 * testsuite/experimental/filesystem/iterators/
2150 recursive_directory_iterator.cc: Fix test02 to not call member
2151 functions on invalid iterator, and use VERIFY not assert.
2152
fb334765
VV
21532016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2154
2155 Avoid endless run-time recursion for copying single-element
2156 tuples where the element type is by-value constructible
2157 from any type.
2158 * include/std/tuple (_NotSameTuple): New.
2159 * include/std/tuple (tuple(_UElements&&...): Use it.
2160 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2161
e4cce0ce
JW
21622016-05-09 Jonathan Wakely <jwakely@redhat.com>
2163
2164 PR libstdc++/71004
2165 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2166 Initialize scalar member variables in default constructor.
2167 * testsuite/experimental/filesystem/iterators/
d7187f9e 2168 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 2169
40436d81
RO
21702016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2171
2172 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2173
f5c40ce2
JW
21742016-05-05 Jonathan Wakely <jwakely@redhat.com>
2175
2176 * testsuite/experimental/filesystem/path/native/string.cc: Add
2177 dg-require-filesystem-ts directive.
2178
d9cb3e75
JW
21792016-05-04 Jonathan Wakely <jwakely@redhat.com>
2180
2181 PR libstdc++/70940
2182 * include/experimental/memory_resource
2183 (__resource_adaptor_imp::do_allocate): Do not default-construct
2184 rebound allocator.
2185 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2186 allocator_traits to get pointer type.
2187 (__null_memory_resource::do_allocate): Remove unused parameters.
2188 (__null_memory_resource::do_deallocate): Likewise.
2189 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2190 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2191 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2192 move to ...
2193 * testsuite/experimental/memory_resource/1.cc: Here.
2194 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2195 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2196
f92ab29f
CG
21972016-04-29 Chris Gregory <czipperz@gmail.com>
2198
2199 * config/*: Remove trailing whitespace.
2200 * src/*: Likewise.
2201 * testsuite/tr1/*: Likewise.
2202 * testsuite/util/*: Likewise.
2203
272b2ce4
JW
22042016-04-28 Jonathan Wakely <jwakely@redhat.com>
2205
9f9eb84e
JW
2206 PR libstdc++/70766
2207 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2208 __addressof.
2209 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2210 Likewise.
2211 * include/std/atomic (atomic<_Tp>): Likewise.
2212 * include/std/shared_mutex (shared_lock): Likewise.
2213 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2214 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2215 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2216 * testsuite/29_atomics/atomic/70766.cc: New test.
2217 * testsuite/30_threads/shared_lock/70766.cc: New test.
2218
272b2ce4
JW
2219 * include/bits/hashtable_policy.h (__detail::_Insert_base,
2220 __detail::_Insert): Improve comments.
2221
45e20696
JW
22222016-04-27 Jonathan Wakely <jwakely@redhat.com>
2223
2224 PR libstdc++/70767
2225 * include/std/limits: Update comments about DRs.
2226 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2227 numeric_limits<const volatile _Tp>): Define unconditionally.
2228
a635cdb2
JW
22292016-04-24 Jonathan Wakely <jwakely@redhat.com>
2230
2231 PR libstdc++/70762
2232 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2233 static counter to return a different path on every call.
2234
216f7526
TS
22352016-04-22 Tim Shen <timshen@google.com>
2236
2237 PR libstdc++/70745
2238 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2239 Fix the match_not_bow and match_not_eow behavior.
2240 * testsuite/28_regex/regression.cc: Add testcase.
2241
a1e1ec76
JW
22422016-04-20 Jonathan Wakely <jwakely@redhat.com>
2243
2244 PR libstdc++/69703
2245 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2246 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2247
9c476ad4
JW
22482016-04-19 Jonathan Wakely <jwakely@redhat.com>
2249
29ca91f7 2250 PR libstdc++/69703
a1e1ec76 2251 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
2252 Override endianness bit in mode.
2253 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2254 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2255 that little_endian mode is ignored.
2256 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2257
14905251
JW
2258 PR libstdc++/70609
2259 * src/filesystem/ops.cc (close_fd): New function.
2260 (do_copy_file): Set permissions before copying file contents. Check
2261 result of closing file descriptors. Don't copy streambuf when file
2262 is empty.
2263 (copy(const path&, const path&, copy_options, error_code&)): Use
2264 lstat for source file when copy_symlinks is set.
2265 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2266
9c476ad4
JW
2267 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2268 operator~ operator&=, operator|=, operator^=): Add noexcept to
2269 overloaded operators for copy_options, perms and directory_options.
2270 * src/filesystem/ops.cc (make_file_type, make_file_status,
2271 is_not_found_errno, file_time): Add noexcept.
2272
d855ad89
ESR
22732016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2274
2275 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2276
8dc1e574
JW
22772016-04-18 Jonathan Wakely <jwakely@redhat.com>
2278
0cded43d
JW
2279 PR libstdc++/41759
2280 * include/bits/random.h: Reword static assertion messages to state
2281 positive conditions.
2282 * include/bits/random.tcc: Likewise.
2283 * include/bits/uniform_int_dist.h: Likewise.
2284 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2285 patterns.
2286
90751aa7
JW
2287 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2288
351a5f81
JW
2289 * config/cpu/sh/atomicity.h: Fix typo in comment.
2290
b05cf382
JW
2291 PR libstdc++/70294
2292 * include/std/thread (operator<, operator==): Move definitions to
2293 namespace-scope.
2294 * testsuite/30_threads/thread/id/70294.cc: New test.
2295
4ed6e524
JW
2296 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2297 -Wno-pedantic to dg-options.
2298 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2299 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2300 to dg-options.
2301 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2302 Remove extra semi-colon.
2303 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2304 Always supply second argument to static_assert.
2305 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2306 semi-colon.
2307 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2308 dg-options.
2309 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2310 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2311 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2312 alignof when operand is an object not a type.
2313 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2314 * testsuite/decimal/make-decimal.cc: Likewise.
2315 * testsuite/experimental/type_traits/value.cc: Always supply second
2316 argument to static_assert.
2317 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2318 __int128 types.
2319
abb6e0a1
JW
2320 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2321 internal header.
2322 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2323 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2324 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2325 Likewise. Add licence and change to compile-only test.
2326
6b6147dd
JW
2327 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2328 unused parameter.
2329 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2330
8dc1e574
JW
2331 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2332 warnings.
2333
80dbaf98
ESR
23342016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2335
2336 * include/bits/specfun.h: Trivial comment misspelling.
2337
9f285ccb
JM
23382016-04-14 Jason Merrill <jason@redhat.com>
2339
2340 Revert Jonathan's empty ABI change from yesterday.
2341
342fac95
MS
23422016-04-13 Martin Sebor <msebor@redhat.com>
2343
2344 PR c++/69517
2345 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2346 upper bound is positive.
2347
a6297ab5
JW
23482016-04-13 Jonathan Wakely <jwakely@redhat.com>
2349
2350 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2351 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2352 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2353 of functions taking empty structs by value. Add a template parameter
2354 to overloads without hints. Rename overloads with hints to
2355 _M_emplace_hint.
2356 (_Hashtable::_M_erase(true_type, const_iterator),
2357 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2358 by reordering parameters.
2359 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2360 _M_emplace_hint instead of _M_emplace.
2361 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2362 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2363 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2364 __shared_ptr): Likewise.
2365 * include/bits/stl_algo.h (replace_if): Likewise.
2366 * include/bits/stl_pair.h (piecewise_construct_t,
2367 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2368 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2369 __uses_alloc0): Likewise.
2370 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2371 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2372 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2373 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2374 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2375 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2376 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2377
0c39f36d
ESR
23782016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2379
2380 Document C++17/TR29124 C++ Special Math Functions.
2381 * include/bits/specfun.h: Add Doxygen markup.
2382
6da8b931
JW
23832016-04-07 Jonathan Wakely <jwakely@redhat.com>
2384
2385 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2386
49a52ebc
EB
23872016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2388
2389 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2390 * src/Makefile.in: Regenerate.
2391
87cec93e
JW
23922016-04-05 Jonathan Wakely <jwakely@redhat.com>
2393
d2aee115
JW
2394 PR libstdc++/70554
2395 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2396 __atomic_fetch_add for bool.
2397 * configure: Regenerate.
2398
d5ec69f3
JW
2399 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2400
87cec93e
JW
2401 PR libstdc++/70503
2402 * src/c++11/thread.cc (execute_native_thread_routine,
2403 execute_native_thread_routine_compat): Give internal linkage.
2404 * testsuite/30_threads/thread/70503.cc: New test.
2405
7b3318c4
VV
24062016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2407
2408 PR libstdc++/70437
2409 * include/bits/stl_pair.h (_ConstructiblePair,
2410 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2411 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2412 for same-type cases.
2413 * testsuite/20_util/pair/70437.cc: New.
2414
00e6c25a
JW
24152016-03-24 Jonathan Wakely <jwakely@redhat.com>
2416
2417 PR libstdc++/69945
2418 * config/abi/pre/gnu.ver: Add new symbol.
2419 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2420 * testsuite/18_support/free_eh_pool.cc: New test.
2421
bfd84e6b
BE
24222016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2423
2424 * include/Makefile.am (install-freestanding-headers): Add
2425 concept_check.h and move.h to the installed headers.
2426 * include/Makefile.in: Regenerated.
2427 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2428 freestanding implementations.
2429 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2430 that this macro has no effect for freestanding implementations.
2431 * doc/html/manual/using_macros.html: Likewise.
2432
86715b09
JW
24332016-02-24 Jonathan Wakely <jwakely@redhat.com>
2434
2435 PR libstdc++/69939
2436 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2437
9aee022e
JW
24382016-02-23 Jonathan Wakely <jwakely@redhat.com>
2439
be9967e8
JW
2440 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2441 * doc/html/*: Regenerate.
2442
9aee022e
JW
2443 PR libstdc++/69893
2444 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2445 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2446 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2447 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2448 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2449 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2450 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2451 Likewise.
2452 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2453 namespace before including TR1 headers.
2454 * testsuite/tr1/headers/c++200x/math.cc: New test.
2455
5f6dd593
BE
24562016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2457
2458 PR libstdc++/69881
2459 * include/c_global/cstdarg: Undefine __need___va_list.
2460 * include/c_global/cstddef: Undefine all kinds of __need_*.
2461
244901a5
TS
24622016-02-16 Tim Shen <timshen@google.com>
2463
2464 PR libstdc++/69794
2465 * include/bits/regex_scanner.h: Add different special character
2466 sets for grep and egrep regex.
2467 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2468 * testsuite/28_regex/regression.cc: Add new testcase.
2469
cc07da33
JW
24702016-02-08 Jonathan Wakely <jwakely@redhat.com>
2471
2158532f
JW
2472 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2473 added 'constexpr' in previous commit.
2474 * configure: Regenerate.
2475
cc07da33
JW
2476 PR libstdc++/48891
2477 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2478 checks for all targets except *-*-solaris2.* and ensure we find the
2479 libc math.h header not our own.
2480 * configure: Regenerate.
2481
acc04646
DV
24822016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2483
2484 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2485 New file. Copied over from s390-linux-gnu.
2486
dbcda3ee
JW
24872016-02-04 Jonathan Wakely <jwakely@redhat.com>
2488
3555173f
JW
2489 PR libstdc++/69626
2490 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2491 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2492 * config.h.in: Regenerate.
2493 * configure: Regenerate.
2494 * testsuite/21_strings/c_strings/char/69626.cc: New.
2495
15ebf379
JW
2496 * doc/html/index.html: Regenerate.
2497
dbcda3ee
JW
2498 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2499 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2500 * doc/html/*: Regenerate.
2501
571512d5
BE
25022016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2503
2504 PR libstdc++/69581
2505 * include/c_compatibility/math.h: Move header guards.
2506 * include/c_compatibility/stdlib.h: Likewise.
2507
f597d5f7
JW
25082016-01-29 Jonathan Wakely <jwakely@redhat.com>
2509
2510 PR libstdc++/69506
2511 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2512
69b0daeb
JDA
25132016-01-28 John David Anglin <danglin@gcc.gnu.org>
2514
2515 PR libstdc++/69450
2516 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2517 isinf and isnan functions into two independent checks. Check on hpux.
2518 * config.h.in: Regenerate.
2519 * configure: Regenerate.
2520 * include/c_global/cmath (isinf(double), isnan(double)): Use
2521 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2522 respectively.
2523
8dc781e4
JJ
25242016-01-27 Jakub Jelinek <jakub@redhat.com>
2525
2526 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2527
bae87f7f
JW
25282016-01-27 Jonathan Wakely <jwakely@redhat.com>
2529
2530 PR libstdc++/69295
2531 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2532 -ffp-contract=off, and -ffloat-store to disable excess precision.
2533 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2534 -ffp-contract=off.
2535
f1d591e8
JW
25362016-01-26 Jonathan Wakely <jwakely@redhat.com>
2537
2538 PR libstdc++/69478
2539 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2540 random_access_iterator_tag>): Check is_move_assignable when moving.
2541 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2542 Likewise.
2543 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2544 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2545 * testsuite/25_algorithms/move/69478.cc: New.
2546 * testsuite/25_algorithms/move_backward/69478.cc: new.
2547
8964d2a0
AP
25482016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2549
2550 * include/c_compatibility/stdlib.h: Include wide character related
2551 definitions only when they are available in cstdlib.
2552
2944621e
JW
25532016-01-25 Jonathan Wakely <jwakely@redhat.com>
2554
2555 PR libstdc++/69464
2556 * include/Makefile.am: Add new header.
2557 * include/Makefile.in: Regenerate.
2558 * include/bits/random.h (uniform_int_distribution): Move to
2559 bits/uniform_int_dist.h.
2560 * include/bits/random.tcc (uniform_int_distribution::operator(),
2561 uniform_int_distribution::__generate_impl): Likewise.
2562 * include/bits/uniform_int_dist.h: New header.
2563 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2564 <bits/uniform_int_dist.h> instead of <random>.
2565 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2566 move_iterators/1.cc: Include correct header for uninitialized_copy.
2567 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2568 move_iterators/1.cc: Likewise.
2569 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2570 header for vector.
2571 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2572
3676c087
JDA
25732016-01-23 John David Anglin <danglin@gcc.gnu.org>
2574
2575 PR libstdc++/69446
2576 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2577
02dc2419
ESR
25782016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2579
2580 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2581 * include/c_compatibility/math.h: Import the TR29124 functions
2582 into the global namespace.
2583 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2584 xfail and make compile-only.
2585 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2586 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2587 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2588 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2589 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2590 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2591 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2592 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2593 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2594 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2595 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2596 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2597 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2598 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2599 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2600 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2601 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2602 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2603 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2604 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2605
350fe282
JW
26062016-01-22 Jonathan Wakely <jwakely@redhat.com>
2607
d1fb377c
JW
2608 PR libstdc++/69116
2609 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2610 define result_type for types which can be safely used with valarrays.
2611 * testsuite/26_numerics/valarray/69116.cc: New.
2612
350fe282
JW
2613 PR libstdc++/69413
2614 * config/os/gnu-linux/os_defines.h: Define
2615 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2616 * include/c_global/cmath (isinf, isnan): Check it.
2617 * doc/xml/manual/internals.xml: Document it.
2618 * doc/html/*: Regenerate.
2619
ab56cbed
JW
26202016-01-21 Jonathan Wakely <jwakely@redhat.com>
2621
2622 PR libstdc++/69406
2623 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2624 * include/ext/type_traits.h: Likewise.
2625 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2626 for presence of C headers.
2627 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2628 dg-error line number.
2629 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2630 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2631 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2632
7e10bcfa
TR
26332016-01-20 Torvald Riegel <triegel@redhat.com>
2634
2635 PR libstdc++/69310
2636 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2637
eac437bf
JW
26382016-01-20 Jonathan Wakely <jwakely@redhat.com>
2639
3f93466a
JW
2640 PR libstdc++/60401
2641 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2642 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2643 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2644 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2645 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2646 Add using declarations.
2647 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2648
eac437bf
JW
2649 PR libstdc++/69386
2650 * include/c_global/ccomplex: Ensure C++ language linkage.
2651 * include/c_global/cmath: Likewise.
2652 * include/c_global/cstdlib: Likewise.
2653 * include/c_global/ctgmath: Likewise.
2654 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2655
96e19ada
JW
26562016-01-19 Jonathan Wakely <jwakely@redhat.com>
2657
2658 PR libstdc++/14608
2659 PR libstdc++/60401
2660 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2661 --enable-cheaders=c_global configs.
2662 * include/Makefile.in: Regenerate.
2663 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2664 test and allow inclusion from C files.
2665 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2666 (at_quick_exit, quick_exit): Add using directives.
2667 * include/c_global/cmath: Use #include_next for math.h.
2668 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2669 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2670 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2671 Remove xfail for most targets.
2672 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2673
9585381a
TR
26742016-01-18 Torvald Riegel <triegel@redhat.com>
2675
2676 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2677 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2678 and move after its definition.
2679 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2680 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2681 __GXX_WEAK__, and only provide transactional clones if
2682 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2683 functions.
2684
f5460595
JW
26852016-01-18 Jonathan Wakely <jwakely@redhat.com>
2686
c91bcffc
JW
2687 PR libstdc++/60637
2688 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2689
d75d9f91 2690 PR libstdc++/69243
9c5ad80e
JW
2691 * include/std/functional (_Function_base::_M_not_empty_function):
2692 Change overloads for pointers to take arguments by value.
2693 * testsuite/20_util/function/cons/57465.cc: Add tests for
2694 pointer-to-member cases.
2695
f5460595
JW
2696 PR libstdc++/69340
2697 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2698 Use macros for exception handling and fix unused parameter warning.
2699
271366f6
JDA
27002016-01-17 John David Anglin <danglin@gcc.gnu.org>
2701
2702 PR libstdc++/68734
2703 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2704
7a5d1d34
TR
27052016-01-17 Torvald Riegel <triegel@redhat.com>
2706
2707 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2708
5445d5bf
L
27092016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2710
2711 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2712 __int128 symbols.
2713
3d076231
JW
27142016-01-15 Jonathan Wakely <jwakely@redhat.com>
2715
d7c1581c
JW
2716 PR libstdc++/69293
2717 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2718 static assertion that type is constructible from the arguments.
2719 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2720 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2721 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2722
3d076231
JW
2723 PR libstdc++/69294
2724 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2725 and isnan on AIX. Quote variables.
2726 * configure: Regenerate.
2727
a04d5fc9
TR
27282016-01-15 Torvald Riegel <triegel@redhat.com>
2729
2730 * include/bits/basic_string.h (basic_string): Declare friends.
2731 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2732 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2733 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2734 length_error, out_of_range, runtime_error, range_error,
2735 underflow_error, overflow_error): Declare members as transaction-safe.
2736 (logic_error, runtime_error): Declare friend functions.
2737 * libsupc++/exception (exception, bad_exception): Declare members as
2738 transaction-safe.
2739 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2740 transaction-safe members of exceptions and helper functions.
2741 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2742 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2743 (CXXABI_1.3.10): New.
2744 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2745 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2746 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2747 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2748 * include/Makefile.in: Regenerate.
2749 * config.h.in: Regenerate.
2750 * configure: Regenerate.
2751 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2752
cebeb718
SE
27532016-01-15 Steve Ellcey <sellcey@imgtec.com>
2754
2755 * include/ext/random.tcc: Use __builtin_isfinite instead of
2756 std::isfinite.
2757
3b07547d
JW
27582016-01-15 Jonathan Wakely <jwakely@redhat.com>
2759
2760 * include/bits/std_mutex.h: Fix Doxygen @file name.
2761
2be75957
ESR
27622016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2763 Jonathan Wakely <jwakely@redhat.com>
2764 Florian Goth <CaptainSifff@gmx.de>
2765
2766 Implement TR29124 C++ special Math Functions.
2767 * include/Makefile.am: Add new headers.
2768 * include/Makefile.in: Regenerate.
2769 * include/bits/specfun.h: New.
2770 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2771 * include/tr1/bessel_function.tcc: Ditto.
2772 * include/tr1/beta_function.tcc: Ditto.
2773 * include/tr1/cmath: Ditto.
2774 * include/tr1/ell_integral.tcc: Ditto.
2775 * include/tr1/exp_integral.tcc: Ditto.
2776 * include/tr1/gamma.tcc: Ditto.
2777 * include/tr1/hypergeometric.tcc: Ditto.
2778 * include/tr1/legendre_function.tcc: Ditto.
2779 * include/tr1/modified_bessel_func.tcc: Ditto.
2780 * include/tr1/poly_hermite.tcc: Ditto.
2781 * include/tr1/poly_laguerre.tcc: Ditto.
2782 * include/tr1/riemann_zeta.tcc: Ditto.
2783 * include/tr1/special_function_util.h: Ditto.
2784 * testsuite/ext/special_functions/conf_hyperg: New.
2785 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2786 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2787 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2788 * testsuite/ext/special_functions/hyperg: New.
2789 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2790 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2791 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2792 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2793 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2794 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2795 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2796 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2797 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2798 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2799 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2800 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2801 * testsuite/special_functions/03_beta/check_nan.cc: New.
2802 * testsuite/special_functions/03_beta/check_value.cc: New.
2803 * testsuite/special_functions/03_beta/compile.cc: New.
2804 * testsuite/special_functions/03_beta/compile_2.cc: New.
2805 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2806 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2807 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2808 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2809 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2810 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2811 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2812 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2813 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2814 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2815 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2816 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2817 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2818 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2819 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2820 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2821 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2822 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2823 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2824 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2825 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2826 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2827 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2828 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2829 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2830 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2831 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2832 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2833 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2834 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2835 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2836 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2837 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2838 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2839 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2840 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2841 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2842 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2843 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2844 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2845 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2846 * testsuite/special_functions/14_expint/check_nan.cc: New.
2847 * testsuite/special_functions/14_expint/check_value.cc: New.
2848 * testsuite/special_functions/14_expint/compile.cc: New.
2849 * testsuite/special_functions/14_expint/compile_2.cc: New.
2850 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2851 * testsuite/special_functions/15_hermite/check_value.cc: New.
2852 * testsuite/special_functions/15_hermite/compile.cc: New.
2853 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2854 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2855 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2856 * testsuite/special_functions/16_laguerre/compile.cc: New.
2857 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2858 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2859 * testsuite/special_functions/17_legendre/check_value.cc: New.
2860 * testsuite/special_functions/17_legendre/compile.cc: New.
2861 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2862 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2863 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2864 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2865 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2866 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2867 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2868 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2869 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2870 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2871 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2872 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2873 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2874 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2875 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2876 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2877 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2878 * testsuite/util/specfun_testcase.h: New.
2879 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2880 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2881 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2882 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2883 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2884 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2885 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2886
39a1d8c8
JW
28872016-01-13 Jonathan Wakely <jwakely@redhat.com>
2888
2889 PR libstdc++/48891
2890 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2891 and isnan functions.
2892 * config.h.in: Regenerate.
2893 * configure: Regenerate.
2894 * include/c_global/cmath (isinf(double), isnan(double))
2895 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2896 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2897
e862906c
RO
28982016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2899
2900 PR libstdc++/66006
2901 * configure.host (abi_baseline_pair): Use separate baseline for
2902 Solaris 11+ and Solaris 10 with gld.
2903 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2904 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2905 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2906
26b5ace7
DK
29072016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2908
2909 PR libstdc++/68877
2910 * include/std/type_traits: Following N4511, reimplement __is_swappable
2911 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2912 adjust callers. Use __is_nothrow_swappable in swap.
2913 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2914 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2915 __is_swappable related tests.
2916 * testsuite/20_util/is_swappable/value.cc: New.
2917 * testsuite/20_util/is_swappable/requirements/
2918 explicit_instantiation.cc: New.
2919 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2920 * testsuite/25_algorithms/swap/68877.cc: New.
2921
1c3c7c41
JW
29222016-01-12 Jonathan Wakely <jwakely@redhat.com>
2923
bd285a8b
JW
2924 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2925
1c3c7c41
JW
2926 PR libstdc++/69005
2927 PR libstdc++/69222
2928 * include/std/functional (function::_Invoke): Remove, use result_of.
2929 (function::_Callable): Replace alias template with class template
2930 and use partial specialization instead of _NotSelf alias template.
2931 (function(_Functor)): Add "not self" constraint so that _Callable is
2932 not used while type is incomplete.
2933 * testsuite/20_util/function/69222.cc: New.
2934
1517bc30
JW
29352016-01-11 Jonathan Wakely <jwakely@redhat.com>
2936
2937 PR libstdc++/60976
2938 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2939 Define partial specialization.
2940 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2941 destroy members to std::allocator explicit specialization.
2942
e525d78c
JW
29432016-01-08 Jonathan Wakely <jwakely@redhat.com>
2944
8babc12b
JW
2945 * testsuite/26_numerics/headers/cmath/
2946 c99_classification_macros_c++.cc: Rename to ...
2947 * testsuite/26_numerics/headers/cmath/
2948 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2949 * testsuite/26_numerics/headers/cmath/
2950 c99_classification_macros_c++0x.cc: Rename to ...
2951 * testsuite/26_numerics/headers/cmath/
2952 c99_classification_macros_c++11.cc: Here.
2953
32a8c97f 2954 PR libstdc++/69190
e525d78c
JW
2955 * include/bits/uses_allocator.h: Add missing include.
2956
f885fa89
JW
29572016-01-07 Jonathan Wakely <jwakely@redhat.com>
2958
2959 PR libstdc++/69105
2960 PR libstdc++/69106
2961 PR libstdc++/69114
2962 * include/bits/stl_iterator.h (back_insert_iterator,
2963 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2964 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2965 * include/std/future (__future::base::_State_baseV2::__setter):
2966 Likewise.
2967 * include/std/scoped_allocator (__outermost): Likewise.
2968 * testsuite/20_util/scoped_allocator/69114.cc: New.
2969 * testsuite/20_util/uses_allocator/69114.cc: New.
2970 * testsuite/30_threads/promise/69106.cc: New.
2971
0c3e5dd1
JW
29722016-01-06 Jonathan Wakely <jwakely@redhat.com>
2973
373a75fb
JW
2974 PR libstdc++/69092
2975 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2976 Remove _GLIBCXX_NOEXCEPT.
2977 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2978
0c3e5dd1
JW
2979 * include/Makefile.am: Adjust.
2980 * include/Makefile.in: Regenerate.
2981 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2982 * include/std/condition_variable: Adjust include.
2983 * include/std/mutex: Likewise.
2984
818ab71a 29852016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
2986
2987 Update copyright years.
b4df5e92 2988\f
818ab71a 2989Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
2990
2991Copying and distribution of this file, with or without modification,
2992are permitted in any medium without royalty provided the copyright
2993notice and this notice are preserved.