1 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
3 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
4 using -std in dg-options.
6 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
7 Pedro Alves <palves@redhat.com>
9 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
10 and restore dg-interpreter-batch-mode.
11 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
12 gdb-dg-runtest instead of dg-runtest.
13 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
15 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
17 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
18 precise patterns for basic_string constructors.
19 (GLIBCXX_3.4.23): Export new constructors.
20 * doc/xml/manual/intro.xml: Document LWG 2583 status.
21 * doc/html/*: Regenerate.
22 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
23 (basic_string(const basic_string&, size_type, const Alloc&)): Add
24 new constructor for LWG 2583.
25 (basic_string(const basic_string&, size_type, size_type)): Remove
27 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
28 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
29 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
30 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
32 2016-08-24 Aditya Kumar <hiraditya@msn.com>
34 * include/bits/algorithmfwd.h: Remove trailing whitespace.
35 * include/bits/shared_ptr_base.h: Likewise.
37 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
39 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
40 * include/profile/array (array): Likewise.
41 (array::swap): Fix exception specification for zero-sized arrays.
44 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
45 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
46 * testsuite/23_containers/map/77334.cc: New test.
48 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
49 * doc/html/*: Regenerate.
51 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
52 * testsuite/experimental/feat-lib-fund.cc: Likewise.
55 * include/bits/stl_iterator.h
56 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
57 define for C++98 mode.
58 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
59 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
61 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
62 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
63 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
64 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
66 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
67 difference operator for C++98.
68 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
70 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
71 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
72 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
73 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
74 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
76 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
78 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
79 * include/std/array (array::begin, array::end, array::rbegin)
80 (array::rend, array::cbegin, array:cend, array::crbegin)
81 (array::crend, array::operator[], array::at, array::front)
82 (array::back, array::data): Likewise.
83 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
84 with separate tests for C++11, C++14, and C++17.
85 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
86 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
87 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
89 2016-08-22 Tim Shen <timshen@google.com>
91 Split _M_dfs() into smaller functions.
92 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
93 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
94 (_M_handle_line_end_assertion, _M_handle_word_boundary)
95 (_M_handle_subexpr_lookahead, _M_handle_match)
96 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
97 Add separate function declarations.
98 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
100 2016-08-22 Gleb Natapov <gleb@scylladb.com>
103 * config/abi/pre/gnu-versioned-namespace.ver: Export
104 __cxa_init_primary_exception and std::exception_ptr(void*).
105 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
106 export __cxa_init_primary_exception and std::exception_ptr(void*).
107 * include/Makefile.am: Add new headers.
108 * include/Makefile.in: Regenerate.
109 * libsupc++/Makefile.am: Add new headers.
110 * libsupc++/Makefile.in: Regenerate.
111 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
112 * libsupc++/cxxabi_init_exception.h: New header.
113 (__cxa_init_primary_exception): Declare.
114 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
115 (__cxa_throw): Use __cxa_init_primary_exception.
116 * libsupc++/exception (std::exception): Move to ...
117 * libsupc++/exception.h: New header.
118 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
120 (__exception_ptr::__dest_thunk): New function template.
121 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
122 Use __cxa_allocate_exception and __cxa_init_primary_exception to
123 create exception_ptr.
124 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
125 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
127 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
129 * doc/xml/api.xml: Replace hardcoded links for specific versions with
130 link to docs for all releases.
131 * doc/html/*: Regenerate.
134 * doc/xml/manual/intro.xml: Document DR 2062 change.
135 * include/std/functional (function::swap): Add noexcept.
136 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
137 * testsuite/20_util/function/77322.cc: New test.
139 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
141 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
142 *-*-solaris* instead of -pthreads.
143 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
144 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
145 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
146 * testsuite/23_containers/list/pthread1.cc: Likewise.
147 * testsuite/23_containers/list/pthread5.cc: Likewise.
148 * testsuite/23_containers/map/pthread6.cc: Likewise.
149 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
150 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
151 * testsuite/30_threads/shared_mutex/*: Likewise.
152 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
153 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
154 default_weaktoshared.cc: Likewise.
155 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
156 mutex_weaktoshared.cc: Likewise.
157 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
158 dg-require-effective-target instead of using -std option.
159 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
161 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
162 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
164 * testsuite/30_threads/async/*: Likewise.
165 * testsuite/30_threads/call_once/*: Likewise.
166 * testsuite/30_threads/condition_variable/*: Likewise.
167 * testsuite/30_threads/condition_variable_any/*: Likewise.
168 * testsuite/30_threads/future/*: Likewise.
169 * testsuite/30_threads/lock/*: Likewise.
170 * testsuite/30_threads/mutex/*: Likewise.
171 * testsuite/30_threads/packaged_task/*: Likewise.
172 * testsuite/30_threads/promise/*: Likewise.
173 * testsuite/30_threads/recursive_mutex/*: Likewise.
174 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
175 * testsuite/30_threads/shared_future/*: Likewise.
176 * testsuite/30_threads/shared_lock/*: Likewise.
177 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
178 * testsuite/30_threads/this_thread/*: Likewise.
179 * testsuite/30_threads/thread/*: Likewise.
180 * testsuite/30_threads/timed_mutex/*: Likewise.
181 * testsuite/30_threads/try_lock/*: Likewise.
182 * testsuite/30_threads/unique_lock/*: Likewise.
184 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
185 * doc/html/*: Regenerate.
186 * include/experimental/functional (_Not_fn, not_fn): Match C++17
188 * include/std/functional (_Not_fn, not_fn): Define for C++17.
189 * testsuite/20_util/not_fn/1.cc: New.
190 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
191 Remove test for volatile-qualified wrapper.
193 * include/std/atomic (atomic::is_always_lock_free): Define.
194 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
195 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
196 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
197 * doc/xml/manual/status_cxx2017.xml: Update status.
198 * doc/html/*: Regenerate.
200 * include/experimental/tuple (apply): Qualify call to __apply_impl.
201 * include/std/tuple (apply): Likewise.
202 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
204 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
205 * testsuite/experimental/type_traits/value.cc: Likewise.
207 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
209 * doc/html/*: Regenerate.
211 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
213 Implement the latest proposed resolution of LWG 2756.
214 * include/std/optional (Optional_base(const _Tp&))
215 (Optional_base(_Tp&&), using _Base::_Base): Remove.
216 (optional(nullopt_t)): New.
217 (optional(_Up&&)): Invoke base directly with in_place
218 rather than creating a temporary, add default template
219 argument, change constraints.
220 (optional(const optional<_Up>&)): Invoke base directly
221 with in_place, remove unnecessary constraints.
222 (optional(optional<_Up>&& __t)): Likewise.
223 (optional(in_place_t, _Args&&...)): New.
224 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
225 (operator=(_Up&&)): Add default template argument, change constraints.
226 (operator=(const optional<_Up>&)): Put is_same first in the
228 (operator=(optional<_Up>&&)): Likewise.
229 * testsuite/20_util/optional/assignment/5.cc: Add a test to
230 verify assignment from something that can't be perfect-forwarded.
231 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
232 that a nested optional is disengaged when constructed
233 from a disengaged element type, and to verify that assignments
234 from an engaged element type engage the optional.
236 2016-08-18 Tim Shen <timshen@google.com>
240 * include/Makefile.am: Add new file std/variant.
241 * include/Makefile.in: Generated from Makefile.am.
242 * include/bits/enable_special_members.h: Add a tag type to allow
243 the construction in non-default constructor.
244 * include/bits/uses_allocator.h: Add convenience traits to
245 detect constructibility.
246 * include/std/variant: Implement <variant>.
247 * testsuite/20_util/variant/compile.cc: Compile-time tests.
248 * testsuite/20_util/variant/run.cc: Runtime tests.
250 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
252 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
253 (test.new_tests): Rewrite section.
254 (tests.dg.directives): New section.
255 * doc/html/*: Regenerate.
257 * doc/xml/manual/test.xml: Improve documentation of test targets.
258 Document new-abi-baseline, check-debug, and check-parallel targets.
260 * doc/xml/manual/build_hacking.xml: New section on shared library
263 * doc/xml/manual/build_hacking.xml: Improve markup.
264 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
266 * doc/xml/faq.xml: Change link text to "Testing".
268 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
269 dg-options directive.
271 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
273 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
274 directive and use effective target instead of dg-options.
276 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
277 instead of -std in dg-options.
278 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
279 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
280 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
281 * testsuite/20_util/hash/quality.cc: Likewise.
282 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
283 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
284 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
285 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
286 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
287 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
289 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
290 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
291 * testsuite/27_io/rvalue_streams.cc: Likewise.
293 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
295 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
296 Remove duplicate dg-options directive.
298 * testsuite/ext/profile/all.cc: Use effective target instead of
299 -std=gnu++11. Use dg-additional-options instead of repeating options.
301 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
302 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
303 instead of dg-excess-errors.
305 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
307 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
308 * testsuite/experimental/ratio/value.cc: Likewise.
309 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
311 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
312 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
313 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
314 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
315 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
316 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
317 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
318 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
319 * testsuite/tr1/5_numerical_facilities/special_functions/
320 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
323 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
324 expected signatures for C++14 compatibility.
327 * include/bits/basic_string.h (operator=(__sv_type)
328 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
329 (replace(size_type, size_type, __sv_type))
330 (replace(const_iterator, const_iterator, __sv_type))
331 (find(__sv_type, size_type), rfind(__sv_type, size_type))
332 (compare(size_type, size_type, __sv_type)): Reformat.
333 (_If_sv): Define helper for SFINAE constaints.
334 (append(const _Tp&, size_type, size_type))
335 (assign(const _Tp&, size_type, size_type))
336 (insert(size_type, const _Tp&, size_type, size_type))
337 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
339 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
341 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
343 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
345 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
347 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
349 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
351 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
353 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
355 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
357 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
359 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
362 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
365 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
366 pointers to start and end of storage.
367 * testsuite/23_containers/vector/bool/72847.cc: New test.
368 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
369 _M_finish after deallocating.
370 (vector<bool>::_M_fill_insert): Likewise.
371 (vector<bool>::_M_insert_range): Likewise.
372 (vector<bool>::_M_insert_aux): Likewise.
374 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
376 Implement LWG 2744 and LWG 2754.
377 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
378 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
379 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
381 (emplace(_Args&&...)): Likewise.
382 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
383 * include/std/utility: (__is_in_place_type_impl): New.
384 (__is_in_place_type): Likewise.
385 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
387 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
388 in_place constructor.
389 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
390 * testsuite/20_util/any/requirements.cc: Add a test for
391 in_place-constructing a non-default-constructible type.
393 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
395 Add a feature macro for C++17 make_from_tuple.
396 * include/std/tuple (__cpp_lib_make_from_tuple): New.
397 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
398 Qualify the call to get<>().
399 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
401 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
403 * src/filesystem/ops.cc: Always include ostream and
405 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
406 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
407 sendfile fails with ENOSYS or EINVAL.
409 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
412 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
415 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
417 Implement C++17 make_from_tuple.
418 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
419 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
421 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
424 * include/bits/basic_string.h
425 (append(__sv_type, size_type, size_type)): Turn into a template,
426 change parameter type, constrain, add a conversion to __sv_type
427 from the dependent parameter type.
428 (assign(__sv_type, size_type, size_type)): Likewise.
429 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
430 (replace(size_type, size_type, __sv_type, size_type, size_type)):
432 (compare(size_type, size_type,__sv_type, size_type, size_type)):
434 * testsuite/21_strings/basic_string/lwg2758.cc: New.
436 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
438 * doc/xml/manual/status_cxx2017.xml: Update status table.
439 * doc/html/manual/status.html: Regenerate.
441 * testsuite/lib/libstdc++.exp: Fix typo in comment.
444 * include/std/functional (_Function_base::_Base_manager::_M_clone):
445 Qualify new operator.
446 * testsuite/20_util/function/cons/72820.cc: New test.
448 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
449 * doc/html/manual/status.html: Regenerate.
450 * include/Makefile.am: Add new header.
451 * include/Makefile.in: Regenerate.
452 * include/bits/invoke.h: New header.
453 (__invoke): Make constexpr. Add && to types in exception specification.
454 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
455 names. Include <bits/invoke.h> and use std::__invoke.
456 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
458 (invoke): Add && to types in exception specification.
459 * include/std/tuple (apply, __apply_impl): Define for C++17.
460 * testsuite/20_util/tuple/apply/1.cc: New test.
461 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
464 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
466 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
467 * doc/html/manual/status.html: Regenerate.
469 * include/std/chrono (floor, ceil, round, abs): New for C++17.
470 * testsuite/20_util/duration_cast/rounding.cc: New test.
471 * testsuite/20_util/time_point_cast/rounding.cc: New test.
472 * doc/xml/manual/status_cxx2017.xml: Update status table.
473 * doc/html/manual/status.html: Regenerate.
474 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
476 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
477 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
478 * testsuite/20_util/duration/literals/range.cc: Likewise.
480 * include/std/functional (__callable_functor): Remove.
481 (_Function_handler::_M_invoke): Use __invoke instead of
482 __callable_functor or mem_fn.
483 (function::_Callable): Use lvalue in result_of expression.
484 (function): Remove TODO comments about allocators.
485 * testsuite/20_util/function/cons/refqual.cc: New test.
487 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
489 * doc/xml/manual/status_cxx2017.xml: Update status table.
490 * include/std/functional (__inv_unwrap): Move to <type_traits>.
491 (__invoke_impl): Remove exception specifications.
492 (__invoke, invoke): Add exception specifications using
493 __is_nothrow_callable.
494 * include/std/type_traits (__inv_unwrap): Move from <functional>.
495 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
496 (__is_callable, __is_nothrow_callable): New traits.
497 (is_callable, is_callable_v): New C++17 traits.
498 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
499 * testsuite/20_util/is_callable/requirements/
500 explicit_instantiation.cc: New test.
501 * testsuite/20_util/is_callable/requirements/
502 explicit_instantiation_ext.cc: New test.
503 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
504 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
506 * testsuite/20_util/is_callable/value.cc: New test.
507 * testsuite/20_util/is_callable/value_ext.cc: New test.
508 * testsuite/20_util/is_nothrow_callable/requirements/
509 explicit_instantiation.cc: New test.
510 * testsuite/20_util/is_nothrow_callable/requirements/
511 explicit_instantiation_ext.cc: New test.
512 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
514 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
516 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
517 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
519 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
520 * doc/html/manual/status.html: Regenerate.
522 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
523 effective target not dg-options. Move check for feature-test macro to:
524 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
527 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
529 (__invoke_impl): Remove unused template parameters.
530 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
532 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
533 and test __invoke extension for C++11.
535 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
537 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
538 Define feature-test macro.
539 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
542 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
543 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
544 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
545 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
546 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
548 * include/std/utility (as_const): Define.
549 * testsuite/20_util/as_const/1.cc: New test.
550 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
552 * include/bits/shared_ptr.h (owner_less): Add default template
554 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
556 (owner_less<void>): Define specialization.
557 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
559 * testsuite/20_util/owner_less/void.cc: New test.
560 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
562 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
563 Define feature-test macro.
564 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
565 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
566 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
567 (__cpp_lib_type_trait_variable_templates): Define.
569 * include/bits/stl_function.h: Remove commented-out macro.
570 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
571 Define feature-test macro.
572 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
574 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
575 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
577 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
579 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
580 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
581 * include/tr1/bessel_function.tcc: Likewise.
582 * include/tr1/beta_function.tcc: Likewise.
583 * include/tr1/cmath: Likewise.
584 * include/tr1/ell_integral.tcc: Likewise.
585 * include/tr1/exp_integral.tcc: Likewise.
586 * include/tr1/gamma.tcc: Likewise.
587 * include/tr1/hypergeometric.tcc: Likewise.
588 * include/tr1/legendre_function.tcc: Likewise.
589 * include/tr1/modified_bessel_func.tcc: Likewise.
590 * include/tr1/poly_hermite.tcc: Likewise.
591 * include/tr1/poly_laguerre.tcc: Likewise.
592 * include/tr1/riemann_zeta.tcc: Likewise.
593 * include/tr1/special_function_util.h: Likewise.
594 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
596 * include/std/type_traits (has_trivial_default_constructor): Remove.
597 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
598 * testsuite/20_util/has_trivial_copy_assign/requirements/
599 explicit_instantiation.cc: Remove test.
600 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
602 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
604 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
605 * testsuite/20_util/has_trivial_copy_constructor/requirements/
606 explicit_instantiation.cc: Likewise.
607 * testsuite/20_util/has_trivial_copy_constructor/requirements/
608 typedefs.cc: Likewise.
609 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
610 * testsuite/20_util/has_trivial_default_constructor/requirements/
611 explicit_instantiation.cc: Likewise.
612 * testsuite/20_util/has_trivial_default_constructor/requirements/
613 typedefs.cc: Likewise.
614 * testsuite/20_util/has_trivial_default_constructor/value.cc:
616 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
617 Check has_trivial_default_constructor, has_trivial_copy_constructor,
618 and has_trivial_copy_assign are not defined.
619 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
621 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
622 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
623 dg-error line number.
624 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
627 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
629 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
630 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
631 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
633 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
635 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
637 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
639 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
641 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
644 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
647 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
648 dg-error to relevant line.
649 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
651 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
653 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
655 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
656 options are present that aren't valid for C.
657 * testsuite/abi/header_cxxabi.c: Likewise.
659 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
660 check_value.cc: Do not add special functions to namespace std in TR1
663 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
664 run for C++11 and later.
665 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
667 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
668 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
669 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
670 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
671 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
673 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
675 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
676 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
678 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
680 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
682 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
683 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
684 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
685 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
686 * testsuite/special_functions/03_beta/compile.cc: Likewise.
687 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
688 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
689 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
691 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
692 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
693 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
694 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
696 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
697 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
698 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
699 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
701 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
702 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
703 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
704 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
706 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
707 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
708 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
709 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
710 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
712 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
713 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
714 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
715 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
717 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
718 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
719 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
720 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
721 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
722 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
723 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
724 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
725 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
726 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
727 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
728 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
729 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
730 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
731 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
732 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
733 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
734 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
735 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
736 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
737 * testsuite/special_functions/14_expint/compile.cc: Likewise.
738 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
739 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
740 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
741 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
742 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
743 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
744 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
745 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
746 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
747 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
748 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
749 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
750 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
751 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
752 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
754 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
755 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
756 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
757 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
758 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
759 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
760 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
761 * testsuite/special_functions/20_sph_legendre/check_value.cc:
763 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
764 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
765 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
766 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
767 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
768 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
770 * testsuite/tr1/5_numerical_facilities/special_functions/
771 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
773 * testsuite/tr1/5_numerical_facilities/special_functions/
774 09_cyl_bessel_j/check_value.cc: Likewise.
775 * testsuite/tr1/5_numerical_facilities/special_functions/
776 10_cyl_bessel_k/check_value.cc: Likewise.
777 * testsuite/tr1/5_numerical_facilities/special_functions/
778 11_cyl_neumann/check_value.cc: Likewise.
779 * testsuite/tr1/5_numerical_facilities/special_functions/
780 21_sph_bessel/check_value.cc: Likewise.
781 * testsuite/tr1/5_numerical_facilities/special_functions/
782 23_sph_neumann/check_value.cc: Likewise.
784 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
786 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
787 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
788 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
789 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
790 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
791 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
793 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
795 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
798 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
799 additional flags for compiling libtestc++.a objects.
801 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
803 * include/bits/basic_string.h (data() const): Update comment.
804 (data()): Add non-const overload for C++17.
805 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
806 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
808 * include/bits/basic_string.tcc: Disable explicit instantiation
809 declarations for C++17.
811 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
812 ignored "xfail" from { dg-do compile { xfail selector } } directive.
813 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
815 * testsuite/26_numerics/headers/cmath/
816 c99_classification_macros_c++11.cc: Likewise.
817 * testsuite/26_numerics/headers/cmath/
818 c99_classification_macros_c++98.cc: Likewise.
819 * testsuite/26_numerics/headers/cmath/
820 c99_classification_macros_c.cc: Likewise.
822 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
823 for different construct/destroy counts in C++98 mode.
825 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
827 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
829 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
832 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
833 C++98-compatible initialization for array.
835 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
836 unused header and variable from compile-only test.
837 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
838 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
839 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
840 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
843 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
844 Remove duplicate dg-options directive.
846 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
847 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
849 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
850 linker options from compile-only tests.
851 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
854 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
855 supported for C++11 and later.
856 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
857 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
859 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
861 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
863 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
865 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
868 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
869 Ensure test is compiled with optimization.
871 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
872 Adjust dg-prune-output pattern for error in C++98 mode.
874 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
875 run for C++11 or later.
877 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
878 test to not rely on GNU extension (escaped normal characters in POSIX
879 BRE). Enable tests for other strings which are now supported.
881 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
882 c++11 instead of setting -std=gnu++14.
885 * include/std/array (get): Use positive message for static assertions.
886 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
887 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
888 specialization for invalid indices, with static assertion.
889 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
891 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
892 dg-error to relevant line.
893 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
895 * testsuite/23_containers/forward_list/requirements/dr438/
896 assign_neg.cc: Likewise.
897 * testsuite/23_containers/forward_list/requirements/dr438/
898 constructor_1_neg.cc: Likewise.
899 * testsuite/23_containers/forward_list/requirements/dr438/
900 constructor_2_neg.cc: Likewise.
901 * testsuite/23_containers/forward_list/requirements/dr438/
902 insert_neg.cc: Likewise.
903 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
905 * testsuite/26_numerics/random/linear_congruential_engine/
906 requirements/non_uint_neg.cc: Likewise.
907 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
908 Likewise. Also test for std::atomic_address.
910 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
912 Add missing variable traits, fix testsuite failures.
913 * include/bits/uses_allocator.h (uses_allocator_v): New.
914 * include/std/functional (is_bind_expression_v, is_placeholder_v):
916 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
917 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
918 * testsuite/20_util/duration/literals/range.cc: Likewise.
919 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
920 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
921 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
922 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
923 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
925 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
926 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
929 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
931 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
932 not test 128-bit types.
933 * testsuite/20_util/is_floating_point/value.cc: Likewise.
934 * testsuite/20_util/is_integral/value.cc: Likewise.
935 * testsuite/20_util/is_signed/value.cc: Likewise.
936 * testsuite/20_util/is_unsigned/value.cc: Likewise.
937 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
938 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
939 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
941 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
944 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
946 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
948 Implement C++17 variable templates for type traits.
949 * include/std/chrono (treat_as_floating_point_v): New.
950 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
951 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
952 (ratio_greater_equal_v): Likewise.
953 * include/std/system_error (is_error_code_enum_v)
954 (is_error_condition_enum_v): Likewise.
955 * include/std/tuple (tuple_size_v): Likewise.
956 * type_traits (conjunction_v, disjunction_v, negation_v)
957 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
958 (is_array_v, is_pointer_v, is_lvalue_reference_v)
959 (is_rvalue_reference_v, is_member_object_pointer_v)
960 (is_member_function_pointer_v, is_enum_v, is_union_v)
961 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
962 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
963 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
964 (is_trivially_copyable_v, is_standard_layout_v)
965 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
966 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
967 (is_constructible_v, is_default_constructible_v)
968 (is_copy_constructible_v, is_move_constructible_v)
969 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
970 (is_destructible_v, is_trivially_constructible_v)
971 (is_trivially_default_constructible_v)
972 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
973 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
974 (is_trivially_move_assignable_v, is_trivially_destructible_v)
975 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
976 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
977 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
978 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
979 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
980 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
981 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
982 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
984 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
985 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
986 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
988 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
990 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
991 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
992 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
994 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
996 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
997 * doc/html/manual/abi.html: Regenerate.
999 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1000 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1002 * configure: Regenerate.
1003 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1005 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1006 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1007 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1008 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1010 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1011 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1012 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1014 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1016 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1017 Adjust dg-prune-output pattern for error in C++98 mode.
1018 * testsuite/23_containers/deque/requirements/dr438/
1019 constructor_1_neg.cc: Likewise.
1020 * testsuite/23_containers/deque/requirements/dr438/
1021 constructor_2_neg.cc: Likewise.
1022 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1024 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1026 * testsuite/23_containers/list/requirements/dr438/
1027 constructor_1_neg.cc: Likewise.
1028 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1030 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1032 * testsuite/23_containers/vector/requirements/dr438/
1033 constructor_1_neg.cc: Likewise.
1034 * testsuite/23_containers/vector/requirements/dr438/
1035 constructor_2_neg.cc: Likewise.
1036 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1039 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1040 for different construct/destroy counts in C++98 mode.
1042 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1043 dg-options to dg-additional-options so that default options are used.
1044 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1046 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1047 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1049 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1050 Use dg-additional-options instead of repeating the common options.
1052 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1053 dg-do compile directive.
1054 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1056 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1058 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1060 Implement std::string_view and P0254r2,
1061 Integrating std::string_view and std::string.
1062 * include/Makefile.am: Add string_view and string_view.tcc
1063 to the exported headers.
1064 * include/Makefile.in: Likewise.
1065 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1067 (basic_string(__sv_type, const _Alloc&)): Likewise.
1068 (operator=(__sv_type)): Likewise.
1069 (operator __sv_type()): Likewise.
1070 (operator+=(__sv_type)): Likewise.
1071 (append(__sv_type __sv)): Likewise.
1072 (append(__sv_type, size_type, size_type)): Likewise.
1073 (assign(__sv_type)): Likewise.
1074 (assign(__sv_type, size_type, size_type)): Likewise.
1075 (insert(size_type, __sv_type)): Likewise.
1076 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1077 (replace(size_type, size_type, __sv_type)): Likewise.
1078 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1080 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1081 (find(__sv_type, size_type)): Likewise.
1082 (rfind(__sv_type, size_type)): Likewise.
1083 (find_first_of(__sv_type, size_type)): Likewise.
1084 (find_last_of(__sv_type, size_type)): Likewise.
1085 (find_first_not_of(__sv_type, size_type)): Likewise.
1086 (find_last_not_of(__sv_type, size_type)): Likewise.
1087 (compare(__sv_type)): Likewise.
1088 (compare(size_type, size_type, __sv_type)): Likewise.
1089 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1091 * include/bits/string_view.tcc: New.
1092 * include/std/string_view: Likewise.
1093 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1094 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1095 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1097 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1099 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1101 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1103 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1105 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1107 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1109 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1111 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1113 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1115 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1117 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1119 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1120 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1121 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1122 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1123 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1124 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1125 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1126 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1127 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1128 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1130 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1132 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1134 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1136 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1138 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1140 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1142 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1144 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1145 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1146 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1147 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1148 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1150 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1152 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1154 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1156 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1158 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1160 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1162 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1164 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1166 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1168 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1170 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1172 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1174 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1176 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1178 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1180 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1182 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1184 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1186 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1188 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1190 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1192 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1194 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1196 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1198 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1200 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1202 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1204 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1206 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1208 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1210 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1212 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1214 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1215 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1217 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1219 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1221 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1223 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1225 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1227 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1229 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1231 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1233 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1234 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1236 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
1238 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1240 2016-07-25 Georeth Chow <georeth2010@gmail.com>
1242 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1243 _S_concat enumerator.
1244 * testsuite/ext/rope/6.cc: New test.
1246 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
1248 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1249 std::mt19937, std::thread and std::atomic to simplify test.
1250 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1252 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
1255 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1256 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1257 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1258 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1259 * testsuite/23_containers/set/allocator/71964.cc: New test.
1261 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1262 delete[] instead of delete.
1264 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
1266 * include/experimental/propagate_const (propagate_const::__t): Rename
1267 to _M_t and remove comment. Qualify std::move and std::forward.
1268 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1270 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1271 Define sized deallocation function.
1272 * testsuite/util/testsuite_new_operators.h:
1273 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1274 deallocation function.
1276 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1277 reads past the end of strings.
1278 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1280 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1281 invalid array accesses.
1282 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1283 Fix read past the end of string.
1284 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1286 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1287 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1289 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1290 leak) memory for arguments to placement delete.
1291 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1292 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1293 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1296 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
1298 * doc/xml/manual/intro.xml: Document DR 2684 status.
1299 * doc/html/*: Regenerate.
1301 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1302 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1303 (atomic_uint64_t): Define (LWG 2441).
1304 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1306 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1308 * doc/xml/manual/intro.xml: Document DR 2441 status.
1310 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1311 to use perfect forwarding (LWG 2328).
1312 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1313 * doc/xml/manual/intro.xml: Document DR 2328 status.
1315 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1316 static objects for catching nullptr as pointer to member types.
1318 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1320 Clean up optional's comments.
1321 * include/std/optional: Remove incorrect section headers
1322 from comments when redundant, replace bare section
1323 headers with more descriptive comments.
1325 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
1327 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1328 * include/bits/move.h: Likewise.
1329 * include/bits/postypes.h: Likewise.
1330 * include/debug/bitset: Likewise.
1331 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1332 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1334 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1335 * testsuite/util/thread/all.h: Likewise.
1337 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1341 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1342 nullptr match handlers of pointer type.
1344 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1346 Implement C++17 P0025 clamp.
1347 * include/bits/algorithmfwd.h: Declare clamp overloads.
1348 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1349 * testsuite/25_algorithms/clamp/1.cc: New test.
1350 * testsuite/25_algorithms/clamp/2.cc: New test.
1351 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1352 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1354 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1357 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1359 Fix the constraints for any's assignment operator template to properly
1360 reject assignment from a non-copyable lvalue.
1361 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1362 type for is_copy_constructible,
1363 * testsuite/20_util/any/requirements.cc: Add a test for
1364 non-copyable lvalues.
1366 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
1368 * include/experimental/functional: Include <parallel/algorithm> in
1371 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1375 * include/bits/forward_list.h (forward_list): Update doxygen comments
1376 to reflect allocator propagation semantics. Remove ambiguous
1377 statements about data being lost.
1378 * include/bits/stl_deque.h (deque): Likewise.
1379 * include/bits/stl_list.h (list): Likewise.
1380 * include/bits/stl_map.h (map): Likewise.
1381 * include/bits/stl_multimap.h (multimap): Likewise.
1382 * include/bits/stl_multiset.h (multiset): Likewise.
1383 * include/bits/stl_set.h (set): Likewise.
1384 * include/bits/stl_vector.h (vector): Likewise.
1385 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1387 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1390 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1392 Implement P0032R3, Homogeneous interface for variant, any and optional,
1393 for the parts concerning any and optional.
1394 * include/std/any (_Storage()): Make constexpr and have it
1396 (any()): Make constexpr.
1397 (any(const any&)): Adjust.
1398 (any(any&&)): Likewise.
1399 (__any_constructible_t): New.
1400 (any(_ValueType&&)): Constrain.
1401 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1402 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1405 (operator=(const any&)): Likewise.
1406 (operator=(any&&)): Likewise.
1407 (operator=(_ValueType&&)): Constrain.
1408 (emplace(_Args&&...)): New.
1409 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1412 (swap(any&)): Adjust.
1416 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1417 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1418 (make_any(_Args&&...)): Likewise.
1419 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1420 * include/std/optional (in_place_t, in_place): Remove.
1421 (bad_optional_access): Add a comment referring to LEWG 72.
1422 (emplace(_Args&&...)): Constrain.
1424 (reset()): Likewise.
1425 (make_optional(_Args&&...)): Likewise.
1426 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1427 * include/std/utility (in_place_tag): New.
1428 (__in_place, __in_place_type, __in_place_index): Likewise.
1429 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1430 (in_place(__in_place*)): Likewise.
1431 (in_place(__in_place_type<_Tp>*)): Likewise.
1432 (in_place(__in_place_index<_Idx>*)): Likewise.
1433 * testsuite/20_util/any/assign/1.cc: Adjust.
1434 * testsuite/20_util/any/assign/emplace.cc: New.
1435 * testsuite/20_util/any/assign/self.cc: Adjust.
1436 * testsuite/20_util/any/cons/1.cc: Likewise.
1437 * testsuite/20_util/any/cons/in_place.cc: New.
1438 * testsuite/20_util/any/make_any.cc: Likewise.
1439 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1440 * testsuite/20_util/any/misc/swap.cc: Likewise.
1441 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1442 * testsuite/20_util/any/requirements.cc: New.
1443 * testsuite/20_util/in_place/requirements.cc: Likewise.
1444 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1445 * testsuite/20_util/optional/in_place.cc: Likewise.
1446 * testsuite/20_util/optional/make_optional.cc: Add tests for
1447 the new overloads of make_optional.
1449 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1451 Implement P0307R2, Making Optional Greater Equal Again.
1452 * include/experimental/optional (_Has_addressof): Fix the comment.
1453 * include/std/optional (_Has_addressof): Likewise.
1454 (operator=(_Up&&)): Constrain.
1455 (operator=(const optional<_Up>&)): Likewise.
1456 (operator=(optional<_Up>&&)): Likewise.
1457 (__optional_relop_t): New.
1458 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1459 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1460 Constrain and make transparent.
1461 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1462 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1463 Constrain and make transparent.
1464 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1465 (operator>=(const optional<_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>&, _Tp const&)):
1469 Constrain and make transparent.
1470 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1471 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1472 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1473 (operator>(const optional<_Tp>&, const _Tp&)):
1474 Constrain and make transparent.
1475 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1476 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1477 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1478 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1479 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1480 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1481 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1482 * testsuite/20_util/optional/relops/1.cc: Likewise.
1483 * testsuite/20_util/optional/relops/2.cc: Likewise.
1484 * testsuite/20_util/optional/relops/3.cc: Likewise.
1485 * testsuite/20_util/optional/relops/4.cc: Likewise.
1486 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1487 that optional's relops are transparent and don't synthesize
1488 operators. Also test that assignment sfinaes.
1490 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1493 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1494 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1495 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1496 on _GLIBCXX_ASSERTIONS.
1497 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1498 Include <unistd.h> for sleep.
1499 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1500 * include/parallel/merge.h: Likewise.
1501 * include/parallel/multiway_merge.h: Likewise.
1502 * include/parallel/partition.h: Likewise.
1503 * include/parallel/queue.h: Likewise.
1504 * include/parallel/sort.h: Likewise.
1505 * testsuite/25_algorithms/headers/algorithm/
1506 parallel_algorithm_assert.cc: New.
1508 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1509 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1510 Forward to different overload.
1512 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1515 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1517 Revert "Add non-const overload of std::string::data()".
1519 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1521 Implement P0307R2, Making Optional Greater Equal Again.
1522 * include/experimental/optional (_Has_addressof): Fix the comment.
1523 * include/std/optional (_Has_addressof): Likewise.
1524 (operator=(_Up&&)): Constrain.
1525 (operator=(const optional<_Up>&)): Likewise.
1526 (operator=(optional<_Up>&&)): Likewise.
1527 (__optional_relop_t): New.
1528 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1529 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1530 Constrain and make transparent.
1531 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1532 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1533 Constrain and make transparent.
1534 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1535 (operator>=(const optional<_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>&, _Tp const&)):
1539 Constrain and make transparent.
1540 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1541 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1542 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1543 (operator>(const optional<_Tp>&, const _Tp&)):
1544 Constrain and make transparent.
1545 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1546 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1547 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1548 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1549 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1550 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1551 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1552 * testsuite/20_util/optional/relops/1.cc: Likewise.
1553 * testsuite/20_util/optional/relops/2.cc: Likewise.
1554 * testsuite/20_util/optional/relops/3.cc: Likewise.
1555 * testsuite/20_util/optional/relops/4.cc: Likewise.
1556 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1557 that optional's relops are transparent and don't synthesize
1558 operators. Also test that assignment sfinaes.
1560 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1562 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1564 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1565 instead of _M_data().
1566 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1568 (append(const basic_string&)): Likewise.
1569 (append(const basic_string&, size_type, size_type)): Likewise.
1570 (assign(const basic_string&, size_type, size_type)): Likewise.
1571 (insert(size_type, const basic_string&)): Likewise.
1572 (insert(size_type, const basic_string&, size_type, size_type)):
1574 (replace(size_type, size_type, const basic_string&, size_type,
1575 size_type)): Likewise.
1576 (replace(__const_iterator, __const_iterator, const basic_string&)):
1578 (c_str(), data()): Use c_str() instead of _M_data().
1579 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1580 (compare(const basic_string&)): Use data() instead of _M_data().
1581 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1582 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1583 Pass raw pointers to _S_copy.
1584 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1586 (find(const _CharT*, size_type, size_type)): Use data instead of
1588 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1589 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1590 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1592 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
1594 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1595 * doc/xml/manual/intro.xml: Document DR 2458 status.
1596 * doc/html*: Regenerate.
1598 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1599 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1600 Only include <array>.
1601 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1603 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1604 * doc/html*: Regenerate.
1606 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1607 Add testcase from LWG 2164.
1609 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
1611 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1612 to _M_realloc_insert.
1613 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1614 (_M_realloc_insert): Declare new function.
1615 (_M_emplace_back_aux): Remove definition.
1616 * include/bits/vector.tcc (emplace_back(_Args...)):
1617 Use _M_realloc_insert.
1618 (insert(const_iterator, const value_type&)): Likewise.
1619 (_M_insert_rval, _M_emplace_aux): Likewise.
1620 (_M_emplace_back_aux): Remove declaration.
1621 (_M_realloc_insert): Define.
1622 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1623 Adjust expected results for emplacing an lvalue with reallocation.
1625 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1627 Implement std::optional.
1628 * include/Makefile.am: Add optional to exported headers.
1629 * include/Makefile.in: Likewise.
1630 * include/std/optional: New.
1631 * testsuite/20_util/optional/typedefs.cc: Likewise.
1632 * testsuite/20_util/optional/relops/2.cc: Likewise.
1633 * testsuite/20_util/optional/relops/3.cc: Likewise.
1634 * testsuite/20_util/optional/relops/4.cc: Likewise.
1635 * testsuite/20_util/optional/relops/5.cc: Likewise.
1636 * testsuite/20_util/optional/relops/1.cc: Likewise.
1637 * testsuite/20_util/optional/relops/6.cc: Likewise.
1638 * testsuite/20_util/optional/nullopt.cc: Likewise.
1639 * testsuite/20_util/optional/in_place.cc: Likewise.
1640 * testsuite/20_util/optional/make_optional.cc: Likewise.
1641 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1642 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1643 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1644 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1645 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1646 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1647 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1648 * testsuite/20_util/optional/cons/default.cc: Likewise.
1649 * testsuite/20_util/optional/cons/move.cc: Likewise.
1650 * testsuite/20_util/optional/cons/value.cc: Likewise.
1651 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1652 * testsuite/20_util/optional/requirements.cc: Likewise.
1653 * testsuite/20_util/optional/observers/2.cc: Likewise.
1654 * testsuite/20_util/optional/observers/3.cc: Likewise.
1655 * testsuite/20_util/optional/observers/4.cc: Likewise.
1656 * testsuite/20_util/optional/observers/5.cc: Likewise.
1657 * testsuite/20_util/optional/observers/1.cc: Likewise.
1658 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1659 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1660 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1661 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1662 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1663 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1664 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1665 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1666 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1667 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1668 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1669 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1670 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1671 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1672 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1673 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1674 * testsuite/20_util/optional/swap/1.cc: Likewise.
1676 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
1678 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1680 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
1682 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1683 * doc/html/*: Regenerate.
1685 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1688 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1689 * include/Makefile.in: Likewise.
1690 * include/std/any: New.
1691 * testsuite/20_util/any/assign/1.cc: Likewise.
1692 * testsuite/20_util/any/assign/2.cc: Likewise.
1693 * testsuite/20_util/any/assign/self.cc: Likewise.
1694 * testsuite/20_util/any/cons/1.cc: Likewise.
1695 * testsuite/20_util/any/cons/2.cc: Likewise.
1696 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1697 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1698 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1699 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1700 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1701 * testsuite/20_util/any/misc/swap.cc: Likewise.
1702 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1703 * testsuite/20_util/any/observers/type.cc: Likewise.
1704 * testsuite/20_util/any/typedefs.cc: Likewise.
1706 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1708 Add a new header for diagnosing the use of C++17 facilities
1710 * include/bits/c++17_warning.h: New.
1712 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1714 Implement LWG 2451, optional<T> should 'forward' T's
1715 implicit conversions.
1716 * include/experimental/optional (__is_optional_impl, __is_optional):
1718 (optional()): Make constexpr and default.
1719 (optional(_Up&&), optional(const optional<_Up>&),
1720 optional(optional<_Up>&& __t): New.
1721 (operator=(_Up&&)): Constrain.
1722 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1723 * testsuite/experimental/optional/cons/value.cc:
1724 Add tests for the functionality added by LWG 2451.
1725 * testsuite/experimental/optional/cons/value_neg.cc: New.
1727 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1730 any_cast doesn't work with rvalue reference targets and cannot
1731 move with a value target.
1732 * include/experimental/any (any(_ValueType&&)): Constrain and
1733 add an overload that doesn't forward.
1734 (any_cast(any&&)): Constrain and add an overload that moves.
1735 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1736 the functionality added by LWG 2509.
1738 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
1740 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1742 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1745 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
1747 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1748 Define inline. Forward to _M_emplace_aux.
1749 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1750 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1751 (_Temporary_value): New RAII type using allocator to construct/destroy.
1752 (_S_insert_aux_assign): Remove.
1753 (_M_insert_aux): Make non-variadic.
1754 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1755 Use _Temporary_value.
1756 (emplace(const_iterator, _Args&&...)): Remove definition.
1757 (_M_insert_rval, _M_emplace_aux): Define.
1758 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1759 (_M_fill_insert): Use _Temporary_value.
1760 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1761 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1762 Adjust expected results for emplacing an lvalue with reallocation.
1763 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1764 expected results to account for construction/destruction of temporary
1766 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1768 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1771 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1772 Call remove_all for children of a directory.
1773 * testsuite/experimental/filesystem/operations/create_directories.cc:
1776 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
1778 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1779 dg-error line numbers.
1780 * testsuite/23_containers/array/tuple_interface/
1781 tuple_element_debug_neg.cc: Likewise.
1782 * testsuite/25_algorithms/lexicographical_compare/debug/
1783 irreflexive_neg.cc: Remove.
1785 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1787 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1788 than specific target.
1790 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
1793 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1796 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
1798 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1801 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1803 * configure.host: Remove mep-* support.
1805 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1807 * configure: Regenerate.
1808 * configure.host: Remove support for knetbsd.
1809 * crossconfig.m4: Likewise.
1811 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
1814 * include/tr1/hashtable_policy.h
1815 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1816 dereferenceable to avoid check on lower_bound result.
1817 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1818 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1819 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1820 Always return a value greater than input value. Set _M_next_resize to
1821 max value when reaching highest prime number.
1822 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1824 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1825 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1827 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1828 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1831 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1834 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1835 Remove irreflexive checks.
1836 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1837 binary_search): Likewise.
1838 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1839 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1840 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1841 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1842 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1843 Add constructor from array.
1845 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
1847 * include/debug/debug.h
1848 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1849 (__glibcxx_requires_subscript): Move...
1850 * include/debug/assertions.h: ...here and add __builtin_expect.
1851 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1852 * include/bits/stl_deque.h
1853 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1854 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1855 (std::deque<>::back()): Likewise.
1856 (std::deque<>::pop_front()): Likewise.
1857 (std::deque<>::pop_back()): Likewise.
1858 (std::deque<>::swap(deque&)): Add allocator check.
1859 * include/bits/stl_vector.h
1860 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1861 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1862 (std::vector<>::back()): Likewise.
1863 (std::vector<>::pop_back()): Likewise.
1864 (std::vector<>::swap(vector&)): Add allocator check.
1866 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1868 Provide swappable traits (p0185r1)
1869 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1870 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1871 is_nothrow_swappable_v, is_swappable_with_v,
1872 is_nothrow_swappable_with_v): New.
1873 * include/bits/stl_pair.h: Use it as per p0185r1.
1874 * include/bits/stl_queue.h: Likewise.
1875 * include/bits/stl_stack.h: Likewise.
1876 * include/bits/unique_ptr.h: Likewise.
1877 * include/std/tuple: Likewise.
1878 * include/std/array: Likewise. Fix zero-size member swap.
1879 * include/bits/hashtable.h: Use __and_.
1880 * testsuite/20_util/is_nothrow_swappable/requirements/
1881 explicit_instantiation.cc: Change test options to std=gnu++17.
1882 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1884 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1885 * testsuite/20_util/is_swappable/requirements/
1886 explicit_instantiation.cc: Likewise.
1887 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1888 * testsuite/20_util/is_swappable/value.cc: Likewise.
1889 * testsuite/20_util/is_nothrow_swappable/requirements/
1890 explicit_instantiation_ext.cc: New.
1891 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1893 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1894 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1895 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1896 explicit_instantiation.cc: New.
1897 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1899 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1900 * testsuite/20_util/is_swappable/requirements/
1901 explicit_instantiation_ext.cc: New.
1902 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1903 * testsuite/20_util/is_swappable/value.h: New.
1904 * testsuite/20_util/is_swappable/value_ext.cc: New.
1905 * testsuite/20_util/is_swappable_with/requirements/
1906 explicit_instantiation.cc: New.
1907 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1908 * testsuite/20_util/is_swappable_with/value.cc: New.
1909 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1910 dg-error line numbers.
1911 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1914 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
1916 * include/std/array: Remove trailing whitespace.
1917 * include/std/atomic: Likewise.
1918 * include/std/bitset: Likewise.
1919 * include/std/chrono: Likewise.
1920 * include/std/complex: Likewise.
1921 * include/std/condition_variable: Likewise.
1922 * include/std/fstream: Likewise.
1923 * include/std/functional: Likewise.
1924 * include/std/future: Likewise.
1925 * include/std/iomanip: Likewise.
1926 * include/std/iosfwd: Likewise.
1927 * include/std/istream: Likewise.
1928 * include/std/limits: Likewise.
1929 * include/std/ratio: Likewise.
1930 * include/std/scoped_allocator: Likewise.
1931 * include/std/sstream: Likewise.
1932 * include/std/stdexcept: Likewise.
1933 * include/std/string: Likewise.
1934 * include/std/system_error: Likewise.
1935 * include/std/thread: Likewise.
1936 * include/std/tuple: Likewise.
1937 * include/std/type_traits: Likewise.
1938 * include/std/utility: Likewise.
1939 * include/std/valarray: Likewise.
1940 * include/std/vector: Likewise.
1942 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1943 new overloaded functions.
1944 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1945 to avoid creating a redundant temporary.
1946 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1949 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
1951 * include/bits/stl_deque.h
1952 (std::deque<>::operator=): Call _M_assign_aux.
1953 (std::deque<>::assign(initializer_list<>)): Likewise.
1954 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1955 (std::deque<>::insert(const_iterator, initializer_list<>)):
1956 Call _M_range_insert_aux.
1957 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
1959 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
1960 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
1961 * include/bits/deque.tcc
1962 (std::deque<>::operator=): Call _M_range_insert_aux.
1963 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
1965 * include/bits/stl_vector.h
1966 (std::vector<>::operator=): Call _M_assign_aux.
1967 (std::vector<>::assign(initializer_list<>)): Likewise.
1968 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
1969 (std::vector<>::insert(const_iterator, initializer_list<>)):
1970 Call _M_range_insert.
1971 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
1973 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
1975 * include/std/tuple (_Head_base<>): Default specialization condition at
1978 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1980 Support allocators in tuples of zero size.
1981 * include/std/tuple (tuple<>::tuple(),
1982 tuple<>::tuple(allocator_arg_t, const _Alloc&),
1983 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
1984 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
1986 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
1989 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
1990 Add or remove permissions according to perms argument.
1991 * testsuite/experimental/filesystem/operations/permissions.cc: New
1994 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1996 Protect allocator-overloads of tuple-from-tuple constructors
1997 from cases that would create dangling references.
1998 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
1999 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2000 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2001 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2003 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2005 * doc/xml/manual/backwards_compatibility.xml: Adjust
2006 lists.debian.org link to https.
2007 * doc/html/manual/backwards.html: Regenerate.
2009 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
2011 * doc/xml/manual/abi.xml: Adjust URL to use https.
2012 * doc/html/manual/*: Regenerate.
2014 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2017 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2018 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2019 check for _NotSameTuple.
2020 * include/std/tuple (_TMCT): New.
2021 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2022 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2023 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2024 const tuple<_UElements...>&)): Likewise.
2025 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2026 tuple<_UElements...>&&)): Likewise.
2027 * testsuite/20_util/tuple/cons/66338.cc: New.
2029 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
2031 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2032 * configure: Regenerate.
2033 * config.h.in: Regenerate.
2035 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2036 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2037 Remove const qualification on function. Replace
2038 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2039 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2040 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2042 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
2044 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2045 * include/bits/hashtable_policy.h
2046 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2047 having load factor management.
2048 (_Mask_range_hashing): New.
2050 (_Power2_rehash_policy): New.
2051 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2052 partial specializations only depend on whether iterators are constant
2054 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2055 test new hash policy.
2056 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2058 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2060 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2062 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2064 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2066 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2067 using the new hash policy.
2068 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2070 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
2072 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2074 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
2076 * include/debug/safe_iterator.h
2077 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2079 * include/debug/safe_local_iterator.h
2080 (_Safe_local_iterator<>::operator->()): Likewise.
2082 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2084 * testsuite/experimental/memory_resource/1.cc: Add required argument
2085 to dg-require-atomic-builtins.
2087 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
2090 * include/debug/bitset: Add #pragma GCC system_header.
2091 * include/debug/deque: Likewise.
2092 * include/debug/list: Likewise.
2093 * include/debug/map: Likewise.
2094 * include/debug/set: Likewise.
2095 * include/debug/string: Likewise.
2096 * include/debug/unordered_map: Likewise.
2097 * include/debug/unordered_set: Likewise.
2098 * include/debug/vector: Likewise.
2099 * include/debug/functions.h: Adjust whitespace.
2101 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
2104 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2106 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
2109 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2110 exception constructors with __sso_string parameters.
2112 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
2114 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2115 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2116 Test begin and end functions.
2117 * testsuite/experimental/filesystem/iterators/
2118 recursive_directory_iterator.cc: Likewise.
2121 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2122 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2124 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2125 Overload operator* to move from rvalues.
2128 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2129 * testsuite/experimental/filesystem/operations/create_directory.cc:
2133 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2134 base path to exception.
2135 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2136 paths contained in exception.
2138 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2142 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2144 (directory_iterator::operator++(int)): Return proxy.
2145 (recursive_directory_iterator::operator++(int)): Likewise.
2146 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2147 Test post-increment.
2148 * testsuite/experimental/filesystem/iterators/
2149 recursive_directory_iterator.cc: Likewise.
2151 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2154 * testsuite/experimental/filesystem/iterators/
2155 recursive_directory_iterator.cc: Fix test02 to not call member
2156 functions on invalid iterator, and use VERIFY not assert.
2158 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2160 Avoid endless run-time recursion for copying single-element
2161 tuples where the element type is by-value constructible
2163 * include/std/tuple (_NotSameTuple): New.
2164 * include/std/tuple (tuple(_UElements&&...): Use it.
2165 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2167 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2170 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2171 Initialize scalar member variables in default constructor.
2172 * testsuite/experimental/filesystem/iterators/
2173 recursive_directory_iterator.cc: Test default construction.
2175 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2177 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2179 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
2181 * testsuite/experimental/filesystem/path/native/string.cc: Add
2182 dg-require-filesystem-ts directive.
2184 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
2187 * include/experimental/memory_resource
2188 (__resource_adaptor_imp::do_allocate): Do not default-construct
2190 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2191 allocator_traits to get pointer type.
2192 (__null_memory_resource::do_allocate): Remove unused parameters.
2193 (__null_memory_resource::do_deallocate): Likewise.
2194 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2195 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2196 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2198 * testsuite/experimental/memory_resource/1.cc: Here.
2199 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2200 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2202 2016-04-29 Chris Gregory <czipperz@gmail.com>
2204 * config/*: Remove trailing whitespace.
2206 * testsuite/tr1/*: Likewise.
2207 * testsuite/util/*: Likewise.
2209 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
2212 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2214 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2216 * include/std/atomic (atomic<_Tp>): Likewise.
2217 * include/std/shared_mutex (shared_lock): Likewise.
2218 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2219 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2220 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2221 * testsuite/29_atomics/atomic/70766.cc: New test.
2222 * testsuite/30_threads/shared_lock/70766.cc: New test.
2224 * include/bits/hashtable_policy.h (__detail::_Insert_base,
2225 __detail::_Insert): Improve comments.
2227 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
2230 * include/std/limits: Update comments about DRs.
2231 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2232 numeric_limits<const volatile _Tp>): Define unconditionally.
2234 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
2237 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2238 static counter to return a different path on every call.
2240 2016-04-22 Tim Shen <timshen@google.com>
2243 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2244 Fix the match_not_bow and match_not_eow behavior.
2245 * testsuite/28_regex/regression.cc: Add testcase.
2247 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
2250 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2251 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2253 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
2256 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
2257 Override endianness bit in mode.
2258 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2259 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2260 that little_endian mode is ignored.
2261 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2264 * src/filesystem/ops.cc (close_fd): New function.
2265 (do_copy_file): Set permissions before copying file contents. Check
2266 result of closing file descriptors. Don't copy streambuf when file
2268 (copy(const path&, const path&, copy_options, error_code&)): Use
2269 lstat for source file when copy_symlinks is set.
2270 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2272 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2273 operator~ operator&=, operator|=, operator^=): Add noexcept to
2274 overloaded operators for copy_options, perms and directory_options.
2275 * src/filesystem/ops.cc (make_file_type, make_file_status,
2276 is_not_found_errno, file_time): Add noexcept.
2278 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2280 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2282 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
2285 * include/bits/random.h: Reword static assertion messages to state
2286 positive conditions.
2287 * include/bits/random.tcc: Likewise.
2288 * include/bits/uniform_int_dist.h: Likewise.
2289 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2292 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2294 * config/cpu/sh/atomicity.h: Fix typo in comment.
2297 * include/std/thread (operator<, operator==): Move definitions to
2299 * testsuite/30_threads/thread/id/70294.cc: New test.
2301 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2302 -Wno-pedantic to dg-options.
2303 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2304 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2306 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2307 Remove extra semi-colon.
2308 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2309 Always supply second argument to static_assert.
2310 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2312 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2314 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2315 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2316 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2317 alignof when operand is an object not a type.
2318 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2319 * testsuite/decimal/make-decimal.cc: Likewise.
2320 * testsuite/experimental/type_traits/value.cc: Always supply second
2321 argument to static_assert.
2322 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2325 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2327 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2328 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2329 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2330 Likewise. Add licence and change to compile-only test.
2332 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2334 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2336 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2339 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2341 * include/bits/specfun.h: Trivial comment misspelling.
2343 2016-04-14 Jason Merrill <jason@redhat.com>
2345 Revert Jonathan's empty ABI change from yesterday.
2347 2016-04-13 Martin Sebor <msebor@redhat.com>
2350 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2351 upper bound is positive.
2353 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
2355 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2356 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2357 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2358 of functions taking empty structs by value. Add a template parameter
2359 to overloads without hints. Rename overloads with hints to
2361 (_Hashtable::_M_erase(true_type, const_iterator),
2362 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2363 by reordering parameters.
2364 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2365 _M_emplace_hint instead of _M_emplace.
2366 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2367 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2368 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2369 __shared_ptr): Likewise.
2370 * include/bits/stl_algo.h (replace_if): Likewise.
2371 * include/bits/stl_pair.h (piecewise_construct_t,
2372 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2373 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2374 __uses_alloc0): Likewise.
2375 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2376 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2377 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2378 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2379 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2380 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2381 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2383 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2385 Document C++17/TR29124 C++ Special Math Functions.
2386 * include/bits/specfun.h: Add Doxygen markup.
2388 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
2390 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2392 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2394 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2395 * src/Makefile.in: Regenerate.
2397 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2400 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2401 __atomic_fetch_add for bool.
2402 * configure: Regenerate.
2404 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2407 * src/c++11/thread.cc (execute_native_thread_routine,
2408 execute_native_thread_routine_compat): Give internal linkage.
2409 * testsuite/30_threads/thread/70503.cc: New test.
2411 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2414 * include/bits/stl_pair.h (_ConstructiblePair,
2415 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2416 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2417 for same-type cases.
2418 * testsuite/20_util/pair/70437.cc: New.
2420 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2423 * config/abi/pre/gnu.ver: Add new symbol.
2424 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2425 * testsuite/18_support/free_eh_pool.cc: New test.
2427 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2429 * include/Makefile.am (install-freestanding-headers): Add
2430 concept_check.h and move.h to the installed headers.
2431 * include/Makefile.in: Regenerated.
2432 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2433 freestanding implementations.
2434 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2435 that this macro has no effect for freestanding implementations.
2436 * doc/html/manual/using_macros.html: Likewise.
2438 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2441 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2443 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2445 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2446 * doc/html/*: Regenerate.
2449 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2450 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2451 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2452 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2453 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2454 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2455 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2457 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2458 namespace before including TR1 headers.
2459 * testsuite/tr1/headers/c++200x/math.cc: New test.
2461 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2464 * include/c_global/cstdarg: Undefine __need___va_list.
2465 * include/c_global/cstddef: Undefine all kinds of __need_*.
2467 2016-02-16 Tim Shen <timshen@google.com>
2470 * include/bits/regex_scanner.h: Add different special character
2471 sets for grep and egrep regex.
2472 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2473 * testsuite/28_regex/regression.cc: Add new testcase.
2475 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2477 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2478 added 'constexpr' in previous commit.
2479 * configure: Regenerate.
2482 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2483 checks for all targets except *-*-solaris2.* and ensure we find the
2484 libc math.h header not our own.
2485 * configure: Regenerate.
2487 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2489 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2490 New file. Copied over from s390-linux-gnu.
2492 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2495 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2496 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2497 * config.h.in: Regenerate.
2498 * configure: Regenerate.
2499 * testsuite/21_strings/c_strings/char/69626.cc: New.
2501 * doc/html/index.html: Regenerate.
2503 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2504 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2505 * doc/html/*: Regenerate.
2507 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2510 * include/c_compatibility/math.h: Move header guards.
2511 * include/c_compatibility/stdlib.h: Likewise.
2513 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2516 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2518 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2521 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2522 isinf and isnan functions into two independent checks. Check on hpux.
2523 * config.h.in: Regenerate.
2524 * configure: Regenerate.
2525 * include/c_global/cmath (isinf(double), isnan(double)): Use
2526 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2529 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2531 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2533 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2536 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2537 -ffp-contract=off, and -ffloat-store to disable excess precision.
2538 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2541 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2544 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2545 random_access_iterator_tag>): Check is_move_assignable when moving.
2546 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2548 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2549 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2550 * testsuite/25_algorithms/move/69478.cc: New.
2551 * testsuite/25_algorithms/move_backward/69478.cc: new.
2553 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2555 * include/c_compatibility/stdlib.h: Include wide character related
2556 definitions only when they are available in cstdlib.
2558 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2561 * include/Makefile.am: Add new header.
2562 * include/Makefile.in: Regenerate.
2563 * include/bits/random.h (uniform_int_distribution): Move to
2564 bits/uniform_int_dist.h.
2565 * include/bits/random.tcc (uniform_int_distribution::operator(),
2566 uniform_int_distribution::__generate_impl): Likewise.
2567 * include/bits/uniform_int_dist.h: New header.
2568 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2569 <bits/uniform_int_dist.h> instead of <random>.
2570 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2571 move_iterators/1.cc: Include correct header for uninitialized_copy.
2572 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2573 move_iterators/1.cc: Likewise.
2574 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2576 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2578 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
2581 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2583 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2585 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2586 * include/c_compatibility/math.h: Import the TR29124 functions
2587 into the global namespace.
2588 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2589 xfail and make compile-only.
2590 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2591 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2592 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2593 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2594 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2595 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2596 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2597 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2598 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2599 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2600 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2601 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2602 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2603 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2604 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2605 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2606 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2607 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2608 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2609 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2611 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2614 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2615 define result_type for types which can be safely used with valarrays.
2616 * testsuite/26_numerics/valarray/69116.cc: New.
2619 * config/os/gnu-linux/os_defines.h: Define
2620 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2621 * include/c_global/cmath (isinf, isnan): Check it.
2622 * doc/xml/manual/internals.xml: Document it.
2623 * doc/html/*: Regenerate.
2625 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2628 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2629 * include/ext/type_traits.h: Likewise.
2630 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2631 for presence of C headers.
2632 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2633 dg-error line number.
2634 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2635 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2636 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2638 2016-01-20 Torvald Riegel <triegel@redhat.com>
2641 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2643 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2646 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2647 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2648 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2649 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2650 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2651 Add using declarations.
2652 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2655 * include/c_global/ccomplex: Ensure C++ language linkage.
2656 * include/c_global/cmath: Likewise.
2657 * include/c_global/cstdlib: Likewise.
2658 * include/c_global/ctgmath: Likewise.
2659 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2661 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
2665 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2666 --enable-cheaders=c_global configs.
2667 * include/Makefile.in: Regenerate.
2668 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2669 test and allow inclusion from C files.
2670 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2671 (at_quick_exit, quick_exit): Add using directives.
2672 * include/c_global/cmath: Use #include_next for math.h.
2673 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2674 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2675 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2676 Remove xfail for most targets.
2677 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2679 2016-01-18 Torvald Riegel <triegel@redhat.com>
2681 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2682 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2683 and move after its definition.
2684 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2685 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2686 __GXX_WEAK__, and only provide transactional clones if
2687 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2690 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2693 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2696 * include/std/functional (_Function_base::_M_not_empty_function):
2697 Change overloads for pointers to take arguments by value.
2698 * testsuite/20_util/function/cons/57465.cc: Add tests for
2699 pointer-to-member cases.
2702 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2703 Use macros for exception handling and fix unused parameter warning.
2705 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
2708 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2710 2016-01-17 Torvald Riegel <triegel@redhat.com>
2712 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2714 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2716 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2719 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2722 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2723 static assertion that type is constructible from the arguments.
2724 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2725 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2726 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2729 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2730 and isnan on AIX. Quote variables.
2731 * configure: Regenerate.
2733 2016-01-15 Torvald Riegel <triegel@redhat.com>
2735 * include/bits/basic_string.h (basic_string): Declare friends.
2736 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2737 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2738 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2739 length_error, out_of_range, runtime_error, range_error,
2740 underflow_error, overflow_error): Declare members as transaction-safe.
2741 (logic_error, runtime_error): Declare friend functions.
2742 * libsupc++/exception (exception, bad_exception): Declare members as
2744 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2745 transaction-safe members of exceptions and helper functions.
2746 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2747 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2748 (CXXABI_1.3.10): New.
2749 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2750 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2751 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2752 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2753 * include/Makefile.in: Regenerate.
2754 * config.h.in: Regenerate.
2755 * configure: Regenerate.
2756 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2758 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
2760 * include/ext/random.tcc: Use __builtin_isfinite instead of
2763 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2765 * include/bits/std_mutex.h: Fix Doxygen @file name.
2767 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2768 Jonathan Wakely <jwakely@redhat.com>
2769 Florian Goth <CaptainSifff@gmx.de>
2771 Implement TR29124 C++ special Math Functions.
2772 * include/Makefile.am: Add new headers.
2773 * include/Makefile.in: Regenerate.
2774 * include/bits/specfun.h: New.
2775 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2776 * include/tr1/bessel_function.tcc: Ditto.
2777 * include/tr1/beta_function.tcc: Ditto.
2778 * include/tr1/cmath: Ditto.
2779 * include/tr1/ell_integral.tcc: Ditto.
2780 * include/tr1/exp_integral.tcc: Ditto.
2781 * include/tr1/gamma.tcc: Ditto.
2782 * include/tr1/hypergeometric.tcc: Ditto.
2783 * include/tr1/legendre_function.tcc: Ditto.
2784 * include/tr1/modified_bessel_func.tcc: Ditto.
2785 * include/tr1/poly_hermite.tcc: Ditto.
2786 * include/tr1/poly_laguerre.tcc: Ditto.
2787 * include/tr1/riemann_zeta.tcc: Ditto.
2788 * include/tr1/special_function_util.h: Ditto.
2789 * testsuite/ext/special_functions/conf_hyperg: New.
2790 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2791 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2792 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2793 * testsuite/ext/special_functions/hyperg: New.
2794 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2795 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2796 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2797 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2798 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2799 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2800 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2801 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2802 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2803 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2804 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2805 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2806 * testsuite/special_functions/03_beta/check_nan.cc: New.
2807 * testsuite/special_functions/03_beta/check_value.cc: New.
2808 * testsuite/special_functions/03_beta/compile.cc: New.
2809 * testsuite/special_functions/03_beta/compile_2.cc: New.
2810 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2811 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2812 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2813 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2814 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2815 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2816 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2817 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2818 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2819 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2820 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2821 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2822 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2823 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2824 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2825 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2826 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2827 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2828 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2829 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2830 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2831 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2832 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2833 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2834 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2835 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2836 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2837 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2838 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2839 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2840 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2841 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2842 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2843 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2844 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2845 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2846 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2847 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2848 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2849 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2850 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2851 * testsuite/special_functions/14_expint/check_nan.cc: New.
2852 * testsuite/special_functions/14_expint/check_value.cc: New.
2853 * testsuite/special_functions/14_expint/compile.cc: New.
2854 * testsuite/special_functions/14_expint/compile_2.cc: New.
2855 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2856 * testsuite/special_functions/15_hermite/check_value.cc: New.
2857 * testsuite/special_functions/15_hermite/compile.cc: New.
2858 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2859 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2860 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2861 * testsuite/special_functions/16_laguerre/compile.cc: New.
2862 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2863 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2864 * testsuite/special_functions/17_legendre/check_value.cc: New.
2865 * testsuite/special_functions/17_legendre/compile.cc: New.
2866 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2867 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2868 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2869 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2870 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2871 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2872 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2873 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2874 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2875 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2876 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2877 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2878 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2879 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2880 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2881 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2882 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2883 * testsuite/util/specfun_testcase.h: New.
2884 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2885 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2886 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2887 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2888 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2889 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2890 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2892 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
2895 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2896 and isnan functions.
2897 * config.h.in: Regenerate.
2898 * configure: Regenerate.
2899 * include/c_global/cmath (isinf(double), isnan(double))
2900 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2901 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2903 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2906 * configure.host (abi_baseline_pair): Use separate baseline for
2907 Solaris 11+ and Solaris 10 with gld.
2908 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2909 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2910 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2912 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2915 * include/std/type_traits: Following N4511, reimplement __is_swappable
2916 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2917 adjust callers. Use __is_nothrow_swappable in swap.
2918 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2919 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2920 __is_swappable related tests.
2921 * testsuite/20_util/is_swappable/value.cc: New.
2922 * testsuite/20_util/is_swappable/requirements/
2923 explicit_instantiation.cc: New.
2924 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2925 * testsuite/25_algorithms/swap/68877.cc: New.
2927 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2929 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2933 * include/std/functional (function::_Invoke): Remove, use result_of.
2934 (function::_Callable): Replace alias template with class template
2935 and use partial specialization instead of _NotSelf alias template.
2936 (function(_Functor)): Add "not self" constraint so that _Callable is
2937 not used while type is incomplete.
2938 * testsuite/20_util/function/69222.cc: New.
2940 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2943 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2944 Define partial specialization.
2945 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2946 destroy members to std::allocator explicit specialization.
2948 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2950 * testsuite/26_numerics/headers/cmath/
2951 c99_classification_macros_c++.cc: Rename to ...
2952 * testsuite/26_numerics/headers/cmath/
2953 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
2954 * testsuite/26_numerics/headers/cmath/
2955 c99_classification_macros_c++0x.cc: Rename to ...
2956 * testsuite/26_numerics/headers/cmath/
2957 c99_classification_macros_c++11.cc: Here.
2960 * include/bits/uses_allocator.h: Add missing include.
2962 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
2967 * include/bits/stl_iterator.h (back_insert_iterator,
2968 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
2969 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
2970 * include/std/future (__future::base::_State_baseV2::__setter):
2972 * include/std/scoped_allocator (__outermost): Likewise.
2973 * testsuite/20_util/scoped_allocator/69114.cc: New.
2974 * testsuite/20_util/uses_allocator/69114.cc: New.
2975 * testsuite/30_threads/promise/69106.cc: New.
2977 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
2980 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
2981 Remove _GLIBCXX_NOEXCEPT.
2982 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
2984 * include/Makefile.am: Adjust.
2985 * include/Makefile.in: Regenerate.
2986 * include/bits/mutex.h: Rename to bits/std_mutex.h.
2987 * include/std/condition_variable: Adjust include.
2988 * include/std/mutex: Likewise.
2990 2016-01-04 Jakub Jelinek <jakub@redhat.com>
2992 Update copyright years.
2994 Copyright (C) 2016 Free Software Foundation, Inc.
2996 Copying and distribution of this file, with or without modification,
2997 are permitted in any medium without royalty provided the copyright
2998 notice and this notice are preserved.