]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
remove avr-rtems support
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
8466af06
TS
12016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2
3 * configure: Regenerate.
4 * configure.host: Remove support for knetbsd.
5 * crossconfig.m4: Likewise.
6
29dbb034
FD
72016-06-20 François Dumont <fdumont@gcc.gnu.org>
8
9 PR libstdc++/71181
10 * include/tr1/hashtable_policy.h
11 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
12 dereferenceable to avoid check on lower_bound result.
13 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
14 (_Prime_rehash_policy::_M_need_rehash): Likewise.
15 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
16 Always return a value greater than input value. Set _M_next_resize to
17 max value when reaching highest prime number.
18 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
19 being now useless.
20 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
21 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
22 (test02): New.
23 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
24 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
25 Fix indentation.
26
3ebacabd
JW
272016-06-17 Jonathan Wakely <jwakely@redhat.com>
28
29 PR libstdc++/71545
30 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
31 Remove irreflexive checks.
32 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
33 binary_search): Likewise.
34 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
35 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
36 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
37 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
38 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
39 Add constructor from array.
40
bd2ee798
FD
412016-06-16 François Dumont <fdumont@gcc.gnu.org>
42
43 * include/debug/debug.h
44 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
45 (__glibcxx_requires_subscript): Move...
46 * include/debug/assertions.h: ...here and add __builtin_expect.
47 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
48 * include/bits/stl_deque.h
49 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
50 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
51 (std::deque<>::back()): Likewise.
52 (std::deque<>::pop_front()): Likewise.
53 (std::deque<>::pop_back()): Likewise.
54 (std::deque<>::swap(deque&)): Add allocator check.
55 * include/bits/stl_vector.h
56 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
57 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
58 (std::vector<>::back()): Likewise.
59 (std::vector<>::pop_back()): Likewise.
60 (std::vector<>::swap(vector&)): Add allocator check.
61
6b9539e2
DK
622016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
63
64 Provide swappable traits (p0185r1)
65 * include/std/type_traits (is_swappable, is_nothrow_swappable,
66 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
67 is_nothrow_swappable_v, is_swappable_with_v,
68 is_nothrow_swappable_with_v): New.
69 * include/bits/stl_pair.h: Use it as per p0185r1.
70 * include/bits/stl_queue.h: Likewise.
71 * include/bits/stl_stack.h: Likewise.
72 * include/bits/unique_ptr.h: Likewise.
73 * include/std/tuple: Likewise.
74 * include/std/array: Likewise. Fix zero-size member swap.
75 * include/bits/hashtable.h: Use __and_.
76 * testsuite/20_util/is_nothrow_swappable/requirements/
77 explicit_instantiation.cc: Change test options to std=gnu++17.
78 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
79 Likewise.
80 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
81 * testsuite/20_util/is_swappable/requirements/
82 explicit_instantiation.cc: Likewise.
83 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
84 * testsuite/20_util/is_swappable/value.cc: Likewise.
85 * testsuite/20_util/is_nothrow_swappable/requirements/
86 explicit_instantiation_ext.cc: New.
87 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
88 New.
89 * testsuite/20_util/is_nothrow_swappable/value.h: New.
90 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
91 * testsuite/20_util/is_nothrow_swappable_with/requirements/
92 explicit_instantiation.cc: New.
93 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
94 New.
95 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
96 * testsuite/20_util/is_swappable/requirements/
97 explicit_instantiation_ext.cc: New.
98 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
99 * testsuite/20_util/is_swappable/value.h: New.
100 * testsuite/20_util/is_swappable/value_ext.cc: New.
101 * testsuite/20_util/is_swappable_with/requirements/
102 explicit_instantiation.cc: New.
103 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
104 * testsuite/20_util/is_swappable_with/value.cc: New.
105 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
106 dg-error line numbers.
107 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
108 Likewise.
109
0ae207e9
JW
1102016-06-16 Jonathan Wakely <jwakely@redhat.com>
111
33ac58d5
JW
112 * include/std/array: Remove trailing whitespace.
113 * include/std/atomic: Likewise.
114 * include/std/bitset: Likewise.
115 * include/std/chrono: Likewise.
116 * include/std/complex: Likewise.
117 * include/std/condition_variable: Likewise.
118 * include/std/fstream: Likewise.
119 * include/std/functional: Likewise.
120 * include/std/future: Likewise.
121 * include/std/iomanip: Likewise.
122 * include/std/iosfwd: Likewise.
123 * include/std/istream: Likewise.
124 * include/std/limits: Likewise.
125 * include/std/ratio: Likewise.
126 * include/std/scoped_allocator: Likewise.
127 * include/std/sstream: Likewise.
128 * include/std/stdexcept: Likewise.
129 * include/std/string: Likewise.
130 * include/std/system_error: Likewise.
131 * include/std/thread: Likewise.
132 * include/std/tuple: Likewise.
133 * include/std/type_traits: Likewise.
134 * include/std/utility: Likewise.
135 * include/std/valarray: Likewise.
136 * include/std/vector: Likewise.
137
0ae207e9
JW
138 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
139 new overloaded functions.
140 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
141 to avoid creating a redundant temporary.
142 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
143 test.
144
d7e16fc5
FD
1452016-06-15 François Dumont <fdumont@gcc.gnu.org>
146
147 * include/bits/stl_deque.h
148 (std::deque<>::operator=): Call _M_assign_aux.
149 (std::deque<>::assign(initializer_list<>)): Likewise.
150 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
151 (std::deque<>::insert(const_iterator, initializer_list<>)):
152 Call _M_range_insert_aux.
153 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
154 Likewise.
155 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
156 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
157 * include/bits/deque.tcc
158 (std::deque<>::operator=): Call _M_range_insert_aux.
159 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
160 Likewise.
161 * include/bits/stl_vector.h
162 (std::vector<>::operator=): Call _M_assign_aux.
163 (std::vector<>::assign(initializer_list<>)): Likewise.
164 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
165 (std::vector<>::insert(const_iterator, initializer_list<>)):
166 Call _M_range_insert.
167 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
168
373c0095
FD
1692016-06-07 François Dumont <fdumont@gcc.gnu.org>
170
171 * include/std/tuple (_Head_base<>): Default specialization condition at
172 type declaration.
173
dbc6221f
VV
1742016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
175
176 Support allocators in tuples of zero size.
177 * include/std/tuple (tuple<>::tuple(),
178 tuple<>::tuple(allocator_arg_t, const _Alloc&),
179 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
180 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
181
94229fb6
JW
1822016-06-06 Jonathan Wakely <jwakely@redhat.com>
183
184 PR libstdc++/71320
185 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
186 Add or remove permissions according to perms argument.
187 * testsuite/experimental/filesystem/operations/permissions.cc: New
188 test.
189
7a667453
VV
1902016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
191
192 Protect allocator-overloads of tuple-from-tuple constructors
193 from cases that would create dangling references.
194 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
195 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
196 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
197 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
198
4acc3634
GP
1992016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
200
201 * doc/xml/manual/backwards_compatibility.xml: Adjust
202 lists.debian.org link to https.
203 * doc/html/manual/backwards.html: Regenerate.
204
9020909e
JW
2052016-05-27 Jonathan Wakely <jwakely@redhat.com>
206
207 * doc/xml/manual/abi.xml: Adjust URL to use https.
208 * doc/html/manual/*: Regenerate.
209
b7021006
VV
2102016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
211
212 PR libstdc++/66338
213 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
214 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
215 check for _NotSameTuple.
216 * include/std/tuple (_TMCT): New.
217 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
218 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
219 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
220 const tuple<_UElements...>&)): Likewise.
221 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
222 tuple<_UElements...>&&)): Likewise.
223 * testsuite/20_util/tuple/cons/66338.cc: New.
224
834f4c43
JW
2252016-05-25 Jonathan Wakely <jwakely@redhat.com>
226
c42d2288
JW
227 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
228 * configure: Regenerate.
229 * config.h.in: Regenerate.
230
834f4c43
JW
231 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
232 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
233 Remove const qualification on function. Replace
234 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
235 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
236 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
237
732eb076
FD
2382016-05-24 François Dumont <fdumont@gcc.gnu.org>
239
240 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
241 * include/bits/hashtable_policy.h
242 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
243 having load factor management.
244 (_Mask_range_hashing): New.
245 (__clp2): New.
246 (_Power2_rehash_policy): New.
247 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
248 partial specializations only depend on whether iterators are constant
249 or not.
250 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
251 test new hash policy.
252 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
253 Likewise.
254 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
255 Likewise.
256 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
257 Likewise.
258 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
259 Likewise.
260 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
261 New.
262 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
263 using the new hash policy.
264 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
265
8be062c6
JW
2662016-05-24 Jonathan Wakely <jwakely@redhat.com>
267
268 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
269
447caf82
FD
2702016-05-23 François Dumont <fdumont@gcc.gnu.org>
271
272 * include/debug/safe_iterator.h
273 (_Safe_iterator<>::operator->()): Implement using underlying iterator
274 operator ->.
275 * include/debug/safe_local_iterator.h
276 (_Safe_local_iterator<>::operator->()): Likewise.
277
11f8114b
TP
2782016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
279
280 * testsuite/experimental/memory_resource/1.cc: Add required argument
281 to dg-require-atomic-builtins.
282
541a9b10
JW
2832016-05-13 Jonathan Wakely <jwakely@redhat.com>
284
285 PR libstdc++/71073
286 * include/debug/bitset: Add #pragma GCC system_header.
287 * include/debug/deque: Likewise.
288 * include/debug/list: Likewise.
289 * include/debug/map: Likewise.
290 * include/debug/set: Likewise.
291 * include/debug/string: Likewise.
292 * include/debug/unordered_map: Likewise.
293 * include/debug/unordered_set: Likewise.
294 * include/debug/vector: Likewise.
295 * include/debug/functions.h: Adjust whitespace.
296
068b220e
JW
2972016-05-12 Jonathan Wakely <jwakely@redhat.com>
298
299 PR libstdc++/71081
300 * testsuite/experimental/memory_resource/1.cc: Require atomics.
301
3d73ae6e
JW
3022016-05-11 Jonathan Wakely <jwakely@redhat.com>
303
304 PR libstdc++/71049
305 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
306 exception constructors with __sso_string parameters.
307
d7187f9e
JW
3082016-05-10 Jonathan Wakely <jwakely@redhat.com>
309
7f99d40a
JW
310 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
311 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
312 Test begin and end functions.
313 * testsuite/experimental/filesystem/iterators/
314 recursive_directory_iterator.cc: Likewise.
315
6fe673ad
JW
316 PR libstdc++/71038
317 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
318 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
319
77a87b2a
JW
320 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
321 Overload operator* to move from rvalues.
322
f9a39467
JW
323 PR libstdc++/71036
324 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
325 * testsuite/experimental/filesystem/operations/create_directory.cc:
326 New test.
327
6f0800d4
JW
328 PR libstdc++/71037
329 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
330 base path to exception.
331 * testsuite/experimental/filesystem/operations/canonical.cc: Test
332 paths contained in exception.
333
f10b2e1c
JW
334 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
335 using declaration.
336
d7187f9e
JW
337 PR libstdc++/71005
338 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
339 New type.
340 (directory_iterator::operator++(int)): Return proxy.
341 (recursive_directory_iterator::operator++(int)): Likewise.
342 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
343 Test post-increment.
344 * testsuite/experimental/filesystem/iterators/
345 recursive_directory_iterator.cc: Likewise.
346
7972e246
JW
3472016-05-09 Jonathan Wakely <jwakely@redhat.com>
348
349 PR libstdc++/71004
350 * testsuite/experimental/filesystem/iterators/
351 recursive_directory_iterator.cc: Fix test02 to not call member
352 functions on invalid iterator, and use VERIFY not assert.
353
fb334765
VV
3542016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
355
356 Avoid endless run-time recursion for copying single-element
357 tuples where the element type is by-value constructible
358 from any type.
359 * include/std/tuple (_NotSameTuple): New.
360 * include/std/tuple (tuple(_UElements&&...): Use it.
361 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
362
e4cce0ce
JW
3632016-05-09 Jonathan Wakely <jwakely@redhat.com>
364
365 PR libstdc++/71004
366 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
367 Initialize scalar member variables in default constructor.
368 * testsuite/experimental/filesystem/iterators/
d7187f9e 369 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 370
40436d81
RO
3712016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
372
373 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
374
f5c40ce2
JW
3752016-05-05 Jonathan Wakely <jwakely@redhat.com>
376
377 * testsuite/experimental/filesystem/path/native/string.cc: Add
378 dg-require-filesystem-ts directive.
379
d9cb3e75
JW
3802016-05-04 Jonathan Wakely <jwakely@redhat.com>
381
382 PR libstdc++/70940
383 * include/experimental/memory_resource
384 (__resource_adaptor_imp::do_allocate): Do not default-construct
385 rebound allocator.
386 (__resource_adaptor_imp::do_deallocate): Likewise. Use
387 allocator_traits to get pointer type.
388 (__null_memory_resource::do_allocate): Remove unused parameters.
389 (__null_memory_resource::do_deallocate): Likewise.
390 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
391 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
392 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
393 move to ...
394 * testsuite/experimental/memory_resource/1.cc: Here.
395 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
396 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
397
f92ab29f
CG
3982016-04-29 Chris Gregory <czipperz@gmail.com>
399
400 * config/*: Remove trailing whitespace.
401 * src/*: Likewise.
402 * testsuite/tr1/*: Likewise.
403 * testsuite/util/*: Likewise.
404
272b2ce4
JW
4052016-04-28 Jonathan Wakely <jwakely@redhat.com>
406
9f9eb84e
JW
407 PR libstdc++/70766
408 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
409 __addressof.
410 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
411 Likewise.
412 * include/std/atomic (atomic<_Tp>): Likewise.
413 * include/std/shared_mutex (shared_lock): Likewise.
414 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
415 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
416 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
417 * testsuite/29_atomics/atomic/70766.cc: New test.
418 * testsuite/30_threads/shared_lock/70766.cc: New test.
419
272b2ce4
JW
420 * include/bits/hashtable_policy.h (__detail::_Insert_base,
421 __detail::_Insert): Improve comments.
422
45e20696
JW
4232016-04-27 Jonathan Wakely <jwakely@redhat.com>
424
425 PR libstdc++/70767
426 * include/std/limits: Update comments about DRs.
427 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
428 numeric_limits<const volatile _Tp>): Define unconditionally.
429
a635cdb2
JW
4302016-04-24 Jonathan Wakely <jwakely@redhat.com>
431
432 PR libstdc++/70762
433 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
434 static counter to return a different path on every call.
435
216f7526
TS
4362016-04-22 Tim Shen <timshen@google.com>
437
438 PR libstdc++/70745
439 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
440 Fix the match_not_bow and match_not_eow behavior.
441 * testsuite/28_regex/regression.cc: Add testcase.
442
a1e1ec76
JW
4432016-04-20 Jonathan Wakely <jwakely@redhat.com>
444
445 PR libstdc++/69703
446 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
447 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
448
9c476ad4
JW
4492016-04-19 Jonathan Wakely <jwakely@redhat.com>
450
29ca91f7 451 PR libstdc++/69703
a1e1ec76 452 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
453 Override endianness bit in mode.
454 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
455 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
456 that little_endian mode is ignored.
457 * testsuite/experimental/filesystem/path/native/string.cc: New test.
458
14905251
JW
459 PR libstdc++/70609
460 * src/filesystem/ops.cc (close_fd): New function.
461 (do_copy_file): Set permissions before copying file contents. Check
462 result of closing file descriptors. Don't copy streambuf when file
463 is empty.
464 (copy(const path&, const path&, copy_options, error_code&)): Use
465 lstat for source file when copy_symlinks is set.
466 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
467
9c476ad4
JW
468 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
469 operator~ operator&=, operator|=, operator^=): Add noexcept to
470 overloaded operators for copy_options, perms and directory_options.
471 * src/filesystem/ops.cc (make_file_type, make_file_status,
472 is_not_found_errno, file_time): Add noexcept.
473
d855ad89
ESR
4742016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
475
476 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
477
8dc1e574
JW
4782016-04-18 Jonathan Wakely <jwakely@redhat.com>
479
0cded43d
JW
480 PR libstdc++/41759
481 * include/bits/random.h: Reword static assertion messages to state
482 positive conditions.
483 * include/bits/random.tcc: Likewise.
484 * include/bits/uniform_int_dist.h: Likewise.
485 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
486 patterns.
487
90751aa7
JW
488 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
489
351a5f81
JW
490 * config/cpu/sh/atomicity.h: Fix typo in comment.
491
b05cf382
JW
492 PR libstdc++/70294
493 * include/std/thread (operator<, operator==): Move definitions to
494 namespace-scope.
495 * testsuite/30_threads/thread/id/70294.cc: New test.
496
4ed6e524
JW
497 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
498 -Wno-pedantic to dg-options.
499 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
500 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
501 to dg-options.
502 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
503 Remove extra semi-colon.
504 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
505 Always supply second argument to static_assert.
506 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
507 semi-colon.
508 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
509 dg-options.
510 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
511 * testsuite/29_atomics/atomic/60695.cc: Likewise.
512 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
513 alignof when operand is an object not a type.
514 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
515 * testsuite/decimal/make-decimal.cc: Likewise.
516 * testsuite/experimental/type_traits/value.cc: Always supply second
517 argument to static_assert.
518 * testsuite/util/testsuite_common_types.h: Use __extension__ for
519 __int128 types.
520
abb6e0a1
JW
521 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
522 internal header.
523 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
524 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
525 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
526 Likewise. Add licence and change to compile-only test.
527
6b6147dd
JW
528 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
529 unused parameter.
530 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
531
8dc1e574
JW
532 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
533 warnings.
534
80dbaf98
ESR
5352016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
536
537 * include/bits/specfun.h: Trivial comment misspelling.
538
9f285ccb
JM
5392016-04-14 Jason Merrill <jason@redhat.com>
540
541 Revert Jonathan's empty ABI change from yesterday.
542
342fac95
MS
5432016-04-13 Martin Sebor <msebor@redhat.com>
544
545 PR c++/69517
546 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
547 upper bound is positive.
548
a6297ab5
JW
5492016-04-13 Jonathan Wakely <jwakely@redhat.com>
550
551 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
552 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
553 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
554 of functions taking empty structs by value. Add a template parameter
555 to overloads without hints. Rename overloads with hints to
556 _M_emplace_hint.
557 (_Hashtable::_M_erase(true_type, const_iterator),
558 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
559 by reordering parameters.
560 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
561 _M_emplace_hint instead of _M_emplace.
562 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
563 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
564 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
565 __shared_ptr): Likewise.
566 * include/bits/stl_algo.h (replace_if): Likewise.
567 * include/bits/stl_pair.h (piecewise_construct_t,
568 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
569 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
570 __uses_alloc0): Likewise.
571 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
572 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
573 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
574 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
575 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
576 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
577 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
578
0c39f36d
ESR
5792016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
580
581 Document C++17/TR29124 C++ Special Math Functions.
582 * include/bits/specfun.h: Add Doxygen markup.
583
6da8b931
JW
5842016-04-07 Jonathan Wakely <jwakely@redhat.com>
585
586 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
587
49a52ebc
EB
5882016-04-06 Eric Botcazou <ebotcazou@adacore.com>
589
590 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
591 * src/Makefile.in: Regenerate.
592
87cec93e
JW
5932016-04-05 Jonathan Wakely <jwakely@redhat.com>
594
d2aee115
JW
595 PR libstdc++/70554
596 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
597 __atomic_fetch_add for bool.
598 * configure: Regenerate.
599
d5ec69f3
JW
600 * testsuite/30_threads/thread/70503.cc: Require -static to work.
601
87cec93e
JW
602 PR libstdc++/70503
603 * src/c++11/thread.cc (execute_native_thread_routine,
604 execute_native_thread_routine_compat): Give internal linkage.
605 * testsuite/30_threads/thread/70503.cc: New test.
606
7b3318c4
VV
6072016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
608
609 PR libstdc++/70437
610 * include/bits/stl_pair.h (_ConstructiblePair,
611 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
612 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
613 for same-type cases.
614 * testsuite/20_util/pair/70437.cc: New.
615
00e6c25a
JW
6162016-03-24 Jonathan Wakely <jwakely@redhat.com>
617
618 PR libstdc++/69945
619 * config/abi/pre/gnu.ver: Add new symbol.
620 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
621 * testsuite/18_support/free_eh_pool.cc: New test.
622
bfd84e6b
BE
6232016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
624
625 * include/Makefile.am (install-freestanding-headers): Add
626 concept_check.h and move.h to the installed headers.
627 * include/Makefile.in: Regenerated.
628 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
629 freestanding implementations.
630 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
631 that this macro has no effect for freestanding implementations.
632 * doc/html/manual/using_macros.html: Likewise.
633
86715b09
JW
6342016-02-24 Jonathan Wakely <jwakely@redhat.com>
635
636 PR libstdc++/69939
637 * include/experimental/tuple (__apply_impl): Qualify get and forward.
638
9aee022e
JW
6392016-02-23 Jonathan Wakely <jwakely@redhat.com>
640
be9967e8
JW
641 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
642 * doc/html/*: Regenerate.
643
9aee022e
JW
644 PR libstdc++/69893
645 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
646 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
647 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
648 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
649 trunc) [__cplusplus >= 201103L]: Import from namespace std.
650 (fabs) [__cplusplus < 201103L]: Import from namespace std.
651 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
652 Likewise.
653 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
654 namespace before including TR1 headers.
655 * testsuite/tr1/headers/c++200x/math.cc: New test.
656
5f6dd593
BE
6572016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
658
659 PR libstdc++/69881
660 * include/c_global/cstdarg: Undefine __need___va_list.
661 * include/c_global/cstddef: Undefine all kinds of __need_*.
662
244901a5
TS
6632016-02-16 Tim Shen <timshen@google.com>
664
665 PR libstdc++/69794
666 * include/bits/regex_scanner.h: Add different special character
667 sets for grep and egrep regex.
668 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
669 * testsuite/28_regex/regression.cc: Add new testcase.
670
cc07da33
JW
6712016-02-08 Jonathan Wakely <jwakely@redhat.com>
672
2158532f
JW
673 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
674 added 'constexpr' in previous commit.
675 * configure: Regenerate.
676
cc07da33
JW
677 PR libstdc++/48891
678 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
679 checks for all targets except *-*-solaris2.* and ensure we find the
680 libc math.h header not our own.
681 * configure: Regenerate.
682
acc04646
DV
6832016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
684
685 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
686 New file. Copied over from s390-linux-gnu.
687
dbcda3ee
JW
6882016-02-04 Jonathan Wakely <jwakely@redhat.com>
689
3555173f
JW
690 PR libstdc++/69626
691 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
692 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
693 * config.h.in: Regenerate.
694 * configure: Regenerate.
695 * testsuite/21_strings/c_strings/char/69626.cc: New.
696
15ebf379
JW
697 * doc/html/index.html: Regenerate.
698
dbcda3ee
JW
699 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
700 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
701 * doc/html/*: Regenerate.
702
571512d5
BE
7032016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
704
705 PR libstdc++/69581
706 * include/c_compatibility/math.h: Move header guards.
707 * include/c_compatibility/stdlib.h: Likewise.
708
f597d5f7
JW
7092016-01-29 Jonathan Wakely <jwakely@redhat.com>
710
711 PR libstdc++/69506
712 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
713
69b0daeb
JDA
7142016-01-28 John David Anglin <danglin@gcc.gnu.org>
715
716 PR libstdc++/69450
717 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
718 isinf and isnan functions into two independent checks. Check on hpux.
719 * config.h.in: Regenerate.
720 * configure: Regenerate.
721 * include/c_global/cmath (isinf(double), isnan(double)): Use
722 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
723 respectively.
724
8dc781e4
JJ
7252016-01-27 Jakub Jelinek <jakub@redhat.com>
726
727 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
728
bae87f7f
JW
7292016-01-27 Jonathan Wakely <jwakely@redhat.com>
730
731 PR libstdc++/69295
732 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
733 -ffp-contract=off, and -ffloat-store to disable excess precision.
734 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
735 -ffp-contract=off.
736
f1d591e8
JW
7372016-01-26 Jonathan Wakely <jwakely@redhat.com>
738
739 PR libstdc++/69478
740 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
741 random_access_iterator_tag>): Check is_move_assignable when moving.
742 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
743 Likewise.
744 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
745 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
746 * testsuite/25_algorithms/move/69478.cc: New.
747 * testsuite/25_algorithms/move_backward/69478.cc: new.
748
8964d2a0
AP
7492016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
750
751 * include/c_compatibility/stdlib.h: Include wide character related
752 definitions only when they are available in cstdlib.
753
2944621e
JW
7542016-01-25 Jonathan Wakely <jwakely@redhat.com>
755
756 PR libstdc++/69464
757 * include/Makefile.am: Add new header.
758 * include/Makefile.in: Regenerate.
759 * include/bits/random.h (uniform_int_distribution): Move to
760 bits/uniform_int_dist.h.
761 * include/bits/random.tcc (uniform_int_distribution::operator(),
762 uniform_int_distribution::__generate_impl): Likewise.
763 * include/bits/uniform_int_dist.h: New header.
764 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
765 <bits/uniform_int_dist.h> instead of <random>.
766 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
767 move_iterators/1.cc: Include correct header for uninitialized_copy.
768 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
769 move_iterators/1.cc: Likewise.
770 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
771 header for vector.
772 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
773
3676c087
JDA
7742016-01-23 John David Anglin <danglin@gcc.gnu.org>
775
776 PR libstdc++/69446
777 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
778
02dc2419
ESR
7792016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
780
781 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
782 * include/c_compatibility/math.h: Import the TR29124 functions
783 into the global namespace.
784 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
785 xfail and make compile-only.
786 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
787 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
788 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
789 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
790 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
791 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
792 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
793 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
794 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
795 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
796 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
797 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
798 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
799 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
800 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
801 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
802 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
803 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
804 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
805 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
806
350fe282
JW
8072016-01-22 Jonathan Wakely <jwakely@redhat.com>
808
d1fb377c
JW
809 PR libstdc++/69116
810 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
811 define result_type for types which can be safely used with valarrays.
812 * testsuite/26_numerics/valarray/69116.cc: New.
813
350fe282
JW
814 PR libstdc++/69413
815 * config/os/gnu-linux/os_defines.h: Define
816 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
817 * include/c_global/cmath (isinf, isnan): Check it.
818 * doc/xml/manual/internals.xml: Document it.
819 * doc/html/*: Regenerate.
820
ab56cbed
JW
8212016-01-21 Jonathan Wakely <jwakely@redhat.com>
822
823 PR libstdc++/69406
824 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
825 * include/ext/type_traits.h: Likewise.
826 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
827 for presence of C headers.
828 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
829 dg-error line number.
830 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
831 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
832 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
833
7e10bcfa
TR
8342016-01-20 Torvald Riegel <triegel@redhat.com>
835
836 PR libstdc++/69310
837 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
838
eac437bf
JW
8392016-01-20 Jonathan Wakely <jwakely@redhat.com>
840
3f93466a
JW
841 PR libstdc++/60401
842 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
843 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
844 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
845 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
846 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
847 Add using declarations.
848 * testsuite/26_numerics/headers/cmath/60401.cc: New.
849
eac437bf
JW
850 PR libstdc++/69386
851 * include/c_global/ccomplex: Ensure C++ language linkage.
852 * include/c_global/cmath: Likewise.
853 * include/c_global/cstdlib: Likewise.
854 * include/c_global/ctgmath: Likewise.
855 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
856
96e19ada
JW
8572016-01-19 Jonathan Wakely <jwakely@redhat.com>
858
859 PR libstdc++/14608
860 PR libstdc++/60401
861 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
862 --enable-cheaders=c_global configs.
863 * include/Makefile.in: Regenerate.
864 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
865 test and allow inclusion from C files.
866 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
867 (at_quick_exit, quick_exit): Add using directives.
868 * include/c_global/cmath: Use #include_next for math.h.
869 * include/c_global/cstdlib: Use #include_next for stdlib.h.
870 * testsuite/26_numerics/headers/cmath/14608.cc: New.
871 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
872 Remove xfail for most targets.
873 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
874
9585381a
TR
8752016-01-18 Torvald Riegel <triegel@redhat.com>
876
877 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
878 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
879 and move after its definition.
880 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
881 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
882 __GXX_WEAK__, and only provide transactional clones if
883 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
884 functions.
885
f5460595
JW
8862016-01-18 Jonathan Wakely <jwakely@redhat.com>
887
c91bcffc
JW
888 PR libstdc++/60637
889 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
890
d75d9f91 891 PR libstdc++/69243
9c5ad80e
JW
892 * include/std/functional (_Function_base::_M_not_empty_function):
893 Change overloads for pointers to take arguments by value.
894 * testsuite/20_util/function/cons/57465.cc: Add tests for
895 pointer-to-member cases.
896
f5460595
JW
897 PR libstdc++/69340
898 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
899 Use macros for exception handling and fix unused parameter warning.
900
271366f6
JDA
9012016-01-17 John David Anglin <danglin@gcc.gnu.org>
902
903 PR libstdc++/68734
904 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
905
7a5d1d34
TR
9062016-01-17 Torvald Riegel <triegel@redhat.com>
907
908 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
909
5445d5bf
L
9102016-01-16 H.J. Lu <hongjiu.lu@intel.com>
911
912 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
913 __int128 symbols.
914
3d076231
JW
9152016-01-15 Jonathan Wakely <jwakely@redhat.com>
916
d7c1581c
JW
917 PR libstdc++/69293
918 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
919 static assertion that type is constructible from the arguments.
920 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
921 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
922 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
923
3d076231
JW
924 PR libstdc++/69294
925 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
926 and isnan on AIX. Quote variables.
927 * configure: Regenerate.
928
a04d5fc9
TR
9292016-01-15 Torvald Riegel <triegel@redhat.com>
930
931 * include/bits/basic_string.h (basic_string): Declare friends.
932 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
933 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
934 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
935 length_error, out_of_range, runtime_error, range_error,
936 underflow_error, overflow_error): Declare members as transaction-safe.
937 (logic_error, runtime_error): Declare friend functions.
938 * libsupc++/exception (exception, bad_exception): Declare members as
939 transaction-safe.
940 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
941 transaction-safe members of exceptions and helper functions.
942 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
943 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
944 (CXXABI_1.3.10): New.
945 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
946 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
947 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
948 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
949 * include/Makefile.in: Regenerate.
950 * config.h.in: Regenerate.
951 * configure: Regenerate.
952 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
953
cebeb718
SE
9542016-01-15 Steve Ellcey <sellcey@imgtec.com>
955
956 * include/ext/random.tcc: Use __builtin_isfinite instead of
957 std::isfinite.
958
3b07547d
JW
9592016-01-15 Jonathan Wakely <jwakely@redhat.com>
960
961 * include/bits/std_mutex.h: Fix Doxygen @file name.
962
2be75957
ESR
9632016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
964 Jonathan Wakely <jwakely@redhat.com>
965 Florian Goth <CaptainSifff@gmx.de>
966
967 Implement TR29124 C++ special Math Functions.
968 * include/Makefile.am: Add new headers.
969 * include/Makefile.in: Regenerate.
970 * include/bits/specfun.h: New.
971 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
972 * include/tr1/bessel_function.tcc: Ditto.
973 * include/tr1/beta_function.tcc: Ditto.
974 * include/tr1/cmath: Ditto.
975 * include/tr1/ell_integral.tcc: Ditto.
976 * include/tr1/exp_integral.tcc: Ditto.
977 * include/tr1/gamma.tcc: Ditto.
978 * include/tr1/hypergeometric.tcc: Ditto.
979 * include/tr1/legendre_function.tcc: Ditto.
980 * include/tr1/modified_bessel_func.tcc: Ditto.
981 * include/tr1/poly_hermite.tcc: Ditto.
982 * include/tr1/poly_laguerre.tcc: Ditto.
983 * include/tr1/riemann_zeta.tcc: Ditto.
984 * include/tr1/special_function_util.h: Ditto.
985 * testsuite/ext/special_functions/conf_hyperg: New.
986 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
987 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
988 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
989 * testsuite/ext/special_functions/hyperg: New.
990 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
991 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
992 * testsuite/ext/special_functions/hyperg/compile.cc: New.
993 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
994 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
995 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
996 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
997 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
998 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
999 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1000 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1001 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1002 * testsuite/special_functions/03_beta/check_nan.cc: New.
1003 * testsuite/special_functions/03_beta/check_value.cc: New.
1004 * testsuite/special_functions/03_beta/compile.cc: New.
1005 * testsuite/special_functions/03_beta/compile_2.cc: New.
1006 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1007 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1008 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1009 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1010 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1011 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1012 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1013 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1014 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1015 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1016 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1017 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1018 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1019 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1020 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1021 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1022 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1023 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1024 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1025 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1026 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1027 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1028 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1029 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1030 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1031 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1032 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1033 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1034 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1035 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1036 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1037 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1038 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1039 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1040 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1041 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1042 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1043 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1044 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1045 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1046 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1047 * testsuite/special_functions/14_expint/check_nan.cc: New.
1048 * testsuite/special_functions/14_expint/check_value.cc: New.
1049 * testsuite/special_functions/14_expint/compile.cc: New.
1050 * testsuite/special_functions/14_expint/compile_2.cc: New.
1051 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1052 * testsuite/special_functions/15_hermite/check_value.cc: New.
1053 * testsuite/special_functions/15_hermite/compile.cc: New.
1054 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1055 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1056 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1057 * testsuite/special_functions/16_laguerre/compile.cc: New.
1058 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1059 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1060 * testsuite/special_functions/17_legendre/check_value.cc: New.
1061 * testsuite/special_functions/17_legendre/compile.cc: New.
1062 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1063 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1064 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1065 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1066 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1067 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1068 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1069 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1070 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1071 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1072 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1073 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1074 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1075 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1076 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1077 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1078 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1079 * testsuite/util/specfun_testcase.h: New.
1080 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1081 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1082 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1083 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1084 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1085 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1086 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1087
39a1d8c8
JW
10882016-01-13 Jonathan Wakely <jwakely@redhat.com>
1089
1090 PR libstdc++/48891
1091 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1092 and isnan functions.
1093 * config.h.in: Regenerate.
1094 * configure: Regenerate.
1095 * include/c_global/cmath (isinf(double), isnan(double))
1096 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1097 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1098
e862906c
RO
10992016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1100
1101 PR libstdc++/66006
1102 * configure.host (abi_baseline_pair): Use separate baseline for
1103 Solaris 11+ and Solaris 10 with gld.
1104 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1105 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1106 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1107
26b5ace7
DK
11082016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1109
1110 PR libstdc++/68877
1111 * include/std/type_traits: Following N4511, reimplement __is_swappable
1112 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1113 adjust callers. Use __is_nothrow_swappable in swap.
1114 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1115 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1116 __is_swappable related tests.
1117 * testsuite/20_util/is_swappable/value.cc: New.
1118 * testsuite/20_util/is_swappable/requirements/
1119 explicit_instantiation.cc: New.
1120 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1121 * testsuite/25_algorithms/swap/68877.cc: New.
1122
1c3c7c41
JW
11232016-01-12 Jonathan Wakely <jwakely@redhat.com>
1124
bd285a8b
JW
1125 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1126
1c3c7c41
JW
1127 PR libstdc++/69005
1128 PR libstdc++/69222
1129 * include/std/functional (function::_Invoke): Remove, use result_of.
1130 (function::_Callable): Replace alias template with class template
1131 and use partial specialization instead of _NotSelf alias template.
1132 (function(_Functor)): Add "not self" constraint so that _Callable is
1133 not used while type is incomplete.
1134 * testsuite/20_util/function/69222.cc: New.
1135
1517bc30
JW
11362016-01-11 Jonathan Wakely <jwakely@redhat.com>
1137
1138 PR libstdc++/60976
1139 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1140 Define partial specialization.
1141 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1142 destroy members to std::allocator explicit specialization.
1143
e525d78c
JW
11442016-01-08 Jonathan Wakely <jwakely@redhat.com>
1145
8babc12b
JW
1146 * testsuite/26_numerics/headers/cmath/
1147 c99_classification_macros_c++.cc: Rename to ...
1148 * testsuite/26_numerics/headers/cmath/
1149 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
1150 * testsuite/26_numerics/headers/cmath/
1151 c99_classification_macros_c++0x.cc: Rename to ...
1152 * testsuite/26_numerics/headers/cmath/
1153 c99_classification_macros_c++11.cc: Here.
1154
32a8c97f 1155 PR libstdc++/69190
e525d78c
JW
1156 * include/bits/uses_allocator.h: Add missing include.
1157
f885fa89
JW
11582016-01-07 Jonathan Wakely <jwakely@redhat.com>
1159
1160 PR libstdc++/69105
1161 PR libstdc++/69106
1162 PR libstdc++/69114
1163 * include/bits/stl_iterator.h (back_insert_iterator,
1164 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
1165 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
1166 * include/std/future (__future::base::_State_baseV2::__setter):
1167 Likewise.
1168 * include/std/scoped_allocator (__outermost): Likewise.
1169 * testsuite/20_util/scoped_allocator/69114.cc: New.
1170 * testsuite/20_util/uses_allocator/69114.cc: New.
1171 * testsuite/30_threads/promise/69106.cc: New.
1172
0c3e5dd1
JW
11732016-01-06 Jonathan Wakely <jwakely@redhat.com>
1174
373a75fb
JW
1175 PR libstdc++/69092
1176 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1177 Remove _GLIBCXX_NOEXCEPT.
1178 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1179
0c3e5dd1
JW
1180 * include/Makefile.am: Adjust.
1181 * include/Makefile.in: Regenerate.
1182 * include/bits/mutex.h: Rename to bits/std_mutex.h.
1183 * include/std/condition_variable: Adjust include.
1184 * include/std/mutex: Likewise.
1185
818ab71a 11862016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
1187
1188 Update copyright years.
b4df5e92 1189\f
818ab71a 1190Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
1191
1192Copying and distribution of this file, with or without modification,
1193are permitted in any medium without royalty provided the copyright
1194notice and this notice are preserved.