Implement N4279, Improved insertion interface for unique-key maps.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
2
3 Implement N4279, Improved insertion interface for unique-key maps.
4 * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
5 * include/bits/stl_tree.h (_M_get_insert_unique_pos,
6 _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
7 _M_get_insert_hint_equal_pos): Make public.
8 * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
9 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
10 Likewise.
11 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
12 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
13 Likewise.
14 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
15 Likewise.
16
17 2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
18
19 Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
20 and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
21 templated assignment
22 * include/bits/unique_ptr.h
23 (__remove_cv, __is_derived_Tp): Remove.
24 (default_delete::default_delete(const default_delete<_Up[]>)):
25 Constrain with array convertibility.
26 (default_delete::operator(_Up*)): Turn into a template,
27 constrain with array convertibility.
28 (__safe_conversion_up): New, single object version.
29 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
30 convertibility.
31 (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
32 is_assignable as a constraint.
33 (__safe_conversion_up): Array version, renamed from __safe_conversion,
34 updated to implement N4089.
35 (__safe_conversion_raw): New.
36 (unique_ptr(_Up)): Turn into a template, constrain with array
37 convertibility.
38 (unique_ptr(_Up,
39 typename conditional<is_reference<deleter_type>::value,
40 deleter_type, const deleter_type&>::type)): Likewise.
41 (unique_ptr(_Up, typename
42 remove_reference<deleter_type>::type&&)): Likewise.
43 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
44 (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
45 is_assignable as a constraint (array version).
46 (reset(_Up)): Turn into a template, constrain with array
47 convertibility.
48 (reset(nullptr_t)): New.
49 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
50 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
51 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
52 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
53 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
54 * testsuite/20_util/unique_ptr/dr2228.cc: New.
55 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
56
57 2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
58
59 * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
60 redundant -save-temps option.
61 * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
62 * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
63 * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
64 * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
65 * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
66
67 2015-08-03 Jonathan Wakely <jwakely@redhat.com>
68
69 PR libstdc++/67078
70 * include/bits/range_access.h (size, empty, data): Fix _N bad name.
71
72 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
73
74 * testsuite/experimental/filesystem/operations/current_path.cc: Use
75 canonical paths for comparisons.
76
77 2015-07-30 Tim Shen <timshen@google.com>
78
79 * include/bits/regex_automaton.h (_State_base, _State<>):
80 Remove _TraitsT dependency from _State<>; Make matcher member
81 into the union to reduce struct size.
82 * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
83 _State_base<>::_M_dot, _StateSeq<>::_M_clone):
84 Adjust to fit the interface. Factor out common parts in
85 _M_clone as _State<>::_M_has_alt.
86 * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
87 Only pass state id instead of the whole state.
88 * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
89 _Executer<>::_M_lookahead): Adjust to fit the interface.
90 * include/std/regex: Include <ext/aligned_buffer.h>
91
92 2015-07-30 Jonathan Wakely <jwakely@redhat.com>
93
94 * include/experimental/any (any::operator=(const any&)): Check for
95 self-assignment.
96 * testsuite/experimental/any/assign/self.cc: New.
97 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
98
99 2015-07-29 Jonathan Wakely <jwakely@redhat.com>
100
101 PR libstdc++/66829
102 * testsuite/lib/libstdc++.exp (v3-build_support): Compile
103 testsuite_shared.cc with -std=gnu++98.
104
105 2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
106
107 * include/bits/range_access.h: Change class to typename in every
108 template.
109 (size, empty, data): New functions from N4280.
110 * testsuite/24_iterators/container_access.cc: New.
111
112 PR libstdc++/60970
113 * include/bits/functional_hash.h (__hash_enum): New.
114 (hash): Derive from __hash_enum.
115 * testsuite/20_util/hash/60970.cc: New.
116
117 2015-07-29 Tim Shen <timshen@google.com>
118
119 PR libstdc++/67015
120 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
121 _BracketMatcher<>::_M_add_collating_element): Change signature
122 to make checking the and of bracket expression easier.
123 * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
124 Treat '-' as a valid literal if it's at the end of bracket expression.
125 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
126 New testcases.
127
128 2015-07-24 Jonathan Wakely <jwakely@redhat.com>
129
130 * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
131 (_M_load_and_test_until): Whitespace.
132 (_M_load_and_test): Value-initialize the unused durations.
133 (_M_load_when_equal): Add missing return value.
134
135 2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
136
137 * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
138 * Makefile.in: Regenerate.
139 * doc/Makefile.in: Regenerate.
140 * include/Makefile.in: Regenerate.
141 * libsupc++/Makefile.in: Regenerate.
142 * po/Makefile.in: Regenerate.
143 * python/Makefile.in: Regenerate.
144 * src/Makefile.in: Regenerate.
145 * src/c++11/Makefile.in: Regenerate.
146 * src/c++98/Makefile.in: Regenerate.
147 * src/filesystem/Makefile.in: Regenerate.
148 * testsuite/Makefile.in: Regenerate.
149
150 2015-07-23 DJ Delorie <dj@redhat.com>
151
152 * include/bits/functional_hash.h: Add specializations for __intN
153 types.
154
155 * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
156 Guard against values that might exceed size_t's precision.
157
158 2015-07-20 Jason Merrill <jason@redhat.com>
159
160 * include/bits/c++config: Fix abi_tag in special modes.
161
162 2015-07-19 Jonathan Wakely <jwakely@redhat.com>
163
164 * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
165 * doc/html/manual/status.html: Regenerate.
166
167 2015-07-17 Jonathan Wakely <jwakely@redhat.com>
168
169 * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
170 * doc/html/manual/status.html: Regenerate.
171
172 2015-07-16 François Dumont <fdumont@gcc.gnu.org>
173
174 * include/bits/stl_algobase.h (__miter_base): Move...
175 * include/bits/cpp_type_traits.h: ...here.
176 * include/debug/functions.h (__foreign_iterator_aux): Use latter.
177 * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
178
179 2015-07-13 Jonathan Wakely <jwakely@redhat.com>
180
181 PR libstdc++/66855
182 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
183 endianness bit in mode.
184 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
185
186 * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
187 * include/bits/forward_list.h (forward_list::swap): Make noexcept
188 unconditional.
189 * include/bits/hashtable.h (_Hashtable::swap): Do not use
190 _S_nothrow_swap().
191 * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
192 unconditional.
193 * include/bits/stl_deque.h (deque::swap): Likewise.
194 (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
195 * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
196 (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
197 * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
198 _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
199 * include/bits/stl_multimap.h (multimap::swap,
200 swap(multimap&, multimap&)): Likewise.
201 * include/bits/stl_multiset.h (multiset::swap,
202 swap(multiset&, multiset&)): Likewise.
203 * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
204 * include/bits/stl_tree.h (_Rb_tree::swap,
205 swap(_Rb_tree&, _Rb_tree&)): Likewise.
206 * include/bits/stl_vector.h (vector::swap): Make noexcept
207 unconditional.
208 (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
209 * include/debug/deque (deque::swap, swap): Likewise.
210 * include/debug/forward_list (swap): Add noexcept.
211 * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
212 * include/debug/map.h (map::swap, swap): Likewise.
213 * include/debug/multimap.h (multimap::swap, swap): Likewise.
214 * include/debug/multiset.h (multiset::Swap, swap): Likewise.
215 * include/debug/set.h (set::swap, swap): Likewise.
216 * include/debug/unordered_map (unordered_map::swap,
217 unordered_multimap::swap, swap): Likewise.
218 * include/debug/unordered_set (unordered_set::swap,
219 unordered_multiset::swap, swap): Likewise.
220 * include/debug/vector (vector::swap, swap): Likewise.
221 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
222 Remove.
223 * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
224 * include/profile/forward_list (swap): Add noexcept.
225 * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
226 * include/profile/map.h (map::swap, swap): Likewise.
227 * include/profile/multimap.h (multimap::swap, swap): Likewise.
228 * include/profile/multiset.h (multiset::swap, swap): Likewise.
229 * include/profile/set.h (set::swap, swap): Likewise.
230 * include/profile/unordered_map (swap): Likewise.
231 * include/profile/unordered_set (swap): Likewise.
232 * include/profile/vector (vector::swap, swap): Likewise. Remove
233 overloads for swapping rvalues.
234 * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
235 for noexcept on swap.
236 * testsuite/23_containers/forward_list/allocator/noexcept.cc:
237 Likewise.
238 * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
239 * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
240 * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
241 * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
242 * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
243 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
244 Likewise.
245 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
246 Likewise.
247 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
248 Likewise.
249 * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
250 Likewise.
251 * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
252 * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
253 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
254 number.
255
256 2015-07-13 John Marino <gnugcc@marino.st>
257
258 * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
259 _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
260 _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
261
262 2015-07-05 François Dumont <fdumont@gcc.gnu.org>
263
264 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
265 rehash container.
266 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
267 Adapt.
268
269 2015-07-03 Jonathan Wakely <jwakely@redhat.com>
270
271 * doc/xml/manual/status_cxx2017.xml: Update status table.
272 * doc/html/manual/*: Regenerate.
273
274 2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
275
276 Implement std::experimental::fundamentals_v2::propagate_const.
277 * include/Makefile.am: Add propagate_const.
278 * include/Makefile.in: Regenerate.
279 * include/experimental/propagate_const: New.
280 * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
281 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
282 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
283 Likewise.
284 * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
285 * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
286 * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
287 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
288 * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
289 * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
290 * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
291 * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
292 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
293 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
294 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
295 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
296 * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
297 * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
298
299 2015-07-02 Jonathan Wakely <jwakely@redhat.com>
300
301 * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
302 --with-default-libstdcxx-abi
303 * configure: Regenerate.
304 * doc/xml/manual/configure.xml: Document valid arguments.
305
306 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
307
308 * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
309 to avoid unused variable warning.
310 (__set_and_release): Use __p after __atomic_store to avoid unused
311 variable warning.
312
313 2015-07-01 Jonathan Wakely <jwakely@redhat.com>
314
315 * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
316 (__allocator_traits_base): New base class.
317 (__alloc_rebind): Reimplement in terms of detection idiom.
318 (allocator_traits): Derive from __allocator_traits_base. Reimplement
319 nested types in terms of detection idiom. Simplify SFINAE constraints
320 on overloaded static member functions.
321 * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
322 of __alloctr_rebind.
323 * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
324 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
325 dg-error line number.
326
327 * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
328 __ptrtr_rebind, __ptrtr_not_void): Remove
329 (__get_first_arg, __replace_first_arg, __make_not_void): Define new
330 transformations.
331 (__detected_or_): New detection trait.
332 (pointer_traits): Use new traits.
333 * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
334 * testsuite/20_util/pointer_traits/requirements/
335 explicit_instantiation.cc: Use valid arguments to pointer_traits.
336
337 * doc/xml/manual/status_cxx2017.xml: Update status table.
338 * include/experimental/type_traits (void_t, is_detected,
339 is_detected_v, detected_t, detected_or, detected_or_t,
340 is_detected_exact, is_detected_exact_v, is_detected_convertible,
341 is_detected_convertible_v): Define.
342 * include/std/type_traits (__detector, __detected_or, __detected_or_t,
343 __detected_or_t_): Define.
344 * testsuite/experimental/type_traits/detection.cc: New.
345
346 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
347
348 * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
349 * doc/Makefile.in: Regenerate.
350
351 * include/bits/stl_pair.h: Replace class keyword with typename.
352
353 2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
354
355 Implement N4387, "Improving pair and tuple", and LWG 2367.
356
357 * include/bits/stl_pair.h (_ConstructiblePair,
358 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
359 _ImplicitlyMoveConvertiblePair): New.
360 (pair()): Constrain it.
361 (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
362 pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
363 pair(pair<_U1, _U2>&&)): Make conditionally explicit.
364 * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
365 (tuple()): Constrain it.
366 (tuple(const _UElements&...), tuple(_UElements&&...),
367 tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
368 tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
369 tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
370 tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
371 tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
372 tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
373 tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
374 tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
375 conditionally explicit.
376 * include/experimental/functional (__boyer_moore_array_base): Name
377 array type explicitly instead of using an empty braced-init-list.
378 * testsuite/20_util/pair/cons/explicit_construct.cc: New.
379 * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
380 * testsuite/20_util/pair/requirements/dr2367.cc: New.
381 * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
382 * testsuite/20_util/tuple/requirements/dr2367.cc: New.
383
384 2015-06-30 Jonathan Wakely <jwakely@redhat.com>
385
386 * configure: Regenerate.
387
388 2015-06-29 François Dumont <fdumont@gcc.gnu.org>
389
390 * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
391 to pre-C++11 mode.
392 * include/debug/functions.h
393 (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
394 * include/debug/safe_iterator.h
395 (__gnu_debug::_Sequence_traits): New.
396 (__gnu_debug::__get_distance_from_begin): New.
397 (__gnu_debug::__get_distance_to_end): New.
398 (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
399 distance information. Add optional check_dereferenceable parameter,
400 default true.
401 (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
402 default definition...
403 (__gnu_debug::__get_distance): New overload for _Safe_iterator.
404 (__gnu_debug::__unsafe): Likewise.
405 * include/debug/helper_functions.h: ...here. New.
406 (__gnu_debug::__unsafe): New helper function to remove safe iterator
407 layer.
408 * include/debug/stl_iterator.h: New. Include latter.
409 * include/bits/stl_iterator.h: Include latter in debug mode.
410 * include/debug/stl_iterator.tcc: Adapt.
411 * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
412 overload for _Safe_local_iterator.
413 (__gnu_debug::__unsafe): Likewise.
414 * include/debug/safe_local_iterator.tcc: Adapt.
415 * include/debug/macros.h (__glibcxx_check_valid_range2): New.
416 (__glibcxx_check_insert_range): Add _Dist parameter.
417 (__glibcxx_check_insert_range_after): Likewise.
418 (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
419 _GLIBCXX_DEBUG_PEDASSERT.
420 * include/debug/deque (deque<>::assign): Remove iterator debug layer
421 when possible.
422 (deque<>::insert): Likewise.
423 * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
424 (forward_list<>::splice_after): Use latter.
425 (forward_list<>::assign): Remove iterator debug layer when possible.
426 (forward_list<>::insert_after): Likewise.
427 (__gnu_debug::_Sequence_traits<>): Partial specialization.
428 * include/debug/list (list<>::assign): Remove iterator debug layer when
429 possible.
430 (list<>::insert): Likewise.
431 [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
432 * include/debug/map.h (map<>::insert): Remove iterator debug layer when
433 possible.
434 * include/debug/multimap.h (multimap<>::insert): Likewise.
435 * include/debug/set.h (set<>::insert): Likewise.
436 * include/debug/multiset.h (multiset<>::insert): Likewise.
437 * include/debug/string (basic_string<>::append, basic_string<>::assign,
438 basic_string<>::insert, basic_string<>::replace): Likewise.
439 * include/debug/unordered_map
440 (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
441 * include/debug/unordered_set
442 (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
443 * include/debug/vector
444 (vector<>::assign, vector<>::insert): Likewise.
445 * include/Makefile.am: Add new debug headers.
446 * include/Makefile.in: Regenerate.
447
448 2015-06-26 Jonathan Wakely <jwakely@redhat.com>
449
450 * doc/xml/manual/intro.xml: Document LWG 2108 status.
451 * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
452 Define.
453 * include/bits/allocator.h (allocator::is_always_equal): Likewise.
454 * include/bits/forward_list.h
455 (forward_list::operator=(forward_list&&)): Use __bool_constant.
456 (forward_list::swap(forward_list&)): Add noexcept.
457 * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
458 Likewise.
459 (_Hashtable::swap(_Hashtable&)): Likewise.
460 * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
461 Use _Alloc_traits::is_always_equal.
462 (deque::operator=(deque&&)): Likewise.
463 (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
464 __bool_constant.
465 (swap(deque&, deque&)): Add noexcept.
466 * include/bits/stl_list.h (list::operator=(list&&)): Use
467 __bool_constant.
468 (swap(list&, list&)): Add noexcept.
469 * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
470 noexcept.
471 (swap(map&, map&)): Add noexcept.
472 * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
473 _Compare in noexcept.
474 (swap(multimap&, multimap&)): Add noexcept.
475 * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
476 _Compare in noexcept.
477 (swap(multiset&, multiset&)): Add noexcept.
478 * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
479 noexcept.
480 (swap(set&, set&)): Add noexcept.
481 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
482 _Compare in noexcept.
483 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
484 is_always_equal.
485 * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
486 __bool_constant.
487 (swap(vector&, vector&)): Add noexcept.
488 * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
489 swap(unordered_multimap& unordered_multimap&)): Add noexcept.
490 * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
491 swap(unordered_multiset& unordered_multiset&)): Add noexcept.
492 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
493 Remove.
494 (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
495 __allocator_always_compares_equal.
496 * include/ext/array_allocator.h (array_allocator::is_always_equal):
497 Define.
498 * include/std/scoped_allocator (__any_of, __propagate_on_copy,
499 __propagate_on_move, __propagate_on_swap): Remove.
500 (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
501 scoped_allocator_adaptor::propagate_on_container_move_assignment,
502 scoped_allocator_adaptor::propagate_on_container_swap): Define with
503 __and_ instead of __any_of.
504 (scoped_allocator_adaptor::is_always_equal): Define.
505 * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
506 * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
507 derive from true_type or false_type.
508 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
509 is_always_equal member and remove the trait specialization.
510 * testsuite/23_containers/vector/52591.cc: Likewise.
511 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
512 Adjust dg-error line number.
513 * testsuite/23_containers/deque/requirements/dr438/
514 constructor_1_neg.cc: Likewise.
515 * testsuite/23_containers/deque/requirements/dr438/
516 constructor_2_neg.cc: Likewise.
517 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
518 Likewise.
519 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
520 Likewise.
521 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
522 Likewise.
523 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
524 Likewise.
525 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
526 Likewise.
527 * testsuite/23_containers/vector/requirements/dr438/
528 constructor_1_neg.cc: Likewise.
529 * testsuite/23_containers/vector/requirements/dr438/
530 constructor_2_neg.cc: Likewise.
531 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
532 Likewise.
533
534 * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
535 * include/bits/stl_map.h (map::map()): Likewise.
536 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
537 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
538 * include/bits/stl_set.h (set::set()): Likewise.
539
540 2015-06-25 Jonathan Wakely <jwakely@redhat.com>
541
542 * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
543
544 2015-06-24 François Dumont <fdumont@gcc.gnu.org>
545
546 * include/bits/basic_string.h (basic_string<>::front()): Add !empty
547 debug check.
548 (basic_string<>::back()): Likewise.
549 (basic_string<>::pop_back()): Likewise.
550
551 2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
552
553 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
554 dg-error line numbers.
555 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
556 Likewise.
557
558 2015-06-23 François Dumont <fdumont@gcc.gnu.org>
559
560 * include/debug/array: Include <array>. Add version namespace when
561 specializing tuple interface to array. Add specialization for
562 __is_tuple_like_impl.
563 * include/profile/array: Likewise.
564 * include/std/array: Include <utility>. Add specialization for
565 __is_tuple_like_impl.
566 * include/std/tuple
567 (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
568 * include/std/utility: ... here. Include <type_traits>.
569 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
570 dg-error line number.
571 * testsuite/23_containers/array/tuple_interface/
572 tuple_element_debug_neg.cc: Likewise.
573
574 2015-06-22 Jonathan Wakely <jwakely@redhat.com>
575
576 * testsuite/26_numerics/complex/value_operations/1.cc: Use
577 non-negative rho argument.
578
579 * include/debug/list (__gnu_debug::list): Use allocator-aware
580 _Safe_container base.
581 * include/debug/string (__gnu_debug::basic_string): Use
582 allocator-aware _Safe_container base for cxx11 ABI.
583
584 * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
585 (wstring_convert): Move into __cxx11 namespace.
586 (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
587 message.
588
589 PR libstdc++/64657
590 * include/bits/stl_uninitialized.h
591 (__uninitialized_copy::__uninit_copy): Cast expression to void.
592
593 2015-06-17 Jonathan Wakely <jwakely@redhat.com>
594
595 PR libstdc++/55409
596 * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
597 (list::list(const list&)): Use allocator propagation trait. Use
598 _M_assign_dispatch to copy elements.
599 * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
600 (_List_node::_M_valptr()): Add accessor for stored value.
601 (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
602 (_List_base, list): Use allocator traits.
603 (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
604 (_List_base::_M_move_nodes): New function.
605 (_List_base(_List_base&&)): Use _M_move_nodes.
606 (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
607 (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
608 traits.
609 (list(size_type)): Add allocator parameter.
610 (list(const list&)): Use allocator propagation trait.
611 (list(const list&, const allocator_type&)): New constructor.
612 (list(list&&, const allocator_type&)): Likewise.
613 (list::operator=(list&&), list::swap(list&)): Use allocator
614 propagation traits.
615 (list::_M_move_assign): New functions.
616 * include/debug/list: Add allocator-extended constructors.
617 * include/profile/list: Likewise.
618 * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
619 function to get value from _List_node.
620 (StdListPrinter): Use get_value_from_list_node.
621 * testsuite/23_containers/list/allocator/copy.cc: New.
622 * testsuite/23_containers/list/allocator/copy_assign.cc: New.
623 * testsuite/23_containers/list/allocator/minimal.cc: New.
624 * testsuite/23_containers/list/allocator/move.cc: New.
625 * testsuite/23_containers/list/allocator/move_assign.cc: New.
626 * testsuite/23_containers/list/allocator/noexcept.cc: New.
627 * testsuite/23_containers/list/allocator/swap.cc: New.
628 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
629 Adjust dg-prune-output line number.
630 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
631 Likewise.
632 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
633 Likewise.
634
635 * include/bits/forward_list.h
636 (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
637 rvalue-reference.
638 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
639 (forward_list(const _Alloc&)): Split default constructor out to
640 separate function.
641 (forward_list(forward_list&&, const _Alloc&)): Move elements if base
642 class didn't do so.
643 (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
644 swap call with two assignments.
645 * include/bits/forward_list.tcc
646 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
647 move elements when allocators are not equal.
648 * include/debug/forward_list (forward_list(const allocator_type&)):
649 Split default constructor out to separate function.
650 * include/profile/forward_list (forward_list(const _Alloc&)):
651 Likewise.
652
653 * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
654 Remove unnecessary uses of operator& and static_cast.
655 * include/bits/forward_list.tcc
656 (forward_list::operator=(const forward_list&)): Use __addressof
657 instead of operator&.
658 (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
659 Remove invalid static_casts.
660 * include/debug/forward_list: Use __addressof instead of operator&.
661 * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
662
663 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
664 __is_nothrow_swappable.
665
666 2015-06-16 Jonathan Wakely <jwakely@redhat.com>
667
668 * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
669
670 * include/bits/list.tcc (list::operator=(const list&), list::merge):
671 Use __addressof instead of operator&.
672 (list::sort): Use array-to-pointer decay instead of operator&.
673 * include/bits/stl_list.h (list::splice): Use __addressof instead of
674 operator&.
675 * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
676 Likewise.
677 * include/debug/functions.h (__check_singular): Likewise.
678 * include/debug/list (list::splice, list::merge): Likewise.
679 * testsuite/23_containers/list/modifiers/addressof.cc: New.
680
681 PR libstdc++/65393
682 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
683 copies with moves.
684
685 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
686
687 * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
688
689 PR libstdc++/66464
690 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
691 Return 4 not 3.
692
693 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
694
695 PR c++/66192
696 PR target/66200
697 * config/cpu/alpha/atomic_word.h: Remove.
698 * config/cpu/ia64/atomic_word.h: Remove.
699 * config/cpu/powerpc/atomic_word.h: Remove.
700 * config/os/aix/atomic_word.h: Remove.
701 * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
702 Use generic definition.
703
704 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
705
706 PR target/66200
707 PR c++/66192
708 * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
709 (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
710 * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
711 * include/ext/atomicity.h: Likewise.
712 * include/tr1/shared_ptr.h: Likewise.
713 * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
714 Update comment.
715 (__set_and_release): Likewise.
716 * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
717 line numbers.
718 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
719 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
720 Likewise.
721
722 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
723
724 * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
725 debug and profile modes.
726 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
727 for swap in C++11 and later.
728
729 2015-06-09 Jonathan Wakely <jwakely@redhat.com>
730
731 PR libstdc++/66030
732 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
733 for mingw32.
734
735 2015-06-08 Jonathan Wakely <jwakely@redhat.com>
736
737 PR libstdc++/66441
738 * testsuite/22_locale/conversions/string/66441.cc: New.
739 * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
740 in the output string for BOM and complete result.
741
742 PR libstdc++/66417
743 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
744 for single UTF-16 units.
745 * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
746
747 2015-06-07 François Dumont <fdumont@gcc.gnu.org>
748
749 * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
750 outer scope and rename to ...
751 (std::__hash_is_transparent<>): ... this.
752 * include/debug/stl_map.h (map::find<>,
753 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
754 member function templates to perform heterogeneous lookup.
755 * include/debug/stl_multimap.h (multimap::find<>,
756 multimap::lower_bound<>, multimap::upper_bound<>,
757 multimap::equal_range<>): Likewise.
758 * include/debug/stl_multiset.h (multiset::find<>,
759 multiset::lower_bound<>, multiset::upper_bound<>,
760 multiset::equal_range<>): Likewise.
761 * include/debug/stl_set.h (set::find<>,
762 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
763 * include/profile/stl_map.h (map::find<>, map::count<>,
764 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
765 * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
766 multimap::lower_bound<>, multimap::upper_bound<>,
767 multimap::equal_range<>): Likewise.
768 * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
769 multiset::lower_bound<>, multiset::upper_bound<>,
770 multiset::equal_range<>): Likewise.
771 * include/profile/stl_set.h (set::find<>, set::count<>,
772 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
773 * testsuite/23_containers/map/operations/1.cc: Check const variants.
774 * testsuite/23_containers/multimap/operations/1.cc: Likewise.
775 * testsuite/23_containers/multiset/operations/1.cc: Likewise.
776 * testsuite/23_containers/set/operations/1.cc: Likewise.
777
778 2015-06-05 Jonathan Wakely <jwakely@redhat.com>
779
780 * doc/xml/manual/status_cxx2017.xml: Update status tables.
781 * doc/html/manual/*: Regenerate.
782 * include/std/type_traits (bool_constant): Define.
783 * testsuite/20_util/bool_constant/requirements.cc: New.
784 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
785 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
786 Likewise.
787 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
788 Likewise.
789
790 * include/std/shared_mutex (__shared_mutex_pthread,
791 __shared_mutex_cv): New helper types implementing the shared mutex
792 requirements.
793 (shared_mutex): New type for C++17.
794 (shared_timed_mutex): Derive from one of the new helper types.
795 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
796 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
797 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
798 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
799 New.
800 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
801 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
802
803 2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
804
805 Add __is_nothrow_swappable and take it into use.
806 * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
807 * include/bits/move.h (swap): Add constraints in C++11 and later.
808 * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
809 for the free swap function for pair.
810 * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
811 for the free swap functions for queue and priority_queue.
812 * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
813 for the free swap function for stack.
814 * include/debug/array (swap): Use __is_nothrow_swappable
815 for the free swap function for array.
816 * include/profile/array (swap): Likewise.
817 * include/std/array (swap): Likewise.
818 * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
819 * include/std/type_traits (__is_swappable_impl::__is_swappable,
820 __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
821 * testsuite/20_util/is_nothrow_swappable/requirements/
822 explicit_instantiation.cc: New.
823 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
824 New.
825 * testsuite/20_util/is_nothrow_swappable/value.cc: New.
826
827 2015-06-03 François Dumont fdumont@gcc.gnu.org>
828
829 * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
830
831 2015-06-02 Jonathan Wakely <jwakely@redhat.com>
832
833 * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
834 * doc/html/manual/*: Regenerate.
835
836 * doc/html/ext/lwg-active.html: Update to R93.
837 * doc/html/ext/lwg-closed.html: Likewise.
838 * doc/html/ext/lwg-defects.html: Likewise.
839 * doc/html/manual/*: Regenerate.
840 * doc/xml/manual/intro.xml: Document status of several DRs.
841
842 2015-06-02 Renlin Li <renlin.li@arm.com>
843
844 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
845
846 2015-06-01 Jonathan Wakely <jwakely@redhat.com>
847
848 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
849 environment variable.
850
851 2015-05-31 Jonathan Wakely <jwakely@redhat.com>
852
853 PR libstdc++/66354
854 * include/bits/stl_algobase.h (__fill_a): Check length before calling
855 memset.
856
857 2015-05-30 Jonathan Wakely <jwakely@redhat.com>
858
859 * include/bits/stl_algobase.h (__equal<true>::equal): Check length
860 instead of checking for null pointers.
861 (__lexicographical_compare<true>::__lc): Only check shorter length.
862
863 2015-05-29 François Dumont fdumont@gcc.gnu.org>
864
865 * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
866 _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
867 * include/debug/assertions.h: ...here, new.
868 * include/debug/formatter.h
869 (_Error_formatter::_Is_iterator_value_type): New.
870 (_Error_formatter::_Is_instance): New.
871 (_Error_formatter::_Parameter): Make public and not friend anymore.
872 (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
873 (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
874 entry.
875 (_Error_formatter::_Parameter::_Type): New.
876 (_Error_formatter::_Parameter::_Instance): New, inherit from
877 latter.
878 (union _Error_formatter::_Parameter::_M_variant): Reorganize.
879 (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
880 overloads take iterator through a const reference.
881 (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
882 New.
883 (_Parameter(const _Type&, const char*, _Is_instance)): New.
884 (_Error_formatter::_M_print_type): Delete.
885 (_Error_formatter::_M_iterator_value_type): New.
886 (_Error_formatter::_M_instance): New.
887 * include/Makefile.am: Add new above debug file.
888 * include/Makefile.in: Regenerate.
889 * include/debug/functions.h
890 (__check_dereferenceable(const _Safe_iterator<>&),
891 __valid_range(const _Safe_iterator<>&),
892 __is_safe_random_iterator<_Safe_iterator<>>): Move...
893 * include/debug/safe_iterator.h: ... here.
894 Replace debug.h include with assertions.h.
895 (__check_singular_aux): Move...
896 * include/debug/safe_base.h: ... here.
897 * include/debug/functions.h
898 (__check_dereferenceable(const _Safe_local_iterator<>&),
899 __valid_range(const _Safe_local_iterator<>&): Move...
900 * include/debug/safe_local_iterator.h: ...here.
901 * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
902 Remove _Safe_iterator declaration.
903 * include/debug/safe_unordered_container.h: Replace debug.h with
904 assertions.h.
905 * include/debug/array: Replace safe_sequence.h include with
906 formatter.h and macros.h.
907 * include/debug/deque: Include functions.tcc.
908 * include/debug/forward_list: Likewise.
909 * include/debug/list: Likewise.
910 * include/debug/string: Likewise.
911 * include/debug/vector: Likewise.
912 * include/bits/unique_ptr.h: Replace debug.h include with new
913 assertions.h.
914 * include/bits/stl_iterator_base_funcs.h: Likewise.
915 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
916 Adjust dg-error line number.
917 * testsuite/23_containers/array/tuple_interface/
918 tuple_element_debug_neg.cc: Likewise.
919 * src/c++11/debug.cc: Adapt.
920
921 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
922
923 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
924 * doc/html/manual/*: Regenerate.
925
926 * include/std/future (__async_result_of): New alias template.
927 (async): Use __async_result_of to pass decayed types to result_of.
928 * testsuite/30_threads/async/lwg2021.cc: New.
929 * doc/xml/manual/intro.xml: Document LWG 2021 status.
930
931 PR libstdc++/66327
932 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
933 memcmp with null pointers.
934 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
935 ranges.
936
937 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
938
939 PR libstdc++/65352
940 * include/profile/array (array::data): Use _S_ptr.
941 * include/debug/array (array::data): Likewise.
942
943 PR libstdc++/65352
944 * include/std/array (__array_traits::_S_ptr): New function.
945 (array::data): Use _S_ptr to avoid creating invalid reference.
946 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
947 dg-error line numbers.
948 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
949 likewise.
950
951 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
952
953 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
954 instead of downcasting.
955 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
956 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
957 (_Rb_tree::_S_iter): Remove.
958 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
959 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
960 instead of _S_lower_bound_tr
961 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
962 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
963 instead of calling _S_lower_bound_tr.
964 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
965 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
966 instead of calling _S_upper_bound_tr.
967 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
968 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
969 (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
970 (_Rb_tree::_M_get_insert_unique_pos): Likewise.
971 (_Rb_tree::_M_get_insert_equal_pos): Likewise.
972 (_Rb_tree::_M_insert_equal_lower_node): Likewise.
973 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
974 _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
975
976 PR libstdc++/66017
977 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
978 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
979 from _Base_ptr.
980 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
981 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
982 * include/ext/aligned_buffer.h (__aligned_membuf): New type using
983 alignment of _Tp as a member subobject, not as a complete object.
984 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
985 _Link_type manually as it might not be in the debug info.
986
987 2015-05-26 Doug Evans <dje@google.com>
988
989 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
990 operator-> support.
991 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
992 operator->.
993
994 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
995
996 * include/bits/locale_conv.h: Fix copyright years.
997 * include/bits/quoted_string.h: Likewise.
998 * src/filesystem/Makefile.am: Likewise.
999 * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
1000 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
1001 Likewise.
1002 * testsuite/22_locale/conversions/string/1.cc: Likewise.
1003 * testsuite/22_locale/conversions/string/2.cc: Likewise.
1004 * testsuite/22_locale/conversions/string/3.cc: Likewise.
1005 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
1006 Likewise.
1007 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
1008 Likewise.
1009 * testsuite/util/testsuite_fs.h: Likewise.
1010
1011 2015-05-23 François Dumont fdumont@gcc.gnu.org>
1012
1013 PR libstdc++/64657
1014 * include/debug/functions.h (__check_sorted_aux): Cast expression to
1015 void.
1016
1017 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
1018
1019 PR target/66224
1020 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
1021 Don't use isync. Use lwsync if available.
1022 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
1023 powerpc cpu definition.
1024
1025 2015-05-21 Jason Merrill <jason@redhat.com>
1026
1027 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
1028 * libsupc++/del_op.cc: Likewise.
1029
1030 2015-05-20 François Dumont fdumont@gcc.gnu.org>
1031
1032 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
1033 usage of typeid.
1034 (_Error_formatter::_M_print_type): New.
1035 * src/c++11/debug.cc
1036 (_Error_formatter::_Parameter::_M_print_field): Use latter.
1037 (_Error_formatter::_M_print_type): Implement latter using
1038 __cxaabiv1::__cxa_demangle to print demangled type name.
1039
1040 * include/bits/cpp_type_traits.h
1041 (std::move_iterator): Delete declaration.
1042 (std::__is_move_iterator<move_iterator>): Move partial specialization...
1043 * include/bits/stl_iterator.h: ... here.
1044 (std::__miter_base): Overloads for std::reverse_iterator and
1045 std::move_iterator.
1046 * include/bits/stl_algobase.h (std::__miter_base): Provide default
1047 implementation.
1048
1049 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
1050
1051 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
1052
1053 PR libstdc++/66078
1054 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
1055 overload for pointers.
1056 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1057 808590.cc: Add -std=gnu++03 switch.
1058 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1059 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
1060 * testsuite/23_containers/vector/modifiers/push_back/
1061 strong_guarantee.cc: New.
1062
1063 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
1064
1065 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
1066 (operator==(const list&, const list&)): If size() is O(1) compare
1067 sizes before comparing each element.
1068 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
1069 (list::resize): Use _M_resize_pos.
1070
1071 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
1072
1073 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
1074 invocations.
1075 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
1076 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
1077 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
1078
1079 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1080
1081 * configure.host: Define cpu_defines_dir for ARM.
1082 * config/cpu/arm/cpu_defines.h: New file.
1083
1084 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
1085
1086 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
1087 missing constructors.
1088 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1089 Likewise.
1090 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
1091 missing constructors.
1092 * include/debug/unordered_set (unordered_set, unordered_multiset):
1093 Likewise.
1094 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
1095 missing constructors.
1096 * include/profile/unordered_set (unordered_set, unordered_multiset):
1097 Likewise.
1098
1099 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
1100
1101 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
1102 use throughout the file.
1103 (make_file_type): New function.
1104 (file_size(const path&, error_code&)): Report an error for anything
1105 that isn't a regular file.
1106 (status(const path&), symlink_status(const path&)): Do not throw for
1107 file_type::not_found.
1108 (temp_directory_path()): Check additional environment variables.
1109 * testsuite/experimental/filesystem/operations/exists.cc: New.
1110 * testsuite/experimental/filesystem/operations/file_size.cc: New.
1111 * testsuite/experimental/filesystem/operations/status.cc: New.
1112 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1113 New.
1114
1115 2015-05-14 Nathan Myers <ncm@cantrip.org>
1116 Jonathan Wakely <jwakely@redhat.com>
1117
1118 PR libstdc++/66055
1119 * include/std/unordered_map (unordered_map, unordered_multimap): Add
1120 missing constructors.
1121 * include/std/unordered_set (unordered_set, unordered_multiset):
1122 Likewise.
1123 * testsuite/23_containers/unordered_map/cons/66055.cc: New.
1124 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
1125 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
1126 * testsuite/23_containers/unordered_set/cons/66055.cc: New.
1127
1128 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
1129
1130 PR libstdc++/66011
1131 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
1132 sendfile.
1133 * config.h.in: Regenerate.
1134 * configure: Regenerate.
1135 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
1136 not return after copying contents. Use fchmod, fchmodat, and sendfile
1137 when available.
1138 (current_path, permissions, space): Use errno not return value.
1139
1140 PR libstdc++/66018
1141 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
1142 dirent.d_type.
1143 * config.h.in: Regenerate.
1144 * configure: Regenerate.
1145 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
1146
1147 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
1148
1149 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
1150 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
1151 * config.h.in: Regenerate.
1152 * configure: Likewise.
1153 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
1154 __USING_SJLJ_EXCEPTIONS__.
1155 * libsupc++/eh_throw.cc: Likewise.
1156 * libsupc++/eh_ptr.cc: Likewise.
1157 * doc/html/manual/appendix_porting.html: Remove
1158 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
1159 * doc/xml/manual/build_hacking.xml: Likewise.
1160 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
1161 * doc/xml/manual/configure.xml: Likewise.
1162
1163 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
1164
1165 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
1166 for nullptr (LWG 2415).
1167 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
1168 construction from empty unique_ptr.
1169 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1170 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1171
1172 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
1173 Define (LWG 2454).
1174 * testsuite/20_util/raw_storage_iterator/base.cc: New.
1175
1176 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
1177 Remove explicit (LWG 2407).
1178
1179 * include/bits/basic_string.h (basic_string::basic_string()): Make
1180 noexcept conditional on allocator (LWG 2455).
1181
1182 * include/std/complex (polar): Check for negative rho (LWG 2459).
1183
1184 * include/experimental/tuple (apply): Handle pointers to member (LWG
1185 2418).
1186 * include/std/functional (_Mem_fn_base): Make constructors constexpr.
1187 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
1188 * testsuite/experimental/tuple/apply.cc: Test pointer to member.
1189
1190 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
1191
1192 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
1193 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
1194 * testsuite/23_containers/forward_list/allocator/minimal.cc:
1195 Likewise.
1196 * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
1197 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
1198 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
1199 * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
1200 * testsuite/23_containers/unordered_map/allocator/minimal.cc:
1201 Likewise.
1202 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
1203 Likewise.
1204 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
1205 Likewise.
1206 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
1207 Likewise.
1208 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
1209
1210 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
1211 * configure: Regenerate.
1212
1213 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
1214
1215 * Makefile.in: Regenerated with automake-1.11.6.
1216 * aclocal.m4: Likewise.
1217 * configure: Likewise.
1218 * doc/Makefile.in: Likewise.
1219 * include/Makefile.in: Likewise.
1220 * libsupc++/Makefile.in: Likewise.
1221 * po/Makefile.in: Likewise.
1222 * python/Makefile.in: Likewise.
1223 * src/Makefile.in: Likewise.
1224 * src/c++11/Makefile.in: Likewise.
1225 * src/c++98/Makefile.in: Likewise.
1226 * src/filesystem/Makefile.in: Likewise.
1227 * testsuite/Makefile.in: Likewise.
1228
1229 2015-05-09 Jason Merrill <jason@redhat.com>
1230
1231 * testsuite/20_util/headers/functional/synopsis.cc: Add
1232 _GLIBCXX14_CONSTEXPR.
1233 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
1234
1235 2015-05-08 Jason Merrill <jason@redhat.com>
1236
1237 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
1238 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
1239 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
1240 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
1241 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
1242 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
1243 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
1244 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
1245 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
1246 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
1247 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
1248 Likewise.
1249 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
1250 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1251 Adjust expected errors.
1252 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1253 Likewise.
1254 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1255 Likewise.
1256 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1257 Likewise.
1258 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1259 Likewise.
1260 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1261 Likewise.
1262 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1263 Likewise.
1264 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1265 Likewise.
1266 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1267 Likewise.
1268 * testsuite/23_containers/vector/requirements/dr438
1269 /constructor_1_neg.cc: Likewise.
1270 * testsuite/23_containers/vector/requirements/dr438
1271 /constructor_2_neg.cc: Likewise.
1272 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1273 Likewise.
1274 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
1275 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
1276 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
1277 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
1278 * testsuite/ext/array_allocator/check_allocate_max_size.cc:
1279 Add -Wno-deprecated.
1280 * testsuite/ext/array_allocator/check_deallocate_null.cc:
1281 Add -Wno-deprecated.
1282 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
1283 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
1284 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
1285 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
1286 Add -std=c++98.
1287 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
1288 Add -std=c++98.
1289 * testsuite/tr1/2_general_utilities/shared_ptr/assign
1290 /auto_ptr_rvalue_neg.cc: Add -std=c++98.
1291 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
1292 Add -std=c++98 -fno-show-column.
1293 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
1294 Add -std=c++98.
1295 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
1296 Add -std=c++98.
1297 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
1298 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
1299
1300 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
1301 * src/c++98/Makefile.in: Regenerate.
1302 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
1303 * src/Makefile.in: Regenerate.
1304
1305 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
1306
1307 PR libstdc++/51617
1308 * include/std/future (async): Change default policy to launch::async.
1309
1310 * include/experimental/any (any::_Storage): Fix alignment of buffer.
1311 (any::_Internal): Check alignment of type.
1312 * testsuite/experimental/any/cons/aligned.cc: New.
1313 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1314
1315 * include/experimental/iterator (ostream_joiner): Simplify by using
1316 the injected-class-name and the ostream_type typedef.
1317
1318 * include/experimental/iterator: New. Define ostream_joiner.
1319 * include/Makefile.am: Add new header.
1320 * include/Makefile.in: Regenerate.
1321 * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
1322 * testsuite/experimental/iterator/ostream_joiner.cc: New.
1323 * testsuite/experimental/iterator/requirements.cc: New.
1324 * doc/xml/manual/status_cxx2017.xml: Update status.
1325 * doc/html/manual/status.html: Regenerate.
1326
1327 * include/experimental/numeric: New. Define gcd and lcm.
1328 * include/Makefile.am: Add new header.
1329 * include/Makefile.in: Regenerate.
1330 * testsuite/experimental/numeric/gcd.cc: New.
1331 * testsuite/experimental/numeric/lcm.cc: New.
1332 * doc/xml/manual/status_cxx2017.xml: Update status.
1333 * doc/html/manual/status.html: Regenerate.
1334
1335 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
1336
1337 Revert addition of feature macros from other headers per latest SD-6.
1338 * include/experimental/deque: Remove feature-test macro.
1339 * include/experimental/forward_list: Ditto.
1340 * include/experimental/list: Ditto.
1341 * include/experimental/map: Ditto.
1342 * include/experimental/set: Ditto.
1343 * include/experimental/string: Ditto.
1344 * include/experimental/unordered_map: Ditto.
1345 * include/experimental/unordered_set: Ditto.
1346
1347 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
1348
1349 * include/experimental/any (any::_Storage): Make non-copyable.
1350 (any::any): Do not copy _Storage object.
1351 (any::operator=): Implement more efficiently than swapping.
1352 (any::swap): Use new _Op_xfer operation.
1353 (any::_Op::_Op_xfer): New enumerator.
1354 (_Manager_internal::_S_alloc): Remove unused function.
1355 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
1356 parameter instead of returning a _Storage object.
1357 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
1358 _Op_xfer operation for moving and swapping.
1359 * testsuite/experimental/any/cons/nontrivial.cc: New.
1360 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1361
1362 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
1363 Declare.
1364 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
1365 Define.
1366
1367 PR libstdc++/65978
1368 * include/std/tuple (forward_as_tuple, tie): Add constexpr.
1369 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
1370 and fix tests for forward_as_tuple and tie.
1371
1372 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
1373 Set timespec members explicitly instead of with a braced-init-list.
1374 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
1375
1376 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
1377
1378 * include/experimental/deque: Add feature-test macro.
1379 * include/experimental/forward_list: Ditto.
1380 * include/experimental/list: Ditto.
1381 * include/experimental/map: Ditto.
1382 * include/experimental/set: Ditto.
1383 * include/experimental/string: Ditto.
1384 * include/experimental/unordered_map: Ditto.
1385 * include/experimental/unordered_set: Ditto.
1386
1387 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
1388
1389 * include/experimental/memory: Correct feature-test macro.
1390
1391 * include/experimental/memory: Add feature-test macro.
1392 * include/experimental/vector: Likewise.
1393 * doc/xml/manual/status_cxx2017.xml: Update status.
1394 * doc/html/manual/status.html: Regenerate.
1395
1396 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
1397
1398 Implement observer_ptr.
1399 * include/Makefile.am: Add new header.
1400 * include/Makefile.in: Regenerate.
1401 * include/experimental/memory: New.
1402 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
1403 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
1404 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
1405 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
1406 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
1407 * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
1408 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
1409 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
1410
1411 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
1412
1413 * src/filesystem/path.cc (path::compare): Do not copy strings.
1414
1415 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
1416 is not available.
1417 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
1418 * configure: Regenerate.
1419 * config.h.in: Regenerate.
1420 * configure.ac: Check for utime.h
1421 * include/experimental/fs_path.h (path::string<>)
1422 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
1423 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
1424 closedir, dirent, readdir_r): Replace dummy functions with #error.
1425 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
1426 * src/filesystem/ops.cc (do_stat, is_set): Make inline.
1427 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
1428 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
1429 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
1430 error_code.
1431
1432 * include/experimental/fs_path.h (path::_List): Use vector instead of
1433 list.
1434 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
1435 * src/filesystem/path.cc: Use std::prev instead of decrementing
1436 rvalues. Fix whitespace.
1437 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1438 Do not decrement iterators before begin.
1439
1440 * include/experimental/fs_dir.h: Fix use of non-reserved names.
1441 * include/experimental/fs_ops.h: Likewise.
1442 * include/experimental/fs_path.h: Likewise.
1443 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
1444 C++11 when checking for support.
1445
1446 * include/bits/locale_classes.h (locale::facet): Delete copy
1447 operations in C++11 mode.
1448
1449 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
1450
1451 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
1452 * configure: Regenerate.
1453
1454 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
1455
1456 Inline one-line erasure dispatch functions.
1457 * include/experimental/forward_list (erase_if(), erase()): Inline.
1458 * include/experimental/list (erase_if(), erase()): Inline.
1459 * include/experimental/map (erase_if(*)): Inline.
1460 * include/experimental/set (erase_if(*)): Inline.
1461 * include/experimental/string (erase_if(), erase()): Inline.
1462 * include/experimental/unordered_map (erase_if(*)): Inline.
1463 * include/experimental/unordered_set (erase_if(*)): Inline.
1464
1465 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
1466
1467 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
1468 * doc/xml/manual/status_cxx2011.xml: Update status tables.
1469 * doc/xml/manual/status_cxx2014.xml: Likewise.
1470 * doc/xml/manual/status_cxx2017.xml: New.
1471 * doc/xml/manual/using.xml: Fix typo.
1472 * doc/html/*: Regenerate.
1473
1474 * include/std/memory (pointer_safety, declare_reachable,
1475 undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
1476 get_pointer_safety): Define.
1477 * testsuite/20_util/pointer_safety/1.cc: New.
1478
1479 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
1480
1481 Implement N4100 File System TS
1482 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
1483 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
1484 * config.h.in: Regenerate.
1485 * configure: Regenerate.
1486 * configure.ac: Enable filesystem TS and check its dependencies.
1487 * include/Makefile.am: Add new headers.
1488 * include/Makefile.in: Regenerate.
1489 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
1490 __str_codecvt_out): Move code conversion logic from wstring_convert
1491 into new global functions.
1492 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
1493 functions.
1494 (wstring_convert::_M_conv): Remove.
1495 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
1496 * include/experimental/filesystem: New.
1497 * include/experimental/fs_dir.h: New.
1498 * include/experimental/fs_fwd.h: New.
1499 * include/experimental/fs_ops.h: New.
1500 * include/experimental/fs_path.h: New.
1501 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
1502 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
1503 * src/Makefile.am (SUBDIRS): Add filesystem.
1504 * src/Makefile.in: Regenerate.
1505 * src/filesystem/Makefile.am: New.
1506 * src/filesystem/Makefile.in: New.
1507 * src/filesystem/dir.cc: New.
1508 * src/filesystem/ops.cc: New.
1509 * src/filesystem/path.cc: New.
1510 * testsuite/experimental/filesystem/operations/absolute.cc: New.
1511 * testsuite/experimental/filesystem/operations/copy.cc: New.
1512 * testsuite/experimental/filesystem/operations/current_path.cc: New.
1513 * testsuite/experimental/filesystem/path/append/path.cc: New.
1514 * testsuite/experimental/filesystem/path/assign/assign.cc: New.
1515 * testsuite/experimental/filesystem/path/assign/copy.cc: New.
1516 * testsuite/experimental/filesystem/path/compare/compare.cc: New.
1517 * testsuite/experimental/filesystem/path/compare/path.cc: New.
1518 * testsuite/experimental/filesystem/path/compare/strings.cc: New.
1519 * testsuite/experimental/filesystem/path/concat/path.cc: New.
1520 * testsuite/experimental/filesystem/path/concat/strings.cc: New.
1521 * testsuite/experimental/filesystem/path/construct/copy.cc: New.
1522 * testsuite/experimental/filesystem/path/construct/default.cc: New.
1523 * testsuite/experimental/filesystem/path/construct/locale.cc: New.
1524 * testsuite/experimental/filesystem/path/construct/range.cc: New.
1525 * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
1526 * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
1527 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
1528 New.
1529 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
1530 New.
1531 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
1532 New.
1533 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
1534 New.
1535 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
1536 New.
1537 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
1538 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
1539 New.
1540 * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
1541 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
1542 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
1543 New.
1544 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
1545 New.
1546 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
1547 New.
1548 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
1549 New.
1550 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
1551 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
1552 * testsuite/experimental/filesystem/path/query/empty.cc: New.
1553 * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
1554 * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
1555 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
1556 New.
1557 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
1558 New.
1559 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
1560 New.
1561 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
1562 New.
1563 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
1564 New.
1565 * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
1566 * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
1567 * testsuite/util/testsuite_fs.h: New.
1568
1569 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
1570
1571 Add fundamentals TR container erasure.
1572 * include/Makefile.am: Add new headers.
1573 * include/Makefile.in: Add new headers.
1574 * include/experimental/array: New.
1575 * include/experimental/deque: New.
1576 * include/experimental/erase_if.tcc: New.
1577 * include/experimental/forward_list: New.
1578 * include/experimental/list: New.
1579 * include/experimental/map: New.
1580 * include/experimental/set: New.
1581 * include/experimental/string: New.
1582 * include/experimental/unordered_map: New.
1583 * include/experimental/unordered_set: New.
1584 * include/experimental/vector: New.
1585 * testsuite/experimental/deque/erasure.cc: New.
1586 * testsuite/experimental/forward_list/erasure.cc: New.
1587 * testsuite/experimental/list/erasure.cc: New.
1588 * testsuite/experimental/map/erasure.cc: New.
1589 * testsuite/experimental/set/erasure.cc: New.
1590 * testsuite/experimental/string/erasure.cc: New.
1591 * testsuite/experimental/unordered_map/erasure.cc: New.
1592 * testsuite/experimental/unordered_set/erasure.cc: New.
1593 * testsuite/experimental/vector/erasure.cc: New.
1594
1595 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
1596
1597 * include/bits/cpp_type_traits.h
1598 (__gnu_cxx::__is_normal_iterator): Delete.
1599 * include/bits/stl_algobase.h (std::__niter_base): Adapt.
1600 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
1601 (std::__niter_base): Overloads for std::reverse_iterator,
1602 __gnu_cxx::__normal_iterator and std::move_iterator.
1603
1604 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
1605
1606 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
1607 Delete.
1608 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
1609 Remove usage of latter and compute size of the prime numbers array
1610 locally.
1611
1612 2015-04-29 Doug Evans <dje@google.com>
1613
1614 PR libstdc++/65839
1615 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
1616 Replace all lookups of "bool" with this.
1617 (get_std_size_type): New function. Replace all lookups of std::size_t
1618 with this.
1619 (*Worker): New method get_result_type.
1620 (DequeWorkerBase.__init__): New arg val_type. All callers updated.
1621 (ListWorkerBase.__init__): New arg val_type. All callers updated.
1622 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
1623 Delete setting of name, enabled.
1624 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
1625 updated. Delete setting of name.
1626 (UniquePtrMethodsMatcher): Rewrite for consistency with all other
1627 libstdc++ xmethod matchers.
1628 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
1629 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
1630 * testsuite/libstdc++-xmethods/deque.cc: Ditto.
1631 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
1632 * testsuite/libstdc++-xmethods/list.cc: Ditto.
1633 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
1634 * testsuite/libstdc++-xmethods/vector.cc: Ditto.
1635
1636 2015-04-29 Doug Evans <dje@google.com>
1637
1638 Use consistent naming for value type attributes.
1639 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
1640 to _val_type.
1641 (ArraySizeWorker, ArrayEmptyWorker): Ditto.
1642 (ArrayFrontWorker, ArrayBackWorker): Ditto.
1643 (ArrayAtWorker, ArraySubscriptWorker): Ditto.
1644 (DequeWorkerBase): Rename elemtype to val_type.
1645 (ForwardListWorkerBase): Rename _elem_type to _val_type.
1646 (ForwardListFrontWorker): Ditto. And rename elem_address to
1647 val_address.
1648 (ForwardListMethodsMatcher): Rename elem_type to val_type.
1649 (VectorWorkerBase): Rename _elemtype to _val_type.
1650
1651 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
1652
1653 PR libstdc++/65760
1654 * include/std/functional (__check_func_return_type): Use is_same to
1655 avoid using _is_convertible on incomplete types.
1656 * testsuite/20_util/function/65760.cc: New.
1657
1658 PR libstdc++/64657
1659 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
1660 expression to void.
1661 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
1662 time_get::_M_extract_num, time_get::_M_extract_name,
1663 time_get::_M_extract_wday_or_month): Likewise.
1664 * include/bits/stl_algo.h (__includes, __replace_copy_if,
1665 __is_sorted_until, __is_permutation, transform): Likewise.
1666 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
1667 __equal::equal, __lexicographical_compare_impl, equal): Likewise.
1668 * include/bits/stl_numeric.h (inner_product): Likewise.
1669 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
1670 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
1671 input_iterator_wrapper): Declare unusable comma operator.
1672 * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
1673 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
1674 New.
1675
1676 2015-04-28 Doug Evans <dje@google.com>
1677
1678 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
1679 Define to zero.
1680
1681 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
1682
1683 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
1684 implementations.
1685
1686 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
1687
1688 * Makefile.am (SUBDIRS): Move python to hosted_source.
1689 * Makefile.in: Regenerate.
1690 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
1691 * configure: Regenerate.
1692
1693 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
1694
1695 PR libstdc++/65883
1696 * include/std/limits (numeric_limits): Add missing unsigned.
1697
1698 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
1699
1700 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
1701
1702 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
1703
1704 PR libstdc++/60333
1705 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
1706 Handle enumeration types larger than sizeof(long).
1707 (__make_signed_selector<_Tp, false, true>): Find unsigned type then
1708 make it signed.
1709 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1710 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1711 Likewise.
1712 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
1713 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1714 dg-error.
1715 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
1716
1717 PR libstdc++/61645
1718 * include/bits/forward_list.h (forward_list::splice_after): Add
1719 noexcept.
1720 * include/bits/forward_list.tcc (forward_list::splice_after):
1721 Likewise.
1722
1723 PR libstdc++/65631
1724 * include/bits/random.h (seed_seq) Define copy constructor and copy
1725 assignment as deleted.
1726 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
1727
1728 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
1729 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
1730 Use -std=gnu++1z. Check feature-test macro.
1731
1732 * include/std/type_traits (void_t): Add.
1733 * testsuite/20_util/void_t/1.cc: New.
1734
1735 2015-04-28 Tim Shen <timshen@google.com>
1736
1737 * include/bits/regex.tcc: Handle regex_constants::__polynomial.
1738 * include/bits/regex_automaton.tcc: Throw exception when parsing
1739 back-reference with flag __polynomial.
1740 * include/bits/regex_constants.h: Add extension flag
1741 syntax_option_type __polynomial.
1742 * bits/regex_executor.tcc: Still let BFS process ECMAScript.
1743 Alternative operation will be fixed in the coming refactoring.
1744 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
1745 loose match_search_debug to use DFS only.
1746
1747 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
1748
1749 PR libstdc++/65909
1750 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
1751 Make the generated test program fail gracefully if the target
1752 doesn't support passing command-line arguments.
1753
1754 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
1755 Jonathan Wakely <jwakely@redhat.com>
1756
1757 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
1758 Return false or zero if the library is built without exceptions.
1759 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
1760 the library is built without exceptions.
1761
1762 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1763
1764 * config/abi/pre/gnu.ver: Fix comment.
1765
1766 Add support for std::uncaught_exceptions.
1767 * acinclude.m4: Bump libtool_VERSION.
1768 * config/abi/pre/gnu.ver: Export the new symbol.
1769 * configure: Regenerate.
1770 * libsupc++/eh_catch.cc (uncaught_exceptions): New.
1771 * libsupc++/exception (uncaught_exceptions): New.
1772 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
1773 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
1774
1775 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
1776 Michael Hanselmann <public@hansmi.ch>
1777
1778 PR libstdc++/62258
1779 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
1780 uncaught exceptions.
1781 * testsuite/18_support/exception_ptr/62258.cc: New.
1782
1783 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
1784
1785 * doc/xml/manual/extensions.xml: Add cross-reference.
1786 * doc/html/manual/ext_compile_checks.html: Regenerate.
1787
1788 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
1789
1790 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
1791 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
1792
1793 2015-04-22 Renlin Li <renlin.li@arm.com>
1794
1795 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
1796 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
1797 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
1798 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
1799 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
1800
1801 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
1802
1803 * doc/xml/manual/configure.xml: Update descriptions of options
1804 affecting dual ABI and add cross-references.
1805 * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
1806 * doc/xml/manual/using.xml: Document ABI transition.
1807 * doc/html/*: Regenerate.
1808
1809 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
1810 * doc/xml/manual/using.xml: Document newer -std options. Use better
1811 examples of nested namespaces.
1812
1813 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
1814
1815 * doc/xml/manual/concurrency_extensions.xml: Update documentation
1816 on atomics.
1817 * doc/xml/manual/using.xml: Likewise. Improve markup.
1818 * doc/html/*: Regenerate.
1819
1820 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1821
1822 * scripts/extract_symvers.pl: Ignore elfdump error output.
1823
1824 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
1825
1826 PR libstdc++/61347
1827 * include/bits/stl_iterator_base_funcs.h (_List_iterator,
1828 _List_const_iterator): Declare.
1829 (__distance): Declare new overloads for _List_iterator and
1830 _List_const_iterator.
1831 * include/bits/stl_list.h (__distance): New overloads for
1832 _List_iterator and _List_const_iterator.
1833 * testsuite/23_containers/list/61347.cc: New testcase.
1834
1835 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
1836
1837 * doc/xml/manual/evolution.xml: Fix typos.
1838 * doc/html/manual/api.html: Regenerate.
1839
1840 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
1841
1842 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
1843 alignment is larger-equal, not equal, to default alignment.
1844
1845 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
1846
1847 PR libstdc++/65754
1848 * config/abi/pre/gnu.ver: Export base object constructors for
1849 fstreams.
1850 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1851 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1852 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1853 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1854 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1855 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1856 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1857 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1858 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1859 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1860 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1861 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1862 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1863 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1864 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1865 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1866 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1867 * testsuite/27_io/basic_fstream/cons/base.cc: New.
1868
1869 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
1870
1871 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
1872 * doc/html/*: Regenerate.
1873
1874 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
1875
1876 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1877
1878 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
1879
1880 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1881
1882 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1883
1884 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1885
1886 * doc/xml/manual/test.xml: Improve documentation on running a subset
1887 of tests.
1888 * doc/html/manual/test.html: Regenerate.
1889
1890 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1891
1892 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1893 for GCC 5.1 release.
1894 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1895 Likewise.
1896
1897 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1898
1899 * include/std/shared_mutex (shared_timed_mutex): Add comments to
1900 explain the logic in the non-pthread_rwlock_t version.
1901 (_Mutex): Remove redundant type.
1902 (_M_n_readers): Rename to _S_max_readers.
1903 (_M_write_entered, _M_readers): New convenience functions.
1904 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
1905 functions. Use predicates with condition variables. Simplify bitwise
1906 operations.
1907 (try_lock_for, try_shared_lock_for): Convert duration to time_point
1908 and call try_lock_until or try_shared_lock_until respectively.
1909 (try_lock_until, try_shared_lock_until): Wait on the condition
1910 variables until the specified time passes.
1911 (unlock): Add Debug Mode assertion.
1912 (unlock_shared): Add Debug Mode assertion.
1913 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
1914
1915 * include/std/shared_mutex (shared_timed_mutex): Only use
1916 pthread_rwlock_t when the POSIX Timeouts option is supported.
1917 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
1918 dg-require-gthreads-timed.
1919 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1920 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1921 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1922
1923 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1924
1925 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1926
1927 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
1928 Richard Henderson <rth@redhat.com>
1929
1930 PR libstdc++/65147
1931 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1932 alignment.
1933 * include/std/atomic (atomic): For types with a power of two size set
1934 alignment to at least the size.
1935 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1936 * testsuite/29_atomics/atomic/65147.cc: New.
1937 * testsuite/29_atomics/atomic_integral/65147.cc: New.
1938
1939 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1940
1941 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1942 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1943 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1944
1945 2015-04-07 Jakub Jelinek <jakub@redhat.com>
1946
1947 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1948 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1949 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1950 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1951 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1952 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1953 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1954 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1955
1956 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
1957
1958 PR libstdc++/65630
1959 * config/abi/pre/gnu.ver: Export operator+ for new strings.
1960 * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1961 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1962
1963 2015-03-28 Tim Shen <timshen@google.com>
1964
1965 PR libstdc++/65420
1966 * include/bits/regex_constants.h: Use constexpr variables for flags.
1967 * testsuite/28_regex/constants/constexpr.cc: New testcase.
1968
1969 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
1970
1971 PR libstdc++/65499
1972 * include/std/chrono: Add using-directive for literals to std::chrono.
1973 * testsuite/20_util/duration/literals/65499.cc: New.
1974
1975 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1976
1977 PR libstdc++/58038
1978 PR libstdc++/60421
1979 * include/std/thread (this_thread::sleep_for): Check for negative
1980 durations.
1981 (this_thread::sleep_until): Check for times in the past.
1982 * testsuite/30_threads/this_thread/58038.cc: New.
1983 * testsuite/30_threads/this_thread/60421.cc: New.
1984
1985 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1986
1987 PR libstdc++/62259
1988 PR libstdc++/65147
1989 * include/std/atomic (atomic<T>): Increase alignment for types with
1990 the same size as one of the integral types.
1991 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1992 * testsuite/29_atomics/atomic/62259.cc: New.
1993
1994 2015-03-26 Richard Henderson <rth@redhat.com>
1995
1996 PR libstdc++/65033
1997 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1998 a fake pointer indicating type alignment.
1999 (__atomic_base<T *>::is_lock_free): Likewise.
2000 * include/std/atomic (atomic<T>::is_lock_free): Likewise.
2001
2002 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
2003
2004 PR libstdc++/33394
2005 * testsuite/21_strings/basic_string/pthread33394.cc: Use
2006 dg-additional-options.
2007
2008 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
2009
2010 PR libstdc++/65543
2011 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
2012 thinko in r150387.
2013 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
2014 Likewise.
2015 * testsuite/27_io/rvalue_streams-2.cc: New.
2016
2017 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
2018
2019 PR libstdc++/33394
2020 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
2021
2022 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
2023
2024 PR libstdc++/64967
2025 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
2026 * configure: Regenerate.
2027 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
2028 system_category): Use macros for versioned namespace.
2029 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
2030
2031 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
2032
2033 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
2034 test for unused for ARM.
2035 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
2036 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
2037
2038 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
2039
2040 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
2041 * include/ext/codecvt_specializations.h (encoding_state,
2042 encoding_char_traits): Remove abi-tag and use inline namespace.
2043 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
2044
2045 2015-03-19 Jason Merrill <jason@redhat.com>
2046
2047 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
2048 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
2049
2050 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
2051
2052 PR c++/65046
2053 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
2054 get_catalogs): Add abi-tag.
2055 * include/ext/codecvt_specializations.h (encoding_state,
2056 encoding_char_traits): Likewise.
2057 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
2058 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
2059 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
2060 money_get_shim, money_put_shim, messages_shim): Likewise.
2061 * src/c++11/future.cc (future_error_category::message): Likewise.
2062 * src/c++11/system_error.cc (generic_error_category::message,
2063 system_error_category::message): Likewise.
2064 (__sso_string): Disable -Wabi-tag warnings.
2065
2066 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
2067
2068 PR libstdc++/13631
2069 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
2070 implementation for old glibc. Fix whitespace.
2071
2072 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
2073 Torvald Riegel <triegel@redhat.com>
2074
2075 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
2076 * config.h.in: Regenerate.
2077 * configure: Regenerate.
2078 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
2079 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
2080 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
2081 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
2082 EDEADLK.
2083
2084 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
2085
2086 * libsupc++/nested_exception.h: Do not try to derive from final
2087 classes.
2088 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
2089 final class.
2090
2091 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
2092 unused exception variable.
2093 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2094 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
2095 test.
2096 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2097
2098 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
2099
2100 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
2101 * configure: Regenerate.
2102
2103 * include/experimental/system_error: Fix include guard.
2104
2105 2015-03-12 Renlin Li <renlin.li@arm.com>
2106
2107 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
2108 wrapped target.
2109
2110 2015-03-10 Tim Shen <timshen@google.com>
2111
2112 PR libstdc++/64441
2113 * include/bits/regex.h (match_results<>::size,
2114 match_results<>::position, match_results<>::str,
2115 match_results<>::operator[], match_results<>::prefix,
2116 match_results<>::suffix, match_results<>::end,
2117 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
2118 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
2119 global __unmatched_sub. Add unmatched submatch as part of
2120 match_results.
2121 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
2122 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
2123 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
2124 New testcases.
2125
2126 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
2127
2128 PR libstdc++/64467
2129 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
2130 for newlib targets. Really fix mixed line-endings this time.
2131
2132 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
2133
2134 * include/std/future (future_error(error_code)): Construct base
2135 class with error_code's message.
2136 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
2137 temporary string.
2138
2139 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
2140
2141 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
2142 noconv result.
2143 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
2144 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
2145
2146 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
2147
2148 PR libstdc++/64797
2149 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
2150 incomplete multibyte sequences correctly.
2151 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
2152 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
2153 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
2154 Define constants.
2155 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
2156 Define convenience functions.
2157 (read_utf8_code_point): Return relevant constant to distinguish
2158 incomplete characters from invalid sequences.
2159 (read_utf16_code_point): Likewise. Check for invalid sequences.
2160 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
2161 (utf16_out): Check for invalid sequences.
2162 (utf16_span): Fix condition.
2163 (ucs2_out): Use is_high_surrogate.
2164 (ucs2_in): Use incomplete_mb_character constant and fix condition.
2165 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
2166 * testsuite/22_locale/conversions/buffer/1.cc: New.
2167 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
2168 char32_t instead of wchar_t.
2169 * testsuite/22_locale/conversions/string/3.cc: New.
2170
2171 2015-03-03 Iain Sandoe <iain@codesourcery.com>
2172
2173 PR libstdc++/64883
2174 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
2175 visibility for Darwin.
2176 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
2177 also deprecated.
2178 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
2179
2180 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
2181
2182 PR libstdc++/65279
2183 * include/std/scoped_allocator (__inner_type_impl,
2184 scoped_allocator_adaptor): Add defaulted copy assignment and move
2185 assignment operators.
2186 * testsuite/20_util/scoped_allocator/65279.cc: New.
2187
2188 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
2189
2190 PR libstdc++/64367
2191 * include/std/stdexcept (__sso_string): Don't use non-static member
2192 in sizeof.
2193
2194 2015-02-28 Matthias Klose <doko@ubuntu.com>
2195
2196 PR libstdc++/65246
2197 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
2198
2199 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
2200
2201 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
2202 * doc/html/manual/status.html: Regenerate.
2203
2204 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
2205
2206 PR libstdc++/64695
2207 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
2208 tuple layout.
2209
2210 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
2211 behavior.
2212 * doc/html/manual/status.html: Regenerate.
2213
2214 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
2215
2216 PR libstdc++/58357
2217 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
2218 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
2219
2220 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
2221
2222 PR testsuite/65093
2223 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
2224 (test01): Add explanatory comment. Keep only the bd1 sub-test and
2225 split out bd2, bd3, bd4, and bd5 sub-tests into...
2226 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
2227 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
2228 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
2229 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
2230 New separate files with the old parts.
2231
2232 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
2233
2234 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
2235 surrogate pairs.
2236 (utf16_in): Pass mode argument to write_utf16_code_point.
2237 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
2238 native byte order.
2239 * testsuite/22_locale/codecvt/char16_t.cc: New.
2240 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
2241
2242 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
2243 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
2244
2245 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
2246 Jonathan Wakely <jwakely@redhat.com>
2247
2248 * testsuite/22_locale/codecvt/char32_t.cc: New.
2249
2250 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
2251
2252 PR libstdc++/65085
2253 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
2254 empty string gets null-terminated.
2255 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
2256
2257 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
2258
2259 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
2260 mixed line-endings introduced in last change.
2261
2262 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
2263
2264 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
2265 for __NEWLIB__ macro with a dejagnu set macro.
2266 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2267
2268 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
2269
2270 PR libstdc++/64467
2271 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
2272 special case for '\n'.
2273 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
2274
2275 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
2276
2277 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
2278
2279 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
2280
2281 PR libstdc++/64883
2282 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
2283 of deprecated.
2284 * include/c_std/cstdio (gets): Likewise.
2285 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
2286 with attributes used in darwin headers.
2287
2288 2015-01-29 Jakub Jelinek <jakub@redhat.com>
2289
2290 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
2291 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
2292 * configure: Regenerated.
2293
2294 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
2295
2296 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2297 after vtv_cygmin is set.
2298 * configure: Regenerated.
2299
2300 2015-01-29 Matthias Klose <doko@ubuntu.com>
2301
2302 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
2303 unconditionally.
2304 * configure: Regenerate.
2305
2306 2015-01-29 Caroline Tice <cmtice@google.com>
2307
2308 Committing VTV Cywin/Ming patch for Patrick Wollgast
2309 * configure: Regenerate.
2310 * libsupc++/Makefile.in: Regenerate.
2311 * src/Makefile.in: Regenerate.
2312
2313 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
2314
2315 * include/bits/atomic_base.h: Use __always_inline__ instead of
2316 always_inline.
2317 * include/bits/atomic_futex.h: Likewise.
2318 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
2319 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
2320 __packed__ instead of packed.
2321 * include/std/shared_mutex: Use __unused__ instead of unused.
2322 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
2323 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
2324 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
2325
2326 2015-01-28 Caroline Tice <cmtice@google.com>
2327
2328 Committing VTV Cywin/Ming patch for Patrick Wollgast
2329 * acinclude.m4: Define VTV_CYGMIN.
2330 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
2331 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
2332 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
2333 for Cygwin and MinGW.
2334 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
2335 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
2336 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
2337
2338 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
2339
2340 PR libstdc++/64828
2341 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
2342 * libsupc++/Makefile.in: Regenerate.
2343 * src/c++11/Makefile.in: Regenerate.
2344
2345 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2346
2347 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
2348 check for unsupported.
2349 (v3_target_compile_as_c): Likewise.
2350
2351 2015-01-28 Richard Biener <rguenther@suse.de>
2352
2353 PR libstdc++/64798
2354 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
2355 data member.
2356 (pool::allocate): Adjust allocation size and alignment to
2357 that change.
2358 (pool::free): Adjust pointer offsetting.
2359
2360 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
2361
2362 PR libstdc++/64368
2363 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
2364 shared_timed_mutex::try_lock_until): Only define when POSIX thread
2365 timeouts option is supported.
2366 (shared_timed_mutex::try_shared_lock_for,
2367 shared_timed_mutex::try_shared_lock_until): Likewise.
2368
2369 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
2370
2371 PR libstdc++/64368
2372 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
2373 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
2374 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
2375 and use cache's _M_grouping field.
2376 (__numpunct_fill_cache): Likewise.
2377 (__moneypunct_fill_cache): Improve comments.
2378
2379 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
2380
2381 * testsuite/23_containers/set/operations/2.cc: Add test for
2382 non-transparent comparison function.
2383
2384 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
2385
2386 PR target/29366
2387 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
2388 Remove SH4A inline asm and lock based implementations and use the
2389 defaults from ext/atomicity.h.
2390
2391 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
2392
2393 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
2394 new std::string constructors for byname facets.
2395
2396 2015-01-22 Richard Biener <rguenther@suse.de>
2397
2398 PR libstdc++/64535
2399 * libsupc++/eh_alloc.cc: Include new.
2400 (bitmask_type): Remove.
2401 (one_buffer): Likewise.
2402 (emergency_buffer): Likewise.
2403 (emergency_used): Likewise.
2404 (dependents_buffer): Likewise.
2405 (dependents_used): Likewise.
2406 (class pool): New custom fixed-size arena, variable size object
2407 allocator.
2408 (emergency_pool): New global.
2409 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
2410 (__cxxabiv1::__cxa_free_exception): Likewise.
2411 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
2412 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
2413
2414 2015-01-22 Tim Shen <timshen@google.com>
2415
2416 PR libstdc++/64680
2417 * include/bits/regex.h (basic_regex<>::basic_regex,
2418 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
2419 standard interface.
2420 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
2421
2422 2015-01-22 Tim Shen <timshen@google.com>
2423
2424 PR libstdc++/64649
2425 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2426 regex_traits<>::lookup_classname): Correctly narrow input chars.
2427 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
2428
2429 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
2430
2431 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
2432
2433 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
2434
2435 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
2436
2437 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2438
2439 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
2440 * doc/xml/manual/status_cxx2014.xml: Update status.
2441 * doc/html/manual/status.html: Regenerate.
2442
2443 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2444
2445 PR libstdc++/64650
2446 * include/experimental/optional (bad_optional_access): Add default
2447 constructor.
2448 * testsuite/experimental/optional/requirements.cc: Test for default
2449 constructor.
2450
2451 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2452
2453 * include/bits/stl_map.h (map::find<>, map::count<>,
2454 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
2455 member function templates to perform heterogeneous lookup.
2456 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
2457 multimap::lower_bound<>, multimap::upper_bound<>,
2458 multimap::equal_range<>): Likewise.
2459 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
2460 multiset::lower_bound<>, multiset::upper_bound<>,
2461 multiset::equal_range<>): Likewise.
2462 * include/bits/stl_set.h (set::find<>, set::count<>,
2463 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2464 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
2465 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
2466 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
2467 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
2468 * testsuite/23_containers/map/operations/2.cc: New.
2469 * testsuite/23_containers/multimap/operations/2.cc: New.
2470 * testsuite/23_containers/multiset/operations/2.cc: New.
2471 * testsuite/23_containers/set/operations/2.cc: New.
2472
2473 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2474
2475 * config/abi/pre/gnu.ver: Export new constructors.
2476 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
2477 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
2478 specializations and declare explicit instantiations.
2479 * include/bits/locale_classes.h (locale, collate_byname): Add string
2480 constructors.
2481 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
2482 Likewise.
2483 * include/bits/locale_facets_nonio.h (time_get_byname,
2484 time_put_byname, moneypunct_byname, messages_byname): Likewise.
2485 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
2486 codecvt_byname<char32_t>): Define explicit instantiations.
2487 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
2488 Instantiate string constructors.
2489 (ctype_byname): Define string constructor.
2490 * testsuite/22_locale/codecvt_byname/1.cc: New.
2491 * testsuite/22_locale/collate_byname/1.cc: New.
2492 * testsuite/22_locale/ctype_byname/2.cc: New.
2493 * testsuite/22_locale/messages_byname/1.cc: New.
2494 * testsuite/22_locale/moneypunct_byname/1.cc: New.
2495 * testsuite/22_locale/numpunct_byname/1.cc: New.
2496
2497 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2498
2499 PR libstdc++/64658
2500 * include/std/atomic (atomic_init): Define.
2501 * testsuite/29_atomics/atomic/64658.cc: New.
2502
2503 2015-01-19 Tim Shen <timshen@google.com>
2504
2505 PR libstdc++/64649
2506 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
2507 regex_traits<>::lookup_classname): Support forward iterators.
2508 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
2509 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
2510
2511 2015-01-19 Tim Shen <timshen@google.com>
2512
2513 PR libstdc++/64584
2514 PR libstdc++/64585
2515 * include/bits/regex.h (basic_regex<>::basic_regex,
2516 basic_regex<>::assign, basic_regex<>::imbue,
2517 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
2518 imbuing basic_regex; Make assign() transactional against exception.
2519 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
2520 __compile_nfa SFINAE.
2521 * include/std/regex: Adjust include order to avoid __compile_nfa
2522 forward declaration.
2523 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
2524 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
2525
2526 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
2527 Jonathan Wakely <jwakely@redhat.com>
2528
2529 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
2530 on overloads for arrays.
2531 (cbegin, cend, rbegin, rend, crbegin, crend): New.
2532 * testsuite/24_iterators/range_access_cpp14.cc: New.
2533
2534 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
2535
2536 PR libstdc++/64646
2537 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
2538 end of the second range.
2539 * testsuite/25_algorithms/is_permutation/64646.cc: New.
2540
2541 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
2542
2543 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
2544 * doc/html/manual/status.html: Regenerate.
2545
2546 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
2547
2548 * include/bits/atomic_futex.h: Use mutex and condition_variable when
2549 atomic int is not lock-free. Make member variables private.
2550 * src/c++11/futex.cc: Likewise.
2551
2552 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
2553
2554 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
2555
2556 PR libstdc++/64638
2557 * include/bits/atomic_futex.h: Use appropriate config macros for
2558 availability of std::mutex, std::condition and std::chrono.
2559
2560 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
2561 Jonathan Wakely <jwakely@redhat.com>
2562
2563 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
2564 * doc/html/*: Regenerate.
2565
2566 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
2567
2568 DR 488
2569 PR libstdc++/58357
2570 * include/bits/algorithmfwd.h (rotate): Return an iterator.
2571 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
2572 * testsuite/25_algorithms/rotate/dr488.cc: New.
2573 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
2574 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2575 2.cc: Likewise.
2576 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
2577 pod.cc: Likewise.
2578
2579 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
2580
2581 PR libstdc++/60940
2582 * include/bits/atomic_base.h: Remove atomic integral typedefs as
2583 synonyms for __atomic_base<int> etc.
2584 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
2585 likewise for all atomic integral types.
2586 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
2587 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
2588
2589 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
2590
2591 PR libstdc++/56785
2592 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
2593 and define one-element specialization.
2594 * testsuite/20_util/tuple/56785.cc: New.
2595
2596 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
2597
2598 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
2599 Remove unused header.
2600 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
2601 Likewise.
2602 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2603 Likewise.
2604
2605 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
2606
2607 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
2608 * include/std/locale: Include new header.
2609 * include/Makefile.am: Add it.
2610 * include/Makefile.in: Regenerate.
2611 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
2612 * testsuite/22_locale/conversions/string/1.cc: New.
2613 * testsuite/22_locale/conversions/string/2.cc: New.
2614 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
2615 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
2616 New.
2617
2618 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
2619
2620 * config/abi/pre/gnu.ver: Export new symbols.
2621 * include/Makefile.am: Add codecvt.
2622 * include/Makefile.in: Regenerate.
2623 * include/std/codecvt: New header.
2624 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
2625 __codecvt_utf8_utf16_base): Define specializations.
2626 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
2627 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
2628 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
2629 New.
2630
2631 2015-01-16 Torvald Riegel <triegel@redhat.com>
2632
2633 * src/c++11/futex.cc: New file.
2634 * include/bits/atomic_futex.h: New file.
2635 * include/std/future (__future_base::_State_baseV2): Use
2636 atomic_futex_unsigned instead of mutex+condvar.
2637 * src/c++11/futex.cc: Likewise.
2638 * include/Makefile.am: Add atomic_futex.h.
2639 * include/Makefile.in: Likewise.
2640 * src/c++11/Makefile.am: Add futex.cc.
2641 * src/c++11/Makefile.in: Likewise.
2642
2643 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
2644
2645 * acinclude.m4: Fix typo in comment.
2646 * configure: Regenerate.
2647 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
2648 codecvt<char16_t, char, mbstate_t>): Declare specializations.
2649 * include/bits/locale_facets.h: Reserve space for new specializations.
2650 * src/c++11/Makefile.am: Add codecvt.cc.
2651 * src/c++11/Makefile.in: Regenerate.
2652 * src/c++11/codecvt.cc: New.
2653 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
2654 with -std=gnu++11.
2655 * src/c++98/Makefile.in: Regenerate.
2656 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
2657 * src/c++98/localename.cc: Likewise.
2658 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
2659 * testsuite/22_locale/codecvt/utf8.cc: New.
2660 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
2661 specializations are installed in locale objects.
2662
2663 2015-01-16 Torvald Riegel <triegel@redhat.com>
2664
2665 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
2666 implementation.
2667
2668 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
2669
2670 PR libstdc++/64571
2671 * config/abi/pre/gnu.ver: Export fstream functions using new string.
2672
2673 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
2674
2675 PR libstdc++/64560
2676 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
2677 for RTTI support.
2678
2679 PR libstdc++/64553
2680 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
2681
2682 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
2683
2684 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
2685 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
2686 Multi Processing Runtime Library".
2687
2688 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
2689
2690 PR libstdc++/64476
2691 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
2692 is_assignable arguments.
2693 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
2694 New.
2695
2696 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2697
2698 * libsupc++/unwind-cxx.h: Revert previous commit.
2699
2700 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2701
2702 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
2703
2704 2015-01-09 Tim Shen <timshen@google.com>
2705
2706 PR libstdc++/64239
2707 * include/bits/regex.h (match_results<>::swap): Use std::swap
2708 instead of swap.
2709 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
2710 Likewise.
2711 * testsuite/28_regex/match_results/swap.cc: New testcase.
2712
2713 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
2714
2715 PR libstdc++/60132
2716 * include/std/type_traits (has_trivial_default_constructor,
2717 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
2718 attribute.
2719 * testsuite/20_util/has_trivial_copy_assign/requirements/
2720 explicit_instantiation.cc: Use -Wno-deprecated.
2721 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
2722 Likewise.
2723 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
2724 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2725 explicit_instantiation.cc: Likewise.
2726 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2727 typedefs.cc: Likewise.
2728 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
2729 * testsuite/20_util/has_trivial_default_constructor/requirements/
2730 explicit_instantiation.c: Likewise.
2731 * testsuite/20_util/has_trivial_default_constructor/requirements/
2732 typedefs.cc: Likewise.
2733 * testsuite/20_util/has_trivial_default_constructor/value.cc:
2734 Likewise.
2735 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
2736 trait.
2737 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2738 * testsuite/util/testsuite_common_types.h: Likewise.
2739
2740 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
2741
2742 * include/bits/hashtable_policy.h: Use __bool_constant.
2743
2744 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
2745
2746 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
2747 * libsupc++/Makefile.in: Regenerate.
2748
2749 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
2750
2751 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
2752
2753 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2754
2755 Update copyright years.
2756
2757 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
2758
2759 PR libstdc++/64483
2760 * testsuite/18_support/exception_ptr/64241.cc: Use
2761 dg-require-atomic-builtins.
2762
2763 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2764
2765 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
2766 date.
2767
2768 2015-01-02 Tim Shen <timshen@google.com>
2769
2770 PR libstdc++/64475
2771 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
2772 iterator, since the original one shouldn't be mutated.
2773
2774 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2775
2776 PR libstdc++/64422
2777 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
2778 (string::insert): Likewise.
2779 (string::replace): Likewise.
2780 (wstring::erase): Likewise.
2781 (wstring::insert): Likewise.
2782 (wstring::replace): Likewise.
2783 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
2784
2785 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2786
2787 PR libstdc++/64468
2788 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
2789
2790 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2791
2792 PR libstdc++/64438
2793 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2794 Revert removal of dg-require-string-conversions.
2795 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2796 Likewise.
2797 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2798 Likewise.
2799 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2800 Likewise.
2801 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2802 Likewise.
2803 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2804 Likewise.
2805 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2806 Likewise.
2807 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2808 Likewise.
2809 * testsuite/21_strings/basic_string/numeric_conversions/char/
2810 stoull.cc: Likewise.
2811 * testsuite/21_strings/basic_string/numeric_conversions/char/
2812 to_string.cc: Likewise.
2813 \f
2814 Copyright (C) 2015 Free Software Foundation, Inc.
2815
2816 Copying and distribution of this file, with or without modification,
2817 are permitted in any medium without royalty provided the copyright
2818 notice and this notice are preserved.