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