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