1 2016-08-31 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move
5 * testsuite/23_containers/set/move_comparison.cc: New test.
7 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
10 2016-08-30 Ville Voutilainen <ville.voutilainen@gmail.com>
13 * include/std/type_traits (is_constructible): Forward-declare...
14 (__is_base_to_derived_ref): ...and use here.
15 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
16 * testsuite/20_util/is_constructible/77395.cc: New.
17 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
18 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
20 * testsuite/20_util/tuple/77395.cc: New.
22 2016-08-30 Uros Bizjak <ubizjak@gmail.com>
24 * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do run
25 directive above dg-require-namedlocale directive.
26 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto.
27 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto.
28 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto.
29 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto.
30 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto.
32 2016-08-27 Tim Shen <timshen@google.com>
35 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher,
36 _M_expression_term): Modify to support dash literal.
37 * include/bits/regex_scanner.h: Add dash as a token type to make
38 a different from the mandated dash literal by escaping.
39 * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash
40 token in bracket expression parsing.
41 * testsuite/28_regex/regression.cc: Add new testcases.
43 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
46 * doc/xml/manual/intro.xml: Document DR 2127 change.
47 * doc/html/*: Regenerate.
48 * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add.
49 (operator++(), operator++(int)): Use injected class name.
50 * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test.
52 * testsuite/*: Use { target c++11 } or { target c++14 } instead of
53 using -std in dg-options.
55 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
56 Pedro Alves <palves@redhat.com>
58 * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save
59 and restore dg-interpreter-batch-mode.
60 * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use
61 gdb-dg-runtest instead of dg-runtest.
62 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
64 2016-08-26 Jonathan Wakely <jwakely@redhat.com>
66 * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more
67 precise patterns for basic_string constructors.
68 (GLIBCXX_3.4.23): Export new constructors.
69 * doc/xml/manual/intro.xml: Document LWG 2583 status.
70 * doc/html/*: Regenerate.
71 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
72 (basic_string(const basic_string&, size_type, const Alloc&)): Add
73 new constructor for LWG 2583.
74 (basic_string(const basic_string&, size_type, size_type)): Remove
76 [!_GLIBCXX_USE_CXX11_ABI]: Likewise.
77 * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it.
78 * testsuite/21_strings/basic_string/cons/char/8.cc: New test.
79 * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test.
81 2016-08-24 Aditya Kumar <hiraditya@msn.com>
83 * include/bits/algorithmfwd.h: Remove trailing whitespace.
84 * include/bits/shared_ptr_base.h: Likewise.
86 2016-08-23 Jonathan Wakely <jwakely@redhat.com>
88 * include/debug/array (array): Add _GLIBCXX17_CONSTEXPR.
89 * include/profile/array (array): Likewise.
90 (array::swap): Fix exception specification for zero-sized arrays.
93 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions.
94 (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign.
95 * testsuite/23_containers/map/77334.cc: New test.
97 * doc/xml/manual/using.xml: Remove reference to -pthreads option.
98 * doc/html/*: Regenerate.
100 * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile.
101 * testsuite/experimental/feat-lib-fund.cc: Likewise.
104 * include/bits/stl_iterator.h
105 (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only
106 define for C++98 mode.
107 (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define.
108 * testsuite/24_iterators/headers/iterator/synopsis.cc: Use
110 * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test.
111 * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test.
112 * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test.
113 * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test
115 * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test
116 difference operator for C++98.
117 * testsuite/24_iterators/reverse_iterator/71771.cc: New test.
119 * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define.
120 * include/bits/range_access.h (begin, end, rbegin, rend, crbegin)
121 (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0.
122 * include/bits/stl_iterator.h (reverse_iterator, move_iterator)
123 (__make_reverse_iterator, make_reverse_iterator, make_move_iterator):
125 * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add
126 _GLIBCXX14_CONSTEXPR.
127 (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR.
128 * include/std/array (array::begin, array::end, array::rbegin)
129 (array::rend, array::cbegin, array:cend, array::crbegin)
130 (array::crend, array::operator[], array::at, array::front)
131 (array::back, array::data): Likewise.
132 * testsuite/24_iterators/headers/iterator/range_access.cc: Replace
133 with separate tests for C++11, C++14, and C++17.
134 * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New.
135 * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New.
136 * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New.
138 2016-08-22 Tim Shen <timshen@google.com>
140 Split _M_dfs() into smaller functions.
141 * regex_executor.h(_M_handle_repeat, _M_handle_subexpr_begin)
142 (_M_handle_subexpr_end, _M_handle_line_begin_assertion)
143 (_M_handle_line_end_assertion, _M_handle_word_boundary)
144 (_M_handle_subexpr_lookahead, _M_handle_match)
145 (_M_handle_backref, _M_handle_accept, _M_handle_alternative):
146 Add separate function declarations.
147 * regex_executor.tcc: Split _M_dfs() into multiple handler functions.
149 2016-08-22 Gleb Natapov <gleb@scylladb.com>
152 * config/abi/pre/gnu-versioned-namespace.ver: Export
153 __cxa_init_primary_exception and std::exception_ptr(void*).
154 * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and
155 export __cxa_init_primary_exception and std::exception_ptr(void*).
156 * include/Makefile.am: Add new headers.
157 * include/Makefile.in: Regenerate.
158 * libsupc++/Makefile.am: Add new headers.
159 * libsupc++/Makefile.in: Regenerate.
160 * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ...
161 * libsupc++/cxxabi_init_exception.h: New header.
162 (__cxa_init_primary_exception): Declare.
163 * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define.
164 (__cxa_throw): Use __cxa_init_primary_exception.
165 * libsupc++/exception (std::exception): Move to ...
166 * libsupc++/exception.h: New header.
167 * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add
169 (__exception_ptr::__dest_thunk): New function template.
170 (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]:
171 Use __cxa_allocate_exception and __cxa_init_primary_exception to
172 create exception_ptr.
173 * libsupc++/typeinfo: Include bits/exception.h instead of exception.
174 * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version.
176 2016-08-22 Jonathan Wakely <jwakely@redhat.com>
178 * doc/xml/api.xml: Replace hardcoded links for specific versions with
179 link to docs for all releases.
180 * doc/html/*: Regenerate.
183 * doc/xml/manual/intro.xml: Document DR 2062 change.
184 * include/std/functional (function::swap): Add noexcept.
185 (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise.
186 * testsuite/20_util/function/77322.cc: New test.
188 2016-08-19 Jonathan Wakely <jwakely@redhat.com>
190 * testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for
191 *-*-solaris* instead of -pthreads.
192 * testsuite/21_strings/basic_string/pthread4.cc : Likewise.
193 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
194 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
195 * testsuite/23_containers/list/pthread1.cc: Likewise.
196 * testsuite/23_containers/list/pthread5.cc: Likewise.
197 * testsuite/23_containers/map/pthread6.cc: Likewise.
198 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
199 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
200 * testsuite/30_threads/shared_mutex/*: Likewise.
201 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
202 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
203 default_weaktoshared.cc: Likewise.
204 * testsuite/tr1/2_general_utilities/shared_ptr/thread/
205 mutex_weaktoshared.cc: Likewise.
206 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. Use
207 dg-require-effective-target instead of using -std option.
208 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
210 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
211 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
213 * testsuite/30_threads/async/*: Likewise.
214 * testsuite/30_threads/call_once/*: Likewise.
215 * testsuite/30_threads/condition_variable/*: Likewise.
216 * testsuite/30_threads/condition_variable_any/*: Likewise.
217 * testsuite/30_threads/future/*: Likewise.
218 * testsuite/30_threads/lock/*: Likewise.
219 * testsuite/30_threads/mutex/*: Likewise.
220 * testsuite/30_threads/packaged_task/*: Likewise.
221 * testsuite/30_threads/promise/*: Likewise.
222 * testsuite/30_threads/recursive_mutex/*: Likewise.
223 * testsuite/30_threads/recursive_timed_mutex/*: Likewise.
224 * testsuite/30_threads/shared_future/*: Likewise.
225 * testsuite/30_threads/shared_lock/*: Likewise.
226 * testsuite/30_threads/shared_timed_mutex/*: Likewise.
227 * testsuite/30_threads/this_thread/*: Likewise.
228 * testsuite/30_threads/thread/*: Likewise.
229 * testsuite/30_threads/timed_mutex/*: Likewise.
230 * testsuite/30_threads/try_lock/*: Likewise.
231 * testsuite/30_threads/unique_lock/*: Likewise.
233 * doc/xml/manual/status_cxx2017.xml: Update status of not_fn.
234 * doc/html/*: Regenerate.
235 * include/experimental/functional (_Not_fn, not_fn): Match C++17
237 * include/std/functional (_Not_fn, not_fn): Define for C++17.
238 * testsuite/20_util/not_fn/1.cc: New.
239 * testsuite/experimental/functional/not_fn.cc: Test abstract class.
240 Remove test for volatile-qualified wrapper.
242 * include/std/atomic (atomic::is_always_lock_free): Define.
243 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
244 * testsuite/29_atomics/atomic/is_always_lock_free.cc: New.
245 * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New.
246 * doc/xml/manual/status_cxx2017.xml: Update status.
247 * doc/html/*: Regenerate.
249 * include/experimental/tuple (apply): Qualify call to __apply_impl.
250 * include/std/tuple (apply): Likewise.
251 * testsuite/experimental/system_error/value.cc: Fix ambiguities in
253 * testsuite/experimental/tuple/tuple_size.cc: Likewise.
254 * testsuite/experimental/type_traits/value.cc: Likewise.
256 * doc/xml/manual/status_cxx2017.xml: Update status of make_from_tuple
258 * doc/html/*: Regenerate.
260 2016-08-18 Ville Voutilainen <ville.voutilainen@gmail.com>
262 Implement the latest proposed resolution of LWG 2756.
263 * include/std/optional (Optional_base(const _Tp&))
264 (Optional_base(_Tp&&), using _Base::_Base): Remove.
265 (optional(nullopt_t)): New.
266 (optional(_Up&&)): Invoke base directly with in_place
267 rather than creating a temporary, add default template
268 argument, change constraints.
269 (optional(const optional<_Up>&)): Invoke base directly
270 with in_place, remove unnecessary constraints.
271 (optional(optional<_Up>&& __t)): Likewise.
272 (optional(in_place_t, _Args&&...)): New.
273 (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise.
274 (operator=(_Up&&)): Add default template argument, change constraints.
275 (operator=(const optional<_Up>&)): Put is_same first in the
277 (operator=(optional<_Up>&&)): Likewise.
278 * testsuite/20_util/optional/assignment/5.cc: Add a test to
279 verify assignment from something that can't be perfect-forwarded.
280 * testsuite/20_util/optional/cons/value.cc: Add tests to verify
281 that a nested optional is disengaged when constructed
282 from a disengaged element type, and to verify that assignments
283 from an engaged element type engage the optional.
285 2016-08-18 Tim Shen <timshen@google.com>
289 * include/Makefile.am: Add new file std/variant.
290 * include/Makefile.in: Generated from Makefile.am.
291 * include/bits/enable_special_members.h: Add a tag type to allow
292 the construction in non-default constructor.
293 * include/bits/uses_allocator.h: Add convenience traits to
294 detect constructibility.
295 * include/std/variant: Implement <variant>.
296 * testsuite/20_util/variant/compile.cc: Compile-time tests.
297 * testsuite/20_util/variant/run.cc: Runtime tests.
299 2016-08-18 Jonathan Wakely <jwakely@redhat.com>
301 * doc/xml/manual/test.xml (test.run.permutations): Expand section.
302 (test.new_tests): Rewrite section.
303 (tests.dg.directives): New section.
304 * doc/html/*: Regenerate.
306 * doc/xml/manual/test.xml: Improve documentation of test targets.
307 Document new-abi-baseline, check-debug, and check-parallel targets.
309 * doc/xml/manual/build_hacking.xml: New section on shared library
312 * doc/xml/manual/build_hacking.xml: Improve markup.
313 * doc/xml/manual/test.xml: Likewise. Change section title from "Test"
315 * doc/xml/faq.xml: Change link text to "Testing".
317 * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended
318 dg-options directive.
320 2016-08-17 Jonathan Wakely <jwakely@redhat.com>
322 * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do
323 directive and use effective target instead of dg-options.
325 * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target
326 instead of -std in dg-options.
327 * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise.
328 * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise.
329 * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise.
330 * testsuite/20_util/hash/quality.cc: Likewise.
331 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
332 * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
333 * testsuite/25_algorithms/nth_element/random_test.cc: Likewise.
334 * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
335 * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
336 * testsuite/25_algorithms/sort/random_test.cc: Likewise.
338 * testsuite/20_util/tuple/67844.cc: Require c++11 effective target.
339 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise.
340 * testsuite/27_io/rvalue_streams.cc: Likewise.
342 * testsuite/26_numerics/complex/literals/types.cc: Add comment.
344 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
345 Remove duplicate dg-options directive.
347 * testsuite/ext/profile/all.cc: Use effective target instead of
348 -std=gnu++11. Use dg-additional-options instead of repeating options.
350 * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of
351 -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output
352 instead of dg-excess-errors.
354 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable
356 * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17.
357 * testsuite/experimental/ratio/value.cc: Likewise.
358 * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for
360 * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
361 * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
362 * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
363 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
364 * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
365 * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
366 * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
367 * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
368 * testsuite/tr1/5_numerical_facilities/special_functions/
369 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for
372 * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust
373 expected signatures for C++14 compatibility.
376 * include/bits/basic_string.h (operator=(__sv_type)
377 (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type))
378 (replace(size_type, size_type, __sv_type))
379 (replace(const_iterator, const_iterator, __sv_type))
380 (find(__sv_type, size_type), rfind(__sv_type, size_type))
381 (compare(size_type, size_type, __sv_type)): Reformat.
382 (_If_sv): Define helper for SFINAE constaints.
383 (append(const _Tp&, size_type, size_type))
384 (assign(const _Tp&, size_type, size_type))
385 (insert(size_type, const _Tp&, size_type, size_type))
386 (replace(size_type, size_type, const _Tp&, size_type, size_type)):
388 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test
390 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
392 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
394 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
396 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
398 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
400 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
402 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
404 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
406 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
408 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
411 2016-08-16 Jonathan Wakely <jwakely@redhat.com>
414 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero
415 pointers to start and end of storage.
416 * testsuite/23_containers/vector/bool/72847.cc: New test.
417 * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update
418 _M_finish after deallocating.
419 (vector<bool>::_M_fill_insert): Likewise.
420 (vector<bool>::_M_insert_range): Likewise.
421 (vector<bool>::_M_insert_aux): Likewise.
423 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
425 Implement LWG 2744 and LWG 2754.
426 * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type.
427 (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay.
428 (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)):
430 (emplace(_Args&&...)): Likewise.
431 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
432 * include/std/utility: (__is_in_place_type_impl): New.
433 (__is_in_place_type): Likewise.
434 * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying
436 * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying
437 in_place constructor.
438 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
439 * testsuite/20_util/any/requirements.cc: Add a test for
440 in_place-constructing a non-default-constructible type.
442 2016-08-15 Ville Voutilainen <ville.voutilainen@gmail.com>
444 Add a feature macro for C++17 make_from_tuple.
445 * include/std/tuple (__cpp_lib_make_from_tuple): New.
446 (__make_from_tuple_impl(_Tuple&&, index_sequence<_Idx...>)):
447 Qualify the call to get<>().
448 * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust.
450 2016-08-15 Uros Bizjak <ubizjak@gmail.com>
452 * src/filesystem/ops.cc: Always include ostream and
454 (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined.
455 [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case
456 sendfile fails with ENOSYS or EINVAL.
458 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
461 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error
464 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
466 Implement C++17 make_from_tuple.
467 * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New.
468 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
470 2016-08-11 Ville Voutilainen <ville.voutilainen@gmail.com>
473 * include/bits/basic_string.h
474 (append(__sv_type, size_type, size_type)): Turn into a template,
475 change parameter type, constrain, add a conversion to __sv_type
476 from the dependent parameter type.
477 (assign(__sv_type, size_type, size_type)): Likewise.
478 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
479 (replace(size_type, size_type, __sv_type, size_type, size_type)):
481 (compare(size_type, size_type,__sv_type, size_type, size_type)):
483 * testsuite/21_strings/basic_string/lwg2758.cc: New.
485 2016-08-06 Jonathan Wakely <jwakely@redhat.com>
487 * doc/xml/manual/status_cxx2017.xml: Update status table.
488 * doc/html/manual/status.html: Regenerate.
490 * testsuite/lib/libstdc++.exp: Fix typo in comment.
493 * include/std/functional (_Function_base::_Base_manager::_M_clone):
494 Qualify new operator.
495 * testsuite/20_util/function/cons/72820.cc: New test.
497 * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features.
498 * doc/html/manual/status.html: Regenerate.
499 * include/Makefile.am: Add new header.
500 * include/Makefile.in: Regenerate.
501 * include/bits/invoke.h: New header.
502 (__invoke): Make constexpr. Add && to types in exception specification.
503 * include/experimental/tuple (apply, __apply_impl): Fix non-reserved
504 names. Include <bits/invoke.h> and use std::__invoke.
505 * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to
507 (invoke): Add && to types in exception specification.
508 * include/std/tuple (apply, __apply_impl): Define for C++17.
509 * testsuite/20_util/tuple/apply/1.cc: New test.
510 * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error
513 2016-08-05 Jonathan Wakely <jwakely@redhat.com>
515 * doc/xml/manual/status_cxx2017.xml: Correct shared_from_this status.
516 * doc/html/manual/status.html: Regenerate.
518 * include/std/chrono (floor, ceil, round, abs): New for C++17.
519 * testsuite/20_util/duration_cast/rounding.cc: New test.
520 * testsuite/20_util/time_point_cast/rounding.cc: New test.
521 * doc/xml/manual/status_cxx2017.xml: Update status table.
522 * doc/html/manual/status.html: Regenerate.
523 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
525 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
526 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
527 * testsuite/20_util/duration/literals/range.cc: Likewise.
529 * include/std/functional (__callable_functor): Remove.
530 (_Function_handler::_M_invoke): Use __invoke instead of
531 __callable_functor or mem_fn.
532 (function::_Callable): Use lvalue in result_of expression.
533 (function): Remove TODO comments about allocators.
534 * testsuite/20_util/function/cons/refqual.cc: New test.
536 2016-08-04 Jonathan Wakely <jwakely@redhat.com>
538 * doc/xml/manual/status_cxx2017.xml: Update status table.
539 * include/std/functional (__inv_unwrap): Move to <type_traits>.
540 (__invoke_impl): Remove exception specifications.
541 (__invoke, invoke): Add exception specifications using
542 __is_nothrow_callable.
543 * include/std/type_traits (__inv_unwrap): Move from <functional>.
544 (__is_callable_impl, __call_is_nt, __call_is_nothrow): New helpers.
545 (__is_callable, __is_nothrow_callable): New traits.
546 (is_callable, is_callable_v): New C++17 traits.
547 (is_nothrow_callable, is_nothrow_callable_v): Likewise.
548 * testsuite/20_util/is_callable/requirements/
549 explicit_instantiation.cc: New test.
550 * testsuite/20_util/is_callable/requirements/
551 explicit_instantiation_ext.cc: New test.
552 * testsuite/20_util/is_callable/requirements/typedefs.cc: New test.
553 * testsuite/20_util/is_callable/requirements/typedefs_ext.cc: New
555 * testsuite/20_util/is_callable/value.cc: New test.
556 * testsuite/20_util/is_callable/value_ext.cc: New test.
557 * testsuite/20_util/is_nothrow_callable/requirements/
558 explicit_instantiation.cc: New test.
559 * testsuite/20_util/is_nothrow_callable/requirements/
560 explicit_instantiation_ext.cc: New test.
561 * testsuite/20_util/is_nothrow_callable/requirements/typedefs.cc:
563 * testsuite/20_util/is_nothrow_callable/requirements/typedefs_ext.cc:
565 * testsuite/20_util/is_nothrow_callable/value.cc: New test.
566 * testsuite/20_util/is_nothrow_callable/value_ext.cc: New test.
568 * doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
569 * doc/html/manual/status.html: Regenerate.
571 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Use
572 effective target not dg-options. Move check for feature-test macro to:
573 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
576 * include/std/functional (_Unwrap): Rename to __inv_unwrap.
578 (__invoke_impl): Remove unused template parameters.
579 * testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
581 * testsuite/20_util/function_objects/invoke/ref_ext.cc: Copy 59768.cc
582 and test __invoke extension for C++11.
584 2016-08-03 Jonathan Wakely <jwakely@redhat.com>
586 * include/bits/shared_ptr_base.h (__cpp_lib_enable_shared_from_this):
587 Define feature-test macro.
588 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: Test
591 * include/bits/shared_ptr.h (shared_ptr::weak_type): Define.
592 * include/bits/shared_ptr_base.h (__shared_ptr::weak_type): Define.
593 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
594 * testsuite/20_util/shared_ptr/requirements/weak_type.cc: New test.
595 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
597 * include/std/utility (as_const): Define.
598 * testsuite/20_util/as_const/1.cc: New test.
599 * testsuite/20_util/as_const/rvalue_neg.cc: New test.
601 * include/bits/shared_ptr.h (owner_less): Add default template
603 * include/bits/shared_ptr_base.h (_Sp_owner_less<void, void>): Define
605 (owner_less<void>): Define specialization.
606 * include/bits/stl_function.h (__cpp_lib_transparent_operators):
608 * testsuite/20_util/owner_less/void.cc: New test.
609 * testsuite/experimental/feat-cxx14.cc: Update macro value tested.
611 * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
612 Define feature-test macro.
613 * include/bits/range_access.h (__cpp_lib_array_constexpr): Likewise.
614 * include/std/shared_mutex (__cpp_lib_shared_mutex): Uncomment.
615 * include/std/type_traits (__cpp_lib_logical_traits): Fix value.
616 (__cpp_lib_type_trait_variable_templates): Define.
618 * include/bits/stl_function.h: Remove commented-out macro.
619 * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
620 Define feature-test macro.
621 * testsuite/experimental/feat-cxx14.cc: Add tests for more macros.
623 * include/bits/c++config (_GLIBCXX_USE_STD_SPEC_FUNCS): Define for
624 C++17, or for C++11/C++14 when __STDCPP_WANT_MATH_SPEC_FUNCS__ is
626 * include/bits/specfun.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__]: Don't
628 * include/c_global/cmath: Check _GLIBCXX_USE_STD_SPEC_FUNCS instead
629 of __STDCPP_WANT_MATH_SPEC_FUNCS__.
630 * include/tr1/bessel_function.tcc: Likewise.
631 * include/tr1/beta_function.tcc: Likewise.
632 * include/tr1/cmath: Likewise.
633 * include/tr1/ell_integral.tcc: Likewise.
634 * include/tr1/exp_integral.tcc: Likewise.
635 * include/tr1/gamma.tcc: Likewise.
636 * include/tr1/hypergeometric.tcc: Likewise.
637 * include/tr1/legendre_function.tcc: Likewise.
638 * include/tr1/modified_bessel_func.tcc: Likewise.
639 * include/tr1/poly_hermite.tcc: Likewise.
640 * include/tr1/poly_laguerre.tcc: Likewise.
641 * include/tr1/riemann_zeta.tcc: Likewise.
642 * include/tr1/special_function_util.h: Likewise.
643 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: New.
645 * include/std/type_traits (has_trivial_default_constructor): Remove.
646 (has_trivial_copy_constructor, has_trivial_copy_assign): Likewise.
647 * testsuite/20_util/has_trivial_copy_assign/requirements/
648 explicit_instantiation.cc: Remove test.
649 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
651 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
653 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
654 * testsuite/20_util/has_trivial_copy_constructor/requirements/
655 explicit_instantiation.cc: Likewise.
656 * testsuite/20_util/has_trivial_copy_constructor/requirements/
657 typedefs.cc: Likewise.
658 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
659 * testsuite/20_util/has_trivial_default_constructor/requirements/
660 explicit_instantiation.cc: Likewise.
661 * testsuite/20_util/has_trivial_default_constructor/requirements/
662 typedefs.cc: Likewise.
663 * testsuite/20_util/has_trivial_default_constructor/value.cc:
665 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
666 Check has_trivial_default_constructor, has_trivial_copy_constructor,
667 and has_trivial_copy_assign are not defined.
668 * testsuite/20_util/pair/requirements/dr801.cc: Remove commented out
670 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
671 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
672 dg-error line number.
673 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
676 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
678 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
679 Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
680 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
682 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
684 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
686 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
688 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
690 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
693 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
696 * testsuite/19_diagnostics/error_code/operators/bool_neg.cc: Move
697 dg-error to relevant line.
698 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
700 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
702 * scripts/testsuite_flags.in: Add -fno-show-column to cxxflags.
704 * testsuite/18_support/bad_exception/23591_thread-1.c: Skip test if
705 options are present that aren't valid for C.
706 * testsuite/abi/header_cxxabi.c: Likewise.
708 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/
709 check_value.cc: Do not add special functions to namespace std in TR1
712 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Only
713 run for C++11 and later.
714 * testsuite/ext/special_functions/conf_hyperg/check_value.cc:
716 * testsuite/ext/special_functions/conf_hyperg/compile.cc: Likewise.
717 * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
718 * testsuite/ext/special_functions/hyperg/check_value.cc: Likewise.
719 * testsuite/ext/special_functions/hyperg/compile.cc: Likewise.
720 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
722 * testsuite/special_functions/01_assoc_laguerre/check_value.cc:
724 * testsuite/special_functions/01_assoc_laguerre/compile.cc: Likewise.
725 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc:
727 * testsuite/special_functions/02_assoc_legendre/check_nan.cc:
729 * testsuite/special_functions/02_assoc_legendre/check_value.cc:
731 * testsuite/special_functions/02_assoc_legendre/compile.cc: Likewise.
732 * testsuite/special_functions/02_assoc_legendre/compile_2.cc:
733 * testsuite/special_functions/03_beta/check_nan.cc: Likewise.
734 * testsuite/special_functions/03_beta/check_value.cc: Likewise.
735 * testsuite/special_functions/03_beta/compile.cc: Likewise.
736 * testsuite/special_functions/03_beta/compile_2.cc: Likewise.
737 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: Likewise.
738 * testsuite/special_functions/04_comp_ellint_1/check_value.cc:
740 * testsuite/special_functions/04_comp_ellint_1/compile.cc: Likewise.
741 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Likewise.
742 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: Likewise.
743 * testsuite/special_functions/05_comp_ellint_2/check_value.cc:
745 * testsuite/special_functions/05_comp_ellint_2/compile.cc: Likewise.
746 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Likewise.
747 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: Likewise.
748 * testsuite/special_functions/06_comp_ellint_3/check_value.cc:
750 * testsuite/special_functions/06_comp_ellint_3/compile.cc: Likewise.
751 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Likewise.
752 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: Likewise.
753 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc:
755 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: Likewise.
756 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Likewise.
757 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: Likewise.
758 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: Likewise.
759 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc:
761 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: Likewise.
762 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Likewise.
763 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: Likewise.
764 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc:
766 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: Likewise.
767 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Likewise.
768 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: Likewise.
769 * testsuite/special_functions/10_cyl_neumann/check_value.cc: Likewise.
770 * testsuite/special_functions/10_cyl_neumann/compile.cc: Likewise.
771 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Likewise.
772 * testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
773 * testsuite/special_functions/11_ellint_1/check_value.cc: Likewise.
774 * testsuite/special_functions/11_ellint_1/compile.cc: Likewise.
775 * testsuite/special_functions/11_ellint_1/compile_2.cc: Likewise.
776 * testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
777 * testsuite/special_functions/12_ellint_2/check_value.cc: Likewise.
778 * testsuite/special_functions/12_ellint_2/compile.cc: Likewise.
779 * testsuite/special_functions/12_ellint_2/compile_2.cc: Likewise.
780 * testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
781 * testsuite/special_functions/13_ellint_3/check_value.cc: Likewise.
782 * testsuite/special_functions/13_ellint_3/compile.cc: Likewise.
783 * testsuite/special_functions/13_ellint_3/compile_2.cc: Likewise.
784 * testsuite/special_functions/14_expint/check_nan.cc: Likewise.
785 * testsuite/special_functions/14_expint/check_value.cc: Likewise.
786 * testsuite/special_functions/14_expint/compile.cc: Likewise.
787 * testsuite/special_functions/14_expint/compile_2.cc: Likewise.
788 * testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
789 * testsuite/special_functions/15_hermite/check_value.cc: Likewise.
790 * testsuite/special_functions/15_hermite/compile.cc: Likewise.
791 * testsuite/special_functions/15_hermite/compile_2.cc: Likewise.
792 * testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
793 * testsuite/special_functions/16_laguerre/check_value.cc: Likewise.
794 * testsuite/special_functions/16_laguerre/compile.cc: Likewise.
795 * testsuite/special_functions/16_laguerre/compile_2.cc: Likewise.
796 * testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
797 * testsuite/special_functions/17_legendre/check_value.cc: Likewise.
798 * testsuite/special_functions/17_legendre/compile.cc: Likewise.
799 * testsuite/special_functions/17_legendre/compile_2.cc: Likewise.
800 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: Likewise.
801 * testsuite/special_functions/18_riemann_zeta/check_value.cc:
803 * testsuite/special_functions/18_riemann_zeta/compile.cc: Likewise.
804 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Likewise.
805 * testsuite/special_functions/19_sph_bessel/check_nan.cc: Likewise.
806 * testsuite/special_functions/19_sph_bessel/check_value.cc: Likewise.
807 * testsuite/special_functions/19_sph_bessel/compile.cc: Likewise.
808 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Likewise.
809 * testsuite/special_functions/20_sph_legendre/check_nan.cc: Likewise.
810 * testsuite/special_functions/20_sph_legendre/check_value.cc:
812 * testsuite/special_functions/20_sph_legendre/compile.cc: Likewise.
813 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Likewise.
814 * testsuite/special_functions/21_sph_neumann/check_nan.cc: Likewise.
815 * testsuite/special_functions/21_sph_neumann/check_value.cc: Likewise.
816 * testsuite/special_functions/21_sph_neumann/compile.cc: Likewise.
817 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Likewise.
819 * testsuite/tr1/5_numerical_facilities/special_functions/
820 08_cyl_bessel_i/check_value.cc: Use __attribute__((unused)) instead
822 * testsuite/tr1/5_numerical_facilities/special_functions/
823 09_cyl_bessel_j/check_value.cc: Likewise.
824 * testsuite/tr1/5_numerical_facilities/special_functions/
825 10_cyl_bessel_k/check_value.cc: Likewise.
826 * testsuite/tr1/5_numerical_facilities/special_functions/
827 11_cyl_neumann/check_value.cc: Likewise.
828 * testsuite/tr1/5_numerical_facilities/special_functions/
829 21_sph_bessel/check_value.cc: Likewise.
830 * testsuite/tr1/5_numerical_facilities/special_functions/
831 23_sph_neumann/check_value.cc: Likewise.
833 2016-08-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
835 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
836 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
837 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
838 * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
839 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
840 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
842 2016-08-02 Jonathan Wakely <jwakely@redhat.com>
844 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc: Skip
847 * testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto to
848 additional flags for compiling libtestc++.a objects.
850 2016-08-01 Jonathan Wakely <jwakely@redhat.com>
852 * include/bits/basic_string.h (data() const): Update comment.
853 (data()): Add non-const overload for C++17.
854 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
855 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
857 * include/bits/basic_string.tcc: Disable explicit instantiation
858 declarations for C++17.
860 * testsuite/23_containers/unordered_map/requirements/53339.cc: Remove
861 ignored "xfail" from { dg-do compile { xfail selector } } directive.
862 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
864 * testsuite/26_numerics/headers/cmath/
865 c99_classification_macros_c++11.cc: Likewise.
866 * testsuite/26_numerics/headers/cmath/
867 c99_classification_macros_c++98.cc: Likewise.
868 * testsuite/26_numerics/headers/cmath/
869 c99_classification_macros_c.cc: Likewise.
871 * testsuite/backward/hash_set/check_construct_destroy.cc: Account
872 for different construct/destroy counts in C++98 mode.
874 * testsuite/17_intro/freestanding.cc: Remove "-x c" from dg-options.
876 * testsuite/20_util/tuple/cons/66338.cc: Limit test to C++11 and
878 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc:
881 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Use
882 C++98-compatible initialization for array.
884 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: Remove
885 unused header and variable from compile-only test.
886 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: Likewise.
887 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: Likewise.
888 * testsuite/28_regex/basic_regex/ctors/string_wchar_t.cc: Likewise.
889 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc:
892 * testsuite/experimental/string_view/operations/rfind/char/2.cc:
893 Remove duplicate dg-options directive.
895 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
896 808590.cc: Use -std=gnu++98 instead of -std=gnu++03.
898 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Remove
899 linker options from compile-only tests.
900 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
903 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Make test
904 supported for C++11 and later.
905 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
906 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
908 2016-08-01 Uros Bizjak <ubizjak@gmail.com>
910 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
912 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
914 * testsuite/20_util/conditional/requirements/typedefs.cc: Change to
917 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
918 Ensure test is compiled with optimization.
920 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
921 Adjust dg-prune-output pattern for error in C++98 mode.
923 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Only
924 run for C++11 or later.
926 * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Fix
927 test to not rely on GNU extension (escaped normal characters in POSIX
928 BRE). Enable tests for other strings which are now supported.
930 * testsuite/20_util/pair/astuple/get_neg.cc: Use effective-target
931 c++11 instead of setting -std=gnu++14.
934 * include/std/array (get): Use positive message for static assertions.
935 * include/std/functional (_Safe_tuple_element_t): Fix indentation.
936 * include/std/tuple (tuple_element<I, tuple<>>): Add partial
937 specialization for invalid indices, with static assertion.
938 * testsuite/20_util/tuple/element_access/get_neg.cc: New test.
940 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Move
941 dg-error to relevant line.
942 * testsuite/20_util/headers/type_traits/types_std_c++0x_neg.cc:
944 * testsuite/23_containers/forward_list/requirements/dr438/
945 assign_neg.cc: Likewise.
946 * testsuite/23_containers/forward_list/requirements/dr438/
947 constructor_1_neg.cc: Likewise.
948 * testsuite/23_containers/forward_list/requirements/dr438/
949 constructor_2_neg.cc: Likewise.
950 * testsuite/23_containers/forward_list/requirements/dr438/
951 insert_neg.cc: Likewise.
952 * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
954 * testsuite/26_numerics/random/linear_congruential_engine/
955 requirements/non_uint_neg.cc: Likewise.
956 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
957 Likewise. Also test for std::atomic_address.
959 2016-07-31 Ville Voutilainen <ville.voutilainen@gmail.com>
961 Add missing variable traits, fix testsuite failures.
962 * include/bits/uses_allocator.h (uses_allocator_v): New.
963 * include/std/functional (is_bind_expression_v, is_placeholder_v):
965 * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
966 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
967 * testsuite/20_util/duration/literals/range.cc: Likewise.
968 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
969 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
970 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
971 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
972 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
974 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
975 * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
978 2016-07-31 Jonathan Wakely <jwakely@redhat.com>
980 * testsuite/18_support/numeric_limits/40856.cc [__STRICT_ANSI__]: Do
981 not test 128-bit types.
982 * testsuite/20_util/is_floating_point/value.cc: Likewise.
983 * testsuite/20_util/is_integral/value.cc: Likewise.
984 * testsuite/20_util/is_signed/value.cc: Likewise.
985 * testsuite/20_util/is_unsigned/value.cc: Likewise.
986 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
987 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
988 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc:
990 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
993 * testsuite/26_numerics/headers/cstdlib/54686.c: Rename to 54686.cc.
995 2016-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
997 Implement C++17 variable templates for type traits.
998 * include/std/chrono (treat_as_floating_point_v): New.
999 * include/std/ratio (ratio_equal_v, ratio_not_equal_v)
1000 (ratio_less_v, ratio_less_equal_v, ratio_greater_v)
1001 (ratio_greater_equal_v): Likewise.
1002 * include/std/system_error (is_error_code_enum_v)
1003 (is_error_condition_enum_v): Likewise.
1004 * include/std/tuple (tuple_size_v): Likewise.
1005 * type_traits (conjunction_v, disjunction_v, negation_v)
1006 (is_void_v, is_null_pointer_v, is_integral_v, is_floating_point_v)
1007 (is_array_v, is_pointer_v, is_lvalue_reference_v)
1008 (is_rvalue_reference_v, is_member_object_pointer_v)
1009 (is_member_function_pointer_v, is_enum_v, is_union_v)
1010 (is_class_v, is_function_v, is_reference_v, is_arithmetic_v)
1011 (is_fundamental_v, is_object_v, is_scalar_v, is_compound_v)
1012 (is_member_pointer_v, is_const_v, is_volatile_v, is_trivial_v)
1013 (is_trivially_copyable_v, is_standard_layout_v)
1014 (is_pod_v, is_literal_type_v, is_empty_v, is_polymorphic_v)
1015 (is_abstract_v, is_final_v, is_signed_v, is_unsigned_v)
1016 (is_constructible_v, is_default_constructible_v)
1017 (is_copy_constructible_v, is_move_constructible_v)
1018 (is_assignable_v, is_copy_assignable_v, is_move_assignable_v)
1019 (is_destructible_v, is_trivially_constructible_v)
1020 (is_trivially_default_constructible_v)
1021 (is_trivially_copy_constructible_v, is_trivially_move_constructible_v)
1022 (is_trivially_assignable_v, is_trivially_copy_assignable_v)
1023 (is_trivially_move_assignable_v, is_trivially_destructible_v)
1024 (is_nothrow_constructible_v, is_nothrow_default_constructible_v)
1025 (is_nothrow_copy_constructible_v, is_nothrow_move_constructible_v)
1026 (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
1027 (is_nothrow_move_assignable_v, is_nothrow_destructible_v)
1028 (has_virtual_destructor_v, alignment_of_v, rank_v, extent_v)
1029 (is_same_v, is_base_of_v, is_convertible_v): Likewise.
1030 * testsuite/19_diagnostics/error_code/is_error_code_v.cc: Likewise.
1031 * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
1033 * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
1034 * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
1035 * testsuite/20_util/variable_templates_for_traits.cc: Likewise.
1037 2016-07-29 Andreas Schwab <schwab@linux-m68k.org>
1039 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1040 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1041 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1043 2016-07-29 Jonathan Wakely <jwakely@redhat.com>
1045 * doc/xml/manual/abi.xml: Document 6.0.22 library version.
1046 * doc/html/manual/abi.html: Regenerate.
1048 * acinclude.m4 (libtool_VERSION): Bump to 6:23:0.
1049 * config/abi/pre/gnu.ver: Add 3.4.23 version for new basic_string
1051 * configure: Regenerate.
1052 * testsuite/util/testsuite_abi.cc: Add new symbol version.
1054 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1055 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1056 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1057 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1059 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1060 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1061 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1063 2016-07-28 Jonathan Wakely <jwakely@redhat.com>
1065 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1066 Adjust dg-prune-output pattern for error in C++98 mode.
1067 * testsuite/23_containers/deque/requirements/dr438/
1068 constructor_1_neg.cc: Likewise.
1069 * testsuite/23_containers/deque/requirements/dr438/
1070 constructor_2_neg.cc: Likewise.
1071 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1073 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1075 * testsuite/23_containers/list/requirements/dr438/
1076 constructor_1_neg.cc: Likewise.
1077 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1079 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1081 * testsuite/23_containers/vector/requirements/dr438/
1082 constructor_1_neg.cc: Likewise.
1083 * testsuite/23_containers/vector/requirements/dr438/
1084 constructor_2_neg.cc: Likewise.
1085 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1088 * testsuite/23_containers/vector/check_construct_destroy.cc: Account
1089 for different construct/destroy counts in C++98 mode.
1091 * testsuite/17_intro/headers/c++2011/stdc++.cc: Change target-specific
1092 dg-options to dg-additional-options so that default options are used.
1093 * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc:
1095 * testsuite/17_intro/headers/c++2014/stdc++.cc: Likewise.
1096 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1098 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1099 Use dg-additional-options instead of repeating the common options.
1101 * testsuite/22_locale/conversions/string/1.cc: Remove unintended
1102 dg-do compile directive.
1103 * testsuite/26_numerics/headers/cmath/fabs_inline.cc: Fix syntax of
1105 * testsuite/26_numerics/valarray/const_bracket.cc: Likewise.
1107 2016-07-28 Ville Voutilainen <ville.voutilainen@gmail.com>
1109 Implement std::string_view and P0254r2,
1110 Integrating std::string_view and std::string.
1111 * include/Makefile.am: Add string_view and string_view.tcc
1112 to the exported headers.
1113 * include/Makefile.in: Likewise.
1114 * include/bits/basic_string.h: Include <string_view> in C++17 mode.
1116 (basic_string(__sv_type, const _Alloc&)): Likewise.
1117 (operator=(__sv_type)): Likewise.
1118 (operator __sv_type()): Likewise.
1119 (operator+=(__sv_type)): Likewise.
1120 (append(__sv_type __sv)): Likewise.
1121 (append(__sv_type, size_type, size_type)): Likewise.
1122 (assign(__sv_type)): Likewise.
1123 (assign(__sv_type, size_type, size_type)): Likewise.
1124 (insert(size_type, __sv_type)): Likewise.
1125 (insert(size_type, __sv_type, size_type, size_type)): Likewise.
1126 (replace(size_type, size_type, __sv_type)): Likewise.
1127 (replace(size_type, size_type, __sv_type, size_type, size_type)):
1129 (replace(const_iterator, const_iterator, __sv_type)): Likewise.
1130 (find(__sv_type, size_type)): Likewise.
1131 (rfind(__sv_type, size_type)): Likewise.
1132 (find_first_of(__sv_type, size_type)): Likewise.
1133 (find_last_of(__sv_type, size_type)): Likewise.
1134 (find_first_not_of(__sv_type, size_type)): Likewise.
1135 (find_last_not_of(__sv_type, size_type)): Likewise.
1136 (compare(__sv_type)): Likewise.
1137 (compare(size_type, size_type, __sv_type)): Likewise.
1138 (compare(size_type, size_type, __sv_type, size_type, size_type)):
1140 * include/bits/string_view.tcc: New.
1141 * include/std/string_view: Likewise.
1142 * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
1143 * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
1144 * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
1146 * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
1148 * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
1150 * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
1152 * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
1154 * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
1156 * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
1158 * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
1160 * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
1162 * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
1164 * testsuite/21_strings/basic_string/operations/find/char/5.cc:
1166 * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
1168 * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
1169 * testsuite/21_strings/basic_string/operators/wchar_t/5.cc: Likewise.
1170 * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
1171 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
1172 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
1173 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
1174 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: Likewise.
1175 * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc: Likewise.
1176 * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc: Likewise.
1177 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1179 * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
1181 * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
1183 * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
1185 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1187 * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
1189 * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
1191 * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
1193 * testsuite/21_strings/basic_string_view/include.cc: Likewise.
1194 * testsuite/21_strings/basic_string_view/inserters/char/1.cc: Likewise.
1195 * testsuite/21_strings/basic_string_view/inserters/char/2.cc: Likewise.
1196 * testsuite/21_strings/basic_string_view/inserters/char/3.cc: Likewise.
1197 * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
1199 * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
1201 * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
1203 * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
1205 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
1207 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
1209 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
1211 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
1213 * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
1215 * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
1217 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
1219 * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
1221 * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
1223 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
1225 * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
1227 * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
1229 * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
1231 * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
1233 * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
1235 * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
1237 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
1239 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
1241 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
1243 * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
1245 * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
1247 * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
1249 * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
1251 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
1253 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
1255 * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
1257 * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
1259 * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
1261 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
1263 * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise.
1264 * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
1266 * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
1268 * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
1270 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
1272 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
1274 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
1276 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
1278 * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
1280 * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
1282 * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
1283 * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
1285 2016-07-27 Jonathan Wakely <jwakely@redhat.com>
1287 * testsuite/20_util/forward/1_neg.cc: Move dg-error to right line.
1289 2016-07-25 Georeth Chow <georeth2010@gmail.com>
1291 * include/ext/ropeimpl.h (rope<>::_S_dump(_RopeRep*, int)): Qualify
1292 _S_concat enumerator.
1293 * testsuite/ext/rope/6.cc: New test.
1295 2016-07-25 Jonathan Wakely <jwakely@redhat.com>
1297 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Use
1298 std::mt19937, std::thread and std::atomic to simplify test.
1299 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1301 2016-07-22 Jonathan Wakely <jwakely@redhat.com>
1304 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1305 (basic_string::_Alloc_hider(pointer, _Alloc&&)): Add constructor.
1306 * include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
1307 * testsuite/21_strings/basic_string/allocator/71964.cc: New test.
1308 * testsuite/23_containers/set/allocator/71964.cc: New test.
1310 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Use
1311 delete[] instead of delete.
1313 2016-07-21 Jonathan Wakely <jwakely@redhat.com>
1315 * include/experimental/propagate_const (propagate_const::__t): Rename
1316 to _M_t and remove comment. Qualify std::move and std::forward.
1317 * testsuite/experimental/propagate_const/cons/default.cc: Fix test.
1319 * testsuite/23_containers/vector/zero_sized_allocations.cc:
1320 Define sized deallocation function.
1321 * testsuite/util/testsuite_new_operators.h:
1322 (operator delete(void*, const std::nothrow_t&)): Define nothrow
1323 deallocation function.
1325 * testsuite/21_strings/basic_string/modifiers/append/char/1.cc: Fix
1326 reads past the end of strings.
1327 * testsuite/21_strings/basic_string/operations/compare/char/1.cc:
1329 * testsuite/21_strings/char_traits/requirements/short/1.cc: Fix
1330 invalid array accesses.
1331 * testsuite/experimental/string_view/operations/compare/char/1.cc:
1332 Fix read past the end of string.
1333 * testsuite/util/testsuite_character.cc: Fix out-of-bounds write.
1335 * testsuite/24_iterators/container_access.cc: Fix missing returns.
1336 * testsuite/24_iterators/range_access_cpp14.cc: Likewise.
1338 * testsuite/18_support/new_delete_placement.cc: Don't allocate (and
1339 leak) memory for arguments to placement delete.
1340 * testsuite/20_util/addressof/1.cc: Don't leak memory.
1341 * testsuite/22_locale/locale/global_locale_objects/3.cc: Likewise.
1342 * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
1345 2016-07-20 Jonathan Wakely <jwakely@redhat.com>
1347 * doc/xml/manual/intro.xml: Document DR 2684 status.
1348 * doc/html/*: Regenerate.
1350 * include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
1351 (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
1352 (atomic_uint64_t): Define (LWG 2441).
1353 * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
1355 * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
1357 * doc/xml/manual/intro.xml: Document DR 2441 status.
1359 * include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
1360 to use perfect forwarding (LWG 2328).
1361 * testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
1362 * doc/xml/manual/intro.xml: Document DR 2328 status.
1364 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Use
1365 static objects for catching nullptr as pointer to member types.
1367 2016-07-18 Ville Voutilainen <ville.voutilainen@gmail.com>
1369 Clean up optional's comments.
1370 * include/std/optional: Remove incorrect section headers
1371 from comments when redundant, replace bare section
1372 headers with more descriptive comments.
1374 2016-07-15 Jonathan Wakely <jwakely@redhat.com>
1376 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
1377 * include/bits/move.h: Likewise.
1378 * include/bits/postypes.h: Likewise.
1379 * include/debug/bitset: Likewise.
1380 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
1381 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
1383 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
1384 * testsuite/util/thread/all.h: Likewise.
1386 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
1390 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
1391 nullptr match handlers of pointer type.
1393 2016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1395 Implement C++17 P0025 clamp.
1396 * include/bits/algorithmfwd.h: Declare clamp overloads.
1397 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
1398 * testsuite/25_algorithms/clamp/1.cc: New test.
1399 * testsuite/25_algorithms/clamp/2.cc: New test.
1400 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
1401 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1403 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
1406 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1408 Fix the constraints for any's assignment operator template to properly
1409 reject assignment from a non-copyable lvalue.
1410 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
1411 type for is_copy_constructible,
1412 * testsuite/20_util/any/requirements.cc: Add a test for
1413 non-copyable lvalues.
1415 2016-07-14 Jonathan Wakely <jwakely@redhat.com>
1417 * include/experimental/functional: Include <parallel/algorithm> in
1420 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
1424 * include/bits/forward_list.h (forward_list): Update doxygen comments
1425 to reflect allocator propagation semantics. Remove ambiguous
1426 statements about data being lost.
1427 * include/bits/stl_deque.h (deque): Likewise.
1428 * include/bits/stl_list.h (list): Likewise.
1429 * include/bits/stl_map.h (map): Likewise.
1430 * include/bits/stl_multimap.h (multimap): Likewise.
1431 * include/bits/stl_multiset.h (multiset): Likewise.
1432 * include/bits/stl_set.h (set): Likewise.
1433 * include/bits/stl_vector.h (vector): Likewise.
1434 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1436 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1439 2016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
1441 Implement P0032R3, Homogeneous interface for variant, any and optional,
1442 for the parts concerning any and optional.
1443 * include/std/any (_Storage()): Make constexpr and have it
1445 (any()): Make constexpr.
1446 (any(const any&)): Adjust.
1447 (any(any&&)): Likewise.
1448 (__any_constructible_t): New.
1449 (any(_ValueType&&)): Constrain.
1450 (any(in_place_type_t<_Tp>, _Args&&...)): New.
1451 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
1454 (operator=(const any&)): Likewise.
1455 (operator=(any&&)): Likewise.
1456 (operator=(_ValueType&&)): Constrain.
1457 (emplace(_Args&&...)): New.
1458 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
1461 (swap(any&)): Adjust.
1465 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
1466 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
1467 (make_any(_Args&&...)): Likewise.
1468 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
1469 * include/std/optional (in_place_t, in_place): Remove.
1470 (bad_optional_access): Add a comment referring to LEWG 72.
1471 (emplace(_Args&&...)): Constrain.
1473 (reset()): Likewise.
1474 (make_optional(_Args&&...)): Likewise.
1475 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
1476 * include/std/utility (in_place_tag): New.
1477 (__in_place, __in_place_type, __in_place_index): Likewise.
1478 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
1479 (in_place(__in_place*)): Likewise.
1480 (in_place(__in_place_type<_Tp>*)): Likewise.
1481 (in_place(__in_place_index<_Idx>*)): Likewise.
1482 * testsuite/20_util/any/assign/1.cc: Adjust.
1483 * testsuite/20_util/any/assign/emplace.cc: New.
1484 * testsuite/20_util/any/assign/self.cc: Adjust.
1485 * testsuite/20_util/any/cons/1.cc: Likewise.
1486 * testsuite/20_util/any/cons/in_place.cc: New.
1487 * testsuite/20_util/any/make_any.cc: Likewise.
1488 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
1489 * testsuite/20_util/any/misc/swap.cc: Likewise.
1490 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1491 * testsuite/20_util/any/requirements.cc: New.
1492 * testsuite/20_util/in_place/requirements.cc: Likewise.
1493 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
1494 * testsuite/20_util/optional/in_place.cc: Likewise.
1495 * testsuite/20_util/optional/make_optional.cc: Add tests for
1496 the new overloads of make_optional.
1498 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1500 Implement P0307R2, Making Optional Greater Equal Again.
1501 * include/experimental/optional (_Has_addressof): Fix the comment.
1502 * include/std/optional (_Has_addressof): Likewise.
1503 (operator=(_Up&&)): Constrain.
1504 (operator=(const optional<_Up>&)): Likewise.
1505 (operator=(optional<_Up>&&)): Likewise.
1506 (__optional_relop_t): New.
1507 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1508 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1509 Constrain and make transparent.
1510 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1511 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1512 Constrain and make transparent.
1513 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1514 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1515 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1516 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1517 (operator!=(const optional<_Tp>&, _Tp const&)):
1518 Constrain and make transparent.
1519 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1520 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1521 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1522 (operator>(const optional<_Tp>&, const _Tp&)):
1523 Constrain and make transparent.
1524 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1525 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1526 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1527 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1528 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1529 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1530 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1531 * testsuite/20_util/optional/relops/1.cc: Likewise.
1532 * testsuite/20_util/optional/relops/2.cc: Likewise.
1533 * testsuite/20_util/optional/relops/3.cc: Likewise.
1534 * testsuite/20_util/optional/relops/4.cc: Likewise.
1535 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1536 that optional's relops are transparent and don't synthesize
1537 operators. Also test that assignment sfinaes.
1539 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1542 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
1543 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
1544 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
1545 on _GLIBCXX_ASSERTIONS.
1546 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
1547 Include <unistd.h> for sleep.
1548 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
1549 * include/parallel/merge.h: Likewise.
1550 * include/parallel/multiway_merge.h: Likewise.
1551 * include/parallel/partition.h: Likewise.
1552 * include/parallel/queue.h: Likewise.
1553 * include/parallel/sort.h: Likewise.
1554 * testsuite/25_algorithms/headers/algorithm/
1555 parallel_algorithm_assert.cc: New.
1557 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
1558 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
1559 Forward to different overload.
1561 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
1564 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1566 Revert "Add non-const overload of std::string::data()".
1568 2016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1570 Implement P0307R2, Making Optional Greater Equal Again.
1571 * include/experimental/optional (_Has_addressof): Fix the comment.
1572 * include/std/optional (_Has_addressof): Likewise.
1573 (operator=(_Up&&)): Constrain.
1574 (operator=(const optional<_Up>&)): Likewise.
1575 (operator=(optional<_Up>&&)): Likewise.
1576 (__optional_relop_t): New.
1577 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1578 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
1579 Constrain and make transparent.
1580 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
1581 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
1582 Constrain and make transparent.
1583 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1584 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
1585 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
1586 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
1587 (operator!=(const optional<_Tp>&, _Tp const&)):
1588 Constrain and make transparent.
1589 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
1590 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
1591 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
1592 (operator>(const optional<_Tp>&, const _Tp&)):
1593 Constrain and make transparent.
1594 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
1595 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
1596 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
1597 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
1598 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
1599 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
1600 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1601 * testsuite/20_util/optional/relops/1.cc: Likewise.
1602 * testsuite/20_util/optional/relops/2.cc: Likewise.
1603 * testsuite/20_util/optional/relops/3.cc: Likewise.
1604 * testsuite/20_util/optional/relops/4.cc: Likewise.
1605 * testsuite/20_util/optional/requirements.cc: Add tests to verify
1606 that optional's relops are transparent and don't synthesize
1607 operators. Also test that assignment sfinaes.
1609 2016-07-13 Jonathan Wakely <jwakely@redhat.com>
1611 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
1613 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
1614 instead of _M_data().
1615 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
1617 (append(const basic_string&)): Likewise.
1618 (append(const basic_string&, size_type, size_type)): Likewise.
1619 (assign(const basic_string&, size_type, size_type)): Likewise.
1620 (insert(size_type, const basic_string&)): Likewise.
1621 (insert(size_type, const basic_string&, size_type, size_type)):
1623 (replace(size_type, size_type, const basic_string&, size_type,
1624 size_type)): Likewise.
1625 (replace(__const_iterator, __const_iterator, const basic_string&)):
1627 (c_str(), data()): Use c_str() instead of _M_data().
1628 (data()): Add non-const overload as per LWG 2391 and P0272R1.
1629 (compare(const basic_string&)): Use data() instead of _M_data().
1630 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
1631 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
1632 Pass raw pointers to _S_copy.
1633 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
1635 (find(const _CharT*, size_type, size_type)): Use data instead of
1637 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
1638 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
1639 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
1641 2016-07-12 Jonathan Wakely <jwakely@redhat.com>
1643 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
1644 * doc/xml/manual/intro.xml: Document DR 2458 status.
1645 * doc/html*: Regenerate.
1647 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
1648 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
1649 Only include <array>.
1650 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
1652 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1653 * doc/html*: Regenerate.
1655 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1656 Add testcase from LWG 2164.
1658 2016-07-11 François Dumont <fdumont@gcc.gnu.org>
1660 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
1661 to _M_realloc_insert.
1662 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1663 (_M_realloc_insert): Declare new function.
1664 (_M_emplace_back_aux): Remove definition.
1665 * include/bits/vector.tcc (emplace_back(_Args...)):
1666 Use _M_realloc_insert.
1667 (insert(const_iterator, const value_type&)): Likewise.
1668 (_M_insert_rval, _M_emplace_aux): Likewise.
1669 (_M_emplace_back_aux): Remove declaration.
1670 (_M_realloc_insert): Define.
1671 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1672 Adjust expected results for emplacing an lvalue with reallocation.
1674 2016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
1676 Implement std::optional.
1677 * include/Makefile.am: Add optional to exported headers.
1678 * include/Makefile.in: Likewise.
1679 * include/std/optional: New.
1680 * testsuite/20_util/optional/typedefs.cc: Likewise.
1681 * testsuite/20_util/optional/relops/2.cc: Likewise.
1682 * testsuite/20_util/optional/relops/3.cc: Likewise.
1683 * testsuite/20_util/optional/relops/4.cc: Likewise.
1684 * testsuite/20_util/optional/relops/5.cc: Likewise.
1685 * testsuite/20_util/optional/relops/1.cc: Likewise.
1686 * testsuite/20_util/optional/relops/6.cc: Likewise.
1687 * testsuite/20_util/optional/nullopt.cc: Likewise.
1688 * testsuite/20_util/optional/in_place.cc: Likewise.
1689 * testsuite/20_util/optional/make_optional.cc: Likewise.
1690 * testsuite/20_util/optional/assignment/2.cc: Likewise.
1691 * testsuite/20_util/optional/assignment/3.cc: Likewise.
1692 * testsuite/20_util/optional/assignment/4.cc: Likewise.
1693 * testsuite/20_util/optional/assignment/5.cc: Likewise.
1694 * testsuite/20_util/optional/assignment/1.cc: Likewise.
1695 * testsuite/20_util/optional/assignment/6.cc: Likewise.
1696 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
1697 * testsuite/20_util/optional/cons/default.cc: Likewise.
1698 * testsuite/20_util/optional/cons/move.cc: Likewise.
1699 * testsuite/20_util/optional/cons/value.cc: Likewise.
1700 * testsuite/20_util/optional/cons/copy.cc: Likewise.
1701 * testsuite/20_util/optional/requirements.cc: Likewise.
1702 * testsuite/20_util/optional/observers/2.cc: Likewise.
1703 * testsuite/20_util/optional/observers/3.cc: Likewise.
1704 * testsuite/20_util/optional/observers/4.cc: Likewise.
1705 * testsuite/20_util/optional/observers/5.cc: Likewise.
1706 * testsuite/20_util/optional/observers/1.cc: Likewise.
1707 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
1708 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
1709 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
1710 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
1711 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
1712 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
1713 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
1714 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
1715 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
1716 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
1717 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
1718 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
1719 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
1720 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
1721 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
1722 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
1723 * testsuite/20_util/optional/swap/1.cc: Likewise.
1725 2016-07-08 Jonathan Wakely <jwakely@redhat.com>
1727 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
1729 2016-07-07 Jonathan Wakely <jwakely@redhat.com>
1731 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
1732 * doc/html/*: Regenerate.
1734 2016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
1737 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
1738 * include/Makefile.in: Likewise.
1739 * include/std/any: New.
1740 * testsuite/20_util/any/assign/1.cc: Likewise.
1741 * testsuite/20_util/any/assign/2.cc: Likewise.
1742 * testsuite/20_util/any/assign/self.cc: Likewise.
1743 * testsuite/20_util/any/cons/1.cc: Likewise.
1744 * testsuite/20_util/any/cons/2.cc: Likewise.
1745 * testsuite/20_util/any/cons/aligned.cc: Likewise.
1746 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
1747 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
1748 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
1749 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
1750 * testsuite/20_util/any/misc/swap.cc: Likewise.
1751 * testsuite/20_util/any/modifiers/1.cc: Likewise.
1752 * testsuite/20_util/any/observers/type.cc: Likewise.
1753 * testsuite/20_util/any/typedefs.cc: Likewise.
1755 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1757 Add a new header for diagnosing the use of C++17 facilities
1759 * include/bits/c++17_warning.h: New.
1761 2016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
1763 Implement LWG 2451, optional<T> should 'forward' T's
1764 implicit conversions.
1765 * include/experimental/optional (__is_optional_impl, __is_optional):
1767 (optional()): Make constexpr and default.
1768 (optional(_Up&&), optional(const optional<_Up>&),
1769 optional(optional<_Up>&& __t): New.
1770 (operator=(_Up&&)): Constrain.
1771 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
1772 * testsuite/experimental/optional/cons/value.cc:
1773 Add tests for the functionality added by LWG 2451.
1774 * testsuite/experimental/optional/cons/value_neg.cc: New.
1776 2016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1779 any_cast doesn't work with rvalue reference targets and cannot
1780 move with a value target.
1781 * include/experimental/any (any(_ValueType&&)): Constrain and
1782 add an overload that doesn't forward.
1783 (any_cast(any&&)): Constrain and add an overload that moves.
1784 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
1785 the functionality added by LWG 2509.
1787 2016-07-04 François Dumont <fdumont@gcc.gnu.org>
1789 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
1791 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
1794 2016-07-04 Jonathan Wakely <jwakely@redhat.com>
1796 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
1797 Define inline. Forward to _M_emplace_aux.
1798 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
1799 (_M_insert_rval, _M_emplace_aux): Declare new functions.
1800 (_Temporary_value): New RAII type using allocator to construct/destroy.
1801 (_S_insert_aux_assign): Remove.
1802 (_M_insert_aux): Make non-variadic.
1803 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
1804 Use _Temporary_value.
1805 (emplace(const_iterator, _Args&&...)): Remove definition.
1806 (_M_insert_rval, _M_emplace_aux): Define.
1807 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
1808 (_M_fill_insert): Use _Temporary_value.
1809 * testsuite/23_containers/vector/allocator/construction.cc: New test.
1810 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
1811 Adjust expected results for emplacing an lvalue with reallocation.
1812 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
1813 expected results to account for construction/destruction of temporary
1815 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
1817 2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
1820 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
1821 Call remove_all for children of a directory.
1822 * testsuite/experimental/filesystem/operations/create_directories.cc:
1825 2016-07-02 François Dumont <fdumont@gcc.gnu.org>
1827 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
1828 dg-error line numbers.
1829 * testsuite/23_containers/array/tuple_interface/
1830 tuple_element_debug_neg.cc: Likewise.
1831 * testsuite/25_algorithms/lexicographical_compare/debug/
1832 irreflexive_neg.cc: Remove.
1834 2016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
1836 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
1837 than specific target.
1839 2016-06-27 François Dumont <fdumont@gcc.gnu.org>
1842 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
1845 2016-06-23 François Dumont <fdumont@gcc.gnu.org>
1847 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
1850 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1852 * configure.host: Remove mep-* support.
1854 2016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1856 * configure: Regenerate.
1857 * configure.host: Remove support for knetbsd.
1858 * crossconfig.m4: Likewise.
1860 2016-06-20 François Dumont <fdumont@gcc.gnu.org>
1863 * include/tr1/hashtable_policy.h
1864 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
1865 dereferenceable to avoid check on lower_bound result.
1866 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
1867 (_Prime_rehash_policy::_M_need_rehash): Likewise.
1868 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1869 Always return a value greater than input value. Set _M_next_resize to
1870 max value when reaching highest prime number.
1871 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
1873 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
1874 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
1876 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
1877 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
1880 2016-06-17 Jonathan Wakely <jwakely@redhat.com>
1883 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
1884 Remove irreflexive checks.
1885 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
1886 binary_search): Likewise.
1887 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
1888 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
1889 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
1890 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
1891 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
1892 Add constructor from array.
1894 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
1896 * include/debug/debug.h
1897 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
1898 (__glibcxx_requires_subscript): Move...
1899 * include/debug/assertions.h: ...here and add __builtin_expect.
1900 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
1901 * include/bits/stl_deque.h
1902 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
1903 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
1904 (std::deque<>::back()): Likewise.
1905 (std::deque<>::pop_front()): Likewise.
1906 (std::deque<>::pop_back()): Likewise.
1907 (std::deque<>::swap(deque&)): Add allocator check.
1908 * include/bits/stl_vector.h
1909 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
1910 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
1911 (std::vector<>::back()): Likewise.
1912 (std::vector<>::pop_back()): Likewise.
1913 (std::vector<>::swap(vector&)): Add allocator check.
1915 2016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
1917 Provide swappable traits (p0185r1)
1918 * include/std/type_traits (is_swappable, is_nothrow_swappable,
1919 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
1920 is_nothrow_swappable_v, is_swappable_with_v,
1921 is_nothrow_swappable_with_v): New.
1922 * include/bits/stl_pair.h: Use it as per p0185r1.
1923 * include/bits/stl_queue.h: Likewise.
1924 * include/bits/stl_stack.h: Likewise.
1925 * include/bits/unique_ptr.h: Likewise.
1926 * include/std/tuple: Likewise.
1927 * include/std/array: Likewise. Fix zero-size member swap.
1928 * include/bits/hashtable.h: Use __and_.
1929 * testsuite/20_util/is_nothrow_swappable/requirements/
1930 explicit_instantiation.cc: Change test options to std=gnu++17.
1931 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
1933 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
1934 * testsuite/20_util/is_swappable/requirements/
1935 explicit_instantiation.cc: Likewise.
1936 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
1937 * testsuite/20_util/is_swappable/value.cc: Likewise.
1938 * testsuite/20_util/is_nothrow_swappable/requirements/
1939 explicit_instantiation_ext.cc: New.
1940 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
1942 * testsuite/20_util/is_nothrow_swappable/value.h: New.
1943 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
1944 * testsuite/20_util/is_nothrow_swappable_with/requirements/
1945 explicit_instantiation.cc: New.
1946 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
1948 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
1949 * testsuite/20_util/is_swappable/requirements/
1950 explicit_instantiation_ext.cc: New.
1951 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
1952 * testsuite/20_util/is_swappable/value.h: New.
1953 * testsuite/20_util/is_swappable/value_ext.cc: New.
1954 * testsuite/20_util/is_swappable_with/requirements/
1955 explicit_instantiation.cc: New.
1956 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
1957 * testsuite/20_util/is_swappable_with/value.cc: New.
1958 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1959 dg-error line numbers.
1960 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1963 2016-06-16 Jonathan Wakely <jwakely@redhat.com>
1965 * include/std/array: Remove trailing whitespace.
1966 * include/std/atomic: Likewise.
1967 * include/std/bitset: Likewise.
1968 * include/std/chrono: Likewise.
1969 * include/std/complex: Likewise.
1970 * include/std/condition_variable: Likewise.
1971 * include/std/fstream: Likewise.
1972 * include/std/functional: Likewise.
1973 * include/std/future: Likewise.
1974 * include/std/iomanip: Likewise.
1975 * include/std/iosfwd: Likewise.
1976 * include/std/istream: Likewise.
1977 * include/std/limits: Likewise.
1978 * include/std/ratio: Likewise.
1979 * include/std/scoped_allocator: Likewise.
1980 * include/std/sstream: Likewise.
1981 * include/std/stdexcept: Likewise.
1982 * include/std/string: Likewise.
1983 * include/std/system_error: Likewise.
1984 * include/std/thread: Likewise.
1985 * include/std/tuple: Likewise.
1986 * include/std/type_traits: Likewise.
1987 * include/std/utility: Likewise.
1988 * include/std/valarray: Likewise.
1989 * include/std/vector: Likewise.
1991 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
1992 new overloaded functions.
1993 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
1994 to avoid creating a redundant temporary.
1995 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
1998 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
2000 * include/bits/stl_deque.h
2001 (std::deque<>::operator=): Call _M_assign_aux.
2002 (std::deque<>::assign(initializer_list<>)): Likewise.
2003 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2004 (std::deque<>::insert(const_iterator, initializer_list<>)):
2005 Call _M_range_insert_aux.
2006 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
2008 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
2009 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
2010 * include/bits/deque.tcc
2011 (std::deque<>::operator=): Call _M_range_insert_aux.
2012 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
2014 * include/bits/stl_vector.h
2015 (std::vector<>::operator=): Call _M_assign_aux.
2016 (std::vector<>::assign(initializer_list<>)): Likewise.
2017 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
2018 (std::vector<>::insert(const_iterator, initializer_list<>)):
2019 Call _M_range_insert.
2020 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
2022 2016-06-07 François Dumont <fdumont@gcc.gnu.org>
2024 * include/std/tuple (_Head_base<>): Default specialization condition at
2027 2016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
2029 Support allocators in tuples of zero size.
2030 * include/std/tuple (tuple<>::tuple(),
2031 tuple<>::tuple(allocator_arg_t, const _Alloc&),
2032 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
2033 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
2035 2016-06-06 Jonathan Wakely <jwakely@redhat.com>
2038 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
2039 Add or remove permissions according to perms argument.
2040 * testsuite/experimental/filesystem/operations/permissions.cc: New
2043 2016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2045 Protect allocator-overloads of tuple-from-tuple constructors
2046 from cases that would create dangling references.
2047 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2048 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
2049 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
2050 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
2052 2016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
2054 * doc/xml/manual/backwards_compatibility.xml: Adjust
2055 lists.debian.org link to https.
2056 * doc/html/manual/backwards.html: Regenerate.
2058 2016-05-27 Jonathan Wakely <jwakely@redhat.com>
2060 * doc/xml/manual/abi.xml: Adjust URL to use https.
2061 * doc/html/manual/*: Regenerate.
2063 2016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
2066 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
2067 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
2068 check for _NotSameTuple.
2069 * include/std/tuple (_TMCT): New.
2070 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
2071 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
2072 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2073 const tuple<_UElements...>&)): Likewise.
2074 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
2075 tuple<_UElements...>&&)): Likewise.
2076 * testsuite/20_util/tuple/cons/66338.cc: New.
2078 2016-05-25 Jonathan Wakely <jwakely@redhat.com>
2080 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
2081 * configure: Regenerate.
2082 * config.h.in: Regenerate.
2084 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
2085 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
2086 Remove const qualification on function. Replace
2087 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
2088 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
2089 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
2091 2016-05-24 François Dumont <fdumont@gcc.gnu.org>
2093 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
2094 * include/bits/hashtable_policy.h
2095 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
2096 having load factor management.
2097 (_Mask_range_hashing): New.
2099 (_Power2_rehash_policy): New.
2100 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
2101 partial specializations only depend on whether iterators are constant
2103 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
2104 test new hash policy.
2105 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
2107 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
2109 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
2111 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2113 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
2115 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
2116 using the new hash policy.
2117 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2119 2016-05-24 Jonathan Wakely <jwakely@redhat.com>
2121 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
2123 2016-05-23 François Dumont <fdumont@gcc.gnu.org>
2125 * include/debug/safe_iterator.h
2126 (_Safe_iterator<>::operator->()): Implement using underlying iterator
2128 * include/debug/safe_local_iterator.h
2129 (_Safe_local_iterator<>::operator->()): Likewise.
2131 2016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
2133 * testsuite/experimental/memory_resource/1.cc: Add required argument
2134 to dg-require-atomic-builtins.
2136 2016-05-13 Jonathan Wakely <jwakely@redhat.com>
2139 * include/debug/bitset: Add #pragma GCC system_header.
2140 * include/debug/deque: Likewise.
2141 * include/debug/list: Likewise.
2142 * include/debug/map: Likewise.
2143 * include/debug/set: Likewise.
2144 * include/debug/string: Likewise.
2145 * include/debug/unordered_map: Likewise.
2146 * include/debug/unordered_set: Likewise.
2147 * include/debug/vector: Likewise.
2148 * include/debug/functions.h: Adjust whitespace.
2150 2016-05-12 Jonathan Wakely <jwakely@redhat.com>
2153 * testsuite/experimental/memory_resource/1.cc: Require atomics.
2155 2016-05-11 Jonathan Wakely <jwakely@redhat.com>
2158 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
2159 exception constructors with __sso_string parameters.
2161 2016-05-10 Jonathan Wakely <jwakely@redhat.com>
2163 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
2164 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2165 Test begin and end functions.
2166 * testsuite/experimental/filesystem/iterators/
2167 recursive_directory_iterator.cc: Likewise.
2170 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
2171 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
2173 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2174 Overload operator* to move from rvalues.
2177 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
2178 * testsuite/experimental/filesystem/operations/create_directory.cc:
2182 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
2183 base path to exception.
2184 * testsuite/experimental/filesystem/operations/canonical.cc: Test
2185 paths contained in exception.
2187 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
2191 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
2193 (directory_iterator::operator++(int)): Return proxy.
2194 (recursive_directory_iterator::operator++(int)): Likewise.
2195 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
2196 Test post-increment.
2197 * testsuite/experimental/filesystem/iterators/
2198 recursive_directory_iterator.cc: Likewise.
2200 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2203 * testsuite/experimental/filesystem/iterators/
2204 recursive_directory_iterator.cc: Fix test02 to not call member
2205 functions on invalid iterator, and use VERIFY not assert.
2207 2016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2209 Avoid endless run-time recursion for copying single-element
2210 tuples where the element type is by-value constructible
2212 * include/std/tuple (_NotSameTuple): New.
2213 * include/std/tuple (tuple(_UElements&&...): Use it.
2214 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
2216 2016-05-09 Jonathan Wakely <jwakely@redhat.com>
2219 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
2220 Initialize scalar member variables in default constructor.
2221 * testsuite/experimental/filesystem/iterators/
2222 recursive_directory_iterator.cc: Test default construction.
2224 2016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2226 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
2228 2016-05-05 Jonathan Wakely <jwakely@redhat.com>
2230 * testsuite/experimental/filesystem/path/native/string.cc: Add
2231 dg-require-filesystem-ts directive.
2233 2016-05-04 Jonathan Wakely <jwakely@redhat.com>
2236 * include/experimental/memory_resource
2237 (__resource_adaptor_imp::do_allocate): Do not default-construct
2239 (__resource_adaptor_imp::do_deallocate): Likewise. Use
2240 allocator_traits to get pointer type.
2241 (__null_memory_resource::do_allocate): Remove unused parameters.
2242 (__null_memory_resource::do_deallocate): Likewise.
2243 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
2244 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
2245 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
2247 * testsuite/experimental/memory_resource/1.cc: Here.
2248 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
2249 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
2251 2016-04-29 Chris Gregory <czipperz@gmail.com>
2253 * config/*: Remove trailing whitespace.
2255 * testsuite/tr1/*: Likewise.
2256 * testsuite/util/*: Likewise.
2258 2016-04-28 Jonathan Wakely <jwakely@redhat.com>
2261 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
2263 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
2265 * include/std/atomic (atomic<_Tp>): Likewise.
2266 * include/std/shared_mutex (shared_lock): Likewise.
2267 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
2268 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
2269 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2270 * testsuite/29_atomics/atomic/70766.cc: New test.
2271 * testsuite/30_threads/shared_lock/70766.cc: New test.
2273 * include/bits/hashtable_policy.h (__detail::_Insert_base,
2274 __detail::_Insert): Improve comments.
2276 2016-04-27 Jonathan Wakely <jwakely@redhat.com>
2279 * include/std/limits: Update comments about DRs.
2280 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
2281 numeric_limits<const volatile _Tp>): Define unconditionally.
2283 2016-04-24 Jonathan Wakely <jwakely@redhat.com>
2286 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
2287 static counter to return a different path on every call.
2289 2016-04-22 Tim Shen <timshen@google.com>
2292 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
2293 Fix the match_not_bow and match_not_eow behavior.
2294 * testsuite/28_regex/regression.cc: Add testcase.
2296 2016-04-20 Jonathan Wakely <jwakely@redhat.com>
2299 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
2300 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
2302 2016-04-19 Jonathan Wakely <jwakely@redhat.com>
2305 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
2306 Override endianness bit in mode.
2307 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
2308 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
2309 that little_endian mode is ignored.
2310 * testsuite/experimental/filesystem/path/native/string.cc: New test.
2313 * src/filesystem/ops.cc (close_fd): New function.
2314 (do_copy_file): Set permissions before copying file contents. Check
2315 result of closing file descriptors. Don't copy streambuf when file
2317 (copy(const path&, const path&, copy_options, error_code&)): Use
2318 lstat for source file when copy_symlinks is set.
2319 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
2321 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
2322 operator~ operator&=, operator|=, operator^=): Add noexcept to
2323 overloaded operators for copy_options, perms and directory_options.
2324 * src/filesystem/ops.cc (make_file_type, make_file_status,
2325 is_not_found_errno, file_time): Add noexcept.
2327 2016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
2329 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
2331 2016-04-18 Jonathan Wakely <jwakely@redhat.com>
2334 * include/bits/random.h: Reword static assertion messages to state
2335 positive conditions.
2336 * include/bits/random.tcc: Likewise.
2337 * include/bits/uniform_int_dist.h: Likewise.
2338 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
2341 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
2343 * config/cpu/sh/atomicity.h: Fix typo in comment.
2346 * include/std/thread (operator<, operator==): Move definitions to
2348 * testsuite/30_threads/thread/id/70294.cc: New test.
2350 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2351 -Wno-pedantic to dg-options.
2352 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
2353 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
2355 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
2356 Remove extra semi-colon.
2357 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
2358 Always supply second argument to static_assert.
2359 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
2361 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
2363 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
2364 * testsuite/29_atomics/atomic/60695.cc: Likewise.
2365 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
2366 alignof when operand is an object not a type.
2367 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
2368 * testsuite/decimal/make-decimal.cc: Likewise.
2369 * testsuite/experimental/type_traits/value.cc: Always supply second
2370 argument to static_assert.
2371 * testsuite/util/testsuite_common_types.h: Use __extension__ for
2374 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
2376 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
2377 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
2378 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
2379 Likewise. Add licence and change to compile-only test.
2381 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
2383 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
2385 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
2388 2016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
2390 * include/bits/specfun.h: Trivial comment misspelling.
2392 2016-04-14 Jason Merrill <jason@redhat.com>
2394 Revert Jonathan's empty ABI change from yesterday.
2396 2016-04-13 Martin Sebor <msebor@redhat.com>
2399 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
2400 upper bound is positive.
2402 2016-04-13 Jonathan Wakely <jwakely@redhat.com>
2404 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
2405 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
2406 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
2407 of functions taking empty structs by value. Add a template parameter
2408 to overloads without hints. Rename overloads with hints to
2410 (_Hashtable::_M_erase(true_type, const_iterator),
2411 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
2412 by reordering parameters.
2413 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
2414 _M_emplace_hint instead of _M_emplace.
2415 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
2416 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
2417 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
2418 __shared_ptr): Likewise.
2419 * include/bits/stl_algo.h (replace_if): Likewise.
2420 * include/bits/stl_pair.h (piecewise_construct_t,
2421 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
2422 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
2423 __uses_alloc0): Likewise.
2424 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
2425 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
2426 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2427 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2428 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
2429 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
2430 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
2432 2016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
2434 Document C++17/TR29124 C++ Special Math Functions.
2435 * include/bits/specfun.h: Add Doxygen markup.
2437 2016-04-07 Jonathan Wakely <jwakely@redhat.com>
2439 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
2441 2016-04-06 Eric Botcazou <ebotcazou@adacore.com>
2443 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
2444 * src/Makefile.in: Regenerate.
2446 2016-04-05 Jonathan Wakely <jwakely@redhat.com>
2449 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
2450 __atomic_fetch_add for bool.
2451 * configure: Regenerate.
2453 * testsuite/30_threads/thread/70503.cc: Require -static to work.
2456 * src/c++11/thread.cc (execute_native_thread_routine,
2457 execute_native_thread_routine_compat): Give internal linkage.
2458 * testsuite/30_threads/thread/70503.cc: New test.
2460 2016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
2463 * include/bits/stl_pair.h (_ConstructiblePair,
2464 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2465 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
2466 for same-type cases.
2467 * testsuite/20_util/pair/70437.cc: New.
2469 2016-03-24 Jonathan Wakely <jwakely@redhat.com>
2472 * config/abi/pre/gnu.ver: Add new symbol.
2473 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
2474 * testsuite/18_support/free_eh_pool.cc: New test.
2476 2016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2478 * include/Makefile.am (install-freestanding-headers): Add
2479 concept_check.h and move.h to the installed headers.
2480 * include/Makefile.in: Regenerated.
2481 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
2482 freestanding implementations.
2483 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
2484 that this macro has no effect for freestanding implementations.
2485 * doc/html/manual/using_macros.html: Likewise.
2487 2016-02-24 Jonathan Wakely <jwakely@redhat.com>
2490 * include/experimental/tuple (__apply_impl): Qualify get and forward.
2492 2016-02-23 Jonathan Wakely <jwakely@redhat.com>
2494 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
2495 * doc/html/*: Regenerate.
2498 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
2499 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
2500 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
2501 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
2502 trunc) [__cplusplus >= 201103L]: Import from namespace std.
2503 (fabs) [__cplusplus < 201103L]: Import from namespace std.
2504 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
2506 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
2507 namespace before including TR1 headers.
2508 * testsuite/tr1/headers/c++200x/math.cc: New test.
2510 2016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
2513 * include/c_global/cstdarg: Undefine __need___va_list.
2514 * include/c_global/cstddef: Undefine all kinds of __need_*.
2516 2016-02-16 Tim Shen <timshen@google.com>
2519 * include/bits/regex_scanner.h: Add different special character
2520 sets for grep and egrep regex.
2521 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
2522 * testsuite/28_regex/regression.cc: Add new testcase.
2524 2016-02-08 Jonathan Wakely <jwakely@redhat.com>
2526 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
2527 added 'constexpr' in previous commit.
2528 * configure: Regenerate.
2531 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
2532 checks for all targets except *-*-solaris2.* and ensure we find the
2533 libc math.h header not our own.
2534 * configure: Regenerate.
2536 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
2538 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
2539 New file. Copied over from s390-linux-gnu.
2541 2016-02-04 Jonathan Wakely <jwakely@redhat.com>
2544 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
2545 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
2546 * config.h.in: Regenerate.
2547 * configure: Regenerate.
2548 * testsuite/21_strings/c_strings/char/69626.cc: New.
2550 * doc/html/index.html: Regenerate.
2552 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
2553 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
2554 * doc/html/*: Regenerate.
2556 2016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
2559 * include/c_compatibility/math.h: Move header guards.
2560 * include/c_compatibility/stdlib.h: Likewise.
2562 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
2565 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2567 2016-01-28 John David Anglin <danglin@gcc.gnu.org>
2570 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
2571 isinf and isnan functions into two independent checks. Check on hpux.
2572 * config.h.in: Regenerate.
2573 * configure: Regenerate.
2574 * include/c_global/cmath (isinf(double), isnan(double)): Use
2575 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
2578 2016-01-27 Jakub Jelinek <jakub@redhat.com>
2580 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
2582 2016-01-27 Jonathan Wakely <jwakely@redhat.com>
2585 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
2586 -ffp-contract=off, and -ffloat-store to disable excess precision.
2587 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
2590 2016-01-26 Jonathan Wakely <jwakely@redhat.com>
2593 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
2594 random_access_iterator_tag>): Check is_move_assignable when moving.
2595 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
2597 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
2598 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
2599 * testsuite/25_algorithms/move/69478.cc: New.
2600 * testsuite/25_algorithms/move_backward/69478.cc: new.
2602 2016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
2604 * include/c_compatibility/stdlib.h: Include wide character related
2605 definitions only when they are available in cstdlib.
2607 2016-01-25 Jonathan Wakely <jwakely@redhat.com>
2610 * include/Makefile.am: Add new header.
2611 * include/Makefile.in: Regenerate.
2612 * include/bits/random.h (uniform_int_distribution): Move to
2613 bits/uniform_int_dist.h.
2614 * include/bits/random.tcc (uniform_int_distribution::operator(),
2615 uniform_int_distribution::__generate_impl): Likewise.
2616 * include/bits/uniform_int_dist.h: New header.
2617 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
2618 <bits/uniform_int_dist.h> instead of <random>.
2619 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2620 move_iterators/1.cc: Include correct header for uninitialized_copy.
2621 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2622 move_iterators/1.cc: Likewise.
2623 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
2625 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
2627 2016-01-23 John David Anglin <danglin@gcc.gnu.org>
2630 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2632 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
2634 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
2635 * include/c_compatibility/math.h: Import the TR29124 functions
2636 into the global namespace.
2637 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
2638 xfail and make compile-only.
2639 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
2640 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
2641 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
2642 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
2643 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
2644 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
2645 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
2646 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
2647 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
2648 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
2649 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
2650 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
2651 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
2652 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
2653 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
2654 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
2655 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
2656 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
2657 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
2658 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
2660 2016-01-22 Jonathan Wakely <jwakely@redhat.com>
2663 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
2664 define result_type for types which can be safely used with valarrays.
2665 * testsuite/26_numerics/valarray/69116.cc: New.
2668 * config/os/gnu-linux/os_defines.h: Define
2669 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
2670 * include/c_global/cmath (isinf, isnan): Check it.
2671 * doc/xml/manual/internals.xml: Document it.
2672 * doc/html/*: Regenerate.
2674 2016-01-21 Jonathan Wakely <jwakely@redhat.com>
2677 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
2678 * include/ext/type_traits.h: Likewise.
2679 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
2680 for presence of C headers.
2681 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
2682 dg-error line number.
2683 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
2684 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
2685 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
2687 2016-01-20 Torvald Riegel <triegel@redhat.com>
2690 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
2692 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2695 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
2696 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
2697 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
2698 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
2699 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
2700 Add using declarations.
2701 * testsuite/26_numerics/headers/cmath/60401.cc: New.
2704 * include/c_global/ccomplex: Ensure C++ language linkage.
2705 * include/c_global/cmath: Likewise.
2706 * include/c_global/cstdlib: Likewise.
2707 * include/c_global/ctgmath: Likewise.
2708 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
2710 2016-01-19 Jonathan Wakely <jwakely@redhat.com>
2714 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
2715 --enable-cheaders=c_global configs.
2716 * include/Makefile.in: Regenerate.
2717 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
2718 test and allow inclusion from C files.
2719 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
2720 (at_quick_exit, quick_exit): Add using directives.
2721 * include/c_global/cmath: Use #include_next for math.h.
2722 * include/c_global/cstdlib: Use #include_next for stdlib.h.
2723 * testsuite/26_numerics/headers/cmath/14608.cc: New.
2724 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2725 Remove xfail for most targets.
2726 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
2728 2016-01-18 Torvald Riegel <triegel@redhat.com>
2730 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
2731 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
2732 and move after its definition.
2733 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
2734 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
2735 __GXX_WEAK__, and only provide transactional clones if
2736 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
2739 2016-01-18 Jonathan Wakely <jwakely@redhat.com>
2742 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
2745 * include/std/functional (_Function_base::_M_not_empty_function):
2746 Change overloads for pointers to take arguments by value.
2747 * testsuite/20_util/function/cons/57465.cc: Add tests for
2748 pointer-to-member cases.
2751 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
2752 Use macros for exception handling and fix unused parameter warning.
2754 2016-01-17 John David Anglin <danglin@gcc.gnu.org>
2757 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2759 2016-01-17 Torvald Riegel <triegel@redhat.com>
2761 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
2763 2016-01-16 H.J. Lu <hongjiu.lu@intel.com>
2765 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
2768 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2771 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
2772 static assertion that type is constructible from the arguments.
2773 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
2774 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
2775 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
2778 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2779 and isnan on AIX. Quote variables.
2780 * configure: Regenerate.
2782 2016-01-15 Torvald Riegel <triegel@redhat.com>
2784 * include/bits/basic_string.h (basic_string): Declare friends.
2785 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
2786 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
2787 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
2788 length_error, out_of_range, runtime_error, range_error,
2789 underflow_error, overflow_error): Declare members as transaction-safe.
2790 (logic_error, runtime_error): Declare friend functions.
2791 * libsupc++/exception (exception, bad_exception): Declare members as
2793 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
2794 transaction-safe members of exceptions and helper functions.
2795 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
2796 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
2797 (CXXABI_1.3.10): New.
2798 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
2799 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
2800 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
2801 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
2802 * include/Makefile.in: Regenerate.
2803 * config.h.in: Regenerate.
2804 * configure: Regenerate.
2805 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
2807 2016-01-15 Steve Ellcey <sellcey@imgtec.com>
2809 * include/ext/random.tcc: Use __builtin_isfinite instead of
2812 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
2814 * include/bits/std_mutex.h: Fix Doxygen @file name.
2816 2016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
2817 Jonathan Wakely <jwakely@redhat.com>
2818 Florian Goth <CaptainSifff@gmx.de>
2820 Implement TR29124 C++ special Math Functions.
2821 * include/Makefile.am: Add new headers.
2822 * include/Makefile.in: Regenerate.
2823 * include/bits/specfun.h: New.
2824 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
2825 * include/tr1/bessel_function.tcc: Ditto.
2826 * include/tr1/beta_function.tcc: Ditto.
2827 * include/tr1/cmath: Ditto.
2828 * include/tr1/ell_integral.tcc: Ditto.
2829 * include/tr1/exp_integral.tcc: Ditto.
2830 * include/tr1/gamma.tcc: Ditto.
2831 * include/tr1/hypergeometric.tcc: Ditto.
2832 * include/tr1/legendre_function.tcc: Ditto.
2833 * include/tr1/modified_bessel_func.tcc: Ditto.
2834 * include/tr1/poly_hermite.tcc: Ditto.
2835 * include/tr1/poly_laguerre.tcc: Ditto.
2836 * include/tr1/riemann_zeta.tcc: Ditto.
2837 * include/tr1/special_function_util.h: Ditto.
2838 * testsuite/ext/special_functions/conf_hyperg: New.
2839 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
2840 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
2841 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
2842 * testsuite/ext/special_functions/hyperg: New.
2843 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
2844 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
2845 * testsuite/ext/special_functions/hyperg/compile.cc: New.
2846 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
2847 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
2848 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
2849 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
2850 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
2851 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
2852 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
2853 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
2854 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
2855 * testsuite/special_functions/03_beta/check_nan.cc: New.
2856 * testsuite/special_functions/03_beta/check_value.cc: New.
2857 * testsuite/special_functions/03_beta/compile.cc: New.
2858 * testsuite/special_functions/03_beta/compile_2.cc: New.
2859 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
2860 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
2861 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
2862 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
2863 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
2864 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
2865 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
2866 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
2867 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
2868 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
2869 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
2870 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
2871 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
2872 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
2873 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
2874 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
2875 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
2876 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
2877 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
2878 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
2879 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
2880 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
2881 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
2882 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
2883 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
2884 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
2885 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
2886 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
2887 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
2888 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
2889 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
2890 * testsuite/special_functions/11_ellint_1/compile.cc: New.
2891 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
2892 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
2893 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
2894 * testsuite/special_functions/12_ellint_2/compile.cc: New.
2895 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
2896 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
2897 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
2898 * testsuite/special_functions/13_ellint_3/compile.cc: New.
2899 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
2900 * testsuite/special_functions/14_expint/check_nan.cc: New.
2901 * testsuite/special_functions/14_expint/check_value.cc: New.
2902 * testsuite/special_functions/14_expint/compile.cc: New.
2903 * testsuite/special_functions/14_expint/compile_2.cc: New.
2904 * testsuite/special_functions/15_hermite/check_nan.cc: New.
2905 * testsuite/special_functions/15_hermite/check_value.cc: New.
2906 * testsuite/special_functions/15_hermite/compile.cc: New.
2907 * testsuite/special_functions/15_hermite/compile_2.cc: New.
2908 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
2909 * testsuite/special_functions/16_laguerre/check_value.cc: New.
2910 * testsuite/special_functions/16_laguerre/compile.cc: New.
2911 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
2912 * testsuite/special_functions/17_legendre/check_nan.cc: New.
2913 * testsuite/special_functions/17_legendre/check_value.cc: New.
2914 * testsuite/special_functions/17_legendre/compile.cc: New.
2915 * testsuite/special_functions/17_legendre/compile_2.cc: New.
2916 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
2917 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
2918 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
2919 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
2920 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
2921 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
2922 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
2923 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
2924 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
2925 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
2926 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
2927 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
2928 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
2929 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
2930 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
2931 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
2932 * testsuite/util/specfun_testcase.h: New.
2933 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
2934 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
2935 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
2936 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
2937 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
2938 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
2939 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
2941 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
2944 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
2945 and isnan functions.
2946 * config.h.in: Regenerate.
2947 * configure: Regenerate.
2948 * include/c_global/cmath (isinf(double), isnan(double))
2949 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
2950 * testsuite/26_numerics/headers/cmath/48891.cc: New.
2952 2016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2955 * configure.host (abi_baseline_pair): Use separate baseline for
2956 Solaris 11+ and Solaris 10 with gld.
2957 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
2958 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
2959 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
2961 2016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
2964 * include/std/type_traits: Following N4511, reimplement __is_swappable
2965 and __is_nothrow_swappable. Move __is_swappable to namespace std,
2966 adjust callers. Use __is_nothrow_swappable in swap.
2967 * include/bits/move.h: Use __is_nothrow_swappable in swap.
2968 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
2969 __is_swappable related tests.
2970 * testsuite/20_util/is_swappable/value.cc: New.
2971 * testsuite/20_util/is_swappable/requirements/
2972 explicit_instantiation.cc: New.
2973 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
2974 * testsuite/25_algorithms/swap/68877.cc: New.
2976 2016-01-12 Jonathan Wakely <jwakely@redhat.com>
2978 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
2982 * include/std/functional (function::_Invoke): Remove, use result_of.
2983 (function::_Callable): Replace alias template with class template
2984 and use partial specialization instead of _NotSelf alias template.
2985 (function(_Functor)): Add "not self" constraint so that _Callable is
2986 not used while type is incomplete.
2987 * testsuite/20_util/function/69222.cc: New.
2989 2016-01-11 Jonathan Wakely <jwakely@redhat.com>
2992 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
2993 Define partial specialization.
2994 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
2995 destroy members to std::allocator explicit specialization.
2997 2016-01-08 Jonathan Wakely <jwakely@redhat.com>
2999 * testsuite/26_numerics/headers/cmath/
3000 c99_classification_macros_c++.cc: Rename to ...
3001 * testsuite/26_numerics/headers/cmath/
3002 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
3003 * testsuite/26_numerics/headers/cmath/
3004 c99_classification_macros_c++0x.cc: Rename to ...
3005 * testsuite/26_numerics/headers/cmath/
3006 c99_classification_macros_c++11.cc: Here.
3009 * include/bits/uses_allocator.h: Add missing include.
3011 2016-01-07 Jonathan Wakely <jwakely@redhat.com>
3016 * include/bits/stl_iterator.h (back_insert_iterator,
3017 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
3018 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
3019 * include/std/future (__future::base::_State_baseV2::__setter):
3021 * include/std/scoped_allocator (__outermost): Likewise.
3022 * testsuite/20_util/scoped_allocator/69114.cc: New.
3023 * testsuite/20_util/uses_allocator/69114.cc: New.
3024 * testsuite/30_threads/promise/69106.cc: New.
3026 2016-01-06 Jonathan Wakely <jwakely@redhat.com>
3029 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
3030 Remove _GLIBCXX_NOEXCEPT.
3031 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
3033 * include/Makefile.am: Adjust.
3034 * include/Makefile.in: Regenerate.
3035 * include/bits/mutex.h: Rename to bits/std_mutex.h.
3036 * include/std/condition_variable: Adjust include.
3037 * include/std/mutex: Likewise.
3039 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3041 Update copyright years.
3043 Copyright (C) 2016 Free Software Foundation, Inc.
3045 Copying and distribution of this file, with or without modification,
3046 are permitted in any medium without royalty provided the copyright
3047 notice and this notice are preserved.