libstdc++-v3/
[official-gcc.git] / libstdc++-v3 / ChangeLog
bloba9943ddb8a3ffa46ed56ac7d80776e5e4fb57ffe
1 2013-12-09  Renlin Li <Renlin.Li@arm.com>
3         * testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000.
5 2013-12-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
7         * testsuite/30_threads/async/async.cc: Fix race condition in test.
9 2013-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
11         * testsuite/20_util/add_const/requirements/explicit_instantiation.cc:
12         New.
13         * testsuite/20_util/add_const/value.cc: Likewise.
14         * testsuite/20_util/add_cv/requirements/explicit_instantiation.cc:
15         Likewise.
16         * testsuite/20_util/add_cv/value.cc: Likewise.
17         * testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc:
18         Likewise.
19         * testsuite/20_util/add_pointer/value.cc: Likewise.
20         * testsuite/20_util/add_volatile/requirements/
21         explicit_instantiation.cc: Likewise.
22         * testsuite/20_util/add_volatile/value.cc: Likewise.
23         * testsuite/20_util/alignment_of/requirements/
24         explicit_instantiation.cc: Likewise.
25         * testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise.
26         * testsuite/20_util/alignment_of/value.cc: Likewise.
27         * testsuite/20_util/extent/requirements/explicit_instantiation.cc:
28         Likewise.
29         * testsuite/20_util/extent/requirements/typedefs.cc: Likewise.
30         * testsuite/20_util/extent/value.cc: Likewise.
31         * testsuite/20_util/has_virtual_destructor/requirements/
32         explicit_instantiation.cc: Likewise.
33         * testsuite/20_util/has_virtual_destructor/requirements/
34         typedefs.cc: Likewise.
35         * testsuite/20_util/has_virtual_destructor/value.cc: Likewise.
36         * testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc:
37         Likewise.
38         * testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise.
39         * testsuite/20_util/is_abstract/value.cc: Likewise.
40         * testsuite/20_util/is_arithmetic/requirements/
41         explicit_instantiation.cc: Likewise.
42         * testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise.
43         * testsuite/20_util/is_arithmetic/value.cc: Likewise.
44         * testsuite/20_util/is_array/requirements/explicit_instantiation.cc:
45         Likewise.
46         * testsuite/20_util/is_array/requirements/typedefs.cc: Likewise.
47         * testsuite/20_util/is_array/value.cc: Likewise.
48         * testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc:
49         Likewise.
50         * testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise.
51         * testsuite/20_util/is_base_of/value.cc: Likewise.
52         * testsuite/20_util/is_class/requirements/explicit_instantiation.cc:
53         Likewise.
54         * testsuite/20_util/is_class/requirements/typedefs.cc: Likewise.
55         * testsuite/20_util/is_class/value.cc: Likewise.
56         * testsuite/20_util/is_const/requirements/explicit_instantiation.cc:
57         Likewise.
58         * testsuite/20_util/is_const/requirements/typedefs.cc: Likewise.
59         * testsuite/20_util/is_const/value.cc: Likewise.
60         * testsuite/20_util/is_empty/requirements/explicit_instantiation.cc:
61         Likewise.
62         * testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise.
63         * testsuite/20_util/is_empty/value.cc: Likewise.
64         * testsuite/20_util/is_enum/requirements/explicit_instantiation.cc:
65         Likewise.
66         * testsuite/20_util/is_enum/requirements/typedefs.cc
67         * testsuite/20_util/is_enum/value.cc: Likewise.
68         * testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
69         * testsuite/20_util/is_pointer/value.cc: Likewise.
70         * testsuite/20_util/is_polymorphic/requirements/
71         explicit_instantiation.cc: Likewise.
72         * testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise.
73         * testsuite/20_util/is_polymorphic/value.cc: Likewise.
74         * testsuite/20_util/is_same/requirements/explicit_instantiation.cc
75         * testsuite/20_util/is_same/requirements/typedefs.cc: Likewise.
76         * testsuite/20_util/is_same/value.cc: Likewise.
77         * testsuite/20_util/is_union/requirements/
78         explicit_instantiation.cc: Likewise.
79         * testsuite/20_util/is_union/requirements/typedefs.cc: Likewise.
80         * testsuite/20_util/is_union/value.cc: Likewise.
81         * testsuite/20_util/is_void/requirements/explicit_instantiation.cc
82         * testsuite/20_util/is_void/requirements/typedefs.cc: Likewise.
83         * testsuite/20_util/is_void/value.cc: Likewise.
84         * testsuite/20_util/is_volatile/requirements/
85         explicit_instantiation.cc: Likewise.
86         * testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise.
87         * testsuite/20_util/is_volatile/value.cc: Likewise.
88         * testsuite/20_util/rank/requirements/explicit_instantiation.cc:
89         Likewise.
90         * testsuite/20_util/rank/requirements/typedefs.cc: Likewise.
91         * testsuite/20_util/rank/value.cc: Likewise.
92         * testsuite/20_util/remove_all_extents/requirements/
93         explicit_instantiation.cc: Likewise.
94         * testsuite/20_util/remove_all_extents/value.cc: Likewise.
95         * testsuite/20_util/remove_const/requirements/
96         explicit_instantiation.cc: Likewise.
97         * testsuite/20_util/remove_const/value.cc: Likewise.
98         * testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc:
99         Likewise.
100         * testsuite/20_util/remove_cv/value.cc: Likewise.
101         * testsuite/20_util/remove_extent/requirements/
102         explicit_instantiation.cc: Likewise.
103         * testsuite/20_util/remove_extent/value.cc: Likewise.
104         * testsuite/20_util/remove_pointer/requirements/
105         explicit_instantiation.cc: Likewise.
106         * testsuite/20_util/remove_pointer/value.cc: Likewise.
107         * testsuite/20_util/remove_volatile/requirements/
108         explicit_instantiation.cc: Likewise.
109         * testsuite/20_util/remove_volatile/value.cc: Likewise.
111 2013-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
113         * testsuite/util/testsuite_tr1.h (test_category, test_property,
114         test_relationship): constexpr in c++11 mode.
115         * testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert
116         and change to dg-do compile testcase.
117         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
118         * testsuite/20_util/aligned_storage/value.cc: Likewise.
119         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
120         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
121         * testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
122         * testsuite/20_util/is_compound/value.cc: Likewise.
123         * testsuite/20_util/is_constructible/value.cc: Likewise.
124         * testsuite/20_util/is_convertible/value.cc: Likewise.
125         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
126         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
127         * testsuite/20_util/is_floating_point/value.cc: Likewise.
128         * testsuite/20_util/is_function/value.cc: Likewise.
129         * testsuite/20_util/is_fundamental/value.cc: Likewise.
130         * testsuite/20_util/is_integral/value.cc: Likewise.
131         * testsuite/20_util/is_literal_type/value.cc: Likewise.
132         * testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
133         * testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
134         * testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
135         * testsuite/20_util/is_member_pointer/value.cc: Likewise.
136         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
137         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
138         * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
139         * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
140         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
141         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
142         * testsuite/20_util/is_nothrow_default_constructible/value.cc: Likewise.
143         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
144         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
145         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
146         * testsuite/20_util/is_object/value.cc: Likewise.
147         * testsuite/20_util/is_pod/value.cc: Likewise.
148         * testsuite/20_util/is_reference/value.cc: Likewise.
149         * testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
150         * testsuite/20_util/is_scalar/value.cc: Likewise.
151         * testsuite/20_util/is_signed/value.cc: Likewise.
152         * testsuite/20_util/is_standard_layout/value.cc: Likewise.
153         * testsuite/20_util/is_trivial/value.cc: Likewise.
154         * testsuite/20_util/is_trivially_destructible/value.cc: Likewise.
155         * testsuite/20_util/is_unsigned/value.cc: Likewise.
156         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
157         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
158         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
159         * testsuite/20_util/remove_reference/value.cc: Likewise.
161 2013-12-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
163         * include/std/fstream (basic_filebuf::open): Use preformatted text
164         for table in Doxygen comment.
166 2013-12-03  Tim Shen  <timshen91@gmail.com>
168         * regex_compiler.h: Add todo comment.
169         * regex_executor.tcc: Likewise.
171 2013-11-29  Matthias Klose  <doko@ubuntu.com>
173         * testsuite/experimental/string_view/requirements/exception,
174         testsuite/experimental/string_view/capacity/wchar_t,
175         testsuite/experimental/string_view/capacity/char: Remove empty dirs.
177 2013-11-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
179         * testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
180         Use dg-require-cmath instead.
182         * testsuite/ext/random/hypergeometric_distribution/operators/values.cc
183         (test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.
185 2013-11-22  François Dumont  <fdumont@gcc.gnu.org>
187         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>):
188         Remove _M_bucket, use same information in normal local_iterator.
189         (operator==): Remove redundant _M_can_compare check.
190         * include/debug/safe_local_iterator.tcc: Adapt.
191         * include/debug/unordered_set: Likewise.
192         * include/debug/unordered_map: Likewise.
194 2013-11-22  Jakub Jelinek  <jakub@redhat.com>
196         * testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
197         (check-DEJAGNU): Add normal10, run 28_regex/[ab]*
198         tests as another separate job.
199         * testsuite/Makefile.in: Regenerated.
201 2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
203         * acinclude.m4 (libtool_VERSION): Bump.
204         * configure: Regenerate.
205         * doc/xml/manual/abi.xml: Update version information.
207         PR libstdc++/59247
208         * include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
209         std::experimental::__7 as inline.
210         * include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
211         enclose namespace __detail.
212         * include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
213         * include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
214         * include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
215         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
217 2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
219         * testsuite/ext/random/hypergeometric_distribution/operators/
220         values.cc: Fix further thinkos.
222 2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>
224         * testsuite/ext/random/hypergeometric_distribution/operators/
225         values.cc: Fix thinkos.
227 2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
229         * include/experimental/string_view: Rep empty string with unit-length
230         static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
231         invariant of no nullptr string pointer.
232         * include/experimental/string_view.tcc: Ditto.
233         * testsuite/experimental/string_view/cons/char/1.cc: data() for empty
234         string_view is no longer nullptr.
235         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
236         * testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
237         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
238         Ditto.
240 2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
242         Implement __gnu_cxx::hypergeometric_distribution.
243         * include/ext/random: Add hypergeometric_distribution.
244         * include/ext/random.tcc: Add hypergeometric_distribution.
245         * testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
246         for the hypergeometric discreet distribution;
247         (lbincoef): New supporting function for binomial coefficients.
248         * testsuite/ext/random/hypergeometric_distribution/operators/
249         serialize.cc: New.
250         * testsuite/ext/random/hypergeometric_distribution/operators/
251         equal.cc: New.
252         * testsuite/ext/random/hypergeometric_distribution/operators/
253         inequal.cc: New.
254         * testsuite/ext/random/hypergeometric_distribution/operators/
255         values.cc: New.
256         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
257         * testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
258         * testsuite/ext/random/hypergeometric_distribution/requirements/
259         explicit_instantiation/1.cc: New.
260         * testsuite/ext/random/hypergeometric_distribution/requirements/
261         typedefs.cc: New.
263 2013-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
265         PR c++/59173
266         * include/ext/pointer.h (pointer_traits<>::rebind<>): Add template
267         keyword in nested name.
269         PR libstdc++/49204
270         * include/std/future (__future_base::_State_base): Rename to
271         __future_base::_State_baseV2.
272         (__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
273         (__future_base::_State_baseV2::_M_run_deferred): Rename to
274         _M_complete_async.
275         (__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
276         (__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
277         test for a deferred function, or call _M_complete_async() to join an
278         async thread that has made the shared state ready.
279         (__future_base::_State_baseV2::wait_until): Likewise.
280         (__future_base::_Async_state_common): Rename to _Async_state_commonV2.
281         (__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
282         _M_complete_async.
283         * src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
284         Export old definition.
285         (__future_base::_Async_state_common): Likewise.
286         * src/c++11/future.cc (__future_base::_State_base::~_State_base):
287         Remove.
288         * doc/xml/manual/status_cxx2011.xml: Update status.
289         * testsuite/30_threads/async/async.cc: Test future_status::timeout
290         and future_status::ready.
291         * testsuite/30_threads/async/sync.cc: Test future_status::deferred.
293 2013-11-20  David Edelsohn  <dje.gcc@gmail.com>
295         * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
297 2013-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
299         * testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
300         to compile-only test. Adjust swap overload to handle rebound
301         allocators.
302         * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
303         * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
304         * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
305         * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
306         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
307         Likewise.
308         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
309         Likewise.
310         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
311         Likewise.
312         * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
313         Likewise.
314         * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
315         * testsuite/23_containers/vector/allocator/swap.cc: Add elements
316         before swapping.
318         * config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
319         constructors.
320         * testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
321         * testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
322         * testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
323         failure.
324         * testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
325         * testsuite/28_regex/init-list.cc: Likewise.
326         * testsuite/28_regex/regex_error/regex_error.cc: Likewise.
327         * testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
328         * testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
329         * testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
330         * testsuite/tr1/7_regular_expressions/regex/cons/char/
331         c_string_extended.cc: Delete.
333 2013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>
335         * include/experimental/string_view (_S_max_size): Remove.
336         (basic_string_view<>::max_size): Adjust.
337         * testsuite/experimental/string_view/capacity/1.cc: Clean-up.
338         * testsuite/experimental/string_view/inserters/pod/10081-out.cc:
339         Likewise.
341 2013-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
343         * doc/xml/manual/status_cxx2014.xml: Create new table for TS statuses.
345 2013-11-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
347         * include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
348         non-atomic operations.
349         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
350         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
352 2013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
354         Implement N3762 string_view: a non-owning reference to a string.
355         * include/Makefile.am: Add string_view and string_view.tcc.
356         * include/Makefile.in: Regenerate.
357         * include/experimental/string_view: Implement basic_string_view.
358         * include/experimental/string_view.tcc: Implement basic_string_view.
359         * testsuite/experimental/string_view/capacity/1.cc: New.
360         * testsuite/experimental/string_view/cons/char/1.cc: New.
361         * testsuite/experimental/string_view/cons/char/2.cc: New.
362         * testsuite/experimental/string_view/cons/char/3.cc: New.
363         * testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
364         * testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
365         * testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
366         * testsuite/experimental/string_view/element_access/char/1.cc: New.
367         * testsuite/experimental/string_view/element_access/char/2.cc: New.
368         * testsuite/experimental/string_view/element_access/char/empty.cc: New.
369         * testsuite/experimental/string_view/element_access/char/front_back.cc:
370         New.
371         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
372         * testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
373         * testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
374         New.
375         * testsuite/experimental/string_view/element_access/wchar_t/
376         front_back.cc: New.
377         * testsuite/experimental/string_view/include.cc: New.
378         * testsuite/experimental/string_view/inserters/char/1.cc: New.
379         * testsuite/experimental/string_view/inserters/char/2.cc: New.
380         * testsuite/experimental/string_view/inserters/char/3.cc: New.
381         * testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
382         * testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
383         * testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
384         * testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
385         * testsuite/experimental/string_view/literals/types.cc: New.
386         * testsuite/experimental/string_view/literals/values.cc: New.
387         * testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
388         New.
389         * testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
390         1.cc: New.
391         * testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
392         New.
393         * testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
394         1.cc: New.
395         * testsuite/experimental/string_view/operations/compare/char/1.cc: New.
396         * testsuite/experimental/string_view/operations/compare/char/13650.cc:
397         New.
398         * testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
399         New.
400         * testsuite/experimental/string_view/operations/compare/wchar_t/
401         13650.cc: New.
402         * testsuite/experimental/string_view/operations/data/char/1.cc: New.
403         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
404         * testsuite/experimental/string_view/operations/find/char/1.cc: New.
405         * testsuite/experimental/string_view/operations/find/char/2.cc: New.
406         * testsuite/experimental/string_view/operations/find/char/3.cc: New.
407         * testsuite/experimental/string_view/operations/find/char/4.cc: New.
408         * testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
409         * testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
410         * testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
411         * testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
412         * testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
413         * testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
414         * testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
415         * testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
416         * testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
417         * testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
418         * testsuite/experimental/string_view/operations/substr/char/1.cc: New.
419         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
420         New.
421         * testsuite/experimental/string_view/operators/char/2.cc: New.
422         * testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
423         * testsuite/experimental/string_view/range_access/char/1.cc: New.
424         * testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
425         * testsuite/experimental/string_view/requirements/
426         explicit_instantiation/1.cc: New.
427         * testsuite/experimental/string_view/requirements/
428         explicit_instantiation/char/1.cc: New.
429         * testsuite/experimental/string_view/requirements/
430         explicit_instantiation/char16_t/1.cc: New.
431         * testsuite/experimental/string_view/requirements/
432         explicit_instantiation/char32_t/1.cc: New.
433         * testsuite/experimental/string_view/requirements/
434         explicit_instantiation/wchar_t/1.cc: New.
435         * testsuite/experimental/string_view/requirements/typedefs.cc: New.
436         * testsuite/experimental/string_view/types/1.cc: New.
438 2013-11-16  François Dumont  <fdumont@gcc.gnu.org>
440         * testsuite/23_containers/unordered_set/55043.cc (equal): Add
441         missing & on rhs parameter.
443 2013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
445         * include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
446         Define.
447         (vector<bool>::emplace()): Likewise.
448         * testsuite/23_containers/vector/bool/emplace.cc: New.
450 2013-11-15  Ondřej Bílka <neleai@seznam.cz>
451             Jonathan Wakely  <jwakely.gcc@gmail.com>
453         * doc/xml/manual/build_hacking.xml: Fix documentation typos.
454         * doc/xml/manual/configure.xml: Likewise.
455         * include/bits/atomic_base.h: Fix typos in comments.
456         * include/bits/random.h: Likewise.
457         * include/ext/cast.h: Likewise.
458         * libsupc++/cxxabi.h: Likewise.
459         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
460         * testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
461         Likewise.
462         * testsuite/util/exception/safety.h: Likewise.
463         * testsuite/util/testsuite_containers.h: Likewise.
464         * testsuite/util/testsuite_hooks.cc: Likewise.
466 2013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
468         * include/bits/stl_map.h (map): Implement C++11 allocator-aware
469         container requirements.
470         * include/bits/stl_multimap.h (multimap): Likewise.
471         * include/bits/stl_multiset.h (multiset): Likewise.
472         * include/bits/stl_set.h (set): Likewise.
473         * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
474         add accessors for value.
475         (_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
476         accessors.
477         (_Rb_tree): Use allocator_traits and implement support for sets and
478         maps the be allocator-aware.
479         * include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
480         not zero-initialize storage buffer.
481         * include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
482         Likewise.
483         * include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
484         Add conditional noexcept specification.
485         * doc/xml/manual/status_cxx2011.xml: Update status of containers.
486         * testsuite/util/testsuite_allocator.h: Re-indent.
487         * testsuite/23_containers/forward_list/allocator/copy.cc: Test
488         allocator-extended copy constructor.
489         * testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
490         * testsuite/23_containers/unordered_multimap/allocator/copy.cc:
491         Likewise.
492         * testsuite/23_containers/unordered_multiset/allocator/copy.cc:
493         Likewise.
494         * testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
495         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
496         * testsuite/23_containers/forward_list/allocator/move.cc: New.
497         * testsuite/23_containers/unordered_map/allocator/move.cc: New.
498         * testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
499         * testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
500         * testsuite/23_containers/unordered_set/allocator/move.cc: New.
501         * testsuite/23_containers/vector/allocator/move.cc: New.
502         * testsuite/23_containers/map/allocator/copy.cc: New.
503         * testsuite/23_containers/map/allocator/copy_assign.cc: New.
504         * testsuite/23_containers/map/allocator/minimal.cc: New.
505         * testsuite/23_containers/map/allocator/move.cc: New.
506         * testsuite/23_containers/map/allocator/move_assign.cc: New.
507         * testsuite/23_containers/map/allocator/noexcept.cc: New.
508         * testsuite/23_containers/map/allocator/swap.cc: New.
509         * testsuite/23_containers/multimap/allocator/copy.cc: New.
510         * testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
511         * testsuite/23_containers/multimap/allocator/minimal.cc: New.
512         * testsuite/23_containers/multimap/allocator/move.cc: New.
513         * testsuite/23_containers/multimap/allocator/move_assign.cc: New.
514         * testsuite/23_containers/multimap/allocator/noexcept.cc: New.
515         * testsuite/23_containers/multimap/allocator/swap.cc: New.
516         * testsuite/23_containers/multiset/allocator/copy.cc: New.
517         * testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
518         * testsuite/23_containers/multiset/allocator/minimal.cc: New.
519         * testsuite/23_containers/multiset/allocator/move.cc: New.
520         * testsuite/23_containers/multiset/allocator/move_assign.cc: New.
521         * testsuite/23_containers/multiset/allocator/noexcept.cc: New.
522         * testsuite/23_containers/multiset/allocator/swap.cc: New.
523         * testsuite/23_containers/set/allocator/copy.cc: New.
524         * testsuite/23_containers/set/allocator/copy_assign.cc: New.
525         * testsuite/23_containers/set/allocator/minimal.cc: New.
526         * testsuite/23_containers/set/allocator/move.cc: New.
527         * testsuite/23_containers/set/allocator/move_assign.cc: New.
528         * testsuite/23_containers/set/allocator/noexcept.cc: New.
529         * testsuite/23_containers/set/allocator/swap.cc: New.
530         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
531         Adjust dg-error line number.
532         * testsuite/23_containers/vector/requirements/dr438/
533         constructor_1_neg.cc: Likewise.
534         * testsuite/23_containers/vector/requirements/dr438/
535         constructor_2_neg.cc: Likewise.
536         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
537         Likewise.
539 2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
541         * scripts/extract_symvers.in: Ignore <localentry: > fields
542         in readelf --symbols output.
544 2013-11-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
546         * include/bits/alloc_traits.h (__allow_copy_cons): Remove.
547         (__check_copy_constructible): Likewise.
548         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
549         Do not derive from __check_copy_constructible.
550         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
551         Likewise.
552         * testsuite/23_containers/unordered_map/55043.cc: It is no longer
553         necessary for is_copy_constructible to be correct to use nested
554         unordered containers.
555         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
556         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
557         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
559 2013-11-13  Marc Glisse  <marc.glisse@inria.fr>
561         PR libstdc++/59087
562         * include/ext/pod_char_traits.h: Uglify V, I and S.
564 2013-11-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
566         PR libstdc++/54562
567         * include/std/mutex (__timed_mutex_impl::__clock_t): Use
568         high_resolution_clock for absolute timeouts, because
569         pthread_mutex_timedlock uses CLOCK_REALTIME not CLOCK_MONOTONIC.
570         (__timed_mutex_impl::_M_try_lock_for): Use steady_clock for relative
571         timeouts as per [thread.req.timing].
572         (__timed_mutex_impl::_M_try_lock_until<Clock,Duration>): Convert to
573         __clock_t time point instead of using _M_try_lock_for.
575 2013-11-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
577         PR libstdc++/58982
578         * include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
579         to prevent using memmove() on non-assignable types.
580         (__copy_move_backward::__copy_move_b): Likewise.
581         * include/bits/stl_uninitialized.h (uninitialized_copy
582         uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
583         __uninitialized_default, __uninitialized_default_n): Check for
584         assignable as well as trivial.
585         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
586         58982.cc: New.
587         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
588         58982.cc: New.
589         * testsuite/20_util/specialized_algorithms/uninitialized_fill/
590         58982.cc: New.
591         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
592         58982.cc: New.
593         * testsuite/25_algorithms/copy/58982.cc: New.
594         * testsuite/25_algorithms/copy_n/58982.cc: New.
596 2013-11-08  François Dumont  <fdumont@gcc.gnu.org>
598         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::_S_Is):
599         Take only a const safe iterator reference.
600         (_BeforeBeginHelper<>::_S_Is_beginnest): Likewise.
601         (__get_distance): Take only one type of iterator.
602         (_Safe_iterator<>::_M_valid_range<>): Not template anymore.
603         (_Safe_iterator<>::_M_get_sequence()): Return pointer to const
604         sequence from a const_iterator and a pointer to sequence from an
605         iterator.
606         * include/debug/safe_iterator.tcc: Adapt.
607         * include/debug/safe_local_iterator.h
608         (_Safe_local_iterator<>::_M_valid_range<>): Not template anymore.
609         (_Safe_local_iterator<>::_M_get_sequence()): Return pointer to
610         const sequence from a const_iterator and a pointer to sequence
611         from an iterator.
612         * include/debug/safe_local_iterator.tcc: Adapt.
613         * include/debug/forward_list
614         (_BeforeBeginHelper<std::__debug::forward_list<>>): Adapt.
616 2013-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
618         * include/bits/regex_automaton.h (__detail::_State): Split
619         non-dependent parts into new _State_base.
620         (__detail::_NFA): Likewise for _NFA_base. Use std::move() to avoid
621         copies when inserting _MatcherT and _StateT objects.
622         * include/bits/regex_automaton.tcc: Move member definitions to base
623         class. Qualify dependent names.
624         * include/bits/regex_compiler.h (__detail::_Compiler::_M_get_nfa): Make
625         non-const and use std::move to avoid copying.
626         * include/bits/regex_compiler.tcc: Likewise.
627         * include/bits/regex_executor.h (__detail::_Executor::_M_is_word): Use
628         array, so past-the-end iterator is valid.
630         * include/bits/regex_automaton.h (__detail::_State, __detail::_NFA,
631         __detail::_StateSeq): Remove redundant _CharT template parameters.
632         * include/bits/regex_automaton.tcc: Likewise.
633         * include/bits/regex_compiler.h (__detail::_Compiler): Likewise.
634         (__compile_nfa): Add object generator for _Compiler.
635         * include/bits/regex_compiler.tcc: Remove _CharT template parameters.
636         * include/bits/regex_executor.h: Likewise.
637         * include/bits/regex_executor.tcc: Likewise.
638         * include/bits/regex.h (basic_regex): Assert char_type matches. Use
639         __compile_nfa object generator. Remove _CharT template parameter.
641         * include/bits/regex_compiler.h (__detail::_AnyMatcher,
642         __detail::_CharMatcher, __detail::_BracketMatcher): Remove redundant
643         _CharT template parameters.
644         * include/bits/regex_compiler.tcc: Likewise.
646         * include/bits/regex_compiler.h (__detail::__compile_nfa): Overload
647         so that std::basic_string<C> and std::vector<C> iterators dispatch to
648         the const C* compiler.
650         * include/bits/regex_compiler.h (__detail::__has_contiguous_iter):
651         vector<bool> storage is not contiguous.
653 2013-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
655         * include/bits/regex_automaton.h (_S_opcode_word_boundry): Rename to
656         _S_opcode_word_boundary.
657         * include/bits/regex_automaton.tcc: Likewise.
658         * include/bits/regex_executor.h (__detail::_Executor::_M_word_boundry):
659         Rename to _M_word_boundary.
660         * include/bits/regex_executor.tcc: Likewise.
662 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
664         N3655 C++1y TransformationTraits Redux
665         * include/std/type_traits (remove_const_t, remove_volatile_t,
666         remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
667         add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
668         make_unsigned_t, remove_extent_t, remove_all_extents_t,
669         remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
670         enable_if_t, conditional_t, common_type_t, underlying_type_t,
671         result_of_t): Define.
672         * doc/xml/manual/status_cxx2014.xml: Update.
673         * testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
674         New.
675         * testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
676         New.
677         * testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
678         * testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
679         * testsuite/20_util/decay/requirements/typedefs-2.cc: New.
680         * testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
681         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
682         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
683         * testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
684         * testsuite/20_util/result_of/requirements/typedefs.cc: New.
685         * testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
686         * testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
687         compile-only test.
688         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
689         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
690         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
691         line number.
692         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
693         Likewise.
694         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
695         Likewise.
697 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
699         * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
700         missing.
702 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
703             Paolo Carlini  <paolo.carlini@oracle.com>
705         * include/experimental/optional: Use __and_<> and __not_<> in
706         conditions. Style fixes.
707         (__constexpr_addressof, swap): Make inline.
708         * testsuite/experimental/optional/cons/copy.cc: Adjust constants for
709         32-bit targets.
710         * testsuite/experimental/optional/cons/move.cc: Likewise.
711         * testsuite/experimental/optional/cons/value.cc: Likewise.
712         * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise.
714 2013-11-01  Michael Brune  <lucdanton@free.fr>
716         * include/bits/enable_special_members.h: New.
717         * include/experimental/optional: New.
718         * include/Makefile.am: Handle include/experimental.
719         * include/Makefile.in: Regenerate.
720         * testsuite/libstdc++-dg/conformance.exp: Run tests from
721         testsuite/experimental sub-directory.
722         * testsuite/experimental/optional/assignment/1.cc: New.
723         * testsuite/experimental/optional/assignment/2.cc: New.
724         * testsuite/experimental/optional/assignment/3.cc: New.
725         * testsuite/experimental/optional/assignment/4.cc: New.
726         * testsuite/experimental/optional/assignment/5.cc: New.
727         * testsuite/experimental/optional/assignment/6.cc: New.
728         * testsuite/experimental/optional/cons/copy.cc: New.
729         * testsuite/experimental/optional/cons/default.cc: New.
730         * testsuite/experimental/optional/cons/move.cc: New.
731         * testsuite/experimental/optional/cons/value.cc: New.
732         * testsuite/experimental/optional/constexpr/cons/default.cc: New.
733         * testsuite/experimental/optional/constexpr/cons/value.cc: New.
734         * testsuite/experimental/optional/constexpr/in_place.cc: New.
735         * testsuite/experimental/optional/constexpr/make_optional.cc: New.
736         * testsuite/experimental/optional/constexpr/nullopt.cc: New.
737         * testsuite/experimental/optional/constexpr/observers/1.cc: New.
738         * testsuite/experimental/optional/constexpr/observers/2.cc: New.
739         * testsuite/experimental/optional/constexpr/observers/3.cc: New.
740         * testsuite/experimental/optional/constexpr/observers/4.cc: New.
741         * testsuite/experimental/optional/constexpr/observers/5.cc: New.
742         * testsuite/experimental/optional/constexpr/relops/1.cc: New.
743         * testsuite/experimental/optional/constexpr/relops/2.cc: New.
744         * testsuite/experimental/optional/constexpr/relops/3.cc: New.
745         * testsuite/experimental/optional/constexpr/relops/4.cc: New.
746         * testsuite/experimental/optional/constexpr/relops/5.cc: New.
747         * testsuite/experimental/optional/constexpr/relops/6.cc: New.
748         * testsuite/experimental/optional/in_place.cc: New.
749         * testsuite/experimental/optional/make_optional.cc: New.
750         * testsuite/experimental/optional/nullopt.cc: New.
751         * testsuite/experimental/optional/observers/1.cc: New.
752         * testsuite/experimental/optional/observers/2.cc: New.
753         * testsuite/experimental/optional/observers/3.cc: New.
754         * testsuite/experimental/optional/observers/4.cc: New.
755         * testsuite/experimental/optional/observers/5.cc: New.
756         * testsuite/experimental/optional/relops/1.cc: New.
757         * testsuite/experimental/optional/relops/2.cc: New.
758         * testsuite/experimental/optional/relops/3.cc: New.
759         * testsuite/experimental/optional/relops/4.cc: New.
760         * testsuite/experimental/optional/relops/5.cc: New.
761         * testsuite/experimental/optional/relops/6.cc: New.
762         * testsuite/experimental/optional/requirements.cc: New.
763         * testsuite/experimental/optional/swap/1.cc: New.
765 2013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
767         * include/bits/stl_function.h (logical_not<void>): Add noexcept.
769 2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
771         PR libstdc++/58952
772         * include/c_global/cstdio: Undef getchar.
774 2013-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
776         N3421 C++1y Transparent functors
777         * include/bits/stl_function.h (plus<void>, minus<void>,
778         multiplies<void>, divides<void>, modulus<void>, negate<void>,
779         equal_to<void>, not_equal_to<void>, greater<void>, less<void>,
780         greater_equal<void>, less_equal<void>, logical_and<void>,
781         logical_or<void>, logical_not<void>, bit_and<void>, bit_or<void>,
782         bit_xor<void>, bit_not<void>): Define.
783         * doc/xml/manual/status_cxx2014.xml: Update.
784         * testsuite/20_util/function_objects/comparisons_void.cc: New.
786 2013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
788         * include/std/tuple (_Index_tuple, _Build_index_tuple): Move to
789         <utility>.
790         * include/std/utility (integer_sequence, make_integer_sequence,
791         index_sequence, make_index_sequence, index_sequence_for): Define.
792         * doc/xml/manual/status_cxx2014.xml: Update.
793         * testsuite/20_util/integer_sequence/intseq.cc: New.
794         * testsuite/20_util/integer_sequence/requirements/typedefs.cc: New.
796 2013-10-31  Steve Ellcey  <sellcey@mips.com>
798         * configure.ac: Add header checks for fenv.h and complex.h.
799         * configure: Regenerate.
801 2013-10-31  Edward Smith-Rowland  <3dw4rd@verizon.net>
803         Implement C++14 digit separators.
804         * include/include/bits/parse_numbers.h: Change struct _Digit<_Base, '`'>
805         to struct _Digit<_Base, '\''>.
807 2013-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
809         * testsuite/20_util/default_delete/48631_neg.cc: Tweak dg-prune.
811 2013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
813         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Fix
814         and enable VERIFY tests.
816 2013-10-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
818         * include/bits/shared_ptr (__shared_ptr): Assert non-void pointer.
819         * include/bits/shared_ptr (default_delete): Likewise.
820         * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
821         default_delete<void>.
822         * testsuite/20_util/shared_ptr/cons/void_neg.cc: New.
823         * testsuite/20_util/default_delete/void_neg.cc: New.
824         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
825         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
827 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
829         PR libstdc++/58839
830         * include/bits/shared_ptr_base.h
831         (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Only use addressof
832         when unique_ptr<U,D>::pointer is not a built-in pointer type.
833         * testsuite/20_util/shared_ptr/cons/58839.cc: New.
834         * testsuite/20_util/enable_shared_from_this/members/assign.cc: New.
835         * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc: New.
837 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
839         * include/bits/hashtable.cc (__access_protected_ctor): Define and use
840         new type instead of _Hashtable_ebo_helper.
841         * testsuite/23_containers/unordered_set/
842         not_default_constructible_hash_neg.cc: Adjust line number.
844 2013-10-28  Tim Shen  <timshen91@gmail.com>
846         * regex_executor.tcc: Add comments.
848 2013-10-26  Tim Shen  <timshen91@gmail.com>
850         * include/bits/regex.h: Remove unnecessary friends.
851         * include/bits/regex.tcc (__regex_algo_impl<>): Move __get_executor
852         to here.
853         * include/bits/regex_executor.h: Remove _DFSExecutor and _BFSExecutor;
854         they are merged into _Executor. Eliminate quantifier tracking part, so
855         it's faster.
856         * include/bits/regex_executor.tcc: Implement _Executor.
857         * testsuite/28_regex/algorithms/regex_match/ecma/char/ungreedy.cc: New.
858         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Adjust
859         duplicate testcases.
860         * testsuite/performance/28_regex/split.h: New.
861         * testsuite/performance/28_regex/split_bfs.cc: New.
862         * testsuite/util/testsuite_regex.h: Adjust behavior of two-executors
863         agreement judger: do not compare match_results when executor return
864         false.
866 2013-10-25  François Dumont  <fdumont@gcc.gnu.org>
868         * include/debug/formatter.h (__check_singular): Add const on
869         iterator reference.
870         * include/debug/functions.h (__check_singular): Likewise.
871         (__check_singular(const _Safe_iterator<_Ite, _Seq>&)): Delete.
872         (__check_dereferenceable(const _Ite&)): Add const on iterator
873         reference.
874         (__check_dereferenceable(const _Safe_local_iterator<>&)): New.
875         * include/debug/safe_iterator.h (__check_singular_aux): Review
876         comment.
877         * testsuite/23_containers/vector/debug/debug_functions.cc: New.
878         * testsuite/23_containers/unordered_set/debug/debug_functions.cc:
879         New.
881 2013-10-23  Chris Jefferson  <chris@bubblescope.net>
882             Paolo Carlini  <paolo.carlini@oracle.com>
884         * testsuite/util/testsuite_containergen.h: New.
885         * testsuite/util/testsuite_iterators.h (test_container<>::val): Add.
886         * testsuite/25_algorithms/nth_element/random_test.cc: New, use the
887         above.
888         * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise.
889         * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise.
890         * testsuite/25_algorithms/sort/random_test.cc: Likewise.
892 2013-10-23  Jason Merrill  <jason@redhat.com>
894         * include/bits/hashtable.h (_Hashtable): Force EBO for _Hash_code_base.
896 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
898         PR libstdc++/58850
899         * include/std/chrono (minutes, hours): Change typedefs to uniformly
900         use int64_t.
901         * testsuite/20_util/duration/arithmetic/58850.cc: New.
903 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
905         * testsuite/decimal/pr58815.cc: Fix thinko.
907 2013-10-23  Paolo Carlini  <paolo.carlini@oracle.com>
909         PR libstdc++/58815
910         * include/decimal/decimal (decimal32::operator long long(),
911         decimal64::operator long long(), decimal128::operator long long()):
912         Add in c++11 mode per n3407.
913         * testsuite/decimal/pr58815.cc: New.
915 2013-10-22  Edward Smith-Rowland  <3dw4rd@verizon.net>
917         * include/bits/basic_string.h (operator""s): Remove space between quotes
918         and literal identifier.
919         * include/std/chrono (operator""h, operator""min, operator""s,
920         operator""ms, operator""us, operator""ns): Ditto.
922 2013-10-22  Ed Smith-Rowland  <3dw4rd@verizon.net>
924         Implement N3779 - User-defined Literals for std::complex,
925         part 2 of UDL for Standard Library Types
926         * include/std/complex: Add complex literal operators.
927         * testsuite/26_numerics/complex/literals/types.cc: New.
928         * testsuite/26_numerics/complex/literals/values.cc: New.
930 2013-10-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
932         PR libstdc++/58804
933         PR libstdc++/58729
934         * include/tr2/dynamic_bitset
935         (__dynamic_bitset_base<_WordT, _Alloc>::_M_are_all_aux,
936         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_count):
937         Use __builtin_popcountll() instead of __builtin_popcountl().
938         * include/tr2/dynamic_bitset.tcc
939         (__dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_first,
940         __dynamic_bitset_base<_WordT, _Alloc>::_M_do_find_next):
941         Use __builtin_ctzll() instead of __builtin_ctzl().
943 2013-10-20  Tim Shen  <timshen91@gmail.com>
945         * include/bits/regex.h: Remove virtual class _Automaton.
946         * include/bits/regex_automaton.h: Likewise.
947         * include/bits/regex.tcc: Adjust comment for policy changing.
948         * include/bits/regex_executor.h: Update comments of complexity.
949         * include/bits/regex_executor.tcc: Adjust executor choosing
950         policy. Now DFS executor is the default one.
951         * testsuite/util/testsuite_regex.h (regex_match_debug,
952         regex_search_debug): Adjust for policy changing.
954 2013-10-20  Chris Jefferson  <chris@bubblescope.net>
955             Paolo Carlini  <paolo.carlini@oracle.com>
957         PR libstdc++/58800
958         * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
959         __last - 2 to __last - 1.
960         * testsuite/25_algorithms/nth_element/58800.cc: New
962 2013-10-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
964         PR libstdc++/58729
965         * include/tr2/dynamic_bitset (_M_resize, resize): Use input value
966         to set bits; (_M_do_left_shift, _M_do_right_shift, _M_do_to_ulong,
967         _M_do_to_ullong, _M_do_find_first, _M_do_find_next, _M_copy_from_ptr,
968         operator>>): Move long methods outline to...
969         * include/tr2/dynamic_bitset.tcc: New.
970         * include/Makefile.am: Add dynamic_bitset.tcc.
971         * include/Makefile.in: Add dynamic_bitset.tcc.
972         * testsuite/tr2/dynamic_bitset/pr58729.cc: New.
974 2013-10-18  Tim Shen  <timshen91@gmail.com>
976         * include/bits/regex_scanner.tcc: (_Scanner<>::_M_scan_normal,
977         _Scanner<>::_M_eat_escape_ecma, _Scanner<>::_M_eat_escape_posix,
978         _Scanner<>::_M_eat_escape_awk): Narrow character before finding in maps.
979         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/cjk_match.cc:
980         New.
982 2013-10-17  Tim Shen  <timshen91@gmail.com>
984         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
985         Fix initialization orders in initialization list and add explicit braces
986         for potentially ambiguous(actually not) `else` branch to eliminate
987         warnings.
988         * include/bits/regex_automaton.h (_NFA<>::_NFA): Likewise.
989         * include/bits/regex_compiler.h (_CharMatcher<>::_CharMatcher,
990         _BracketMatcher<>::_BracketMatcher): Likewise.
991         * include/bits/regex_compiler.tcc (_Compiler<>::_Compiler,
992         _Compiler<>::_M_atom): Likewise.
993         * include/bits/regex_executor.h (_Executor<>::_Executor): Likewise.
994         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs,
995         _Executor<>::_M_word_boundry): Likewise.
996         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner,
997         _Scanner<>::_M_eat_class): Likewise.
998         * include/bits/regex.tcc (__regex_algo_impl<>,
999         regex_iterator<>::operator++): Likewise, and remove unused typedef.
1001 2013-10-16  Tim Shen  <timshen91@gmail.com>
1003         * include/bits/regex.h (regex_token_iterator<>::regex_token_iterator):
1004         Add initialization for _M_has_m1.
1005         * include/bits/regex.tcc (regex_token_iterator<>::operator=): Add return
1006         statment.
1008 2013-10-15  Diego Novillo  <dnovillo@google.com>
1010         * testsuite/20_util/exchange/1.cc: Add missing function
1011         bodies.
1013 2013-10-15  Tim Shen  <timshen91@gmail.com>
1015         PR libstdc++/58737
1016         * include/bits/regex_automaton.h (_Automaton<>::~_Automaton): Fix memory
1017         leak by adding it.
1018         * include/bits/regex_executor.h (_Executor<>::~_Executor): Likewise.
1020 2013-10-11  H.J. Lu  <hongjiu.lu@intel.com>
1022         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1024 2013-10-10  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1026         * testsuite/29_atomics/atomic/cons/49445.cc
1027         (dg-require-atomic-builtins): Add.
1029 2013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1031         * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
1032         aborting.
1034 2013-10-09  Marcus Shawcroft  <marcus.shawcroft@arm.com>
1036         * testsuite/20_util/shared_ptr/cons/58659.cc: Use __builtin_abort().
1038 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1040         * testsuite/*: Remove stray semi-colons after function definitions.
1042 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1044         PR libstdc++/58659
1045         * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
1046         Delegate to constructor taking allocator.
1047         (__shared_count::_S_create_from_up): Inline into ...
1048         (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
1049         std::conditional instead of constrained overloads. Allocate memory
1050         using the allocator type that will be used for deallocation.
1051         * testsuite/20_util/shared_ptr/cons/58659.cc: New.
1052         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
1054 2013-10-08  Tim Shen  <timshen91@gmail.com>
1056         * include/bits/regex_executor.h: Add _TodoList class.
1057         * include/bits/regex_executor.tcc (_BFSExecutor<>::_M_main): Add
1058         _M_match_stack and _M_stack to make everything faster. Break if
1059         _M_stack is empty, to reduce unnecessary idling.
1060         * testsuite/performance/28_regex/split.cc: New.
1062 2013-10-06  Tim Shen  <timshen91@gmail.com>
1064         * include/bits/regex.h: (regex_token_iterator<>::regex_token_iterator):
1065         Fix compile error.
1066         * include/bits/regex.tcc: (regex_replace<>): Remove default parameter.
1068 2013-10-06  Tim Shen  <timshen91@gmail.com>
1070         * include/bits/regex.h (__regex_algo_impl<>, regex_match<>,
1071         regex_search<>): New abstract function for regex_match and regex_search.
1072         * include/bits/regex.tcc (__regex_algo_impl<>): Implement.
1073         * include/bits/regex_executor.h
1074         (_Executor<>::_M_lookahead,
1075          _DFSExecutor<>::_M_clone,
1076          _BFSExecutor<>::_M_clone): Let _M_clone to choose which executor to
1077         use.
1078         * include/bits/regex_executor.tcc (__get_executor<>): Update the
1079         definition to support __policy.
1080         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: Use
1081         *_debug.
1082         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: Same.
1083         * testsuite/28_regex/algorithms/regex_match/basic/string_01.cc: Same.
1084         * testsuite/28_regex/algorithms/regex_match/basic/string_range_00_03.cc:
1085         Same.
1086         * testsuite/28_regex/algorithms/regex_match/basic/string_range_01_03.cc:
1087         Same.
1088         * testsuite/28_regex/algorithms/regex_match/basic/string_range_02_03.cc:
1089         Same.
1090         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc: Same.
1091         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc: Same.
1092         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: Same.
1093         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1094         Same.
1095         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: Same.
1096         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1097         Same.
1098         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1099         Same.
1100         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: Same.
1101         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1102         Same.
1103         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1104         Same.
1105         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: Same.
1106         * testsuite/28_regex/algorithms/regex_match/extended/
1107         string_bracket_01.cc: Same.
1108         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1109         Same.
1110         * testsuite/28_regex/algorithms/regex_match/extended/
1111         string_questionmark.cc: Same.
1112         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1113         Same.
1114         * testsuite/28_regex/algorithms/regex_match/extended/string_any.cc:
1115         Same.
1116         * testsuite/28_regex/algorithms/regex_match/extended/
1117         string_dispatch_01.cc: Same.
1118         * testsuite/28_regex/algorithms/regex_match/extended/
1119         string_range_00_03.cc: Same.
1120         * testsuite/28_regex/algorithms/regex_match/extended/
1121         string_range_01_03.cc: Same.
1122         * testsuite/28_regex/algorithms/regex_match/extended/
1123         string_range_02_03.cc: Same.
1124         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1125         Same.
1126         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: Same.
1127         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: Same.
1128         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: Same.
1129         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: Same.
1130         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: Same.
1131         * testsuite/28_regex/match_results/format.cc: Same.
1132         * testsuite/util/testsuite_regex.h
1133         (regex_match_debug<>, regex_search_debug<>): Implement.
1135 2013-10-06  Oleg Endo  <olegendo@gcc.gnu.org>
1136             Paolo Carlini  <paolo.carlini@oracle.com>
1138         PR libstdc++/58625
1139         * include/c_global/cmath (signbit): Use __builtin_signbitf and
1140         __builtin_signbitl.
1142 2013-10-03  Tim Shen  <timshen91@gmail.com>
1144         * include/bits/regex_executor.tcc (_DFSExecutor<>::_M_dfs): Fix wrong
1145         backup variable initialization.
1147 2013-10-03  John Woolverton  <jdwoolverton@gmail.com>
1149         PR libstdc++/58604
1150         * include/std/vector: Fix garbled line in HP Copyright.
1152 2013-10-03  Marc Glisse  <marc.glisse@inria.fr>
1154         * libsupc++/del_op.cc (operator delete): Don't test for 0 before free.
1155         * libsupc++/del_opnt.cc (free): Only declare if freestanding.
1156         (operator delete): Qualify free with std::.
1158 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1159             Daniel Krugler  <daniel.kruegler@gmail.com>
1161         PR libstdc++/58569
1162         * include/std/functional (function::_CheckResult): Move to namespace
1163         scope and rename to __check_func_return_type.
1164         * testsuite/20_util/function/58569.cc: New.
1166 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1168         PR libstdc++/58594
1169         * include/bits/shared_ptr_base.h
1170         (_Sp_counted_ptr_inplace::_M_get_deleter()): Cast away cv-quals.
1171         * testsuite/20_util/shared_ptr/creation/58594.cc: New.
1173 2013-10-02  Tim Shen  <timshen91@gmail.com>
1175         * include/bits/regex_compiler.h
1176         (_BracketMatcher<>::_M_add_equivalence_class): Implement it correctly.
1177         * include/bits/regex_compiler.tcc (_BracketMatcher<>::operator()):
1178         Add _M_equiv_set support.
1179         * testsuite/28_regex/algorithms/regex_match/extended/
1180         cstring_bracket_01.cc: Add new "[[=a=]]" testcase.
1182 2013-10-01  Tim Shen  <timshen91@gmail.com>
1184         * doc/xml/manual/status_cxx2011.xml: Change "is not implemented" to
1185         "is not correctly implemented".
1187 2013-10-01  Tim Shen  <timshen91@gmail.com>
1189         * doc/xml/manual/status_cxx2011.xml: Update regex status.
1190         * include/bits/regex.h (match_results<>::begin,
1191         match_results<>::cbegin, match_results<>::end, match_results<>::cend):
1192         [28.10.3.13], [28.10.3.14] Always iterate the range [0, size()-2).
1194 2013-10-01  François Dumont  <fdumont@gcc.gnu.org>
1196         * include/parallel/algobase.h (mismatch, equal): Provide parallel
1197         version for N3671 overloads.
1199 2013-10-01  Paul Pluzhnikov  <ppluzhnikov@google.com>
1201         * src/c++11/snprintf_lite.cc: Add missing
1202         _GLIBCXX_{BEGIN,END}_NAMESPACE_VERSION
1204 2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
1206         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Also check for
1207         _Unwind_SjLj_Register when deciding if to set enable_sjlj_exceptions.
1208         * configure: Regenerate.
1210 2013-10-01  Tim Shen  <timshen91@gmail.com>
1212         PR libstdc++/58576
1213         * include/bits/regex_automaton.tcc (_NFA<>::_M_eliminate_dummy)
1214         (_StateSeq<>::_M_clone): Add _S_opcode_subexpr_lookahead branch.
1215         * testsuite/28_regex/algorithms/regex_match/ecma/char/58576.cc: New.
1217 2013-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
1219         * include/parallel/algo.h (__find_switch): Use __binder2nd.
1221 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
1223         PR libstdc++/58437
1224         * include/bits/stl_algo.h (__move_median_first): Rename to
1225         __move_median_to_first, change to take an addition argument.
1226         (__unguarded_partition_pivot): Adjust.
1227         * testsuite/performance/25_algorithms/sort.cc: New.
1228         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
1229         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
1231 2013-09-28  François Dumont  <fdumont@gcc.gnu.org>
1233         * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare
1234         inline.
1235         (rotate_copy, stable_partition, partial_sort_copy): Likewise.
1236         (lower_bound, upper_bound, equal_range, inplace_merge): Likewise.
1237         (includes, next_permutation, prev_permutation): Likewise.
1238         (replace_copy, replace_copy_if, is_sorted_until): Likewise.
1239         (minmax_element, is_permutation, adjacent_find): Likewise.
1240         (count, count_if, search, search_n, merge): Likewise.
1241         (set_intersection, set_difference): Likewise.
1242         (set_symmetric_difference, min_element, max_element): Likewise.
1243         * include/bits/stl_algobase.h (lower_bound): Likewise.
1244         (lexicographical_compare, mismatch): Likewise.
1246 2013-09-28  Tim Shen <timshen91@gmail.com>
1248         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_posix):
1249         Let ordinary char escaping in POSIX be valid.
1250         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: Test this
1251         change.
1253 2013-09-27  François Dumont  <fdumont@gcc.gnu.org>
1255         * include/bits/predefined_ops.h: New.
1256         * include/bits/stl_heap.h: Include <bits/predefined_ops.h>.
1257         (__is_heap_until, __push_heap, __adjust_heap, __pop_heap): Remove
1258         algo duplication.
1259         (__is_heap): Adapt.
1260         (__make_heap): New.
1261         (make_heap): Adapt to use latter.
1262         (__sort_heap): New.
1263         (sort_heap): Adapt to use latter.
1264         * include/bits/algobase.h: Include <bits/predefined_ops.h>.
1265         (__lexicographical_compare_impl): New.
1266         (__lexicographical_compare<false>::__lc): Adapt to use latter.
1267         (lexicographical_compare): Likewise.
1268         (__lower_bound): New.
1269         (lower_bound): Adapt to use latter.
1270         (equal): Use _GLIBCXX_STD_A::equal in N3671 overloads.
1271         (__mismatch): New.
1272         (mismatch): Use latter.
1273         * include/bits/algo.h: Include <bits/predefined_ops.h>. Remove
1274         <functional> include.
1275         (__move_median_first, __find, __find_if, __find_if_not): Remove
1276         algo duplication.
1277         (__find_end): Likewise.
1278         (__search_n): Rename into ...
1279         (__search_n_aux): ... this.
1280         (__search_n): Renew, use latter.
1281         (search_n): Use latter.
1282         (__search): New.
1283         (search): Use latter.
1284         (__find_end): Likewise.
1285         (__remove_copy_if): New.
1286         (remove_copy): Use latter.
1287         (__adjacent_find): New.
1288         (adjacent_find): Use latter.
1289         (__unique): New.
1290         (unique): Use latter.
1291         (__unique_copy): Remove algo duplication.
1292         (__stable_partition): New.
1293         (stable_partition): Use latter.
1294         (__heap_select): Remove algo duplication, use __make_heap.
1295         (__partial_sort): New, use latter.
1296         (partial_sort): Use latter.
1297         (__partial_sort_copy): New.
1298         (partial_sort_copy): Use latter.
1299         (__unguarded_linear_insert, __insertion_sort): Remove algo
1300         duplication.
1301         (__unguarded_insertion_sort, __final_insertion_sort): Likewise.
1302         (__unguarded_partition, __unguarded_partition_pivot): Likewise.
1303         (__partial_sort): New.
1304         (partial_sort): Use latter.
1305         (__sort): New.
1306         (sort): Use latter.
1307         (lower_bound): Use __lower_bound.
1308         (__upper_bound): New.
1309         (upper_bound): Use latter.
1310         (__equal_range): New.
1311         (equal_range): Use latter.
1312         (__move_merge_adaptive, __move_merge_adaptive_backward): Remove
1313         algo duplication.
1314         (__merge_adaptive, __merge_without_buffer): Likewise.
1315         (__inplace_merge): New.
1316         (inplace_merge): Use latter.
1317         (__move_merge, __merge_sort_loop, __chunk_insertion_sort): Remove
1318         algo duplication.
1319         (__merge_sort_with_buffer, __stable_sort_adaptive): Likewise.
1320         (__inplace_stable_sort): Likewise.
1321         (__include): New.
1322         (includes): Use latter.
1323         (__next_permutation): New.
1324         (next_permutation): Use latter.
1325         (__prev_permutation): New.
1326         (prev_permutation): Use latter.
1327         (__replace_copy_if): New.
1328         (replace_copy): Use latter.
1329         (__is_sorted_until): New.
1330         (is_sorted_unitl): Use latter.
1331         (__minmax_element): New.
1332         (minmax_element): Use latter.
1333         (__is_permutation): New.
1334         (is_permutation): Use latter.
1335         (__adjacent_find): New.
1336         (adjacent_find): Use latter.
1337         (__count_if): New.
1338         (count): Use latter.
1339         (count_if): Likewise.
1340         (__merge): New.
1341         (merge): Use latter.
1342         (__stable_sort): New.
1343         (stable_sort): Use latter.
1344         (__set_union): New.
1345         (set_union): Use latter.
1346         (__set_intersection): New.
1347         (set_intersection): Use latter.
1348         (__set_difference): New.
1349         (set_difference): Use latter.
1350         (__set_symmetric_difference): New.
1351         (set_symmetric_difference): Use latter.
1352         (__min_element): New.
1353         (min_element): Use latter.
1354         (__max_element): New.
1355         (max_element): Use latter.
1356         * include/Makefile.am: Add predefined_ops.h.
1357         * include/Makefile.in: Regenerate.
1358         * include/parallel/algobase.h (equal, mismatch): Add overloads
1359         from N3671.
1360         * testsuite/25_algorithms/is_permutation/vectorbool.cc: New.
1361         * testsuite/25_algorithms/adjacent_find/vectorbool.cc: Likewise.
1362         * testsuite/25_algorithms/find/vectorbool.cc: Likewise.
1363         * testsuite/25_algorithms/find_if/vectorbool.cc: Likewise.
1364         * testsuite/25_algorithms/find_first_of/vectorbool.cc: Likewise.
1365         * testsuite/25_algorithms/heap/vectorbool.cc: Likewise.
1366         * testsuite/25_algorithms/find_end/vectorbool.cc: Likewise.
1367         * testsuite/25_algorithms/find_if_not/vectorbool.cc: Likewise.
1369 2013-09-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1371         PR libstdc++/57465
1372         * include/std/functional
1373         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
1374         for pointers.
1375         * testsuite/20_util/function/cons/57465.cc: New.
1377 2013-09-26  Tim Shen  <timshen91@gmail.com>
1379         * regex_error.h: Remove _S_error_last to follow the standard.
1380         * regex_scanner.tcc:
1381         (_Scanner<_FwdIter>::_M_scan_in_brace): Change error_brace to
1382         error_badbrace.
1383         (_Scanner<>::_M_eat_escape_posix): Extended doesn't support
1384         back-reference.
1385         * testsuite/28_regex/algorithms/regex_match/ecma/char/53622.cc:
1386         Move here from ../../extended.
1387         * testsuite/28_regex/algorithms/regex_match/ecma/char/57173.cc:
1388         Likewise.
1390 2013-09-25  Marc Glisse  <marc.glisse@inria.fr>
1392         PR libstdc++/58338
1393         * include/bits/forward_list.h (_Fwd_list_node_base::_M_transfer_after):
1394         Mark as noexcept.
1395         (_Fwd_list_iterator) [_Fwd_list_iterator, operator*, operator->,
1396         operator++, operator==, operator!=, _M_next]: Likewise.
1397         (_Fwd_list_const_iterator) [_Fwd_list_const_iterator, operator*,
1398         operator->, operator++, operator==, operator!=, _M_next]: Likewise.
1399         (operator==(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&),
1400         operator!=(const _Fwd_list_iterator&, const _Fwd_list_const_iterator&)):
1401         Likewise.
1402         * include/bits/hashtable_policy.h (_Hash_node_base::_Hash_node_base,
1403         _Hash_node::_M_next, _Node_iterator_base::_Node_iterator_base,
1404         _Node_iterator_base::_M_incr, operator==(const _Node_iterator_base&,
1405         const _Node_iterator_base&), operator!=(const _Node_iterator_base&,
1406         const _Node_iterator_base&)): Likewise.
1407         (_Node_iterator) [_Node_iterator, operator*, operator->, operator++]:
1408         Likewise.
1409         (_Node_const_iterator) [_Node_const_iterator, operator*, operator->,
1410         operator++]: Likewise.
1411         * include/debug/safe_iterator.h (_Safe_iterator) [_Safe_iterator,
1412         operator=, operator*, operator->, operator++, operator--, operator[],
1413         operator+=, operator+, operator-=, operator-, base, operator _Iterator]:
1414         Likewise.
1415         (operator==(const _Safe_iterator&, const _Safe_iterator&),
1416         operator!=(const _Safe_iterator&, const _Safe_iterator&),
1417         operator<(const _Safe_iterator&, const _Safe_iterator&),
1418         operator<=(const _Safe_iterator&, const _Safe_iterator&),
1419         operator>(const _Safe_iterator&, const _Safe_iterator&),
1420         operator>=(const _Safe_iterator&, const _Safe_iterator&),
1421         operator-(const _Safe_iterator&, const _Safe_iterator&),
1422         operator+(difference_type, const _Safe_iterator&)): Likewise.
1423         * include/profile/iterator_tracker.h (__iterator_tracker)
1424         [__iterator_tracker, base, operator _Iterator, operator->, operator++,
1425         operator--, operator=, operator*, operator[], operator+=, operator+,
1426         operator-=, operator-]: Likewise.
1427         (operator==(const __iterator_tracker&, const __iterator_tracker&),
1428         operator!=(const __iterator_tracker&, const __iterator_tracker&),
1429         operator<(const __iterator_tracker&, const __iterator_tracker&),
1430         operator<=(const __iterator_tracker&, const __iterator_tracker&),
1431         operator>(const __iterator_tracker&, const __iterator_tracker&),
1432         operator>=(const __iterator_tracker&, const __iterator_tracker&),
1433         operator-(const __iterator_tracker&, const __iterator_tracker&),
1434         operator+(difference_type, const __iterator_tracker&)): Likewise.
1436 2013-09-24  Marc Glisse  <marc.glisse@inria.fr>
1438         PR libstdc++/58338
1439         PR libstdc++/56166
1440         * include/bits/basic_string.h (basic_string)
1441         [basic_string(basic_string&&)]: Make the noexcept conditional.
1442         [operator=(basic_string&&), assign(basic_string&&)]: Link to PR 58265.
1443         [begin(), end(), rbegin(), rend(), clear]: Remove noexcept.
1444         [pop_back]: Comment on the lack of noexcept.
1445         * include/debug/string (basic_string) [basic_string(const _Allocator&),
1446         basic_string(basic_string&&), begin(), end(), rbegin(), rend(), clear,
1447         operator[](size_type), pop_back]: Comment out noexcept, until vstring
1448         replaces basic_string.
1450 2013-09-24  Tim Shen  <timshen91@gmail.com>
1452         * include/Makefile.am: Add regex.tcc.
1453         * include/Makefile.in: Regenerate.
1454         * include/bits/regex.h: Remove definitions to regex.tcc.
1455         * include/bits/regex.tcc: New.
1456         (match_results::format, regex_replace): Implement;
1457         * include/bits/regex_compiler.h: Move _M_flags to the top of class
1458         member list, because other members' initialization depend on it.
1459         * include/bits/regex_compiler.tcc
1460         (_Compiler<>::_Compiler): Adjust member initializations.
1461         (_Compiler<>::_M_quantifier): Fix ungreedy interval quantifier.
1462         * include/bits/regex_executor.h: Remove _RegexT from _*Executor classes.
1463         In the future, all regex classes may refactor to *Impl style.
1464         * include/bits/regex_executor.tcc (_Executor::_M_set_results):
1465         Merge identical code from _*Executor classes.
1466         * testsuite/28_regex/algorithms/regex_match/extended/
1467         string_dispatch_01.cc (fake_match<>): Adjust the hacking-style testcase
1468         caller for new __get_executors interface.
1469         * testsuite/28_regex/algorithms/regex_replace/char/basic_replace.cc:
1470         New.
1471         * testsuite/28_regex/match_results/format.cc: New.
1472         * testsuite/28_regex/traits/char/lookup_collatename.cc: Remove digraph
1473         testcase.
1474         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: Likewise.
1476 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1478         * src/c++11/snprintf_lite.cc (__concat_size_t): Use
1479         unsigned long long conditionally.
1481 2013-09-23  Paul Pluzhnikov  <ppluzhnikov@google.com>
1483         * src/c++11/snprintf_lite.cc (__concat_size_t): Use only
1484         std::__int_to_char<unsigned long long>()
1486 2013-09-21  Paul Pluzhnikov  <ppluzhnikov@google.com>
1488         * include/bits/functexcept.h (__throw_out_of_range_fmt): New.
1489         * src/c++11/functexcept.cc (__throw_out_of_range_fmt): New.
1490         * src/c++11/snprintf_lite.cc: New.
1491         * src/c++11/Makefile.am: Add snprintf_lite.cc.
1492         * src/c++11/Makefile.in: Regenerate.
1493         * config/abi/pre/gnu.ver: Add _ZSt24__throw_out_of_range_fmtPKcz.
1494         * include/std/array (at): Use __throw_out_of_range_fmt.
1495         * include/debug/array (at): Likewise.
1496         * include/profile/array (at): Likewise.
1497         * include/std/bitset (_M_check_initial_position, _M_check): New.
1498         (bitset::bitset): Use _M_check_initial_position.
1499         (set, reset, flip, test): Use _M_check.
1500         * include/ext/vstring.h (_M_check, at): Use __throw_out_of_range_fmt.
1501         * include/bits/stl_vector.h (_M_range_check): Likewise.
1502         * include/bits/stl_bvector.h (_M_range_check): Likewise.
1503         * include/bits/stl_deque.h (_M_range_check): Likewise.
1504         * include/bits/basic_string.h (_M_check, at): Likewise.
1505         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Adjust.
1506         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Likewise.
1507         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
1508         Likewise.
1509         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
1510         Likewise.
1511         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
1512         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
1513         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1514         Likewise.
1515         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1516         Likewise.
1517         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise.
1518         * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc:
1519         Likewise.
1520         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1521         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Likewise.
1522         * testsuite/util/exception/safety.h (generate): Use __throw_out_of_range_fmt.
1524 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
1526         PR testsuite/57605
1527         * testsuite/lib/libstdc++.exp (libstdc++_init): Prepend
1528         -fdiagnostics-color=never to cxxflags.
1530 2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1532         PR libstdc++/58338
1533         * include/bits/allocator.h (__alloc_swap::_S_do_it,
1534         __shrink_to_fit_aux::_S_do_it): Mark as noexcept.
1535         * include/bits/basic_string.h (basic_string::_Rep) [_S_empty_rep,
1536         _M_is_leaked, _M_is_shared, _M_set_leaked, _M_set_sharable,
1537         _M_set_length_and_sharable, _M_dispose]: Likewise.
1538         (basic_string::_Alloc_hider::_Alloc_hider): Likewise.
1539         (basic_string) [_M_data, _M_rep, _M_ibegin, _M_iend, _M_limit,
1540         _M_disjunct, _M_copy, _M_move, _M_assign, _S_copy_chars, _S_compare,
1541         _S_empty_rep, shrink_to_fit, operator[] const, front const, back const]:
1542         Likewise.
1543         [clear]: Link to PR 56166.
1544         [swap]: Link to PR 58265.
1545         * include/bits/stl_deque.h (_Deque_iterator) [_S_buffer_size,
1546         _Deque_iterator, _M_const_cast, operator*, operator->, operator++,
1547         operator--, operator+=, operator+, operator-=, operator-, operator[],
1548         _M_set_node]: Mark as noexcept.
1549         (operator==(const _Deque_iterator&, const _Deque_iterator&),
1550         operator!=(const _Deque_iterator&, const _Deque_iterator&),
1551         operator<(const _Deque_iterator&, const _Deque_iterator&),
1552         operator>(const _Deque_iterator&, const _Deque_iterator&),
1553         operator<=(const _Deque_iterator&, const _Deque_iterator&),
1554         operator>=(const _Deque_iterator&, const _Deque_iterator&),
1555         operator-(const _Deque_iterator&, const _Deque_iterator&),
1556         operator+(ptrdiff_t, const _Deque_iterator&)): Likewise.
1557         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1558         _M_initialize_map.
1559         [~_Deque_base, _M_deallocate_node, _M_deallocate_map, _M_destroy_nodes]:
1560         Mark as noexcept.
1561         (_Deque_base::_Deque_impl) [_Deque_impl(const _Tp_alloc_type&),
1562         _Deque_impl(_Tp_alloc_type&&)]: Likewise.
1563         (deque) [_S_buffer_size, operator=(deque&&), shrink_to_fit, operator[],
1564         front, back, pop_front, pop_back, swap]: Likewise.
1565         [deque(), deque(const allocator_type&)]: Merge.
1566         * include/debug/deque (deque) [operator=(deque&&), shrink_to_fit,
1567         operator[], front, back, pop_front, pop_back, swap]: Mark as noexcept.
1568         * include/profile/deque (deque) [operator=(deque&&), operator[], front,
1569         back, pop_front, pop_back, swap]: Likewise.
1570         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1571         Adjust line number.
1572         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
1573         Likewise.
1574         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
1575         Likewise.
1576         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1577         Likewise.
1579 2013-09-20  Alan Modra  <amodra@gmail.com>
1581         * configure: Regenerate.
1583 2013-09-19  Marc Glisse  <marc.glisse@inria.fr>
1585         PR libstdc++/58338
1586         * include/bits/stl_tree.h (_Rb_tree_node_base) [_S_minimum, _S_maximum]:
1587         Mark as noexcept.
1588         (_Rb_tree_iterator) [_Rb_tree_iterator, operator*, operator->,
1589         operator++, operator--, operator==, operator!=]: Likewise.
1590         (_Rb_tree_const_iterator) [_Rb_tree_const_iterator, _M_const_cast,
1591         operator*, operator->, operator++, operator--, operator==, operator!=]:
1592         Likewise.
1593         (operator==(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&),
1594         operator!=(const _Rb_tree_iterator&, const _Rb_tree_const_iterator&)):
1595         Likewise.
1596         (_Rb_tree) [_M_put_node, _M_destroy_node, _M_root, _M_leftmost,
1597         _M_rightmost, _M_begin, _M_end, _S_left, _S_right, _S_minimum,
1598         _S_maximum]: Likewise.
1599         * include/debug/string (basic_string) [basic_string(const _Allocator&),
1600         shrink_to_fit, operator[], pop_back]: Likewise.
1601         * include/ext/vstring.h (__versa_string) [_M_limit, _M_disjunct,
1602         _M_ibegin, _M_iend, __versa_string(const _Alloc&),
1603         operator=(__versa_string&&), shrink_to_fit, operator[], front,
1604         back, assign(__versa_string&&), swap]: Likewise.
1605         (__versa_string) [__versa_string(), __versa_string(const _Alloc&)]:
1606         Merge.
1608 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1610         PR libstdc++/58338
1611         * include/bits/stl_iterator.h (__normal_iterator) [__normal_iterator,
1612         _M_const_cast, operator*, operator->, operator++, operator--,
1613         operator[], operator+=, operator+, operator-=, operator-, base]:
1614         Mark as noexcept.
1615         (operator==(const __normal_iterator&, const __normal_iterator&),
1616         operator!=(const __normal_iterator&, const __normal_iterator&),
1617         operator<(const __normal_iterator&, const __normal_iterator&),
1618         operator>(const __normal_iterator&, const __normal_iterator&),
1619         operator<=(const __normal_iterator&, const __normal_iterator&),
1620         operator>=(const __normal_iterator&, const __normal_iterator&),
1621         operator-(const __normal_iterator&, const __normal_iterator&),
1622         operator+(difference_type, const __normal_iterator&)): Likewise.
1623         * include/bits/stl_list.h (list) [splice, _M_check_equal_allocators]:
1624         Likewise.
1625         (list::_M_check_equal_allocators): Abort instead of throwing.
1626         * include/debug/array (array) [operator[], front, back]: Mark as
1627         noexcept.
1628         * include/profile/array (array) [operator[], front, back]: Likewise.
1629         * include/std/array (array) [operator[], front, back]: Likewise.
1630         * include/debug/list (list::splice): Likewise.
1631         * include/profile/list (list::splice): Likewise.
1632         * testsuite/23_containers/list/operations/5.cc: Remove file.
1633         * testsuite/23_containers/list/operations/5.h: Likewise.
1635 2013-09-18  Tim Shen  <timshen91@gmail.com>
1637         * include/bits/regex.h: Add friend classes.
1638         (match_results<>::position, regex_iterator<>::operator++):
1639         Implement position specification in regex_iterator.
1640         (regex_match<>, regex_search<>):
1641         Move match_results initializations to these function. Remove `todo`.
1642         * include/bits/regex_compiler.tcc:
1643         (_Compiler<>::_M_quantifier): Fix greedy/ungreedy of interval matching.
1644         * include/bits/regex_constants.h:
1645         Fix indentation. Change match_flag_type to enum type.
1646         * include/bits/regex_executor.h:
1647         Merge identical code to the base class _Executor.
1648         Support flags in regex_constants.
1649         * include/bits/regex_executor.tcc: Likewise.
1650         * include/bits/regex_scanner.h: Add comments.
1651         * include/bits/regex_scanner.tcc: Same.
1652         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc:
1653         Add a testcase.
1654         * testsuite/28_regex/algorithms/regex_search/ecma/flags.cc: New.
1655         * testsuite/28_regex/iterators/regex_iterator/char/
1656         string_position_01.cc: Remove `xfail`.
1657         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc:
1658         Remove `xfail` and make the case really work.
1660 2013-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1662         * testsuite/performance/25_algorithms/search_n.cc: Fix typo.
1664 2013-09-18  Marc Glisse  <marc.glisse@inria.fr>
1666         PR libstdc++/58338
1667         * include/bits/list.tcc (_List_base::_M_clear, list::erase): Mark as
1668         noexcept.
1669         * include/bits/stl_list.h (_List_iterator) [_List_iterator,
1670         _M_const_cast, operator*, operator->, operator++, operator--,
1671         operator==, operator!=]: Likewise.
1672         (_List_const_iterator) [_List_const_iterator, _M_const_cast, operator*,
1673         operator->, operator++, operator--, operator==, operator!=]: Likewise.
1674         (operator==(const _List_iterator&, const _List_const_iterator&),
1675         operator!=(const _List_iterator&, const _List_const_iterator&)):
1676         Likewise.
1677         (_List_impl) [_List_impl(const _Node_alloc_type&),
1678         _List_impl(_Node_alloc_type&&)]: Likewise.
1679         (_List_base) [_M_put_node, _List_base(const _Node_alloc_type&),
1680         _List_base(_List_base&&), _M_clear, _M_init]: Likewise.
1681         (list) [list(), list(const allocator_type&)]: Merge.
1682         (list) [list(const allocator_type&), front, back, pop_front, pop_back,
1683         erase, _M_erase]: Mark as noexcept.
1684         * include/debug/list (list) [list(const _Allocator&), front, back,
1685         pop_front, pop_back, _M_erase, erase]: Likewise.
1686         * include/profile/list (list) [list(const _Allocator&), front, back,
1687         pop_front, pop_back, erase]: Likewise.
1688         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1689         Adjust line number.
1690         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1691         Likewise.
1692         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1693         Likewise.
1694         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1695         Likewise.
1697 2013-09-17  Marc Glisse  <marc.glisse@inria.fr>
1699         PR libstdc++/58338
1700         * include/bits/stl_vector.h (vector::vector(),
1701         vector::vector(const allocator_type&)): Merge.
1702         (_Vector_impl::_Vector_impl(_Tp_alloc_type const&),
1703         _Vector_impl::_Vector_impl(_Tp_alloc_type&&),
1704         _Vector_impl::_M_swap_data,
1705         _Vector_base::_Vector_base(const allocator_type&),
1706         _Vector_base::_Vector_base(allocator_type&&),
1707         _Vector_base::_Vector_base(_Vector_base&&), _Vector_base::~_Vector_base,
1708         vector::vector(const allocator_type&), vector::operator[],
1709         vector::operator[] const, vector::front, vector::front const,
1710         vector::back, vector::back const, vector::pop_back,
1711         vector::_M_erase_at_end): Mark as noexcept.
1712         * include/debug/vector (vector::vector(const _Allocator&),
1713         vector::operator[], vector::operator[] const, vector::front,
1714         vector::front const, vector::back, vector::back const, vector::pop_back,
1715         _M_requires_reallocation, _M_update_guaranteed_capacity,
1716         _M_invalidate_after_nth): Mark as noexcept.
1717         * include/profile/vector (vector::vector(const _Allocator&),
1718         vector::operator[], vector::operator[] const, vector::front,
1719         vector::front const, vector::back, vector::back const): Mark as
1720         noexcept.
1721         (vector::vector(vector&&, const _Allocator&)): Remove wrong noexcept.
1722         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1723         Adjust line number.
1724         * testsuite/23_containers/vector/requirements/dr438/
1725         constructor_1_neg.cc: Likewise.
1726         * testsuite/23_containers/vector/requirements/dr438/
1727         constructor_2_neg.cc: Likewise.
1728         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1729         Likewise.
1731 2013-09-14  Tim Shen  <timshen91@gmail.com>
1733         * include/bits/regex.h (regex_match<>, regex_search<>):
1734         Change regex_executor caller. Now use their return value instead
1735         of checking __m[0].matched to find out if it's successful.
1736         (regex_search<>): Move the search logic to regex_executor.
1737         * include/bits/regex_automaton.h: Add some new _Opcode. Refactor
1738         _NFA::_M_insert_*.
1739         * include/bits/regex_automaton.tcc: Add DEBUG dump for new
1740         _Opcode. Refactor _NFA::_M_insert_*.
1741         * include/bits/regex_compiler.h (_Compiler<>::_M_get_nfa):
1742         Use make_shared instead of construct by hand.
1743         * include/bits/regex_compiler.tcc: Implement _Compiler<>::_M_assertion.
1744         * include/bits/regex_constants.h: Fix indentation and line breaking.
1745         * include/bits/regex_executor.h: Add _ResultsEntry to support
1746         greedy/ungreedy mode. Move regex_search logic here.
1747         * include/bits/regex_executor.tcc: Implement assertions and
1748         greedy/ungreedy matching.
1749         * include/bits/regex_scanner.h: Add a new token _S_token_ungreedy.
1750         * include/bits/regex_scanner.tcc: Parse a new token _S_token_ungreedy.
1751         * testsuite/28_regex/algorithms/regex_search/ecma/assertion.cc: New.
1752         * testsuite/28_regex/algorithms/regex_search/ecma/greedy.cc: New.
1753         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc:
1754         Fix comment.
1756 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
1758         PR libstdc++/58415
1759         * include/ext/sso_string_base.h (__sso_string_base<>::
1760         __sso_string_base(__sso_string_base&&)): Fix thinkos about
1761         _M_length vs _M_set_length.
1762         * testsuite/ext/vstring/cons/58415-1.cc: New.
1763         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
1765 2013-09-12  Paolo Carlini  <paolo.carlini@oracle.com>
1767         PR libstdc++/58403
1768         * include/bits/stl_iterator.h (__normal_iterator<>::operator[],
1769         operator+=, operator+, operator-=, operator-): Take the argument
1770         by value.
1771         * testsuite/24_iterators/normal_iterator/58403.cc: New.
1773 2013-09-11  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
1774             Chris Jefferson  <chris@bubblescope.net>
1776         PR libstdc++/58358
1777         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
1778         of comparisons <= number of elements in the range.
1779         * testsuite/25_algorithms/search_n/58358.cc: New.
1780         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
1782 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
1784         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
1785         from char to wchar_t, literals from 'x' to L'x'.
1787 2013-09-10  Kai Tietz  <ktietz@redhat.com>
1789         PR libstdc++/54314
1790         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
1791         like in gnu.ver.
1793 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
1795         PR libstdc++/58341
1796         * include/bits/stl_algobase.h (copy_backward): Fix documentation
1797         per DR 1206.
1799 2013-09-05  Tim Shen  <timshen91@gmail.com>
1801         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
1802         _StateSeq.
1803         * include/bits/regex_automaton.tcc: Implement them.
1804         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
1805         _StateSeq interfaces.
1806         * include/bits/regex_compiler.tcc: Implement them.
1807         * include/bits/regex_scanner.h: Add word boundry assertion token.
1808         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1809         Support word boundry.
1810         * testsuite/28_regex/algorithms/regex_match/basic/
1811         string_range_02_03.cc: Remove "xfail".
1812         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
1813         Likewise.
1814         * testsuite/28_regex/algorithms/regex_match/extended/
1815         string_range_02_03.cc: Likewise.
1816         * testsuite/28_regex/algorithms/regex_match/extended/
1817         cstring_questionmark.cc: Remove xfail and get correct length of
1818         c-string.
1819         * testsuite/28_regex/algorithms/regex_match/extended/
1820         string_range_00_03.cc: Likewise.
1821         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1822         New.
1823         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
1824         New.
1825         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
1827 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1829         PR libstdc++/58302
1830         * include/bits/random.tcc (negative_binomial_distribution<>::
1831         operator()(_UniformRandomNumberGenerator&, const param_type&)):
1832         Fix typo in template argument.
1833         * testsuite/26_numerics/random/negative_binomial_distribution/
1834         operators/58302.cc: New.
1836 2013-09-02  Tim Shen  <timshen91@gmail.com>
1838         * regex_automaton.h: Rearrange _NFA's layout.
1839         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
1840         Rearrange _BracketMatcher's layout.
1841         (_BracketMatcher<>::_M_add_char): Use set instead of vector for
1842         _M_char_set.
1843         (_BracketMatcher<>::_M_add_collating_element): Likewise.
1844         (_BracketMatcher<>::_M_make_range): Likewise.
1845         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
1846         appropriate constructors of matchers above.
1847         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
1848         New.
1849         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
1850         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
1851         New.
1852         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
1853         New.
1854         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
1855         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
1856         New.
1857         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
1859 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1861         PR libstdc++/58148
1862         * include/debug/functions.h (__foreign_iterator_aux4): Use
1863         sequence const_pointer as common type to compare pointers. Add a
1864         fallback overload in case pointers cannot be cast to sequence
1865         const_pointer.
1866         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
1868 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
1870         PR libstdc++/58191
1871         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
1872         __gnu_debug::__base calls on iterators passed to internal debug
1873         check.
1874         (__glibcxx_check_partitioned_lower_pred): Likewise.
1875         (__glibcxx_check_partitioned_upper): Likewise.
1876         (__glibcxx_check_partitioned_upper_pred): Likewise.
1877         (__glibcxx_check_sorted): Likewise.
1878         (__glibcxx_check_sorted_pred): Likewise.
1879         (__glibcxx_check_sorted_set): Likewise.
1880         (__glibcxx_check_sorted_set_pred): Likewise.
1881         * include/debug/functions.h (__check_partitioned_lower):
1882         Remove code to detect safe iterators.
1883         (__check_partitioned_upper): Likewise.
1884         (__check_sorted): Likewise.
1886 2013-08-29  Tim Shen  <timshen91@gmail.com>
1888         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
1889         (regex_iterator<>::regex_iterator): Return nullptr when regex_search
1890         failed.
1891         (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
1892         _M_result is(not isn't) nullptr.
1893         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
1894         instead of by value.
1895         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
1896         _M_traits to _DFSExecutor.
1897         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
1898         _DFSExecutor too.
1899         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
1900         New.
1901         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
1902         wstring_02.cc: New.
1904 2013-08-26  Tim Shen  <timshen91@gmail.com>
1906         * include/Makefile.am: Add regex_scanner.{h,tcc}.
1907         * include/Makefile.in: Regenerate.
1908         * include/bits/regex.h (match_search): Handle the `__first == __last`
1909         situation correctly.
1910         * include/bits/regex_compiler.h: Move _Scanner...
1911         * include/bits/regex_scanner.h: ...to here. New.
1912         * include/bits/regex_compiler.tcc: Move _Scanner...
1913         * include/bits/regex_scanner.tcc: ...to here, too. New.
1914         * include/bits/regex_executor.tcc: Use value instead of reference for
1915         submatch.
1916         * include/std/regex: Add regex_scanner.h
1917         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
1918         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
1919         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
1920         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
1921         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
1923 2013-08-22  Tim Shen  <timshen91@gmail.com>
1925         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
1926         * include/bits/regex_automaton.h: Same.
1927         * include/bits/regex_automaton.tcc: Same.
1928         * include/bits/regex_compiler.h: Same.
1929         * include/bits/regex_compiler.tcc: Same.
1930         * include/bits/regex_constants.h: Same.
1931         * include/bits/regex_executor.h: Same.
1932         * include/bits/regex_executor.tcc: Same.
1934 2013-08-22  Tim Shen  <timshen91@gmail.com>
1936         * include/bits/regex.h: Executor caller.
1937         * include/bits/regex_executor.h: Fix empty grouping problem.
1938         * include/bits/regex_executor.tcc: Same.
1939         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
1940           New.
1942 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
1944         PR libstdc++/53477
1945         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
1947         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
1948         is a reference, fetch referenced value.
1949         (RxPrinter.invoke): Ditto.
1950         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
1951         flag. Add referenced value tests.
1953 2013-08-20  Tim Shen  <timshen91@gmail.com>
1955         * include/bits/regex_constants.h: Add underlying `unsigned int` for
1956           enum syntax_option_type.
1958 2013-08-18  Tim Shen  <timshen91@gmail.com>
1960         * include/bits/regex_automaton.h: _S_opcode_backref.
1961         * include/bits/regex_automaton.tcc: Backref automaton support.
1962         * include/bits/regex_compiler.tcc: Parsing support.
1963         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
1964         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
1965         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
1967 2013-08-16  Tim Shen  <timshen91@gmail.com>
1969         * include/bits/regex.h (regex_traits<>::transform_primary):
1970         Avoid past-the-end dereferences.
1972 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
1974         PR libstdc++/58163
1975         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
1976         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
1977         * include/ext/vstring.h: Likewise.
1978         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
1979         New.
1980         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
1981         Likewise.
1982         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
1983         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
1985 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
1987         * src/c++98/compatibility.cc (_ZTIe): Use
1988         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
1989         (_ZTIPe): Ditto.
1990         (ZTIPKe): Ditto.
1992 2013-08-09  Tim Shen  <timshen91@gmail.com>
1994         * include/bits/regex_constants.h: Change syntax_option_type to enum
1995         type.
1997 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1999         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
2001 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
2003         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
2004         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
2005         _Hashtable.
2006         (_Before_begin<>): Remove.
2007         * include/bits/hashtable.h (_Hashtable): Inherit from
2008         _Hashtable_alloc and adapt. Restore _M_before_begin field.
2009         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
2010         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
2011         access to hashtable before begin.
2012         * testsuite/23_containers/unordered_set/
2013         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
2014         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2015         Likewise.
2017 2013-08-07  Tim Shen  <timshen91@gmail.com>
2019         * include/Makefile.am: Adjust to new files.
2020         * include/Makefile.in: Regenerate.
2021         * include/bits/regex.h: Adjust to new interfaces.
2022         * include/bits/regex_automaton.h: New.
2023         * include/bits/regex_automaton.tcc: New.
2024         * include/bits/regex_compiler.h: Adjust to new files.
2025         * include/bits/regex_compiler.tcc: New.
2026         * include/bits/regex_constants.h: Tail spaces.
2027         * include/bits/regex_error.h: Likewise.
2028         * include/bits/regex_executor.h: New.
2029         * include/bits/regex_executor.tcc: New.
2030         * include/std/regex: Adjust to new files.
2031         * testsuite/28_regex/algorithms/regex_match/extended/
2032         string_dispatch_01.cc: Adjust to new interfaces.
2034 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
2036         * include/ext/atomicity.h: Add #pragma GCC system_header.
2038 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
2040         PR libstdc++/58098
2041         * include/bits/random.h (cauchy_distribution<>::min,
2042         extreme_value_distribution<>::min, normal_distribution<>::min,
2043         student_t_distribution<>::min): Fix.
2044         * include/ext/random (normal_mv_distribution<>::min): Likewise.
2045         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
2046         Adjust.
2047         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
2048         Likewise.
2049         * testsuite/26_numerics/random/extreme_value_distribution/cons/
2050         parms.cc: Likewise.
2051         testsuite/26_numerics/random/extreme_value_distribution/cons/
2052         default.cc: Likewise.
2053         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
2054         Likewise.
2055         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
2056         Likewise.
2057         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
2058         Likewise.
2059         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
2060         Likewise.
2061         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
2062         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
2064         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
2065         Minor tweak.
2066         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
2067         Likewise.
2069         * testsuite/ext/von_mises_distribution/*: Move to...
2070         * testsuite/ext/random/von_mises_distribution/*: ... here.
2071         * testsuite/ext/triangular_distribution/*: Move to...
2072         * testsuite/ext/random/triangular_distribution/*: ... here.
2074 2013-08-06  Caroline Tice  <cmtice@google.com>
2076         * fragment.am: Add XTEMPLATE_FLAGS.
2077         * configure.ac: Add definitions for --enable-vtable-verify.
2078         * acinclude.m4:  Add --enable-vtable-verify and
2079         --disable-vtable-verify; define --enable-vtable-verify; define
2080         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
2081         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
2082         * libsupc++/Makefile.am: Define vtv_sources and add it to
2083         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
2084         * libsupc++/vtv_stubs.cc: New file.
2085         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
2086         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
2087         VTV_CXXLINKFLAGS to CXXLINK.
2088         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
2089         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
2090         * src/C++11/Makefile.am: Ditto.
2091         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
2092         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
2093         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
2094         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
2095         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
2096         cxxvtvflags to cxx_final.
2097         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
2098         -fvtable-verify=none to compiler flags.
2099         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
2100         to compiler flags.
2101         * configure: Regenerated.
2102         * Makefile.in: Regenerated.
2103         * python/Makefile.in: Regenerated.
2104         * include/Makefile.in: Regenerated.
2105         * libsupc++/Makefile.in: Regenerated.
2106         * config.h.in: Regenerated.
2107         * po/Makefile.in: Regenerated.
2108         * src/Makefile.in: Regenerated.
2109         * src/c++98/Makefile.in: Regenerated.
2110         * src/c++11/Makefile.in: Regenerated.
2111         * doc/Makefile.in: Regenerated.
2112         * testsuite/Makefile.in: Regenerated.
2114 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2116         Revert the last commit.
2118 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
2120         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
2121         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
2122         _Hashtable.
2123         (_Before_begin<>): Remove.
2124         * include/bits/hashtable.h (_Hashtable): Inherit from
2125         _Hashtable_alloc and adapt. Restore _M_before_begin field.
2126         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
2127         access to hashtable before begin.
2128         * testsuite/23_containers/unordered_set/
2129         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
2130         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2131         Likewise.
2133 2013-08-03  Tim Shen  <timshen91@gmail.com>
2135         Implement bracket expression.
2136         * include/bits/regex.h: Remove constexpr from "|=", etc.
2137         * include/bits/regex_compiler.h: Parse bracket expression.
2138         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
2139         _RangeMatcher).
2140         * include/bits/regex_nfa.tcc: Implement them.
2141         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2142         from regex_search to regex_match.
2143         * testsuite/28_regex/algorithms/regex_match/extended/
2144         cstring_bracket_01.cc: New.
2146 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
2148         * include/debug/functions.h (__foreign_iterator_aux4):
2149         Initialize __l and __ge.
2151 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
2153         PR libstdc++/58049
2154         * include/debug/functions.h: Include <bits/move.h>; minor formatting
2155         changes.
2156         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
2157         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
2158         Use __addressof.
2159         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
2160         operator->): Likewise.
2162 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
2164         PR libstdc++/57779
2165         * include/debug/formatter.h (_Debug_msg_id): Add
2166         __msg_insert_itself_range entry.
2167         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
2168         New, indicate container types supporting self range insertion in
2169         GNU implementation.
2170         (__foreign_iterator): New, check if an iterator points to a given
2171         sequence.
2172         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
2173         using __foreign_iterator.
2174         (__gibcxx_check_insert_range_after): Likewise.
2175         * include/debug/string (_Insert_range_from_self_is_safe<>):
2176         Partially specialized to mark __gnu_debug::basic_string<> as
2177         supporting self range insert.
2178         * include/debug/list (_Insert_range_from_self_is_safe<>):
2179         Partially specialized to mark std::list as supporting self range
2180         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
2181         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
2182         Likewise.
2183         * src/c++11/debug.cc (_S_debug_messages): Add
2184         __msg_insert_itself_range_entry message.
2185         (_Error_formatter::_Parameter::_M_print_description): Display
2186         iterator sequence address rather than sequence address when the
2187         parameter type is an iterator.
2188         (_Error_formatter::_M_print_word): Enhance behavior when
2189         displaying a word with an appended '\n'.
2190         * testsuite/util/debug/checks.h (check_insert4<>): New.
2191         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
2192         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
2193         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
2194         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
2195         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
2196         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
2197         Likewise.
2199 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
2201         PR c++/54537
2202         * include/tr1/cmath: Remove pow(double,double) overload, remove a
2203         duplicated comment about DR 550. Add a comment to explain the
2204         issue.
2205         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
2207 2013-07-31  Tim Shen  <timshen91@gmail.com>
2209         Thompson matcher refactored. Fix grouping problem.
2210         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2211         * include/bits/regex_compiler.h: Tweak for auto switching.
2212         * include/bits/regex_grep_matcher.h: Class structure.
2213         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2214         matcher) refactoring.
2215         * include/bits/regex_nfa.h: Change _Results's interfaces.
2216         * include/std/regex: Includes <map> and <queue>.
2217         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2218         For both matchers.
2219         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2220         For both matchers.
2221         * testsuite/28_regex/algorithms/regex_match/extended/
2222         string_dispatch_01.cc: New.
2224 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2226         PR libstdc++/56627
2227         * include/bits/stl_bvector.h: Use friend struct hash intead of
2228         friend class hash to work around useless warnings produced by
2229         some compilers.
2230         * include/std/bitset: Likewise.
2232 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2234         * src/c++11/functexcept.cc: Do not include the whole <regex>.
2235         * src/c++11/regex.cc: Likewise.
2237 2013-07-31  Tim Shen  <timshen91@gmail.com>
2239         Revert last commit.
2241 2013-07-31  Tim Shen  <timshen91@gmail.com>
2243         Thompson matcher refactored. Fix grouping problem.
2244         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2245         * include/bits/regex_compiler.h: Tweak for auto switching.
2246         * include/bits/regex_grep_matcher.h: Class structure.
2247         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2248         matcher) refactoring.
2249         * include/bits/regex_nfa.h: Change _Results's interfaces.
2250         * include/std/regex: Includes <map> and <queue>.
2251         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2252         For both matchers.
2253         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2254         For both matchers.
2255         * testsuite/28_regex/algorithms/regex_match/extended/
2256         string_dispatch_01.cc: New.
2258 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
2260         Revert last commit.
2262 2013-07-30  Tim Shen  <timshen91@gmail.com>
2264         Thompson matcher refactored. Fix grouping problem.
2265         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
2266         * include/bits/regex_compiler.h: Tweak for auto switching.
2267         * include/bits/regex_grep_matcher.h: Class structure.
2268         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
2269         matcher) refactoring.
2270         * include/bits/regex_nfa.h: Change _Results's interfaces.
2271         * include/std/regex: Includes <map> and <queue>.
2272         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
2273         For both matchers.
2274         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
2275         For both matchers.
2276         * testsuite/28_regex/algorithms/regex_match/extended/
2277         string_dispatch_01.cc: New.
2279 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
2281         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
2282         Add call to __cmpexch_failure_order.
2283         * testsuite/util/testsuite_common_types.h
2284         (compare_exchange_order_lowering): New generator.
2285         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
2286         New test.
2288 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
2290         * include/std/complex (pow(const complex<>&, int)): Enable in
2291         C++11 mode too.
2292         * testsuite/26_numerics/complex/dr844.cc: Adjust.
2293         * doc/xml/manual/intro.xml: Update.
2295 2013-07-25  Tim Shen  <timshen91@gmail.com>
2297         Add documents and comments.
2298         * include/bits/regex.h: Documents and comments.
2299         * include/bits/regex_grep_matcher.h: Likewise.
2300         * include/bits/regex_grep_matcher.tcc: Likewise.
2301         * testsuite/28_regex/iterators/regex_iterator/char/
2302         string_position_01.cc: New.
2304 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2306         PR libstdc++/57976
2307         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
2308         time_get::do_get.
2310 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2312         * include/bits/random.h (random_device): Avoid using the FILE type.
2313         * include/std/random: Do not include <cstdio>.
2314         * src/c++11/random.cc: ... include it here.
2315         (random_device::_M_init, random_device::_M_fini,
2316         random_device::_M_getval): Cast back and forth void* and FILE*.
2318 2013-07-24  Tim Shen  <timshen91@gmail.com>
2320         Reimplment matcher using Depth-first search(backtracking).
2321         PR libstdc++/53622
2322         PR libstdc++/57173
2323         * include/bits/regex.h: regex_match() and regex_search().
2324         * include/bits/regex_cursor.h: Fix _M_set_pos().
2325         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
2326         * include/bits/regex_grep_matcher.tcc: Implement it.
2327         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
2328         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
2329         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
2330         Remove xfail.
2332 2013-07-23  Tim Shen  <timshen91@gmail.com>
2334         Implement regex_iterator and regex_token_iterator.
2335         * include/bits/regex.h: regex_iterator and regex_token_iterator.
2336         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
2337         New.
2338         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
2339         New.
2340         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
2341         New.
2342         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
2343         string_01.cc: New.
2345 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
2347         * include/std/random: Add back <cstdio> include.
2348         * src/c++11/random.cc: Don't include <cstdio> here.
2350 2013-07-22  Jason Merrill  <jason@redhat.com>
2352         PR libstdc++/57914
2353         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
2355 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2357         PR c++/57920
2358         * src/c++11/random.cc (random_device::_M_getval): If possible, use
2359         read instead of std::fread.
2360         * include/std/random: Do not include <cstdio> unnecessarily.
2362 2013-07-21  Tim Shen  <timshen91@gmail.com>
2364         Partially implement regex_search.
2365         * include/bits/regex.h: regex_search.
2366         * include/bits/regex_grep_matcher.h: _M_search_from_first.
2367         * include/bits/regex_grep_matcher.tcc: Implement it.
2368         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
2370 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2372         PR libstdc++/54352
2373         * include/std/condition_variable (condition_variable_any): Move into
2374         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
2375         * src/c++11/condition_variable.cc (condition_variable_any): Move
2376         definitions to ...
2377         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
2378         * src/Makefile.am: Add new source file.
2379         * src/Makefile.in: Regenerate.
2381 2013-07-09  Tim Shen  <timshen91@gmail.com>
2383         Implement class regex_traits.
2384         * include/bits/regex.h: Implement lookup_classname and
2385         lookup_collatename; modify isctype; partially implement
2386         transform_primary.
2387         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
2388         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
2389         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
2390         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
2391         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
2392         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
2393         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
2394         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
2396 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
2398         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
2400 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
2402         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
2403         pattern.
2404         (_MoveReuseOrAllocNode): Remove.
2405         (_Insert_base): Take a functor defining how the node is generated.
2406         * include/bits/hashtable.h: Adapt.
2407         (operator=(initializer_list<value_type>)): Reuse node if any.
2408         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2409         Adjust dg-error line number.
2410         * testsuite/23_containers/unordered_set/
2411         not_default_constructible_hash_neg.cc: Likewise.
2413 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2415         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2416         Tweak, avoid potential undefined behavior.
2417         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2418         Likewise.
2419         * testsuite/23_containers/vector/bool/modifiers/insert/
2420         const_iterator.cc: Likewise.
2421         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2422         Likewise.
2424 2013-07-04  Veres Lajos  <vlajos@gmail.com>
2425             Jonathan Wakely  <jwakely.gcc@gmail.com>
2427         * config/locale/generic/codecvt_members.cc: Fix typo.
2428         * configure.host: Likewise.
2429         * doc/html/manual/policy_data_structures_design.html: Likewise.
2430         * doc/xml/manual/policy_data_structures.xml: Likewise.
2431         * include/bits/hashtable.h: Likewise.
2432         * include/bits/random.h: Likewise.
2433         * include/profile/impl/profiler_trace.h: Likewise.
2434         * testsuite/23_containers/deque/cons/2.cc: Likewise.
2435         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
2436         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
2437         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
2439 2013-07-04  Ray Chason  <chasonr@newsguy.com>
2440             Paolo Carlini  <paolo.carlini@oracle.com>
2442         PR libstdc++/57808
2443         * include/bits/regex.h (regex_token_iterator<>::operator==,
2444         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
2445         regex_token_iterator<>::operator->): Declare const.
2447 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
2449         * include/bits/stl_list.h (list<>::insert(iterator,
2450         size_type, const value_type&), list<>::insert(iterator,
2451         initializer_list<>), list<>::insert(iterator, _InputIterator,
2452         _InputIterator), list<>::splice(iterator, list&&),
2453         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
2454         iterator), list<>::splice(iterator, list&, iterator),
2455         list<>::splice(iterator, list&&, iterator, iterator),
2456         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
2457         signatures to take const_iterator(s).
2458         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
2459         const value_type&), list<>::insert(const_iterator, _InputIterator,
2460         _InputIterator)): Define.
2461         * include/ext/vstring.h (__versa_string<>::insert(iterator,
2462         size_type, _CharT), __versa_string<>::insert(iterator,
2463         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
2464         std::initializer_list<>), __versa_string<>::replace(iterator,
2465         iterator, _InputIterator, _InputIterator), __versa_string<>::
2466         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
2467         signatures to take const_iterator(s).
2468         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
2469         * include/ext/vstring.tcc: Likewise.
2470         * include/debug/list: Adjust.
2471         * include/profile/list: Likewise.
2472         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
2473         New.
2474         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2475         Extend.
2476         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2477         Likewise.
2478         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2479         Likewise.
2480         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2481         Likewise.
2482         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2483         Likewise.
2485         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2486         Adjust dg-error line number.
2487         * testsuite/23_containers/list/requirements/dr438/
2488         constructor_1_neg.cc: Likewise.
2489         * testsuite/23_containers/list/requirements/dr438/
2490         constructor_2_neg.cc: Likewise.
2491         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2492         Likewise.
2494 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
2496         * include/bits/stl_deque.h (deque<>::insert(iterator,
2497         size_type, const value_type&), deque<>::insert(iterator,
2498         initializer_list<>), deque<>::insert(iterator, _InputIterator,
2499         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
2500         * include/bits/stl_vector.h: Likewise.
2501         * include/bits/stl_bvector.h: Likewise.
2502         * include/debug/deque: Adjust.
2503         * include/debug/vector: Likewise.
2504         * include/profile/deque: Likewise.
2505         * include/profile/vector: Likewise.
2506         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2507         Extend.
2508         * testsuite/23_containers/vector/bool/modifiers/insert/
2509         const_iterator.cc: Likewise.
2510         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2511         Likewise.
2513         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2514         Adjust dg-error line number.
2515         * testsuite/23_containers/deque/requirements/dr438/
2516         constructor_1_neg.cc: Likewise.
2517         * testsuite/23_containers/deque/requirements/dr438/
2518         constructor_2_neg.cc: Likewise.
2519         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2520         Likewise.
2521         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2522         Likewise.
2523         * testsuite/23_containers/vector/requirements/dr438/
2524         constructor_1_neg.cc: Likewise.
2525         * testsuite/23_containers/vector/requirements/dr438/
2526         constructor_2_neg.cc: Likewise.
2527         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2528         Likewise.
2530 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
2532         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
2533         insert methods.
2534         * include/bits/hashtable.h: Likewise.
2535         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
2536         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
2537         New.
2538         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2539         Adjust dg-error line number.
2540         * testsuite/23_containers/unordered_set/
2541         not_default_constructible_hash_neg.cc: Likewise.
2542         * doc/xml/manual/containers.xml: Document hinting in unordered
2543         containers.
2545 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2547         * testsuite/21_strings/basic_string/operations/*: Move inside
2548         testsuite/21_strings/basic_string/operations/data/.
2549         * testsuite/21_strings/basic_string/compare/*: Move inside
2550         testsuite/21_strings/basic_string/operations/.
2551         * testsuite/21_strings/basic_string/find/*: Likewise.
2552         * testsuite/21_strings/basic_string/rfind/*: Likewise.
2553         * testsuite/21_strings/basic_string/substr/*: Likewise.
2555 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2557         * testsuite/21_strings/basic_string/append/*: Move inside
2558         testsuite/21_strings/basic_string/modifiers/.
2559         * testsuite/21_strings/basic_string/assign/*: Likewise.
2560         * testsuite/21_strings/basic_string/insert/*: Likewise.
2561         * testsuite/21_strings/basic_string/replace/*: Likewise.
2562         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
2563         pop_back.cc: Rename to 1.cc.
2564         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
2565         pop_back.cc: Likewise.
2566         * testsuite/ext/vstring/assign/*: Move inside
2567         testsuite/ext/vstring/modifiers/.
2569 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2571         * include/bits/stl_deque.h (deque<>::insert(iterator,
2572         const value_type&), deque<>::insert(iterator, value_type&&),
2573         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
2574         take a const_iterator.
2575         (deque<>::erase): Simplify.
2576         * include/bits/stl_list.h: Likewise.
2577         (_List_iterator<>::_M_const_cast): Add.
2578         * include/bits/stl_vector.h: Likewise.
2579         * include/bits/stl_bvector.h: Likewise.
2580         (_Bit_iterator::_M_const_cast): Add.
2581         * include/bits/deque.tcc: Adjust definitions.
2582         * include/bits/list.tcc: Likewise.
2583         * include/bits/vector.tcc: Likewise.
2584         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
2585         Define trivial version in C++98 mode.
2586         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
2587         __versa_string<>::replace(iterator, iterator, const __versa_string&),
2588         __versa_string<>::replace(iterator, iterator, const _CharT*,
2589         size_type), __versa_string<>::replace(iterator, iterator,
2590         const _CharT*), __versa_string<>::replace(iterator, iterator,
2591         size_type, _CharT)): Adjust C++11 signatures to take a pair of
2592         const_iterators.
2593         * include/debug/deque: Adjust.
2594         * include/debug/list: Likewise.
2595         * include/debug/vector: Likewise.
2596         * include/profile/deque: Likewise.
2597         * include/profile/list: Likewise.
2598         * include/profile/vector: Likewise.
2599         (vector<>::emplace): Add.
2600         * testsuite/util/exception/safety.h: Update.
2601         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
2602         New.
2603         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
2604         Likewise.
2605         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
2606         Likewise.
2607         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
2608         Likewise.
2609         * testsuite/23_containers/vector/bool/modifiers/insert/
2610         const_iterator.cc: Likewise.
2611         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
2612         Likewise.
2613         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
2614         Likewise.
2615         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
2616         Likewise.
2617         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
2618         Likewise.
2619         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
2620         Likewise.
2621         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
2622         Likewise.
2624         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
2625         ext/vstring/modifiers/erase/char/.
2626         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
2627         ext/vstring/modifiers/wchar_t/.
2628         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
2629         ext/vstring/modifiers/pop_back/char/.
2630         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
2631         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
2633         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2634         Adjust dg-error line number.
2635         * testsuite/23_containers/deque/requirements/dr438/
2636         constructor_1_neg.cc: Likewise.
2637         * testsuite/23_containers/deque/requirements/dr438/
2638         constructor_2_neg.cc: Likewise.
2639         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2640         Likewise.
2641         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2642         Likewise.
2643         * testsuite/23_containers/list/requirements/dr438/
2644         constructor_1_neg.cc: Likewise.
2645         * testsuite/23_containers/list/requirements/dr438/
2646         constructor_2_neg.cc: Likewise.
2647         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2648         Likewise.
2649         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2650         Likewise.
2651         * testsuite/23_containers/vector/requirements/dr438/
2652         constructor_1_neg.cc: Likewise.
2653         * testsuite/23_containers/vector/requirements/dr438/
2654         constructor_2_neg.cc: Likewise.
2655         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2656         Likewise.
2658 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
2660         Status page for C++2014 library features
2661         * doc/xml/faq.xml: Add link to new C++14 status page.
2662         * doc/xml/manual/intro.xml: Ditto.
2663         * doc/xml/manual/status_cxx2014.xml: New.
2665 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2667         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
2668         spurious fails with check-debug.
2669         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
2670         Likewise.
2671         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
2672         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
2673         Likewise.
2675 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2677         PR libstdc++/57704
2678         * include/bits/char_traits.h (char_traits<char>::lt): Implement
2679         LWG 467.
2680         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
2682 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2684         PR libstdc++/57691
2685         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
2686         declare per the letter of the C++ standard in terms of void.
2687         * include/c_std/cstdlib: Likewise.
2689 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2691         PR libstdc++/57674
2692         * include/bits/random.h (binomial_distribution<>::_M_waiting):
2693         Add double parameter.
2694         * include/bits/random.tcc (binomial_distribution<>::operator()
2695         (_UniformRandomNumberGenerator&, const param_type&)): Pass
2696         __param._M_q to _M_waiting.
2697         (_M_waiting): Adjust.
2698         * testsuite/26_numerics/random/binomial_distribution/
2699         operators/values.cc: Add tests.
2701 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
2703         PR libstdc++/57666
2704         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
2705         Implement correctly C++11 26.6.2.3/1.
2706         * testsuite/26_numerics/valarray/dr630-3.C: New.
2708 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
2710         PR libstdc++/57641
2711         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
2712         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
2713         to handle conversion between different clocks. Replace constrained
2714         __try_lock_for_impl overloads with conditional increment.
2715         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
2716         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
2718 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
2719             Chris Jefferson  <chris@bubblescope.net>
2721         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
2722         dispatch to traditional std::equal for random-access iterators.
2723         (__equal2_aux, __equal2): Remove.
2724         (__equal::equal): Remove unused overloads.
2725         * include/bits/stl_algo.h (is_permutation): Fix typos.
2727 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2729         * include/std/shared_mutex (shared_lock::operator=): Add missing
2730         return statement.
2732 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2734         PR libstdc++/57263
2735         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
2736         allocator's pointer type.
2737         * include/bits/hashtable.h (_Hashtable): Likewise.
2738         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
2739         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
2740         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
2741         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
2743 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2745         * include/std/shared_mutex: Implement N3659.
2746         * include/bits/c++14_warning.h: New.
2747         * include/Makefile.am: Add new headers.
2748         * include/Makefile.in: Regenerate.
2749         * testsuite/30_threads/shared_lock/cons/1.cc: New.
2750         * testsuite/30_threads/shared_lock/locking/2.cc: New.
2751         * testsuite/30_threads/shared_lock/cons/2.cc: New.
2752         * testsuite/30_threads/shared_lock/locking/3.cc: New.
2753         * testsuite/30_threads/shared_lock/cons/3.cc: New.
2754         * testsuite/30_threads/shared_lock/locking/4.cc: New.
2755         * testsuite/30_threads/shared_lock/cons/4.cc: New.
2756         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
2757         * testsuite/30_threads/shared_lock/cons/5.cc: New.
2758         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
2759         * testsuite/30_threads/shared_lock/cons/6.cc: New.
2760         * testsuite/30_threads/shared_lock/requirements/
2761         explicit_instantiation.cc: New.
2762         * testsuite/30_threads/shared_lock/locking/1.cc: New.
2763         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
2764         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
2765         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
2766         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
2767         * testsuite/30_threads/shared_mutex/requirements/
2768         standard_layout.cc: New.
2769         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2770         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2772 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
2774         PR libstdc++/57619
2775         * include/bits/unordered_map.h (unordered_map<>::insert,
2776         unordered_multimap<>::insert): Use std::forward, not std::move.
2777         * testsuite/23_containers/unordered_map/insert/57619.C: New.
2778         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
2780 2013-06-14  Alan Modra  <amodra@gmail.com>
2782         * configure.host (abi_baseline_pair): Match powerpc64*.
2784 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
2786         * include/std/type_traits (is_function): Support ref-qualified
2787         functions.
2788         (is_copy_constructible, is_move_constructible, is_copy_assignable,
2789         is_move_assignable, is_nothrow_copy_constructible,
2790         is_nothrow_move_constructible, is_nothrow_copy_assignable,
2791         is_nothrow_move_assignable): Implement LWG 2196.
2792         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
2793         LWG 2101.
2794         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
2795         unused.
2796         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
2797         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
2798         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
2799         * testsuite/20_util/is_assignable/value.cc: Likewise.
2800         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2801         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
2802         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
2803         * testsuite/20_util/is_function/value.cc: Likewise.
2804         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
2805         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
2806         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
2807         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
2808         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
2809         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
2811         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2812         line number.
2813         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2814         Likewise.
2815         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2816         Likewise.
2818 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
2820         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
2821         __gnu_cxx::__airy_bi()): Remove.
2822         * testsuite/tr1/5_numerical_facilities/special_functions/
2823         10_cyl_bessel_k/airy.cc: Fix.
2825 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
2827         PR libstdc++/56430
2828         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
2829         from void function.
2830         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
2831         * testsuite/tr1/5_numerical_facilities/special_functions/
2832         10_cyl_bessel_k/airy.cc: New.
2834 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
2836         Fix library literals error involving namespace __detail.
2837         * include/std/chrono: Rename __detail to __select_type. Reformat.
2838         * include/bits/basic_string.h: Reformat.
2839         * testsuite/20_util/duration/literals/ns_detail.cc: New.
2841 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
2843         PR libstdc++/56019
2844         * include/c_global/cstddef (max_align_t): Add to namespace std.
2845         * include/c_std/cstddef: Likewise.
2846         * testsuite/18_support/max_align_t/requirements/1.cc: New.
2847         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
2849 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
2851         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2852         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
2853         * include/bits/stl_multimap.h: Same.
2854         * include/bits/stl_multiset.h: Same.
2855         * include/bits/stl_set.h: Same.
2856         * include/bits/stl_tree.h: Same.
2857         * include/std/complex (real, imag): Use macro for abi_tag.
2859         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
2860         * testsuite/util/testsuite_containers.h (erase_external): New
2861         declarations.
2862         (erase_external_iterators): Same.
2863         (linkage_check_cxx98_cxx11_erase): Same.
2864         (linkage_check_cxx98_cxx11_erase_iterators): Same.
2865         * testsuite/util/testsuite_shared.cc: Define.
2866         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
2867         * testsuite/23_containers/map/modifiers/erase/
2868         dr130-linkage-check.cc: New.
2869         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
2870         * testsuite/23_containers/multimap/modifiers/erase/
2871         dr130-linkage-check.cc: New.
2872         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
2873         * testsuite/23_containers/multiset/modifiers/erase/
2874         dr130-linkage-check.cc: New.
2875         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
2876         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
2877         New.
2878         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
2880         * testsuite/23_containers/map/dr130.cc: Move...
2881         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
2882         * testsuite/23_containers/multimap/dr130.cc: Move ...
2883         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
2884         * testsuite/23_containers/multiset/dr130.cc: Move...
2885         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
2886         * testsuite/23_containers/set/dr130.cc: Move...
2887         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
2889 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2891         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
2892         handling of Linux-based x86 systems to cover all GNU systems.
2893         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
2894         * testsuite/18_support/pthread_guard.cc: Likewise.
2895         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2896         Likewise.
2897         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2898         Likewise.
2899         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2900         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2901         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
2902         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
2903         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2904         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2905         * testsuite/23_containers/list/pthread1.cc: Likewise.
2906         * testsuite/23_containers/list/pthread5.cc: Likewise.
2907         * testsuite/23_containers/map/pthread6.cc: Likewise.
2908         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
2909         Likewise.
2910         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
2911         Likewise.
2912         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2913         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2914         * testsuite/30_threads/async/42819.cc: Likewise.
2915         * testsuite/30_threads/async/49668.cc: Likewise.
2916         * testsuite/30_threads/async/54297.cc: Likewise.
2917         * testsuite/30_threads/async/any.cc: Likewise.
2918         * testsuite/30_threads/async/async.cc: Likewise.
2919         * testsuite/30_threads/async/launch.cc: Likewise.
2920         * testsuite/30_threads/async/sync.cc: Likewise.
2921         * testsuite/30_threads/call_once/39909.cc: Likewise.
2922         * testsuite/30_threads/call_once/49668.cc: Likewise.
2923         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2924         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
2925         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2926         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2927         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2928         * testsuite/30_threads/condition_variable/members/53841.cc:
2929         Likewise.
2930         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2931         Likewise.
2932         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2933         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
2934         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2935         * testsuite/30_threads/condition_variable_any/members/1.cc:
2936         Likewise.
2937         * testsuite/30_threads/condition_variable_any/members/2.cc:
2938         Likewise.
2939         * testsuite/30_threads/future/cons/move.cc: Likewise.
2940         * testsuite/30_threads/future/members/45133.cc: Likewise.
2941         * testsuite/30_threads/future/members/get.cc: Likewise.
2942         * testsuite/30_threads/future/members/get2.cc: Likewise.
2943         * testsuite/30_threads/future/members/share.cc: Likewise.
2944         * testsuite/30_threads/future/members/valid.cc: Likewise.
2945         * testsuite/30_threads/future/members/wait.cc: Likewise.
2946         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2947         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2948         * testsuite/30_threads/lock/1.cc: Likewise.
2949         * testsuite/30_threads/lock/2.cc: Likewise.
2950         * testsuite/30_threads/lock/3.cc: Likewise.
2951         * testsuite/30_threads/lock/4.cc: Likewise.
2952         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2953         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2954         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2955         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2956         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2957         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2958         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2959         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2960         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2961         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2962         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2963         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2964         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
2965         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2966         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2967         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
2968         Likewise.
2969         * testsuite/30_threads/packaged_task/members/get_future.cc:
2970         Likewise.
2971         * testsuite/30_threads/packaged_task/members/get_future2.cc:
2972         Likewise.
2973         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2974         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2975         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2976         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2977         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2978         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2979         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2980         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2981         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2982         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2983         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2984         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2985         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2986         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2987         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2988         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2989         * testsuite/30_threads/promise/members/set_exception2.cc:
2990         Likewise.
2991         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2992         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2993         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2994         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2995         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2996         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2997         Likewise.
2998         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2999         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
3000         Likewise.
3001         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3002         Likewise.
3003         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3004         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3005         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3006         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3007         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3008         Likewise.
3009         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3010         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3011         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3012         Likewise.
3013         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3014         Likewise.
3015         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
3016         Likewise.
3017         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
3018         Likewise.
3019         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3020         Likewise.
3021         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3022         Likewise.
3023         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3024         Likewise.
3025         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3026         Likewise.
3027         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3028         Likewise.
3029         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
3030         Likewise.
3031         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3032         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3033         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3034         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3035         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3036         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3037         * testsuite/30_threads/shared_future/members/wait_for.cc:
3038         Likewise.
3039         * testsuite/30_threads/shared_future/members/wait_until.cc:
3040         Likewise.
3041         * testsuite/30_threads/this_thread/1.cc: Likewise.
3042         * testsuite/30_threads/this_thread/2.cc: Likewise.
3043         * testsuite/30_threads/this_thread/3.cc: Likewise.
3044         * testsuite/30_threads/this_thread/4.cc: Likewise.
3045         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3046         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3047         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3048         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3049         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
3050         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3051         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3052         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3053         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3054         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3055         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3056         * testsuite/30_threads/thread/members/1.cc: Likewise.
3057         * testsuite/30_threads/thread/members/2.cc: Likewise.
3058         * testsuite/30_threads/thread/members/3.cc: Likewise.
3059         * testsuite/30_threads/thread/members/4.cc: Likewise.
3060         * testsuite/30_threads/thread/members/5.cc: Likewise.
3061         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
3062         Likewise.
3063         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
3064         * testsuite/30_threads/thread/native_handle/typesizes.cc:
3065         Likewise.
3066         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3067         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3068         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
3069         Likewise.
3070         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3071         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3072         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
3073         Likewise.
3074         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3075         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3076         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3077         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3078         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3079         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3080         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3081         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3082         * testsuite/30_threads/try_lock/1.cc: Likewise.
3083         * testsuite/30_threads/try_lock/2.cc: Likewise.
3084         * testsuite/30_threads/try_lock/3.cc: Likewise.
3085         * testsuite/30_threads/try_lock/4.cc: Likewise.
3086         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3087         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3088         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3089         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3090         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3091         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3092         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3093         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3094         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3095         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3096         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3097         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3098         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
3099         * testsuite/ext/profile/mh.cc: Likewise.
3100         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3101         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
3102         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
3103         Likewise.
3104         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
3105         Likewise.
3106         * testsuite/util/testsuite_performance.h: Extend current handling
3107         of Linux-based systems to cover all glibc-based systems.
3109 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
3111         * include/std/mutex (call_once): Remove parentheses to fix error in
3112         c++1y and gnu++1y mode.
3113         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
3114         thread to avoid undefined behaviour.
3116 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
3118         Simplify and clean up library literals.
3119         * include/std/chrono: Simplify namespace and versioning management.
3120         * include/bits/basic_string.h: Ditto.
3121         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
3122         * testsuite/20_util/duration/literals/values.cc: Ditto.
3123         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
3124         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
3126 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
3128         Implement N3654 - Quoted Strings Library Proposal
3129         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
3130         manipulators and supporting machinery in c++1y mode.
3131         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
3132         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
3134 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3136         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
3137         2162: Add noexcept.
3139 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3141         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
3142         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
3143         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
3144         * testsuite/25_algorithms/equal/2.cc: New.
3145         * testsuite/25_algorithms/equal/check_type2.cc: New.
3146         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
3147         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
3148         * testsuite/25_algorithms/mismatch/2.cc: New.
3149         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
3150         * testsuite/util/testsuite_iterators.h: Fix spelling.
3152 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3154         * include/std/type-traits (integral_constant::operator()): Implement
3155         N3545.
3156         * testsuite/20_util/integral_constant/call_operator.cc: New.
3157         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3158         line numbers.
3159         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3160         Likewise.
3161         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3162         Likewise.
3164 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
3166         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3168 2013-06-05  Tom Tromey  <tromey@redhat.com>
3170         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
3172 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
3174         PR c++/57419
3175         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
3177 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
3179         * include/std/chrono: Collapse redundant 'inline' from 'inline
3180         constexpr'.
3181         * include/std/tuple: Ditto.
3182         * include/bits/move.h: Ditto.
3184 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
3186         Implement N3642 - User-defined Literals for Standard Library Types
3187         * include/bits/parse_numbers.h: New.
3188         * include/std/chrono: Add duration literal operators.
3189         * include/bits/basic_string.h: Add string literal operators.
3190         * include/Makefile.in: Add parse_numbers.h.
3191         * include/Makefile.am: Ditto.
3192         * testsuite/20_util/duration/literals/values.cc: New.
3193         * testsuite/20_util/duration/literals/types.cc: New.
3194         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
3195         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
3196         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
3197         * testsuite/21_strings/basic_string/literals/values.cc: New.
3198         * testsuite/21_strings/basic_string/literals/types.cc: New.
3200 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3202         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
3203         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
3204         calling non-existent from_time_t.
3206 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3208         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3209         Regenerate.
3211 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
3213         * include/std/chrono: Wrap clocks in inline namespace _V2.
3214         * src/c++11/chrono.cc: Same.
3215         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
3216         file, with default configure macros selected.
3218         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
3219         namespace.
3220         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
3222         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3223         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3224         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3225         Regenerated.
3226         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3227         Regenerated.
3228         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3229         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3230         Regenerated.
3231         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3232         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3233         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3234         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3235         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3236         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3237         Regenerated.
3238         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3239         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3241 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3243         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
3244         (CLOCK_MONOTONIC): Define.
3246 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3248         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
3249         overload.
3251         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
3253 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
3255         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
3256         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
3257         don't define system_clock::is_steady, system_clock::now() and
3258         steady_clock::is_steady.
3259         (std::chrono::system_clock::now()): If
3260         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
3261         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
3262         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
3263         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
3264         be non-empty.
3265         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
3266         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
3267         * src/c++11/compatibility-chrono.cc: New file.
3268         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
3269         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
3270         * testsuite/util/testsuite_abi.cc (check_version): Add
3271         GLIBCXX_3.4.20 version and make it the latest.
3272         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
3273         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
3274         @@GLIBCXX_3.4.20 instead.
3275         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
3276         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
3277         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
3278         Regenerated.
3279         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3280         Regenerated.
3281         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
3282         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
3283         Regenerated.
3284         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
3285         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
3286         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
3287         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
3288         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
3289         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
3290         Regenerated.
3291         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
3292         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
3293         * config.h.in: Regenerated.
3294         * src/Makefile.in: Regenerated.
3295         * configure: Regenerated.
3297 2013-05-23  Matthias Klose  <doko@ubuntu.com>
3299         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3300         (ext_headers): Remove ${ext_host_headers}.
3301         (stamp-${host_alias}): Create ${host_builddir}/../ext.
3302         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3303         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3304         * include/Makefile.in: Regenerate.
3305         * include/ext/random: Include ext/opt_random.h.
3307 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
3309         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
3310         enable features if target OS is known to support them.
3311         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
3312         * configure: Regenerate.
3314 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
3316         PR libstdc++/57336
3317         * include/std/functional (__invoke): Do not form function types with
3318         abstract return type.
3319         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
3321 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
3323         * include/std/tuple (get): Implement N3670.
3324         * include/std/utility (get): Likewise.
3325         * testsuite/20_util/pair/get.cc: Move to ...
3326         * testsuite/20_util/pair/astuple/get.cc: Here.
3327         * testsuite/20_util/pair/astuple/astuple.cc: New.
3328         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
3329         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
3330         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
3331         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
3332         * testsuite/20_util/pair/astuple/get_neg.cc: New.
3333         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
3334         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
3335         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
3337 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
3339         * Revert last commit.
3341 2013-05-19  Matthias Klose  <doko@ubuntu.com>
3343         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
3344         (ext_headers): Remove ${ext_host_headers}.
3345         (stamp-${host_alias}): Create ${host_builddir}/../ext.
3346         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
3347         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
3348         * include/Makefile.in: Regenerate.
3350 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3352         * include/std/system_error (error_category::error_category()): LWG
3353         2145: Declare public and constexpr.
3354         * src/c++11/system_error.cc (error_category::error_category()): Move
3355         definition to ...
3356         * src/c++11/compatibility-c++0x.cc: Here.
3358 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3360         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
3362 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3364         * include/bits/unique_ptr.h (make_unique): Declare inline.
3365         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
3366         (default_delete, unique_ptr): Add doxygen comments.
3367         * include/bits/shared_ptr_base.h: Improve doxygen comments.
3368         * include/bits/shared_ptr.h: Likewise.
3369         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
3370         number.
3371         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
3373 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3375         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3377 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3379         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
3381 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3383         * include/std/utility (exchange): Define.
3384         * testsuite/20_util/exchange/1.cc: New.
3386 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
3388         * include/bits/unique_ptr.h (make_unique): Define.
3389         * testsuite/20_util/unique_ptr/creation/single.cc: New.
3390         * testsuite/20_util/unique_ptr/creation/array.cc: New.
3391         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
3393 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
3395         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
3396         rendering of std::tr1 unordered containers iterator.
3397         (StdHashtableIterator): New, render std unordered containers iterator.
3398         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
3400 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
3402         * include/bits/basic_string.h (getline): Fix doxygen comments.
3404 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
3406         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3407         Use std::pointer_traits.
3409 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
3411         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
3412         bad_array_new.cc.
3413         * libsupc++/Makefile.in: Regenerate.
3414         * libsupc++/bad_array_length.cc: Tweak.
3415         * libsupc++/bad_array_new.cc: Tweak.
3417 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
3419         PR libstdc++/54577
3420         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
3421         (_Deque_iterator<>::_M_const_cast): Add.
3422         (deque<>::_M_erase): Declare.
3423         * include/bits/deque.tcc: ... and define.
3424         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
3425         (_List_const_iterator<>::_M_const_cast): Add.
3426         * include/bits/list.tcc (erase (iterator)): Fix.
3427         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
3428         Add; include <ext/cast.h>.
3429         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
3430         (vector<>::_M_erase): Declare.
3431         * include/bits/stl_bvector.h: Likewise.
3432         * include/bits/vector.tcc (vector<>::_M_erase): Define.
3433         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
3434         * include/debug/deque: Adjust.
3435         * include/debug/list: Likewise.
3436         * include/debug/vector: Likewise.
3437         * include/profile/deque: Likewise.
3438         * include/profile/list: Likewise.
3439         * include/profile/vector: Likewise.
3440         * testsuite/util/exception/safety.h (erase_base<deque>,
3441         erase_base<deque>, erase_base<vector>): Remove.
3442         (erase_base<__versa_string>): Update.
3443         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
3444         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
3445         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
3446         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
3447         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
3448         Likewise.
3449         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
3450         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3451         Adjust dg-error line numbers.
3452         * testsuite/23_containers/deque/requirements/dr438/
3453         constructor_1_neg.cc: Likewise.
3454         * testsuite/23_containers/deque/requirements/dr438/
3455         constructor_2_neg.cc: Likewise.
3456         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3457         Likewise.
3458         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3459         Likewise.
3460         * testsuite/23_containers/list/requirements/dr438/
3461         constructor_1_neg.cc: Likewise.
3462         * testsuite/23_containers/list/requirements/dr438/
3463         constructor_2_neg.cc: Likewise.
3464         * testsuite/23_containers/list/requirements/dr438/
3465         insert_neg.cc: Likewise.
3466         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3467         Likewise.
3468         * testsuite/23_containers/vector/requirements/dr438/
3469         constructor_1_neg.cc: Likewise.
3470         * testsuite/23_containers/vector/requirements/dr438/
3471         constructor_2_neg.cc: Likewise.
3472         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3473         Likewise.
3475 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
3477         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
3479 2013-05-08  Jason Merrill  <jason@redhat.com>
3481         Add std::bad_array_length (N3639)
3482         * libsupc++/new: Add std::bad_array_length.
3483         * libsupc++/bad_array_length.cc: New.
3484         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
3485         * libsupc++/Makefile.in: Build them.
3486         * config/abi/pre/gnu.ver: Add new symbols.
3487         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3489 2013-05-08  Andi Kleen  <ak@linux.intel.com>
3491         PR target/55947
3492         * libstdc++-v3/include/bits/atomic_base.h
3493         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
3494         (atomic_thread_fence, atomic_signal_fence, test_and_set,
3495         clear, store, load, exchange, compare_exchange_weak)
3496         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
3497         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
3499 2013-05-08  Jason Merrill  <jason@redhat.com>
3501         Add std::bad_array_new_length (N2932)
3502         * libsupc++/new: Add std::bad_array_new_length.
3503         * libsupc++/bad_array_new.cc: New.
3504         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
3505         * libsupc++/Makefile.in: Build them.
3506         * config/abi/pre/gnu.ver: Add new symbols.
3507         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
3509 2013-05-08  Andoni Morales Alastruey  <ylatuya@gmail.com>
3511         PR libstdc++/57212
3512         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
3513         to __MINGW32__.
3514         * include/Makefile.in: Regenerated.
3516 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
3518         * include/profile/unordered_base.h: New.
3519         * include/Makefile.am: Add new profile header.
3520         * include/Makefile.in: Regenerate.
3521         * include/profile/impl/profiler.h
3522         (__profcxx_inefficient_hash_is_on): New macro.
3523         * include/profile/unordered_map (std::profile::unordered_map<>):
3524         Use new _Unordered_profile base class. Use default implementations
3525         for special functions.
3526         (std::profile::unordered_multimap<>): Likewise.
3527         * include/profile/unordered_set (std::profile::unordered_set<>):
3528         Likewise.
3529         (std::profile::unordered_multiset<>): Likewise.
3530         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
3531         MoveOnly equality operator signature.
3533 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3535         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
3536         constexpr_data.cc: Move...
3537         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
3538         ... here.
3539         * testsuite/20_util/integral_constant/requirements/
3540         explicit_instantiation.cc: New.
3541         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
3542         Likewise.
3543         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
3544         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
3545         Likewise.
3546         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
3547         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
3549 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3551         * include/std/type_traits (is_null_pointer): Add.
3552         (__is_nullptr_t): Implement in terms of the latter.
3553         (is_fundamental, is_scalar): Adjust.
3554         * testsuite/20_util/is_null_pointer/requirements/
3555         explicit_instantiation.cc: New.
3556         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
3557         Likewise.
3558         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
3559         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3560         line number.
3561         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3562         Likewise.
3563         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3564         Likewise.
3566 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
3568         * include/c_global/cstdio: Add comment about LWG 2249.
3569         * include/c_std/cstdio: Likewise.
3571 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3573         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
3574         comment.
3575         * include/std/mutex (__recursive_mutex_base): Likewise.
3577 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
3579         PR libstdc++/51365
3580         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
3581         implement EBO safely.
3582         (_Sp_counted_base::_M_get_deleter): Add noexcept.
3583         (_Sp_counter_ptr): Use noexcept instead of comments.
3584         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
3585         (_Sp_counted_ptr_inplace): Likewise.
3586         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
3587         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
3588         custom allocator and test construction with custom allocator.
3589         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
3590         line number.
3592 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3594         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
3595         dialect to -std=gnu++11.
3597 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
3599         * include/bits/hashtable_policy.h
3600         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
3601         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
3603 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
3605         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
3606         * include/c_std/cstdio (gets): Likewise.
3607         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
3609 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
3611         PR libstdc++/57065
3612         * include/debug/unordered_map (unordered_map, unordered_multimap):
3613         Fix default allocator type.
3614         * include/profile/unordered_map (unordered_map, unordered_multimap):
3615         Likewise.
3616         * include/bits/unordered_map.h: Fix comments.
3618 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3620         PR libstdc++/56905
3621         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
3622         move implementation to make_exception_ptr.
3623         * include/std/future (_State_base::_M_break_promise): Replace
3624         copy_exception with make_exception_ptr.
3625         * testsuite/18_support/exception_ptr/move.cc: Likewise.
3626         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
3627         * testsuite/30_threads/future/members/get2.cc: Likewise.
3628         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3629         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3630         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3631         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3633 2013-04-22  Jason Merrill  <jason@redhat.com>
3635         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
3637         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
3638         substitution" lines.
3640         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
3641         function-cv-quals.
3642         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
3643         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
3644         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
3646 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
3648         * include/bits/hashtable_policy.h: Add C++11 allocator support.
3649         * include/bits/hashtable.h: Likewise.
3650         * include/bits/unordered_set.h: Likewise.
3651         * include/bits/unordered_map.h: Likewise.
3652         * include/debug/unordered_set: Likewise.
3653         * include/debug/unordered_map: Likewise.
3654         * include/std/unordered_set: Remove bits/algobase.h
3655         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
3656         * include/std/unordered_map: Likewise.
3657         * include/ext/throw_allocator.h: Add checks on calls to allocator
3658         construct/destroy.
3659         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
3660         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
3661         * testsuite/util/regression/rand/priority_queue
3662         /container_rand_regression_test.tcc: Adapt.
3663         * testsuite/util/regression/rand/assoc
3664         /container_rand_regression_test.tcc: Likewise.
3665         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
3666         * testsuite/23_containers/unordered_set
3667         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
3668         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
3669         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
3670         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
3671         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
3672         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
3673         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
3674         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
3675         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
3676         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
3677         New.
3678         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
3679         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
3680         New.
3681         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
3682         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
3683         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
3684         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
3685         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
3686         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
3687         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
3688         New.
3689         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
3690         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
3691         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
3692         New.
3693         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
3694         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
3695         New.
3696         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
3697         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
3699 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3701         * include/std/type_traits (is_signed): Simplify.
3702         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3703         Adjust dg-error line numbers.
3704         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3705         Likewise.
3706         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3708 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3710         N3669
3711         * include/std/complex (complex<float>::real, complex<float>::imag,
3712         complex<double>::real, complex<double>::imag,
3713         complex<long double>::real, complex<long double>::imag): Declare
3714         as const member functions.
3715         * include/std/type_traits (integral_constant<>::operator value_type):
3716         Likewise.
3718 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
3720         PR libstdc++/57010
3721         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
3722         * testsuite/25_algorithms/pop_heap/57010.cc: New.
3724 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
3726         * src/c++11/system_error.cc (generic_category_instance): Add
3727         initializer.
3728         (system_category_instance): Likewise.
3729         * src/c++11/future.cc (__fec): Likewise.
3731 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3733         * doc/xml/manual/extensions.xml: Fix anachronism.
3735 2013-04-09  Tom Tromey  <tromey@redhat.com>
3737         * configure, config.h.in: Rebuild.
3738         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
3739         sys/sdt.h.
3740         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
3742 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
3744         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3746 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
3748         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
3750 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3752         * include/Makefile.am: Add ext/aligned_buffer.h
3753         * include/Makefile.in: Regenerate.
3754         * include/ext/aligned_buffer.h: New.
3755         * include/std/future (_Result): Use __aligned_buffer.
3756         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
3757         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
3758         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
3759         number.
3761 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3763         * include/bits/forward_list.h: Only include required headers.
3764         (forward_list::reference): Define directly, not using __alloc_traits.
3765         (forward_list::const_reference): Likewise.
3767 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
3769         * include/std/functional (_Derives_from_unary_function): Remove.
3770         (_Derives_from_binary_function): Remove.
3771         * include/std/type_traits (__sfinae_types): Remove.
3772         (__is_assignable_helper): Adapt.
3773         (__is_convertible_helper): Adapt.
3774         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
3775         Remove several explicit instantiations of integral_constant.
3776         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
3777         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3778         Adapt dg-error line number.
3779         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3780         Likewise.
3781         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
3782         * testsuite/20_util/bind/ref_neg.cc: Likewise.
3784 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3786         PR libstdc++/56841
3787         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
3788         get_terminate() accessors.
3789         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
3790         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
3791         available.
3792         * libsupc++/new_handler.cc: Likewise.
3794 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3796         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
3798 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
3800         PR libstdc++/56834
3801         * include/debug/array (tuple_size, tuple_element): Do not declare.
3802         * include/profile/array: Likewise.
3803         * testsuite/23_containers/array/tuple_interface/
3804         tuple_element_debug_neg.cc: Adjust dg-error line number.
3806 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
3808         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
3809         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
3810         Define.
3811         (set_terminate(terminate_handler)): Set atomically.
3812         (set_unexpected(terminate_handler)): Likewise.
3813         * libsupc++/new (get_new_handler()): Declare.
3814         * libsupc++/new_handler.cc (get_new_handler()): Define.
3815         (set_new_handler(new_handler)): Set atomically.
3816         (__new_handler): Use internal linkage.
3817         * libsupc++/new_op.cc (operator new): Use get_new_handler().
3818         * libsupc++/new_opnt.cc (operator new): Likewise.
3819         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
3820         * configure: Regenerate.
3821         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
3822         * libsupc++/Makefile.in: Regenerate.
3823         * config/abi/pre/gnu.ver: Add new exports.
3824         * doc/xml/manual/status_cxx2011.xml: Update.
3825         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
3826         for handlers.
3827         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
3828         * testsuite/18_support/new_handler.cc: New.
3829         * testsuite/18_support/terminate_handler.cc: New.
3830         * testsuite/18_support/unexpected_handler.cc: New.
3832 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
3834         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
3835         defer to general documentation on contributing to GCC.
3836         * doc/html/*: Regenerate.
3838 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
3840         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
3842         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
3843         Coding Standards.
3845         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
3847         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
3849         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
3851         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
3853         * doc/xml/manual/policy_data_structures: Remove direct link to
3854         IBM Haifa Research Labs.
3856         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
3857         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
3859         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
3860         papers.
3862         * doc/xml/manual/shared_ptr.xml: Use canonical address for
3863         www.boost.org.
3865 2013-03-27  Kai Tietz  <ktietz@redhat.com>
3867         * crossconfig.m4: Add support for cygwin x64 target.
3868         * configure: Regenerated.
3870 2013-03-25  Kai Tietz  <ktietz@redhat.com>
3872         * testsuite/18_support/50594.cc: For mingw-targets use only static
3873         libstdc++-version.
3874         * testsuite/19_diagnostics/error_category/operators/equal.cc
3875         * testsuite/19_diagnostics/error_code/cons/1.cc
3876         * testsuite/19_diagnostics/error_code/operators/bool.cc
3877         * testsuite/19_diagnostics/error_code/operators/equal.cc
3878         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
3879         * testsuite/19_diagnostics/error_condition/cons/1.cc
3880         * testsuite/19_diagnostics/error_condition/operators/bool.cc
3881         * testsuite/19_diagnostics/error_condition/operators/equal.cc
3882         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
3883         * testsuite/23_containers/set/requirements/exception/basic.cc
3884         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
3885         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
3887 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
3889         PR libstdc++/56170
3890         * include/ext/debug_allocator.h (debug_allocator): Add missing members
3891         to meet allocator requirements.
3892         * testsuite/ext/debug_allocator/56170.cc: New.
3894 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3896         PR libstdc++/56678
3897         * include/std/chrono (__is_ratio): Uglify T.
3899 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
3901         PR libstdc++/55977 (partial, std::vector and std::deque bits)
3902         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
3903         _InputIterator, std::input_iterator_tag)): Use emplace_back.
3904         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
3905         _InputIterator, std::input_iterator_tag)): Likewise.
3906         * testsuite/23_containers/vector/cons/55977.cc: New.
3907         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
3908         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3909         Adjust dg-error line number.
3910         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3911         Likewise.
3913 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
3915         PR libstdc++/55979
3916         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
3917         _InputIterator, __false_type)): Use emplace_back.
3918         * testsuite/23_containers/list/cons/55979.cc: New.
3919         * testsuite/23_containers/list/modifiers/1.h: Adjust.
3920         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3921         Adjust dg-error line number.
3923 2013-03-16  Jason Merrill  <jason@redhat.com>
3925         PR c++/55017
3926         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
3928 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3930         PR libstdc++/56468
3931         * libsupc++/exception_ptr.h (type_info): Declare.
3933 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3935         PR libstdc++/56002
3936         * include/std/mutex (lock_guard, unique_lock, lock): Define without
3937         depending on _GLIBCXX_HAS_GTHREADS.
3938         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
3940 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3942         PR libstdc++/56492
3943         * include/std/future (__future_base::_Result): Add result_type
3944         typedef.
3945         (__future_base::_S_allocate_result): Overload for std::allocator.
3946         (__future_base::_Task_setter): Use _Result::result_type instead of
3947         deducing the type from the task.
3948         (__future_base::_Task_state): Store allocator to allow shared state
3949         to be reset.  Replace std::function with member of target object type
3950         accessed via ...
3951         (__future_base::_Task_state_base): New abstract base class.
3952         (__future_base::_Task_state_base::_M_run): New virtual function to
3953         invoke type-erased target object.
3954         (__future_base::_Task_state_base::_M_reset): New virtual function to
3955         create new shared_state using same target object and allocator.
3956         (__future_base::__create_task_state): Allocate a new _Task_state.
3957         (packaged_task::packaged_task): Use __create_task_state.
3958         (packaged_task::reset): Use _Task_state_base::_M_reset.
3959         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
3961 2013-03-15  Tom Tromey  <tromey@redhat.com>
3963         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
3964         (PROBE2): New macro.
3965         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
3966         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
3967         * configure.ac: Check for sys/sdt.h.
3968         * configure, config.h.in: Rebuild.
3970 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3972         PR libstdc++/56613
3973         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
3974         allocator_traits instead of calling construct directly.
3975         * testsuite/23_containers/map/56613.cc: New.
3977 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
3979         * doc/html/*: Regenerate.
3981 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
3983         PR libstdc++/56609
3984         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
3985         * testsuite/20_util/is_fundamental/value.cc: Extend.
3986         * testsuite/20_util/is_compound/value.cc: Likewise.
3988 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3990         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
3991         -Wunused warnings.
3993 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3995         * include/bits/memoryfwd.h: New. Centralize forward declarations.
3996         * include/bits/algorithmfwd.h: Consistent comments.
3997         * include/bits/localefwd.h: Same.
3998         * include/ext/vstring_fwd.h: Same.
3999         * include/parallel/algorithmfwd.h: Same.
4000         * include/parallel/numericfwd.h: Same.
4001         * include/std/iosfwd: Same.
4003         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
4004         forward decl.
4005         * include/ext/alloc_traits.h: Remove allocator forward decl.
4006         * include/bits/stl_construct.h: Same.
4007         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
4008         forward decl. Consistent comments.
4010         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
4012         * include/Makefile.am (bits_headers): Add memoryfwd.h.
4013         * include/Makefile.in: Regenerate.
4014         * configure: Same.
4016 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
4018         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
4019         Reset pointers after deallocation when memory can be reused.
4020         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
4021         elements to really challenge C++11 allocator integration.
4022         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
4023         * testsuite/23_containers/vector/allocator/copy_assign.cc:
4024         Likewise.
4025         * testsuite/23_containers/vector/allocator/move_assign.cc:
4026         Likewise.
4027         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
4028         swap vector back before checks on memory/personality mapping are
4029         performed.
4030         * testsuite/23_containers/forward_list/allocator/minimal.cc:
4031         Insert element to really challenge C++11 allocator integration.
4032         * testsuite/23_containers/forward_list/allocator/copy.cc:
4033         Likewise.
4034         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
4035         Likewise.
4036         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
4037         Likewise.
4038         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
4039         and swap forward_list back before checks on memory/personality
4040         mapping are performed.
4042 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
4044         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4045         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4046         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4047         Likewise.
4048         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4049         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4050         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
4051         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
4052         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
4053         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4055 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4057         * scripts/extract_symvers.pl: Omit symbols bound to base
4058         versions.
4059         * scripts/extract_symvers.in: Likewise.
4060         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4061         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
4062         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
4063         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4064         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4066 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
4068         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
4069         Optimize generation function by pulling computation of __r into the
4070         constructor for param_type.  Also compare _M_mu in operator==.
4071         Fix comment.
4073 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
4075         Add triangular and von Mises distributions.
4076         * include/ext/random: Include <ext/cmath>.
4077         Add __gnu_cxx::triangular_distribution<> and
4078         __gnu_cxx::von_mises_distribution<> classes.
4079         * include/ext/random.tcc: Add out-of-line functions for
4080         __gnu_cxx::triangular_distribution<> and
4081         __gnu_cxx::von_mises_distribution<>.
4082         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
4083         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
4084         * testsuite/ext/triangular_distribution/operators/serialize.cc:
4085         New file.
4086         * testsuite/ext/triangular_distribution/operators/equal.cc:
4087         New file.
4088         * testsuite/ext/triangular_distribution/operators/inequal.cc:
4089         New file.
4090         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
4091         New file.
4092         * testsuite/ext/triangular_distribution/requirements/
4093         explicit_instantiation/1.cc: New file.
4094         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
4095         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
4096         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
4097         New file.
4098         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
4099         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
4100         New file.
4101         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
4102         New file.
4103         * testsuite/ext/von_mises_distribution/requirements/
4104         explicit_instantiation/1.cc: New file.
4106         Add math constants.
4107         * include/Makefile.am (ext_headers): Add cmath.
4108         * include/Makefile.in: Regenerated.
4109         * include/ext/cmath: New file.
4111 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4113         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
4114         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
4115         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
4116         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
4117         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
4119 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
4121         PR libstdc++/56012
4122         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
4123         * testsuite/29_atomics/atomic/operators/56012.cc: New.
4125         PR libstdc++/56011
4126         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
4127         missing overload.
4128         * testsuite/29_atomics/atomic/operators/56011.cc: New.
4130 2013-02-25  Jason Merrill  <jason@redhat.com>
4132         * configure.ac: Check for __cxa_thread_atexit_impl.
4133         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
4134         to it if available.
4135         * config.h.in, configure: Regenerate.
4137 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4139         * include/std/streambuf (basic_streambuf): Use injected class name
4140         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
4141         group.
4143 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4145         * doc/html/faq.html: Fix spelling.
4146         * doc/xml/faq.xml: Likewise.
4147         * include/bits/basic_ios.h: Likewise.
4148         * include/bits/regex.h: Likewise.
4149         * include/std/istream: Likewise.
4150         * include/std/streambuf: Likewise.
4152 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
4154         * testsuite/23_containers/unordered_set/55043.cc: Add missing
4155         namespace qualification.
4156         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4158 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
4160         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
4161         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
4162         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
4163         * include/bits/stl_pair.h: Add to utilities group.
4164         * include/std/tuple: Same.
4165         * include/std/typeindex: Same.
4167         * include/bits/stringfwd.h: Fix markup.
4168         * include/std/limits: Same.
4169         * include/std/type_traits: Same.
4170         * include/tr1/memory: Same.
4171         * include/tr1/regex: Same.
4172         * scripts/run_doxygen: Comment.
4173         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
4175 2013-02-14  Jason Merrill  <jason@redhat.com>
4177         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
4178         test if unsupported.
4180 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
4182         PR libstdc++/56111
4183         * include/std/complex (complex): Undefine.
4184         * include/c_compatibility/complex.h (complex): Only undefine if
4185         <complex> has been included.
4186         * testsuite/26_numerics/complex/56111.cc: New testcase.
4188 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
4190         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
4191         default constructor protected.
4192         * include/bits/hashtable.h: static assert that _Hash_code_base has
4193         a default constructor available through inheritance.
4195 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
4197         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
4198         C++11 mode.
4200 2013-02-12  Julian Brown  <julian@codesourcery.com>
4202         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
4203         Don't expect dots after abbreviated weekday names for ru_RU for
4204         glibc versions >= 2.17.
4205         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
4206         Likewise.
4208 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
4210         * include/bits/random.tcc (__transform): Remove.
4211         (__normalize): Add.
4212         (discrete_distribution<>::param_type::_M_initialize): Adjust.
4213         (piecewise_constant_distribution<>::param_type::_M_initialize):
4214         Likewise.
4215         (piecewise_linear_distribution<>::param_type::_M_initialize):
4216         Likewise.
4218 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4220         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
4221         Use -fimplicit-templates.
4222         * src/c++11/Makefile.in: Regenerate.
4223         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
4224         std::lower_bound template.
4226 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
4228         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
4229         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
4230         in C++11 mode and if available in the underlying C library.
4231         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
4232         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
4233         _GLIBCXX_HAVE_QUICK_EXIT.
4235 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4237         * doc/html/*: Regenerate.
4239 2013-02-11  Jason Merrill  <jason@redhat.com>
4241         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
4242         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
4243         * config.h.in, configure: Regenerate.
4244         * include/c_std/cstdlib: Add atexit and at_quick_exit.
4245         * include/c_global/cstdlib: Add atexit and at_quick_exit.
4246         * testsuite/18_support/quick_exit/quick_exit.cc: New.
4248 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
4250         PR libstdc++/56282
4251         Revert:
4252         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
4254         PR libstdc++/56193
4255         * include/bits/basic_ios.h: Replace operator void*() const
4256         with explicit operator bool() const in C++11 and greater.
4257         * testsuite/27_io/basic_ios/pr56193.cc: New file.
4259 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
4260             Jonathan Wakely  <jwakely.gcc@gmail.com>
4262         * doc/xml/manual/containers.xml: Add section on unordered containers.
4263         * doc/xml/manual/using.xml: Fix incomplete sentence.
4265 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
4267         PR libstdc++/56267
4268         * include/bits/hashtable.h (__cache_default): Check if hash function
4269         is copy assignable.
4270         * testsuite/23_containers/unordered_set/56267.cc: New.
4271         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
4272         dg-error line number.
4273         * testsuite/23_containers/unordered_set/
4274         not_default_constructible_hash_neg.cc: Likewise.
4276         PR libstdc++/56278
4277         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
4278         constructor public.
4279         * testsuite/23_containers/unordered_set/56278.cc: New.
4281 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
4283         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
4284         simplification.
4286 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
4288         PR libstdc++/56216
4289         * include/tr1/special_function_util.h: Remove spurious const
4290         from numeric arguments.
4291         * include/tr1/riemann_zeta.tcc: Likewise.
4292         * include/tr1/exp_integral.tcc: Likewise.
4293         * include/tr1/bessel_function.tcc: Likewise.
4294         * include/tr1/hypergeometric.tcc: Likewise.
4295         * include/tr1/modified_bessel_func.tcc: Likewise.
4296         * include/tr1/poly_laguerre.tcc: Likewise.
4297         * include/tr1/gamma.tcc: Likewise.
4298         * include/tr1/legendre_function.tcc: Likewise.
4299         * include/tr1/poly_hermite.tcc: Likewise.
4300         * include/tr1/ell_integral.tcc: Likewise.
4301         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
4302         If argument is zero return function value.
4303         * testsuite/tr1/5_numerical_facilities/special_functions/
4304         08_cyl_bessel_i/pr56216.cc: New.
4306 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
4308         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
4310 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
4312         PR libstdc++/56193
4313         * include/bits/basic_ios.h: Replace operator void*() const
4314         with explicit operator bool() const in C++11 and greater.
4315         * testsuite/27_io/basic_ios/pr56193.cc: New file.
4317 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
4319         Add missing explicit instantiation for std::lower_bound template
4320         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
4321         missing instantiation for std::lower_bound template.
4323 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
4325         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
4326         * include/bits/basic_string.h: Specialize previous to mark
4327         std::hash for string types as slow.
4328         * include/bits/hashtable.h (__cache_default): Replace is_integral
4329         with __is_fast_hash.
4330         * src/c++11/hash_c++0x.cc: Add type_traits include.
4331         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
4332         Adapt dg-error line number.
4333         * testsuite/23_containers/unordered_set/
4334         not_default_constructible_hash_neg.cc: Likewise.
4336 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4337             Paolo Carlini  <paolo.carlini@oracle.com>
4339         PR libstdc++/56202 (again)
4340         * include/bits/random.tcc (binomial_distribution<>::
4341         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
4342         in previous commit.
4344         * include/bits/random.h: Fix comment typo.
4346 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
4347             Paolo Carlini  <paolo.carlini@oracle.com>
4349         PR libstdc++/56202
4350         * include/bits/random.tcc (binomial_distribution<>::
4351         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
4352         division by zero.
4354 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4356         Update copyright years.
4357         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
4358         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
4359         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
4360         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
4361         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
4362         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
4363         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
4364         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
4365         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
4366         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
4367         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
4368         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
4369         testsuite/29_atomics/atomic/cons/assign_neg.cc,
4370         testsuite/29_atomics/atomic/cons/copy_neg.cc,
4371         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
4372         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
4373         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
4374         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
4375         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
4376         Update lines in dg error matches.
4378 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
4380         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
4382 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
4384         * include/bits/hashtable_policy.h
4385         (_Prime_rehash_policy::_M_next_bkt)
4386         (_Prime_rehash_policy::_M_need_rehash): Move definition...
4387         * src/c++11/hashtable_c++0x.cc: ... here.
4388         * src/shared/hashtable-aux.cc: Remove c++config.h include.
4389         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
4390         symbols.
4392 2013-01-29  Jason Merrill  <jason@redhat.com>
4394         PR libstdc++/54314
4395         * config/abi/pre/gnu.ver: Don't export construction vtables.
4396         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
4398 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
4400         PR libstdc++/56112
4401         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
4402         to construct value_type explicitly before trying to extract the key.
4403         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
4405 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
4407         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
4408         _Hashtable_ebo_helper to embed functors into the local_iterator
4409         when necessary. Pass information about functors involved in hash
4410         code by copy.
4411         * include/bits/hashtable.h (__cache_default): Do not cache for
4412         builtin integral types unless the hash functor is not noexcept
4413         qualified or is not default constructible. Adapt static assertions
4414         and local iterator instantiations.
4415         * include/debug/unordered_set
4416         (std::__debug::unordered_set<>::erase): Detect local iterators to
4417         invalidate using contained node rather than generating a dummy
4418         local_iterator instance.
4419         (std::__debug::unordered_multiset<>::erase): Likewise.
4420         * include/debug/unordered_map
4421         (std::__debug::unordered_map<>::erase): Likewise.
4422         (std::__debug::unordered_multimap<>::erase): Likewise.
4423         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
4424         std::tr1 and std versions of unordered_set regardless of any
4425         macro. Add test on default cache behavior.
4426         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
4427         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
4428         Adapt line number.
4429         * testsuite/23_containers/unordered_set/
4430         not_default_constructible_hash_neg.cc: New.
4431         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
4433 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
4435         PR libstdc++/56085
4436         * include/std/complex (pow(const complex<>&, int)): Avoid __n
4437         signed overflow.
4439 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
4441         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4442         Tightten scan-assembler-times regexps, add dg-additional-options for
4443         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
4444         dg-options.
4446 2013-01-12  Andi Kleen  <ak@linux.intel.com>
4447             Jonathan Wakely  <jwakely.gcc@gmail.com>
4449         PR libstdc++/55233
4450         * include/bits/atomic_base.h (__memory_order_modifier): Add
4451         __memory_order_mask, __memory_order_modifier_mask,
4452         __memory_order_hle_acquire, __memory_order_hle_release.
4453         (operator|,operator&): Add.
4454         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
4455         (__cmpexch_failure_order): Add.
4456         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
4457         Handle flags.
4458         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
4459         Add.
4461 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
4463         PR libstdc++/55861
4464         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
4465         Fix return type.
4466         (__basic_future::_M_get_result()): Const qualify.
4467         (shared_future::get()): Likewise.
4468         * testsuite/30_threads/shared_future/members/get.cc: Use const
4469         objects.
4471 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4473         PR libstdc++/55043 (again)
4474         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
4475         unless construction would be well-formed.
4476         (__allow_copy_cons, __check_copy_constructible): Define.
4477         * include/bits/unordered_map.h (__check_copy_constructible): Use as
4478         base class so copy constructor will be deleted if appropriate.
4479         (is_copy_constructible): Remove specialization.
4480         * include/bits/unordered_set.h: Likewise.
4481         * include/debug/unordered_map.h: Undo previous commit. Default copy
4482         and move constructors.
4483         * include/debug/unordered_set.h: Likewise.
4484         * include/profile/unordered_map.h: Undo previous commit.
4485         * include/profile/unordered_set.h: Likewise.
4486         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
4487         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
4488         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
4489         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
4490         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
4491         cannot support incomplete types.
4492         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
4493         Likewise.
4495 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
4497         PR libstdc++/55043
4498         * include/std/unordered_map: Include alloc_traits.h
4499         * include/std/unordered_set: Likewise.
4500         * include/bits/alloc_traits.h: Define __is_copy_insertable.
4501         * include/bits/unordered_map.h: Use it.
4502         * include/bits/unordered_set.h: Likewise.
4503         * include/debug/unordered_map.h: Likewise.
4504         * include/debug/unordered_set.h: Likewise.
4505         * include/profile/unordered_map.h: Likewise.
4506         * include/profile/unordered_set.h: Likewise.
4507         * include/bits/hashtable.h: Fix comment typos.
4508         * testsuite/23_containers/unordered_map/55043.cc: New.
4509         * testsuite/23_containers/unordered_multimap/55043.cc: New.
4510         * testsuite/23_containers/unordered_multiset/55043.cc: New.
4511         * testsuite/23_containers/unordered_set/55043.cc: New.
4513 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
4515         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
4516         gdb command.
4518 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4520         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
4522 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4524         PR libstdc++/55908
4525         * include/std/functional (_Mem_fn::operator()): Fix constraints to
4526         avoid ambiguity.
4527         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
4528         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
4530 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4532         PR libstdc++/55594
4533         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
4534         Solaris targets.
4535         * configure: Regenerate.
4537 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
4539         PR libstdc++/55847
4540         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
4541         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
4542         string.
4544         PR libstdc++/55728
4545         * include/std/functional (bad_function_call::what()): Declare.
4546         * src/c++11/functional.cc (bad_function_call::what()): Define.
4547         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
4548         * testsuite/20_util/bad_function_call/what.cc: New.
4550 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4552         * include/bits/unordered_map.h: Fix typo in comments.
4553         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
4554         counts for unordered associative containers.
4556 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4558         * doc/xml/manual/abi.xml: Update library and symbol versions.
4560 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
4562         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
4563         in copyright years.
4564         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
4567 Copyright (C) 2013 Free Software Foundation, Inc.
4569 Copying and distribution of this file, with or without modification,
4570 are permitted in any medium without royalty provided the copyright
4571 notice and this notice are preserved.