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