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