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