]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
479d0ed5
JW
12016-07-15 Jonathan Wakely <jwakely@redhat.com>
2
4f5f9962
JW
3 * include/bits/algorithmfwd.h: Change C++0x to C++11 in comments.
4 * include/bits/move.h: Likewise.
5 * include/bits/postypes.h: Likewise.
6 * include/debug/bitset: Likewise.
7 * include/ext/pb_ds/detail/type_utils.hpp: Likewise.
8 * include/ext/string_conversions.h: Change C++0x to __cxx11 in
9 comment.
10 * testsuite/27_io/fpos/14320-1.cc: Change C++0x to C++11 in comment.
11 * testsuite/util/thread/all.h: Likewise.
12
d1129d45
JW
13 * include/bits/stl_algo.h (for_each): Remove redundant _GLIBCXX_MOVE
14 and adjust comment.
15
479d0ed5
JW
16 PR c++/58796
17 * libsupc++/pbase_type_info.cc (__pbase_type_info::__do_catch): Make
18 nullptr match handlers of pointer type.
19
4db1cb44
ESR
202016-07-15 Edward Smith-Rowland <3dw4rd@verizon.net>
21
22 Implement C++17 P0025 clamp.
23 * include/bits/algorithmfwd.h: Declare clamp overloads.
24 * include/bits/stl_algo.h: Implement clamp. Feature __cpp_lib_clamp.
25 * testsuite/25_algorithms/clamp/1.cc: New test.
26 * testsuite/25_algorithms/clamp/2.cc: New test.
27 * testsuite/25_algorithms/clamp/constexpr.cc: New test.
28 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
29 1.cc: New test.
30 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/
31 pod.cc: New test.
32
1ec0f763
VV
332016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
34
35 Fix the constraints for any's assignment operator template to properly
36 reject assignment from a non-copyable lvalue.
37 * include/std/any (operator=(_ValueType&&)): Constrain the decayed
38 type for is_copy_constructible,
39 * testsuite/20_util/any/requirements.cc: Add a test for
40 non-copyable lvalues.
41
0a2bf188
JW
422016-07-14 Jonathan Wakely <jwakely@redhat.com>
43
ea5ec6b7
JW
44 * include/experimental/functional: Include <parallel/algorithm> in
45 Parallel Mode.
46
47d5cb3c
JW
47 * testsuite/experimental/functional/searchers.cc: Include <algorithm>
48 for std::search.
49
0a2bf188
JW
50 PR libstdc++/70716
51 * include/bits/forward_list.h (forward_list): Update doxygen comments
52 to reflect allocator propagation semantics. Remove ambiguous
53 statements about data being lost.
54 * include/bits/stl_deque.h (deque): Likewise.
55 * include/bits/stl_list.h (list): Likewise.
56 * include/bits/stl_map.h (map): Likewise.
57 * include/bits/stl_multimap.h (multimap): Likewise.
58 * include/bits/stl_multiset.h (multiset): Likewise.
59 * include/bits/stl_set.h (set): Likewise.
60 * include/bits/stl_vector.h (vector): Likewise.
61 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
62 Likewise.
63 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
64 Likewise.
65
25a69162
VV
662016-07-14 Ville Voutilainen <ville.voutilainen@gmail.com>
67
68 Implement P0032R3, Homogeneous interface for variant, any and optional,
69 for the parts concerning any and optional.
70 * include/std/any (_Storage()): Make constexpr and have it
71 initialize _M_ptr.
72 (any()): Make constexpr.
73 (any(const any&)): Adjust.
74 (any(any&&)): Likewise.
75 (__any_constructible_t): New.
76 (any(_ValueType&&)): Constrain.
77 (any(in_place_type_t<_Tp>, _Args&&...)): New.
78 (any(in_place_type_t<_Tp>, initializer_list<_Up>, _Args&&...)):
79 Likewise.
80 (~any()): Adjust.
81 (operator=(const any&)): Likewise.
82 (operator=(any&&)): Likewise.
83 (operator=(_ValueType&&)): Constrain.
84 (emplace(_Args&&...)): New.
85 (emplace(initializer_list<_Up>, _Args&&...)): Likewise.
86 (clear()): Remove.
87 (reset()): New.
88 (swap(any&)): Adjust.
89 (empty()): Remove.
90 (has_value()): New.
91 (type()): Adjust.
92 (_Manager_internal::_S_create(_Storage&, _Args&&...)): New.
93 (_Manager_external::_S_create(_Storage&, _Args&&...)): Likewise.
94 (make_any(_Args&&...)): Likewise.
95 (make_any(initializer_list<_Up>, _Args&&...)): Likewise.
96 * include/std/optional (in_place_t, in_place): Remove.
97 (bad_optional_access): Add a comment referring to LEWG 72.
98 (emplace(_Args&&...)): Constrain.
99 (has_value()): New.
100 (reset()): Likewise.
101 (make_optional(_Args&&...)): Likewise.
102 (make_optional(initializer_list<_Up>, _Args&&...)): Likewise.
103 * include/std/utility (in_place_tag): New.
104 (__in_place, __in_place_type, __in_place_index): Likewise.
105 (in_place_t, in_place_type_t, in_place_index_t): Likewise.
106 (in_place(__in_place*)): Likewise.
107 (in_place(__in_place_type<_Tp>*)): Likewise.
108 (in_place(__in_place_index<_Idx>*)): Likewise.
109 * testsuite/20_util/any/assign/1.cc: Adjust.
110 * testsuite/20_util/any/assign/emplace.cc: New.
111 * testsuite/20_util/any/assign/self.cc: Adjust.
112 * testsuite/20_util/any/cons/1.cc: Likewise.
113 * testsuite/20_util/any/cons/in_place.cc: New.
114 * testsuite/20_util/any/make_any.cc: Likewise.
115 * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
116 * testsuite/20_util/any/misc/swap.cc: Likewise.
117 * testsuite/20_util/any/modifiers/1.cc: Likewise.
118 * testsuite/20_util/any/requirements.cc: New.
119 * testsuite/20_util/in_place/requirements.cc: Likewise.
120 * testsuite/20_util/optional/constexpr/in_place.cc: Adjust.
121 * testsuite/20_util/optional/in_place.cc: Likewise.
122 * testsuite/20_util/optional/make_optional.cc: Add tests for
123 the new overloads of make_optional.
124
c0d31471
VV
1252016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
126
127 Implement P0307R2, Making Optional Greater Equal Again.
128 * include/experimental/optional (_Has_addressof): Fix the comment.
129 * include/std/optional (_Has_addressof): Likewise.
130 (operator=(_Up&&)): Constrain.
131 (operator=(const optional<_Up>&)): Likewise.
132 (operator=(optional<_Up>&&)): Likewise.
133 (__optional_relop_t): New.
134 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
135 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
136 Constrain and make transparent.
137 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
138 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
139 Constrain and make transparent.
140 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
141 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
142 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
143 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
144 (operator!=(const optional<_Tp>&, _Tp const&)):
145 Constrain and make transparent.
146 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
147 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
148 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
149 (operator>(const optional<_Tp>&, const _Tp&)):
150 Constrain and make transparent.
151 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
152 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
153 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
154 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
155 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
156 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
157 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
158 * testsuite/20_util/optional/relops/1.cc: Likewise.
159 * testsuite/20_util/optional/relops/2.cc: Likewise.
160 * testsuite/20_util/optional/relops/3.cc: Likewise.
161 * testsuite/20_util/optional/relops/4.cc: Likewise.
162 * testsuite/20_util/optional/requirements.cc: Add tests to verify
163 that optional's relops are transparent and don't synthesize
164 operators. Also test that assignment sfinaes.
165
260d92cd
JW
1662016-07-13 Jonathan Wakely <jwakely@redhat.com>
167
e383deac
JW
168 PR libstdc++/71856
169 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty.
170 * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS):
171 Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend
172 on _GLIBCXX_ASSERTIONS.
173 * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS.
174 Include <unistd.h> for sleep.
175 * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS.
176 * include/parallel/merge.h: Likewise.
177 * include/parallel/multiway_merge.h: Likewise.
178 * include/parallel/partition.h: Likewise.
179 * include/parallel/queue.h: Likewise.
180 * include/parallel/sort.h: Likewise.
181 * testsuite/25_algorithms/headers/algorithm/
182 parallel_algorithm_assert.cc: New.
183
17f8dc93
JW
184 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
185 (replace(__const_iterator, __const_iterator, initializer_list<C>)):
186 Forward to different overload.
187
260d92cd
JW
188 * include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make
189 static.
190
2d60da10
JW
1912016-07-13 Jonathan Wakely <jwakely@redhat.com>
192
193 Revert "Add non-const overload of std::string::data()".
194
05505e9d
VV
1952016-07-13 Ville Voutilainen <ville.voutilainen@gmail.com>
196
86c0ec1d
VV
197 Implement P0307R2, Making Optional Greater Equal Again.
198 * include/experimental/optional (_Has_addressof): Fix the comment.
199 * include/std/optional (_Has_addressof): Likewise.
200 (operator=(_Up&&)): Constrain.
201 (operator=(const optional<_Up>&)): Likewise.
202 (operator=(optional<_Up>&&)): Likewise.
203 (__optional_relop_t): New.
204 (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
205 (operator!=(const optional<_Tp>&, const optional<_Tp>&)):
206 Constrain and make transparent.
207 (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain.
208 (operator>(const optional<_Tp>&, const optional<_Tp>&)):
209 Constrain and make transparent.
210 (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
211 (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise.
212 (operator==(const optional<_Tp>&, const _Tp&): Constrain.
213 (operator==(const _Tp&, const optional<_Tp>&)): Likewise.
214 (operator!=(const optional<_Tp>&, _Tp const&)):
215 Constrain and make transparent.
216 (operator!=(const _Tp&, const optional<_Tp>&)): Likewise.
217 (operator<(const optional<_Tp>&, const _Tp&)): Constrain.
218 (operator<(const _Tp&, const optional<_Tp>&)): Likewise.
219 (operator>(const optional<_Tp>&, const _Tp&)):
220 Constrain and make transparent.
221 (operator>(const _Tp&, const optional<_Tp>&)): Likewise.
222 (operator<=(const optional<_Tp>&, const _Tp&)): Likewise.
223 (operator<=(const _Tp&, const optional<_Tp>&)): Likewise.
224 (operator>=(const optional<_Tp>&, const _Tp&)): Likewise.
225 (operator>=(const _Tp&, const optional<_Tp>&)): Likewise.
226 * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust.
227 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
228 * testsuite/20_util/optional/relops/1.cc: Likewise.
229 * testsuite/20_util/optional/relops/2.cc: Likewise.
230 * testsuite/20_util/optional/relops/3.cc: Likewise.
231 * testsuite/20_util/optional/relops/4.cc: Likewise.
232 * testsuite/20_util/optional/requirements.cc: Add tests to verify
233 that optional's relops are transparent and don't synthesize
234 operators. Also test that assignment sfinaes.
235
ceea48fc
JW
2362016-07-13 Jonathan Wakely <jwakely@redhat.com>
237
238 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str):
239 New function.
240 (_M_disjunct, basic_string(const basic_string&, size_t)): Use data()
241 instead of _M_data().
242 (basic_string(const basic_string&, size_t, size_t, const _Alloc&)):
243 Likewise.
244 (append(const basic_string&)): Likewise.
245 (append(const basic_string&, size_type, size_type)): Likewise.
246 (assign(const basic_string&, size_type, size_type)): Likewise.
247 (insert(size_type, const basic_string&)): Likewise.
248 (insert(size_type, const basic_string&, size_type, size_type)):
249 Likewise.
250 (replace(size_type, size_type, const basic_string&, size_type,
251 size_type)): Likewise.
252 (replace(__const_iterator, __const_iterator, const basic_string&)):
253 Likewise.
254 (c_str(), data()): Use c_str() instead of _M_data().
255 (data()): Add non-const overload as per LWG 2391 and P0272R1.
256 (compare(const basic_string&)): Use data() instead of _M_data().
257 [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload.
258 * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate):
259 Pass raw pointers to _S_copy.
260 (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and
261 _S_assign.
262 (find(const _CharT*, size_type, size_type)): Use data instead of
263 _M_data().
264 * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New.
265 * testsuite/21_strings/basic_string/operations/data/char/2.cc: New.
266 * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New.
267
17b31c05
JW
2682016-07-12 Jonathan Wakely <jwakely@redhat.com>
269
7cbadfdc
JW
270 * libsupc++/new: Remove nothrow sized deletes (LWG 2458).
271 * doc/xml/manual/intro.xml: Document DR 2458 status.
272 * doc/html*: Regenerate.
273
1b24fb4c
JW
274 * testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>.
275 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
276 Only include <array>.
277 * testsuite/23_containers/array/tuple_interface/tuple_size.cc:
278 Likewise.
1b1c16e0 279 * doc/xml/manual/intro.xml: Document LWG 2212 support.
1b24fb4c
JW
280 * doc/html*: Regenerate.
281
17b31c05
JW
282 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
283 Add testcase from LWG 2164.
284
76225d2c
FD
2852016-07-11 François Dumont <fdumont@gcc.gnu.org>
286
287 * include/bits/stl_vector.h (push_back(const value_type&)): Forward
288 to _M_realloc_insert.
289 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
290 (_M_realloc_insert): Declare new function.
291 (_M_emplace_back_aux): Remove definition.
292 * include/bits/vector.tcc (emplace_back(_Args...)):
293 Use _M_realloc_insert.
294 (insert(const_iterator, const value_type&)): Likewise.
295 (_M_insert_rval, _M_emplace_aux): Likewise.
296 (_M_emplace_back_aux): Remove declaration.
297 (_M_realloc_insert): Define.
298 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
299 Adjust expected results for emplacing an lvalue with reallocation.
300
435e56fb
VV
3012016-07-10 Ville Voutilainen <ville.voutilainen@gmail.com>
302
303 Implement std::optional.
304 * include/Makefile.am: Add optional to exported headers.
305 * include/Makefile.in: Likewise.
306 * include/std/optional: New.
307 * testsuite/20_util/optional/typedefs.cc: Likewise.
308 * testsuite/20_util/optional/relops/2.cc: Likewise.
309 * testsuite/20_util/optional/relops/3.cc: Likewise.
310 * testsuite/20_util/optional/relops/4.cc: Likewise.
311 * testsuite/20_util/optional/relops/5.cc: Likewise.
312 * testsuite/20_util/optional/relops/1.cc: Likewise.
313 * testsuite/20_util/optional/relops/6.cc: Likewise.
314 * testsuite/20_util/optional/nullopt.cc: Likewise.
315 * testsuite/20_util/optional/in_place.cc: Likewise.
316 * testsuite/20_util/optional/make_optional.cc: Likewise.
317 * testsuite/20_util/optional/assignment/2.cc: Likewise.
318 * testsuite/20_util/optional/assignment/3.cc: Likewise.
319 * testsuite/20_util/optional/assignment/4.cc: Likewise.
320 * testsuite/20_util/optional/assignment/5.cc: Likewise.
321 * testsuite/20_util/optional/assignment/1.cc: Likewise.
322 * testsuite/20_util/optional/assignment/6.cc: Likewise.
323 * testsuite/20_util/optional/cons/value_neg.cc: Likewise.
324 * testsuite/20_util/optional/cons/default.cc: Likewise.
325 * testsuite/20_util/optional/cons/move.cc: Likewise.
326 * testsuite/20_util/optional/cons/value.cc: Likewise.
327 * testsuite/20_util/optional/cons/copy.cc: Likewise.
328 * testsuite/20_util/optional/requirements.cc: Likewise.
329 * testsuite/20_util/optional/observers/2.cc: Likewise.
330 * testsuite/20_util/optional/observers/3.cc: Likewise.
331 * testsuite/20_util/optional/observers/4.cc: Likewise.
332 * testsuite/20_util/optional/observers/5.cc: Likewise.
333 * testsuite/20_util/optional/observers/1.cc: Likewise.
334 * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise.
335 * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise.
336 * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise.
337 * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise.
338 * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise.
339 * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise.
340 * testsuite/20_util/optional/constexpr/nullopt.cc: Likewise.
341 * testsuite/20_util/optional/constexpr/in_place.cc: Likewise.
342 * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
343 * testsuite/20_util/optional/constexpr/cons/default.cc: Likewise.
344 * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise.
345 * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
346 * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
347 * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise.
348 * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise.
349 * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise.
350 * testsuite/20_util/optional/swap/1.cc: Likewise.
351
d81102f4
JW
3522016-07-08 Jonathan Wakely <jwakely@redhat.com>
353
354 * testsuite/23_containers/vector/modifiers/insert/aliasing.cc: New.
355
9fc0faf0
JW
3562016-07-07 Jonathan Wakely <jwakely@redhat.com>
357
358 * doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
359 * doc/html/*: Regenerate.
360
52e86221
VV
3612016-07-07 Ville Voutilainen <ville.voutilainen@gmail.com>
362
363 Implement std::any.
364 * include/Makefile.am: Add any and c++17_warning.h to exported headers.
365 * include/Makefile.in: Likewise.
366 * include/std/any: New.
367 * testsuite/20_util/any/assign/1.cc: Likewise.
368 * testsuite/20_util/any/assign/2.cc: Likewise.
369 * testsuite/20_util/any/assign/self.cc: Likewise.
370 * testsuite/20_util/any/cons/1.cc: Likewise.
371 * testsuite/20_util/any/cons/2.cc: Likewise.
372 * testsuite/20_util/any/cons/aligned.cc: Likewise.
373 * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
374 * testsuite/20_util/any/misc/any_cast.cc: Likewise.
375 * testsuite/20_util/any/misc/any_cast_neg.cc: Likewise.
376 * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
377 * testsuite/20_util/any/misc/swap.cc: Likewise.
378 * testsuite/20_util/any/modifiers/1.cc: Likewise.
379 * testsuite/20_util/any/observers/type.cc: Likewise.
380 * testsuite/20_util/any/typedefs.cc: Likewise.
381
3042e708
VV
3822016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
383
384 Add a new header for diagnosing the use of C++17 facilities
385 in pre-C++17 modes.
386 * include/bits/c++17_warning.h: New.
387
6ffe8548
VV
3882016-07-06 Ville Voutilainen <ville.voutilainen@gmail.com>
389
390 Implement LWG 2451, optional<T> should 'forward' T's
391 implicit conversions.
392 * include/experimental/optional (__is_optional_impl, __is_optional):
393 New.
394 (optional()): Make constexpr and default.
395 (optional(_Up&&), optional(const optional<_Up>&),
396 optional(optional<_Up>&& __t): New.
397 (operator=(_Up&&)): Constrain.
398 (operator=(const optional<_Up>&), operator=(optional<_Up>&&)): New.
399 * testsuite/experimental/optional/cons/value.cc:
400 Add tests for the functionality added by LWG 2451.
401 * testsuite/experimental/optional/cons/value_neg.cc: New.
402
7d4f48b5
VV
4032016-07-05 Ville Voutilainen <ville.voutilainen@gmail.com>
404
405 Implement LWG 2509,
406 any_cast doesn't work with rvalue reference targets and cannot
407 move with a value target.
408 * include/experimental/any (any(_ValueType&&)): Constrain and
409 add an overload that doesn't forward.
410 (any_cast(any&&)): Constrain and add an overload that moves.
411 * testsuite/experimental/any/misc/any_cast.cc: Add tests for
412 the functionality added by LWG 2509.
413
097e8994
FD
4142016-07-04 François Dumont <fdumont@gcc.gnu.org>
415
416 * testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc:
417 New test.
418 * testsuite/23_containers/vector/modifiers/insert/self_insert.cc: New
419 test.
420
9958c7eb
JW
4212016-07-04 Jonathan Wakely <jwakely@redhat.com>
422
423 * include/bits/stl_vector.h (emplace(const_iterator, _Args&&...)):
424 Define inline. Forward to _M_emplace_aux.
425 (insert(const_iterator, value_type&&)): Forward to _M_insert_rval.
426 (_M_insert_rval, _M_emplace_aux): Declare new functions.
427 (_Temporary_value): New RAII type using allocator to construct/destroy.
428 (_S_insert_aux_assign): Remove.
429 (_M_insert_aux): Make non-variadic.
430 * include/bits/vector.tcc (insert(const_iterator, const value_type&)):
431 Use _Temporary_value.
432 (emplace(const_iterator, _Args&&...)): Remove definition.
433 (_M_insert_rval, _M_emplace_aux): Define.
434 (_M_insert_aux): Make non-variadic, stop using _S_insert_aux_assign.
435 (_M_fill_insert): Use _Temporary_value.
436 * testsuite/23_containers/vector/allocator/construction.cc: New test.
437 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
438 Adjust expected results for emplacing an lvalue with reallocation.
439 * testsuite/23_containers/vector/check_construct_destroy.cc: Adjust
440 expected results to account for construction/destruction of temporary
441 using allocator.
442 * testsuite/backward/hash_set/check_construct_destroy.cc: Likewise.
443
e12880f9
VV
4442016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
445
446 PR libstdc++/71313
447 * src/filesystem/ops.cc (remove_all(const path&, error_code&)):
448 Call remove_all for children of a directory.
449 * testsuite/experimental/filesystem/operations/create_directories.cc:
450 Adjust.
451
6c539f2e
FD
4522016-07-02 François Dumont <fdumont@gcc.gnu.org>
453
454 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
455 dg-error line numbers.
456 * testsuite/23_containers/array/tuple_interface/
457 tuple_element_debug_neg.cc: Likewise.
458 * testsuite/25_algorithms/lexicographical_compare/debug/
459 irreflexive_neg.cc: Remove.
460
72fb6bae
TP
4612016-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
462
463 * testsuite/29_atomics/atomic/65913.cc: Require atomic-builtins rather
464 than specific target.
465
dc448fa0
FD
4662016-06-27 François Dumont <fdumont@gcc.gnu.org>
467
468 PR libstdc++/71640
469 * include/bits/hashtable.h: Remove _Unique_keya parameter in _Insert
470 friend declaration.
471
e615c24c
FD
4722016-06-23 François Dumont <fdumont@gcc.gnu.org>
473
474 * include/debug/array (array<>::swap): Fix noexcept qualificaton for
475 zero-size array.
476
0609abda
TS
4772016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
478
479 * configure.host: Remove mep-* support.
480
8466af06
TS
4812016-06-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
482
483 * configure: Regenerate.
484 * configure.host: Remove support for knetbsd.
485 * crossconfig.m4: Likewise.
486
29dbb034
FD
4872016-06-20 François Dumont <fdumont@gcc.gnu.org>
488
489 PR libstdc++/71181
490 * include/tr1/hashtable_policy.h
491 (_Prime_rehash_policy::_M_next_bkt): Make past-the-end iterator
492 dereferenceable to avoid check on lower_bound result.
493 (_Prime_rehash_policy::_M_bkt_for_elements): Call latter.
494 (_Prime_rehash_policy::_M_need_rehash): Likewise.
495 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
496 Always return a value greater than input value. Set _M_next_resize to
497 max value when reaching highest prime number.
498 * src/shared/hashtable-aux.cc (__prime_list): Add comment about sentinel
499 being now useless.
500 * testsuite/23_containers/unordered_set/hash_policy/71181.cc: New.
501 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc
502 (test02): New.
503 * testsuite/23_containers/unordered_set/hash_policy/prime_rehash.cc: New.
504 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
505 Fix indentation.
506
3ebacabd
JW
5072016-06-17 Jonathan Wakely <jwakely@redhat.com>
508
509 PR libstdc++/71545
510 * include/bits/stl_algobase.h (lower_bound, lexicographical_compare):
511 Remove irreflexive checks.
512 * include/bits/stl_algo.h (lower_bound, upper_bound, equal_range,
513 binary_search): Likewise.
514 * testsuite/25_algorithms/equal_range/partitioned.cc: New test.
515 * testsuite/25_algorithms/lexicographical_compare/71545.cc: New test.
516 * testsuite/25_algorithms/lower_bound/partitioned.cc: New test.
517 * testsuite/25_algorithms/upper_bound/partitioned.cc: New test.
518 * testsuite/util/testsuite_iterators.h (__gnu_test::test_container):
519 Add constructor from array.
520
bd2ee798
FD
5212016-06-16 François Dumont <fdumont@gcc.gnu.org>
522
523 * include/debug/debug.h
524 (__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
525 (__glibcxx_requires_subscript): Move...
526 * include/debug/assertions.h: ...here and add __builtin_expect.
527 (_GLIBCXX_DEBUG_ONLY): Remove ; value.
528 * include/bits/stl_deque.h
529 (std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
530 (std::deque<>::front()): Add __glibcxx_requires_nonempty check.
531 (std::deque<>::back()): Likewise.
532 (std::deque<>::pop_front()): Likewise.
533 (std::deque<>::pop_back()): Likewise.
534 (std::deque<>::swap(deque&)): Add allocator check.
535 * include/bits/stl_vector.h
536 (std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
537 (std::vector<>::front()): Add __glibcxx_requires_nonempty check.
538 (std::vector<>::back()): Likewise.
539 (std::vector<>::pop_back()): Likewise.
540 (std::vector<>::swap(vector&)): Add allocator check.
541
6b9539e2
DK
5422016-06-16 Daniel Kruegler <daniel.kruegler@gmail.com>
543
544 Provide swappable traits (p0185r1)
545 * include/std/type_traits (is_swappable, is_nothrow_swappable,
546 is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
547 is_nothrow_swappable_v, is_swappable_with_v,
548 is_nothrow_swappable_with_v): New.
549 * include/bits/stl_pair.h: Use it as per p0185r1.
550 * include/bits/stl_queue.h: Likewise.
551 * include/bits/stl_stack.h: Likewise.
552 * include/bits/unique_ptr.h: Likewise.
553 * include/std/tuple: Likewise.
554 * include/std/array: Likewise. Fix zero-size member swap.
555 * include/bits/hashtable.h: Use __and_.
556 * testsuite/20_util/is_nothrow_swappable/requirements/
557 explicit_instantiation.cc: Change test options to std=gnu++17.
558 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
559 Likewise.
560 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
561 * testsuite/20_util/is_swappable/requirements/
562 explicit_instantiation.cc: Likewise.
563 * testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
564 * testsuite/20_util/is_swappable/value.cc: Likewise.
565 * testsuite/20_util/is_nothrow_swappable/requirements/
566 explicit_instantiation_ext.cc: New.
567 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
568 New.
569 * testsuite/20_util/is_nothrow_swappable/value.h: New.
570 * testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
571 * testsuite/20_util/is_nothrow_swappable_with/requirements/
572 explicit_instantiation.cc: New.
573 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
574 New.
575 * testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
576 * testsuite/20_util/is_swappable/requirements/
577 explicit_instantiation_ext.cc: New.
578 * testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
579 * testsuite/20_util/is_swappable/value.h: New.
580 * testsuite/20_util/is_swappable/value_ext.cc: New.
581 * testsuite/20_util/is_swappable_with/requirements/
582 explicit_instantiation.cc: New.
583 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
584 * testsuite/20_util/is_swappable_with/value.cc: New.
585 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
586 dg-error line numbers.
587 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
588 Likewise.
589
0ae207e9
JW
5902016-06-16 Jonathan Wakely <jwakely@redhat.com>
591
33ac58d5
JW
592 * include/std/array: Remove trailing whitespace.
593 * include/std/atomic: Likewise.
594 * include/std/bitset: Likewise.
595 * include/std/chrono: Likewise.
596 * include/std/complex: Likewise.
597 * include/std/condition_variable: Likewise.
598 * include/std/fstream: Likewise.
599 * include/std/functional: Likewise.
600 * include/std/future: Likewise.
601 * include/std/iomanip: Likewise.
602 * include/std/iosfwd: Likewise.
603 * include/std/istream: Likewise.
604 * include/std/limits: Likewise.
605 * include/std/ratio: Likewise.
606 * include/std/scoped_allocator: Likewise.
607 * include/std/sstream: Likewise.
608 * include/std/stdexcept: Likewise.
609 * include/std/string: Likewise.
610 * include/std/system_error: Likewise.
611 * include/std/thread: Likewise.
612 * include/std/tuple: Likewise.
613 * include/std/type_traits: Likewise.
614 * include/std/utility: Likewise.
615 * include/std/valarray: Likewise.
616 * include/std/vector: Likewise.
617
0ae207e9
JW
618 * include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
619 new overloaded functions.
620 * include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
621 to avoid creating a redundant temporary.
622 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
623 test.
624
d7e16fc5
FD
6252016-06-15 François Dumont <fdumont@gcc.gnu.org>
626
627 * include/bits/stl_deque.h
628 (std::deque<>::operator=): Call _M_assign_aux.
629 (std::deque<>::assign(initializer_list<>)): Likewise.
630 (std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
631 (std::deque<>::insert(const_iterator, initializer_list<>)):
632 Call _M_range_insert_aux.
633 (std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
634 Likewise.
635 (std::deque<>::_M_fill_assign): Call _M_fill_insert.
636 (std::deque<>::_M_move_assign2): Call _M_assign_aux.
637 * include/bits/deque.tcc
638 (std::deque<>::operator=): Call _M_range_insert_aux.
639 (std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
640 Likewise.
641 * include/bits/stl_vector.h
642 (std::vector<>::operator=): Call _M_assign_aux.
643 (std::vector<>::assign(initializer_list<>)): Likewise.
644 (std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
645 (std::vector<>::insert(const_iterator, initializer_list<>)):
646 Call _M_range_insert.
647 * include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.
648
373c0095
FD
6492016-06-07 François Dumont <fdumont@gcc.gnu.org>
650
651 * include/std/tuple (_Head_base<>): Default specialization condition at
652 type declaration.
653
dbc6221f
VV
6542016-06-06 Ville Voutilainen <ville.voutilainen@gmail.com>
655
656 Support allocators in tuples of zero size.
657 * include/std/tuple (tuple<>::tuple(),
658 tuple<>::tuple(allocator_arg_t, const _Alloc&),
659 tuple<>::tuple(allocator_arg_t, const _Alloc&, const tuple&)): New.
660 * testsuite/20_util/tuple/cons/allocators.cc: Adjust.
661
94229fb6
JW
6622016-06-06 Jonathan Wakely <jwakely@redhat.com>
663
664 PR libstdc++/71320
665 * src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
666 Add or remove permissions according to perms argument.
667 * testsuite/experimental/filesystem/operations/permissions.cc: New
668 test.
669
7a667453
VV
6702016-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
671
672 Protect allocator-overloads of tuple-from-tuple constructors
673 from cases that would create dangling references.
674 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
675 const tuple<_UElements...>&), tuple(allocator_arg_t, const _Alloc&,
676 tuple<_UElements...>&&)): Add a check for _NonNestedTuple.
677 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Adjust.
678
4acc3634
GP
6792016-05-29 Gerald Pfeifer <gerald@pfeifer.com>
680
681 * doc/xml/manual/backwards_compatibility.xml: Adjust
682 lists.debian.org link to https.
683 * doc/html/manual/backwards.html: Regenerate.
684
9020909e
JW
6852016-05-27 Jonathan Wakely <jwakely@redhat.com>
686
687 * doc/xml/manual/abi.xml: Adjust URL to use https.
688 * doc/html/manual/*: Regenerate.
689
b7021006
VV
6902016-05-27 Ville Voutilainen <ville.voutilainen@gmail.com>
691
692 PR libstdc++/66338
693 * include/std/tuple (_TMC): Add a check for _NotSameTuple.
694 * include/std/tuple (tuple(_UElements&&...)): Remove the separate
695 check for _NotSameTuple.
696 * include/std/tuple (_TMCT): New.
697 * include/std/tuple (tuple(const tuple<_UElements...>&)): Use it.
698 * include/std/tuple (tuple(tuple<_UElements...>&&)): Likewise.
699 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
700 const tuple<_UElements...>&)): Likewise.
701 * include/std/tuple (tuple(allocator_arg_t, const _Alloc&,
702 tuple<_UElements...>&&)): Likewise.
703 * testsuite/20_util/tuple/cons/66338.cc: New.
704
834f4c43
JW
7052016-05-25 Jonathan Wakely <jwakely@redhat.com>
706
c42d2288
JW
707 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
708 * configure: Regenerate.
709 * config.h.in: Regenerate.
710
834f4c43
JW
711 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
712 * include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
713 Remove const qualification on function. Replace
714 _GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
715 (_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
716 (_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
717
732eb076
FD
7182016-05-24 François Dumont <fdumont@gcc.gnu.org>
719
720 * include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
721 * include/bits/hashtable_policy.h
722 (_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
723 having load factor management.
724 (_Mask_range_hashing): New.
725 (__clp2): New.
726 (_Power2_rehash_policy): New.
727 (_Inserts<>): Remove last template parameter, _Unique_keys, so that
728 partial specializations only depend on whether iterators are constant
729 or not.
730 * testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
731 test new hash policy.
732 * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
733 Likewise.
734 * testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
735 Likewise.
736 * testsuite/23_containers/unordered_set/insert/hash_policy.cc:
737 Likewise.
738 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
739 Likewise.
740 * testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
741 New.
742 * testsuite/performance/23_containers/insert/54075.cc: Add benchmark
743 using the new hash policy.
744 * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
745
8be062c6
JW
7462016-05-24 Jonathan Wakely <jwakely@redhat.com>
747
748 * include/bits/stl_queue.h (priority_queue::value_compare): Define.
749
447caf82
FD
7502016-05-23 François Dumont <fdumont@gcc.gnu.org>
751
752 * include/debug/safe_iterator.h
753 (_Safe_iterator<>::operator->()): Implement using underlying iterator
754 operator ->.
755 * include/debug/safe_local_iterator.h
756 (_Safe_local_iterator<>::operator->()): Likewise.
757
11f8114b
TP
7582016-05-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
759
760 * testsuite/experimental/memory_resource/1.cc: Add required argument
761 to dg-require-atomic-builtins.
762
541a9b10
JW
7632016-05-13 Jonathan Wakely <jwakely@redhat.com>
764
765 PR libstdc++/71073
766 * include/debug/bitset: Add #pragma GCC system_header.
767 * include/debug/deque: Likewise.
768 * include/debug/list: Likewise.
769 * include/debug/map: Likewise.
770 * include/debug/set: Likewise.
771 * include/debug/string: Likewise.
772 * include/debug/unordered_map: Likewise.
773 * include/debug/unordered_set: Likewise.
774 * include/debug/vector: Likewise.
775 * include/debug/functions.h: Adjust whitespace.
776
068b220e
JW
7772016-05-12 Jonathan Wakely <jwakely@redhat.com>
778
779 PR libstdc++/71081
780 * testsuite/experimental/memory_resource/1.cc: Require atomics.
781
3d73ae6e
JW
7822016-05-11 Jonathan Wakely <jwakely@redhat.com>
783
784 PR libstdc++/71049
785 * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
786 exception constructors with __sso_string parameters.
787
d7187f9e
JW
7882016-05-10 Jonathan Wakely <jwakely@redhat.com>
789
7f99d40a
JW
790 * include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
791 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
792 Test begin and end functions.
793 * testsuite/experimental/filesystem/iterators/
794 recursive_directory_iterator.cc: Likewise.
795
6fe673ad
JW
796 PR libstdc++/71038
797 * src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
798 * testsuite/experimental/filesystem/operations/copy_file.cc: New test.
799
77a87b2a
JW
800 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
801 Overload operator* to move from rvalues.
802
f9a39467
JW
803 PR libstdc++/71036
804 * src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
805 * testsuite/experimental/filesystem/operations/create_directory.cc:
806 New test.
807
6f0800d4
JW
808 PR libstdc++/71037
809 * src/filesystem/ops.cc (canonical(const path&, const path&)): Add
810 base path to exception.
811 * testsuite/experimental/filesystem/operations/canonical.cc: Test
812 paths contained in exception.
813
f10b2e1c
JW
814 * testsuite/experimental/type_erased_allocator/2.cc: Remove unused
815 using declaration.
816
d7187f9e
JW
817 PR libstdc++/71005
818 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
819 New type.
820 (directory_iterator::operator++(int)): Return proxy.
821 (recursive_directory_iterator::operator++(int)): Likewise.
822 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
823 Test post-increment.
824 * testsuite/experimental/filesystem/iterators/
825 recursive_directory_iterator.cc: Likewise.
826
7972e246
JW
8272016-05-09 Jonathan Wakely <jwakely@redhat.com>
828
829 PR libstdc++/71004
830 * testsuite/experimental/filesystem/iterators/
831 recursive_directory_iterator.cc: Fix test02 to not call member
832 functions on invalid iterator, and use VERIFY not assert.
833
fb334765
VV
8342016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
835
836 Avoid endless run-time recursion for copying single-element
837 tuples where the element type is by-value constructible
838 from any type.
839 * include/std/tuple (_NotSameTuple): New.
840 * include/std/tuple (tuple(_UElements&&...): Use it.
841 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
842
e4cce0ce
JW
8432016-05-09 Jonathan Wakely <jwakely@redhat.com>
844
845 PR libstdc++/71004
846 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
847 Initialize scalar member variables in default constructor.
848 * testsuite/experimental/filesystem/iterators/
d7187f9e 849 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 850
40436d81
RO
8512016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
852
853 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
854
f5c40ce2
JW
8552016-05-05 Jonathan Wakely <jwakely@redhat.com>
856
857 * testsuite/experimental/filesystem/path/native/string.cc: Add
858 dg-require-filesystem-ts directive.
859
d9cb3e75
JW
8602016-05-04 Jonathan Wakely <jwakely@redhat.com>
861
862 PR libstdc++/70940
863 * include/experimental/memory_resource
864 (__resource_adaptor_imp::do_allocate): Do not default-construct
865 rebound allocator.
866 (__resource_adaptor_imp::do_deallocate): Likewise. Use
867 allocator_traits to get pointer type.
868 (__null_memory_resource::do_allocate): Remove unused parameters.
869 (__null_memory_resource::do_deallocate): Likewise.
870 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
871 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
872 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
873 move to ...
874 * testsuite/experimental/memory_resource/1.cc: Here.
875 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
876 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
877
f92ab29f
CG
8782016-04-29 Chris Gregory <czipperz@gmail.com>
879
880 * config/*: Remove trailing whitespace.
881 * src/*: Likewise.
882 * testsuite/tr1/*: Likewise.
883 * testsuite/util/*: Likewise.
884
272b2ce4
JW
8852016-04-28 Jonathan Wakely <jwakely@redhat.com>
886
9f9eb84e
JW
887 PR libstdc++/70766
888 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
889 __addressof.
890 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
891 Likewise.
892 * include/std/atomic (atomic<_Tp>): Likewise.
893 * include/std/shared_mutex (shared_lock): Likewise.
894 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
895 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
896 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
897 * testsuite/29_atomics/atomic/70766.cc: New test.
898 * testsuite/30_threads/shared_lock/70766.cc: New test.
899
272b2ce4
JW
900 * include/bits/hashtable_policy.h (__detail::_Insert_base,
901 __detail::_Insert): Improve comments.
902
45e20696
JW
9032016-04-27 Jonathan Wakely <jwakely@redhat.com>
904
905 PR libstdc++/70767
906 * include/std/limits: Update comments about DRs.
907 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
908 numeric_limits<const volatile _Tp>): Define unconditionally.
909
a635cdb2
JW
9102016-04-24 Jonathan Wakely <jwakely@redhat.com>
911
912 PR libstdc++/70762
913 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
914 static counter to return a different path on every call.
915
216f7526
TS
9162016-04-22 Tim Shen <timshen@google.com>
917
918 PR libstdc++/70745
919 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
920 Fix the match_not_bow and match_not_eow behavior.
921 * testsuite/28_regex/regression.cc: Add testcase.
922
a1e1ec76
JW
9232016-04-20 Jonathan Wakely <jwakely@redhat.com>
924
925 PR libstdc++/69703
926 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
927 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
928
9c476ad4
JW
9292016-04-19 Jonathan Wakely <jwakely@redhat.com>
930
29ca91f7 931 PR libstdc++/69703
a1e1ec76 932 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
933 Override endianness bit in mode.
934 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
935 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
936 that little_endian mode is ignored.
937 * testsuite/experimental/filesystem/path/native/string.cc: New test.
938
14905251
JW
939 PR libstdc++/70609
940 * src/filesystem/ops.cc (close_fd): New function.
941 (do_copy_file): Set permissions before copying file contents. Check
942 result of closing file descriptors. Don't copy streambuf when file
943 is empty.
944 (copy(const path&, const path&, copy_options, error_code&)): Use
945 lstat for source file when copy_symlinks is set.
946 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
947
9c476ad4
JW
948 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
949 operator~ operator&=, operator|=, operator^=): Add noexcept to
950 overloaded operators for copy_options, perms and directory_options.
951 * src/filesystem/ops.cc (make_file_type, make_file_status,
952 is_not_found_errno, file_time): Add noexcept.
953
d855ad89
ESR
9542016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
955
956 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
957
8dc1e574
JW
9582016-04-18 Jonathan Wakely <jwakely@redhat.com>
959
0cded43d
JW
960 PR libstdc++/41759
961 * include/bits/random.h: Reword static assertion messages to state
962 positive conditions.
963 * include/bits/random.tcc: Likewise.
964 * include/bits/uniform_int_dist.h: Likewise.
965 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
966 patterns.
967
90751aa7
JW
968 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
969
351a5f81
JW
970 * config/cpu/sh/atomicity.h: Fix typo in comment.
971
b05cf382
JW
972 PR libstdc++/70294
973 * include/std/thread (operator<, operator==): Move definitions to
974 namespace-scope.
975 * testsuite/30_threads/thread/id/70294.cc: New test.
976
4ed6e524
JW
977 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
978 -Wno-pedantic to dg-options.
979 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
980 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
981 to dg-options.
982 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
983 Remove extra semi-colon.
984 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
985 Always supply second argument to static_assert.
986 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
987 semi-colon.
988 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
989 dg-options.
990 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
991 * testsuite/29_atomics/atomic/60695.cc: Likewise.
992 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
993 alignof when operand is an object not a type.
994 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
995 * testsuite/decimal/make-decimal.cc: Likewise.
996 * testsuite/experimental/type_traits/value.cc: Always supply second
997 argument to static_assert.
998 * testsuite/util/testsuite_common_types.h: Use __extension__ for
999 __int128 types.
1000
abb6e0a1
JW
1001 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
1002 internal header.
1003 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
1004 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
1005 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
1006 Likewise. Add licence and change to compile-only test.
1007
6b6147dd
JW
1008 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
1009 unused parameter.
1010 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
1011
8dc1e574
JW
1012 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
1013 warnings.
1014
80dbaf98
ESR
10152016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
1016
1017 * include/bits/specfun.h: Trivial comment misspelling.
1018
9f285ccb
JM
10192016-04-14 Jason Merrill <jason@redhat.com>
1020
1021 Revert Jonathan's empty ABI change from yesterday.
1022
342fac95
MS
10232016-04-13 Martin Sebor <msebor@redhat.com>
1024
1025 PR c++/69517
1026 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
1027 upper bound is positive.
1028
a6297ab5
JW
10292016-04-13 Jonathan Wakely <jwakely@redhat.com>
1030
1031 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
1032 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
1033 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
1034 of functions taking empty structs by value. Add a template parameter
1035 to overloads without hints. Rename overloads with hints to
1036 _M_emplace_hint.
1037 (_Hashtable::_M_erase(true_type, const_iterator),
1038 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
1039 by reordering parameters.
1040 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
1041 _M_emplace_hint instead of _M_emplace.
1042 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
1043 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
1044 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
1045 __shared_ptr): Likewise.
1046 * include/bits/stl_algo.h (replace_if): Likewise.
1047 * include/bits/stl_pair.h (piecewise_construct_t,
1048 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
1049 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
1050 __uses_alloc0): Likewise.
1051 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
1052 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
1053 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1054 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1055 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
1056 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
1057 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
1058
0c39f36d
ESR
10592016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
1060
1061 Document C++17/TR29124 C++ Special Math Functions.
1062 * include/bits/specfun.h: Add Doxygen markup.
1063
6da8b931
JW
10642016-04-07 Jonathan Wakely <jwakely@redhat.com>
1065
1066 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
1067
49a52ebc
EB
10682016-04-06 Eric Botcazou <ebotcazou@adacore.com>
1069
1070 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
1071 * src/Makefile.in: Regenerate.
1072
87cec93e
JW
10732016-04-05 Jonathan Wakely <jwakely@redhat.com>
1074
d2aee115
JW
1075 PR libstdc++/70554
1076 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
1077 __atomic_fetch_add for bool.
1078 * configure: Regenerate.
1079
d5ec69f3
JW
1080 * testsuite/30_threads/thread/70503.cc: Require -static to work.
1081
87cec93e
JW
1082 PR libstdc++/70503
1083 * src/c++11/thread.cc (execute_native_thread_routine,
1084 execute_native_thread_routine_compat): Give internal linkage.
1085 * testsuite/30_threads/thread/70503.cc: New test.
1086
7b3318c4
VV
10872016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
1088
1089 PR libstdc++/70437
1090 * include/bits/stl_pair.h (_ConstructiblePair,
1091 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
1092 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
1093 for same-type cases.
1094 * testsuite/20_util/pair/70437.cc: New.
1095
00e6c25a
JW
10962016-03-24 Jonathan Wakely <jwakely@redhat.com>
1097
1098 PR libstdc++/69945
1099 * config/abi/pre/gnu.ver: Add new symbol.
1100 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
1101 * testsuite/18_support/free_eh_pool.cc: New test.
1102
bfd84e6b
BE
11032016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1104
1105 * include/Makefile.am (install-freestanding-headers): Add
1106 concept_check.h and move.h to the installed headers.
1107 * include/Makefile.in: Regenerated.
1108 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
1109 freestanding implementations.
1110 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
1111 that this macro has no effect for freestanding implementations.
1112 * doc/html/manual/using_macros.html: Likewise.
1113
86715b09
JW
11142016-02-24 Jonathan Wakely <jwakely@redhat.com>
1115
1116 PR libstdc++/69939
1117 * include/experimental/tuple (__apply_impl): Qualify get and forward.
1118
9aee022e
JW
11192016-02-23 Jonathan Wakely <jwakely@redhat.com>
1120
be9967e8
JW
1121 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
1122 * doc/html/*: Regenerate.
1123
9aee022e
JW
1124 PR libstdc++/69893
1125 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
1126 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
1127 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
1128 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
1129 trunc) [__cplusplus >= 201103L]: Import from namespace std.
1130 (fabs) [__cplusplus < 201103L]: Import from namespace std.
1131 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
1132 Likewise.
1133 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
1134 namespace before including TR1 headers.
1135 * testsuite/tr1/headers/c++200x/math.cc: New test.
1136
5f6dd593
BE
11372016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
1138
1139 PR libstdc++/69881
1140 * include/c_global/cstdarg: Undefine __need___va_list.
1141 * include/c_global/cstddef: Undefine all kinds of __need_*.
1142
244901a5
TS
11432016-02-16 Tim Shen <timshen@google.com>
1144
1145 PR libstdc++/69794
1146 * include/bits/regex_scanner.h: Add different special character
1147 sets for grep and egrep regex.
1148 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
1149 * testsuite/28_regex/regression.cc: Add new testcase.
1150
cc07da33
JW
11512016-02-08 Jonathan Wakely <jwakely@redhat.com>
1152
2158532f
JW
1153 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
1154 added 'constexpr' in previous commit.
1155 * configure: Regenerate.
1156
cc07da33
JW
1157 PR libstdc++/48891
1158 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
1159 checks for all targets except *-*-solaris2.* and ensure we find the
1160 libc math.h header not our own.
1161 * configure: Regenerate.
1162
acc04646
DV
11632016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1164
1165 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
1166 New file. Copied over from s390-linux-gnu.
1167
dbcda3ee
JW
11682016-02-04 Jonathan Wakely <jwakely@redhat.com>
1169
3555173f
JW
1170 PR libstdc++/69626
1171 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
1172 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
1173 * config.h.in: Regenerate.
1174 * configure: Regenerate.
1175 * testsuite/21_strings/c_strings/char/69626.cc: New.
1176
15ebf379
JW
1177 * doc/html/index.html: Regenerate.
1178
dbcda3ee
JW
1179 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
1180 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
1181 * doc/html/*: Regenerate.
1182
571512d5
BE
11832016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
1184
1185 PR libstdc++/69581
1186 * include/c_compatibility/math.h: Move header guards.
1187 * include/c_compatibility/stdlib.h: Likewise.
1188
f597d5f7
JW
11892016-01-29 Jonathan Wakely <jwakely@redhat.com>
1190
1191 PR libstdc++/69506
1192 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1193
69b0daeb
JDA
11942016-01-28 John David Anglin <danglin@gcc.gnu.org>
1195
1196 PR libstdc++/69450
1197 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
1198 isinf and isnan functions into two independent checks. Check on hpux.
1199 * config.h.in: Regenerate.
1200 * configure: Regenerate.
1201 * include/c_global/cmath (isinf(double), isnan(double)): Use
1202 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
1203 respectively.
1204
8dc781e4
JJ
12052016-01-27 Jakub Jelinek <jakub@redhat.com>
1206
1207 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
1208
bae87f7f
JW
12092016-01-27 Jonathan Wakely <jwakely@redhat.com>
1210
1211 PR libstdc++/69295
1212 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
1213 -ffp-contract=off, and -ffloat-store to disable excess precision.
1214 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
1215 -ffp-contract=off.
1216
f1d591e8
JW
12172016-01-26 Jonathan Wakely <jwakely@redhat.com>
1218
1219 PR libstdc++/69478
1220 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
1221 random_access_iterator_tag>): Check is_move_assignable when moving.
1222 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
1223 Likewise.
1224 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
1225 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
1226 * testsuite/25_algorithms/move/69478.cc: New.
1227 * testsuite/25_algorithms/move_backward/69478.cc: new.
1228
8964d2a0
AP
12292016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
1230
1231 * include/c_compatibility/stdlib.h: Include wide character related
1232 definitions only when they are available in cstdlib.
1233
2944621e
JW
12342016-01-25 Jonathan Wakely <jwakely@redhat.com>
1235
1236 PR libstdc++/69464
1237 * include/Makefile.am: Add new header.
1238 * include/Makefile.in: Regenerate.
1239 * include/bits/random.h (uniform_int_distribution): Move to
1240 bits/uniform_int_dist.h.
1241 * include/bits/random.tcc (uniform_int_distribution::operator(),
1242 uniform_int_distribution::__generate_impl): Likewise.
1243 * include/bits/uniform_int_dist.h: New header.
1244 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
1245 <bits/uniform_int_dist.h> instead of <random>.
1246 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1247 move_iterators/1.cc: Include correct header for uninitialized_copy.
1248 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
1249 move_iterators/1.cc: Likewise.
1250 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
1251 header for vector.
1252 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
1253
3676c087
JDA
12542016-01-23 John David Anglin <danglin@gcc.gnu.org>
1255
1256 PR libstdc++/69446
1257 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1258
02dc2419
ESR
12592016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
1260
1261 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
1262 * include/c_compatibility/math.h: Import the TR29124 functions
1263 into the global namespace.
1264 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
1265 xfail and make compile-only.
1266 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
1267 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
1268 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
1269 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
1270 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
1271 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
1272 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
1273 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
1274 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
1275 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
1276 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
1277 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
1278 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
1279 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
1280 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
1281 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
1282 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
1283 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
1284 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
1285 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
1286
350fe282
JW
12872016-01-22 Jonathan Wakely <jwakely@redhat.com>
1288
d1fb377c
JW
1289 PR libstdc++/69116
1290 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
1291 define result_type for types which can be safely used with valarrays.
1292 * testsuite/26_numerics/valarray/69116.cc: New.
1293
350fe282
JW
1294 PR libstdc++/69413
1295 * config/os/gnu-linux/os_defines.h: Define
1296 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
1297 * include/c_global/cmath (isinf, isnan): Check it.
1298 * doc/xml/manual/internals.xml: Document it.
1299 * doc/html/*: Regenerate.
1300
ab56cbed
JW
13012016-01-21 Jonathan Wakely <jwakely@redhat.com>
1302
1303 PR libstdc++/69406
1304 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
1305 * include/ext/type_traits.h: Likewise.
1306 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
1307 for presence of C headers.
1308 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
1309 dg-error line number.
1310 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
1311 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
1312 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
1313
7e10bcfa
TR
13142016-01-20 Torvald Riegel <triegel@redhat.com>
1315
1316 PR libstdc++/69310
1317 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
1318
eac437bf
JW
13192016-01-20 Jonathan Wakely <jwakely@redhat.com>
1320
3f93466a
JW
1321 PR libstdc++/60401
1322 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
1323 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
1324 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1325 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
1326 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
1327 Add using declarations.
1328 * testsuite/26_numerics/headers/cmath/60401.cc: New.
1329
eac437bf
JW
1330 PR libstdc++/69386
1331 * include/c_global/ccomplex: Ensure C++ language linkage.
1332 * include/c_global/cmath: Likewise.
1333 * include/c_global/cstdlib: Likewise.
1334 * include/c_global/ctgmath: Likewise.
1335 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
1336
96e19ada
JW
13372016-01-19 Jonathan Wakely <jwakely@redhat.com>
1338
1339 PR libstdc++/14608
1340 PR libstdc++/60401
1341 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
1342 --enable-cheaders=c_global configs.
1343 * include/Makefile.in: Regenerate.
1344 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
1345 test and allow inclusion from C files.
1346 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
1347 (at_quick_exit, quick_exit): Add using directives.
1348 * include/c_global/cmath: Use #include_next for math.h.
1349 * include/c_global/cstdlib: Use #include_next for stdlib.h.
1350 * testsuite/26_numerics/headers/cmath/14608.cc: New.
1351 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1352 Remove xfail for most targets.
1353 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
1354
9585381a
TR
13552016-01-18 Torvald Riegel <triegel@redhat.com>
1356
1357 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
1358 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
1359 and move after its definition.
1360 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
1361 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
1362 __GXX_WEAK__, and only provide transactional clones if
1363 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
1364 functions.
1365
f5460595
JW
13662016-01-18 Jonathan Wakely <jwakely@redhat.com>
1367
c91bcffc
JW
1368 PR libstdc++/60637
1369 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
1370
d75d9f91 1371 PR libstdc++/69243
9c5ad80e
JW
1372 * include/std/functional (_Function_base::_M_not_empty_function):
1373 Change overloads for pointers to take arguments by value.
1374 * testsuite/20_util/function/cons/57465.cc: Add tests for
1375 pointer-to-member cases.
1376
f5460595
JW
1377 PR libstdc++/69340
1378 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
1379 Use macros for exception handling and fix unused parameter warning.
1380
271366f6
JDA
13812016-01-17 John David Anglin <danglin@gcc.gnu.org>
1382
1383 PR libstdc++/68734
1384 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1385
7a5d1d34
TR
13862016-01-17 Torvald Riegel <triegel@redhat.com>
1387
1388 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
1389
5445d5bf
L
13902016-01-16 H.J. Lu <hongjiu.lu@intel.com>
1391
1392 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
1393 __int128 symbols.
1394
3d076231
JW
13952016-01-15 Jonathan Wakely <jwakely@redhat.com>
1396
d7c1581c
JW
1397 PR libstdc++/69293
1398 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
1399 static assertion that type is constructible from the arguments.
1400 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
1401 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
1402 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1403
3d076231
JW
1404 PR libstdc++/69294
1405 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1406 and isnan on AIX. Quote variables.
1407 * configure: Regenerate.
1408
a04d5fc9
TR
14092016-01-15 Torvald Riegel <triegel@redhat.com>
1410
1411 * include/bits/basic_string.h (basic_string): Declare friends.
1412 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
1413 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
1414 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
1415 length_error, out_of_range, runtime_error, range_error,
1416 underflow_error, overflow_error): Declare members as transaction-safe.
1417 (logic_error, runtime_error): Declare friend functions.
1418 * libsupc++/exception (exception, bad_exception): Declare members as
1419 transaction-safe.
1420 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
1421 transaction-safe members of exceptions and helper functions.
1422 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
1423 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
1424 (CXXABI_1.3.10): New.
1425 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
1426 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
1427 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
1428 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
1429 * include/Makefile.in: Regenerate.
1430 * config.h.in: Regenerate.
1431 * configure: Regenerate.
1432 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
1433
cebeb718
SE
14342016-01-15 Steve Ellcey <sellcey@imgtec.com>
1435
1436 * include/ext/random.tcc: Use __builtin_isfinite instead of
1437 std::isfinite.
1438
3b07547d
JW
14392016-01-15 Jonathan Wakely <jwakely@redhat.com>
1440
1441 * include/bits/std_mutex.h: Fix Doxygen @file name.
1442
2be75957
ESR
14432016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
1444 Jonathan Wakely <jwakely@redhat.com>
1445 Florian Goth <CaptainSifff@gmx.de>
1446
1447 Implement TR29124 C++ special Math Functions.
1448 * include/Makefile.am: Add new headers.
1449 * include/Makefile.in: Regenerate.
1450 * include/bits/specfun.h: New.
1451 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
1452 * include/tr1/bessel_function.tcc: Ditto.
1453 * include/tr1/beta_function.tcc: Ditto.
1454 * include/tr1/cmath: Ditto.
1455 * include/tr1/ell_integral.tcc: Ditto.
1456 * include/tr1/exp_integral.tcc: Ditto.
1457 * include/tr1/gamma.tcc: Ditto.
1458 * include/tr1/hypergeometric.tcc: Ditto.
1459 * include/tr1/legendre_function.tcc: Ditto.
1460 * include/tr1/modified_bessel_func.tcc: Ditto.
1461 * include/tr1/poly_hermite.tcc: Ditto.
1462 * include/tr1/poly_laguerre.tcc: Ditto.
1463 * include/tr1/riemann_zeta.tcc: Ditto.
1464 * include/tr1/special_function_util.h: Ditto.
1465 * testsuite/ext/special_functions/conf_hyperg: New.
1466 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
1467 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
1468 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
1469 * testsuite/ext/special_functions/hyperg: New.
1470 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
1471 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
1472 * testsuite/ext/special_functions/hyperg/compile.cc: New.
1473 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
1474 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
1475 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
1476 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
1477 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
1478 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
1479 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
1480 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
1481 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
1482 * testsuite/special_functions/03_beta/check_nan.cc: New.
1483 * testsuite/special_functions/03_beta/check_value.cc: New.
1484 * testsuite/special_functions/03_beta/compile.cc: New.
1485 * testsuite/special_functions/03_beta/compile_2.cc: New.
1486 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
1487 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
1488 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
1489 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
1490 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
1491 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
1492 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
1493 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
1494 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
1495 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
1496 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
1497 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
1498 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
1499 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
1500 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
1501 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
1502 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
1503 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
1504 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
1505 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
1506 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
1507 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
1508 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
1509 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
1510 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
1511 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
1512 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
1513 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
1514 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
1515 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
1516 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
1517 * testsuite/special_functions/11_ellint_1/compile.cc: New.
1518 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
1519 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
1520 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
1521 * testsuite/special_functions/12_ellint_2/compile.cc: New.
1522 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
1523 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
1524 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
1525 * testsuite/special_functions/13_ellint_3/compile.cc: New.
1526 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
1527 * testsuite/special_functions/14_expint/check_nan.cc: New.
1528 * testsuite/special_functions/14_expint/check_value.cc: New.
1529 * testsuite/special_functions/14_expint/compile.cc: New.
1530 * testsuite/special_functions/14_expint/compile_2.cc: New.
1531 * testsuite/special_functions/15_hermite/check_nan.cc: New.
1532 * testsuite/special_functions/15_hermite/check_value.cc: New.
1533 * testsuite/special_functions/15_hermite/compile.cc: New.
1534 * testsuite/special_functions/15_hermite/compile_2.cc: New.
1535 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
1536 * testsuite/special_functions/16_laguerre/check_value.cc: New.
1537 * testsuite/special_functions/16_laguerre/compile.cc: New.
1538 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
1539 * testsuite/special_functions/17_legendre/check_nan.cc: New.
1540 * testsuite/special_functions/17_legendre/check_value.cc: New.
1541 * testsuite/special_functions/17_legendre/compile.cc: New.
1542 * testsuite/special_functions/17_legendre/compile_2.cc: New.
1543 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
1544 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
1545 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
1546 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
1547 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
1548 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
1549 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
1550 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
1551 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
1552 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
1553 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
1554 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
1555 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
1556 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
1557 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
1558 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
1559 * testsuite/util/specfun_testcase.h: New.
1560 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
1561 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
1562 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
1563 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
1564 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
1565 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
1566 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
1567
39a1d8c8
JW
15682016-01-13 Jonathan Wakely <jwakely@redhat.com>
1569
1570 PR libstdc++/48891
1571 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
1572 and isnan functions.
1573 * config.h.in: Regenerate.
1574 * configure: Regenerate.
1575 * include/c_global/cmath (isinf(double), isnan(double))
1576 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
1577 * testsuite/26_numerics/headers/cmath/48891.cc: New.
1578
e862906c
RO
15792016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1580
1581 PR libstdc++/66006
1582 * configure.host (abi_baseline_pair): Use separate baseline for
1583 Solaris 11+ and Solaris 10 with gld.
1584 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
1585 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
1586 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
1587
26b5ace7
DK
15882016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
1589
1590 PR libstdc++/68877
1591 * include/std/type_traits: Following N4511, reimplement __is_swappable
1592 and __is_nothrow_swappable. Move __is_swappable to namespace std,
1593 adjust callers. Use __is_nothrow_swappable in swap.
1594 * include/bits/move.h: Use __is_nothrow_swappable in swap.
1595 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
1596 __is_swappable related tests.
1597 * testsuite/20_util/is_swappable/value.cc: New.
1598 * testsuite/20_util/is_swappable/requirements/
1599 explicit_instantiation.cc: New.
1600 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
1601 * testsuite/25_algorithms/swap/68877.cc: New.
1602
1c3c7c41
JW
16032016-01-12 Jonathan Wakely <jwakely@redhat.com>
1604
bd285a8b
JW
1605 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
1606
1c3c7c41
JW
1607 PR libstdc++/69005
1608 PR libstdc++/69222
1609 * include/std/functional (function::_Invoke): Remove, use result_of.
1610 (function::_Callable): Replace alias template with class template
1611 and use partial specialization instead of _NotSelf alias template.
1612 (function(_Functor)): Add "not self" constraint so that _Callable is
1613 not used while type is incomplete.
1614 * testsuite/20_util/function/69222.cc: New.
1615
1517bc30
JW
16162016-01-11 Jonathan Wakely <jwakely@redhat.com>
1617
1618 PR libstdc++/60976
1619 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
1620 Define partial specialization.
1621 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
1622 destroy members to std::allocator explicit specialization.
1623
e525d78c
JW
16242016-01-08 Jonathan Wakely <jwakely@redhat.com>
1625
8babc12b
JW
1626 * testsuite/26_numerics/headers/cmath/
1627 c99_classification_macros_c++.cc: Rename to ...
1628 * testsuite/26_numerics/headers/cmath/
1629 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
1630 * testsuite/26_numerics/headers/cmath/
1631 c99_classification_macros_c++0x.cc: Rename to ...
1632 * testsuite/26_numerics/headers/cmath/
1633 c99_classification_macros_c++11.cc: Here.
1634
32a8c97f 1635 PR libstdc++/69190
e525d78c
JW
1636 * include/bits/uses_allocator.h: Add missing include.
1637
f885fa89
JW
16382016-01-07 Jonathan Wakely <jwakely@redhat.com>
1639
1640 PR libstdc++/69105
1641 PR libstdc++/69106
1642 PR libstdc++/69114
1643 * include/bits/stl_iterator.h (back_insert_iterator,
1644 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
1645 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
1646 * include/std/future (__future::base::_State_baseV2::__setter):
1647 Likewise.
1648 * include/std/scoped_allocator (__outermost): Likewise.
1649 * testsuite/20_util/scoped_allocator/69114.cc: New.
1650 * testsuite/20_util/uses_allocator/69114.cc: New.
1651 * testsuite/30_threads/promise/69106.cc: New.
1652
0c3e5dd1
JW
16532016-01-06 Jonathan Wakely <jwakely@redhat.com>
1654
373a75fb
JW
1655 PR libstdc++/69092
1656 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
1657 Remove _GLIBCXX_NOEXCEPT.
1658 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
1659
0c3e5dd1
JW
1660 * include/Makefile.am: Adjust.
1661 * include/Makefile.in: Regenerate.
1662 * include/bits/mutex.h: Rename to bits/std_mutex.h.
1663 * include/std/condition_variable: Adjust include.
1664 * include/std/mutex: Likewise.
1665
818ab71a 16662016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
1667
1668 Update copyright years.
b4df5e92 1669\f
818ab71a 1670Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
1671
1672Copying and distribution of this file, with or without modification,
1673are permitted in any medium without royalty provided the copyright
1674notice and this notice are preserved.