2014-09-29 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob6560372986fc9753327c8453859a02a78edade5a
1 2014-09-29  François Dumont  <fdumont@gcc.gnu.org>
3         PR libstdc++/62313
4         * include/debug/safe_base.h
5         (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
6         (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
7         * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
8         before _Safe_iterator_base in memory. Lock before modifying the iterator
9         in numerous places.
10         * include/debug/safe_local_iterator.h
11         (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
12         declaration.
13         (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
14         Likewise.
15         * include/debug/safe_unordered_base.h (_Safe_local_iterator<>):  Move
16         normal iterator before _Safe_iterator_base in memory. Lock before
17         modifying the iterator in numerous places.
18         * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
19         * include/debug/safe_sequence.tcc
20         (_Safe_sequence<>::_M_transfer_from_if): Adapt.
22 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
24         DR 1339
25         * doc/xml/manual/status_cxx2011.xml: Update.
26         * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
27         an iterator.
28         (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
29         * include/bits/stl_vector.h (vector::_M_fill_initialize,
30         vector::_M_default_initialize): Use returned iterator.
31         * include/bits/vector.tcc (vector::_M_fill_assign,
32         vector::_M_fill_insert, vector::_M_default_append): Likewise.
33         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
34         16505.cc: Adjust return type.
35         * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
36         dr1339.cc: New.
38 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
40         * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
42 2014-09-25  Jonathan Wakely  <jwakely@redhat.com>
44         * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
45         * testsuite/27_io/basic_ios/conv/bool.cc: New.
46         * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
48         * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
50 2014-09-25  Tim Shen  <timshen@google.com>
52         PR libstdc++/63199
53         * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
54         basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
55         _M_loc for basic_regex.
56         * include/bits/regex_automaton.h: Add _M_traits for _NFA.
57         * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
58         Make _Compiler::_M_nfa heap allocated.
59         * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
60         _Compiler::_M_nfa heap allocated.
61         * include/bits/regex_executor.h (_Executor::_M_is_word):
62         Fix accessing _M_traits.
63         * include/bits/regex_executor.tcc (_Executor::_M_dfs):
64         Fix accessing _M_traits.
65         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
66         New testcase.
68 2014-09-24  Jonathan Wakely  <jwakely@redhat.com>
70         * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
71         new GLIBCXX_3.4.21 symbols don't match them.
73         PR libstdc++/56193
74         * config/abi/pre/gnu.ver: Add new exports.
75         * include/bits/basic_ios.h (basic_ios::operator bool): Define.
76         * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
78 2014-09-24  François Dumont  <fdumont@gcc.gnu.org>
80         PR libstdc++/29988
81         * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
82         (_Rb_tree_alloc_node<>): New.
83         (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
84         (_Rb_tree<>::_M_assign_unique): New.
85         (_Rb_tree<>::_M_assign_equal): New.
86         (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
87         * include/bits/stl_map.h
88         (std::map<>::operator=(std::map<>&&)): Default implementation.
89         (std::map<>::operator=(initializer_list<>)): Adapt to use
90         _Rb_tree::_M_assign_unique.
91         * include/bits/stl_multimap.h
92         (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
93         (std::multimap<>::operator=(initializer_list<>)): Adapt to use
94         _Rb_tree::_M_assign_equal.
95         * include/bits/stl_set.h
96         (std::set<>::operator=(std::set<>&&)): Default implementation.
97         (std::set<>::operator=(initializer_list<>)): Adapt to use
98         _Rb_tree::_M_assign_unique.
99         * include/bits/stl_multiset.h
100         (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
101         (std::multiset<>::operator=(initializer_list<>)): Adapt to use
102         _Rb_tree::_M_assign_equal.
103         * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
104         * testsuite/23_containers/map/allocator/init-list.cc: New.
105         * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
106         * testsuite/23_containers/multimap/allocator/copy_assign.cc
107         (test03): New.
108         * testsuite/23_containers/multimap/allocator/init-list.cc: New.
109         * testsuite/23_containers/multimap/allocator/move_assign.cc
110         (test03): New.
111         * testsuite/23_containers/multiset/allocator/copy_assign.cc
112         (test03): New.
113         * testsuite/23_containers/multiset/allocator/init-list.cc: New.
114         * testsuite/23_containers/multiset/allocator/move_assign.cc
115         (test03): New.
116         * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
117         * testsuite/23_containers/set/allocator/init-list.cc: New.
118         * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
120 2014-09-24  Jonathan Wakely  <jwakely@redhat.com>
122         PR libstdc++/63353
123         * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
125 2014-09-23  Jonathan Wakely  <jwakely@redhat.com>
127         * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
128         * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
129         to ostream constructor.
130         * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
131         parameter by reference, to avoid ambiguity.
132         * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
134 2014-09-22  Jason Merrill  <jason@redhat.com>
136         * testsuite/Makefile.am (%/site.exp): Add @.
137         (check-DEJAGNU): Likewise.
138         * testsuite/Makefile.in: Regenerate.
140 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
142         * include/bits/stl_queue.h: Include missing header.
143         * include/bits/stl_stack.h: Likewise.
144         * testsuite/23_containers/priority_queue/requirements/
145         uses_allocator.cc: New.
146         * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
147         * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
149 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
151         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
152         * doc/xml/manual/status_cxx2014.xml: Update TS status.
153         * doc/html/manual/status.html: Regenerate.
155 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
157         * include/std/mutex (try_lock): Do not swallow exceptions.
158         * testsuite/30_threads/try_lock/4.cc: Fix test.
160 2014-09-22  Jonathan Wakely  <jwakely@redhat.com>
162         PR libstdc++/54316
163         PR libstdc++/53626
164         * config/abi/pre/gnu.ver: Add new exports.
165         * config/io/basic_file_stdio.h (__basic_file): Support moving and
166         swapping.
167         * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
168         Likewise.
169         * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
170         Likewise.
171         * include/bits/fstream.tcc (basic_filebuf): Likewise.
172         * include/bits/move.h (__exchange): Define for C++11 mode.
173         * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
174         swapping.
175         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
176         * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
177         basic_fstream): Likewise.
178         * include/std/ios: Remove whitespace.
179         * include/std/istream (basic_istream, basic_iostream): Support moving
180         and swapping.
181         * include/std/ostream (basic_ostream): Likewise.
182         * include/std/sstream (basic_stringbuf, basic_istringstream,
183         basic_ostringstream, basic_stringstream): Likewise.
184         * include/std/streambuf (basic_streambuf): Do not default copy
185         constructor and assignment on first declaration.
186         * include/std/utility (exchange): Forward to __exchange.
187         * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
188         * src/c++11/Makefile.am: Add stream-related files.
189         * src/c++11/Makefile.in: Regenerate.
190         * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
191         New file for explicit instantiation definitions.
192         * src/c++11/ios.cc: Move from src/c++98 to here.
193         (ios_base::_M_move, ios_base::_M_swap): Define.
194         * src/c++11/ios-inst.cc: Move from src/c++98 to here.
195         * src/c++11/iostream-inst.cc: Likewise.
196         * src/c++11/istream-inst.cc: Likewise.
197         * src/c++11/ostream-inst.cc: Likewise.
198         * src/c++11/sstream-inst.cc: Likewise.
199         * src/c++11/streambuf-inst.cc: Likewise.
200         * src/c++98/Makefile.am: Remove stream-related files.
201         * src/c++98/Makefile.in: Regenerate.
202         * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
203         instantiations.
204         * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
205         * src/c++98/ios-inst.cc: Move to src/c++11/.
206         * src/c++98/ios.cc: Move to src/c++11/.
207         * src/c++98/iostream-inst.cc: Likewise.
208         * src/c++98/istream-inst.cc: Likewise.
209         * src/c++98/ostream-inst.cc: Likewise.
210         * src/c++98/sstream-inst.cc: Likewise.
211         * src/c++98/streambuf-inst.cc: Likewise.
212         * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
213         * testsuite/27_io/basic_fstream/cons/move.cc: New.
214         * testsuite/27_io/basic_fstream/assign/1.cc: New.
215         * testsuite/27_io/basic_ifstream/cons/move.cc: New.
216         * testsuite/27_io/basic_ifstream/assign/1.cc: New.
217         * testsuite/27_io/basic_istringstream/assign/1.cc: New.
218         * testsuite/27_io/basic_istringstream/cons/move.cc: New.
219         * testsuite/27_io/basic_ofstream/cons/move.cc: New.
220         * testsuite/27_io/basic_ofstream/assign/1.cc: New.
221         * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
222         * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
223         * testsuite/27_io/basic_stringstream/assign/1.cc: New.
224         * testsuite/27_io/basic_stringstream/cons/move.cc: New.
226 2014-09-17  Jason Merrill  <jason@redhat.com>
228         * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
229         dynamic_cast more gracefully.
231 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
233         * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
234         check_p_numbers2, check_p_numbers3, check_p_numbers4,
235         check_p_numbers5, check_p_numbers6, check_p_numbers,
236         check_p_subdirs): New variables.
237         (check_DEJAGNU_normal_targets): Use check_p_subdirs.
238         (check-DEJAGNU): Rewritten so that for parallelized
239         testing each job runs all the *.exp files, with
240         GCC_RUNTEST_PARALLELIZE_DIR set in environment.
241         * testsuite/Makefile.in: Regenerated.
242         * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
243         gcc_parallel_test_enable): New procedures.  If
244         GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
245         runtest_file_p to invoke also gcc_parallel_test_run_p.
246         * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
247         by the first parallel runtest encountering it.  Fix up path
248         of the extract_symvers script.
249         * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
250         serially by the first parallel runtest encountering it.  Run
251         dg-finish even in case of error.
253 2014-09-15  Jonathan Wakely  <jwakely@redhat.com>
255         * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
256         parameters to _Ch_traits.
258 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
260         * include/debug/deque (__gnu_debug::deque): Make base class C++11
261         allocator aware.
263 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
265         PR libstdc++/59603
266         * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
267         * testsuite/25_algorithms/random_shuffle/59603.cc: New.
269 2014-09-11  Jonathan Wakely  <jwakely@redhat.com>
271         PR libstdc++/63219
272         * include/bits/regex.h (match_results::format): Remove stray template
273         parameter.
274         * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
275         Remove parameter name to avoid -Wunused-parameter warning.
276         * include/bits/regex_executor.h (_State_info::_State_info): Reorder
277         mem-initializers to avoid -Wreorder warning.
278         * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
279         Remove parameter name to avoid -Wunused-parameter warning.
280         * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
281         to avoid -Wempty-body warning when not in debug mode.
283 2014-09-10  Siva Chandra Reddy  <sivachandra@google.com>
285         * python/hook.in: Load the xmethods.
286         * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
287         * python/Makefile.in: Regenerated.
288         * python/libstdcxx/v6/xmethods.py: New file.
289         * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
290         function.
291         (gdb-test): New optional argument LOAD_XMETHODS.  Load xmethods
292         python script if LOAD_XMETHODS is true.
293         * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
294         * testsuite/libstdc++-xmethods/vector.cc: New file.
295         * testsuite/libstdc++-xmethods/xmethods.exp: New file.
297 2014-09-10  Tony Wang  <tony.wang@arm.com>
299         PR target/56846
300         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
301         Return with CONTINUE_UNWINDING when the state pattern
302         contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
304 2014-09-09  Jonathan Wakely  <jwakely@redhat.com>
306         * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
307         allocator propagation.
308         (deque::emplace_front, deque::emplace_back): Use allocator traits.
309         (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
310         (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
311         * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
312         (_Deque_iterator): Handle allocators with custom pointers.
313         (_Deque_base): Likewise. Use allocator traits.
314         (deque): Likewise. Add allocator-extended constructors.
315         (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
316         assignment via tag dispatching.
317         (deque::_M_replace_map): Replace existing data.
318         * include/debug/deque (deque): Add allocator-extended constructors.
319         * include/profile/deque (deque): Likewise.
320         * testsuite/23_containers/deque/allocator/copy.cc: New.
321         * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
322         * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
323         * testsuite/23_containers/deque/allocator/minimal.cc: New.
324         * testsuite/23_containers/deque/allocator/move.cc: New.
325         * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
326         * testsuite/23_containers/deque/allocator/move_assign.cc: New.
327         * testsuite/23_containers/deque/allocator/noexcept.cc: New.
328         * testsuite/23_containers/deque/allocator/swap.cc: New.
329         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
330         Adjust dg-error line number.
331         * testsuite/23_containers/deque/requirements/dr438/
332         constructor_1_neg.cc: Likewise.
333         * testsuite/23_containers/deque/requirements/dr438/
334         constructor_2_neg.cc: Likewise.
335         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
336         Likewise.
337         * testsuite/23_containers/vector/52591.cc: Test both the propagating
338         and always-equal cases.
340 2014-09-06  François Dumont  <fdumont@gcc.gnu.org>
342         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
343         noexcept qualified.
344         (_Hash_code_base<>): All specialization default constructible if
345         possible.
346         (_Hashtable_base<>): Likewise.
347         * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
348         * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
349         implementation defaulted.
350         (unordered_multimap<>::unordered_multimap()): Likewise.
351         * include/bits/unordered_set.h
352         (unordered_set<>::unordered_set()): Likewise.
353         (unordered_multiset<>::unordered_multiset()): Likewise.
354         * include/debug/unordered_map: Likewise.
355         * include/debug/unordered_set: Likewise.
356         * testsuite/23_containers/unordered_map/allocator/noexcept.cc
357         (test04()): New.
358         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
359         (test04()): New.
360         * testsuite/23_containers/unordered_set/allocator/noexcept.cc
361         (test04()): New.
362         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
363         (test04()): New.
365 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
367         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
369 2014-08-29  Jonathan Wakely  <jwakely@redhat.com>
371         * include/std/complex (complex): Define copy constructor and
372         assignment operator as defaulted. Improve Doxygen comments.
374 2014-08-28  Jonathan Wakely  <jwakely@redhat.com>
376         * testsuite/ext/random/*: Fix incorrect standard references in
377         comments.
379 2014-08-27  Jonathan Wakely  <jwakely@redhat.com>
381         PR libstdc++/62159
382         * include/Makefile.am (install-freestanding-headers): Add missing
383         C++11 headers.
384         * include/Makefile.in: Regenerate.
386 2014-08-21  Tony Wang  <tony.wang@arm.com>
388         * testsuite/18_support/nested_exception/62154.cc: Disable when the
389         target doesn't provide atomic builtins.
391 2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
392             Kai Tietz  <ktietz@redhat.com>
394         * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
395         Define.
396         * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
397         Ditto.
398         * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
399         #include <windows.h>.
400         (struct elt): Add dll member.
401         (run): Decrement dll refcount.
402         (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
404 2014-08-15  Jonathan Wakely  <jwakely@redhat.com>
406         PR libstdc++/62154
407         * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
408         Rewrite to conform to C++11 requirements.
409         * testsuite/18_support/nested_exception/62154.cc: New.
411 2014-08-14  Matthias Klose  <doko@ubuntu.com>
413         * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
414         Remove empty directory.
416 2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
418         * testsuite/26_numerics/random/linear_congruential_engine/
419         requirements/non_uint_neg.cc: Adjust for parser change.
420         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
421         requirements/non_uint_neg.cc: Likewise.
423 2014-08-13  Jonathan Wakely  <jwakely@redhat.com>
425         PR libstdc++/61841
426         * include/std/thread (thread::_M_start_thread): Declare new overload.
427         (thread::thread<_Callable, _Args...>): Call new overload with an
428         explicit reference to pthread_create.
429         * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
430         * config/abi/pre/gnu.ver: Export new function.
432 2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>
434         * include/profile/impl/profiler_hash_func.h: Fix a comment typo
436 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
438         * Fix thinko in the last commit.
440 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
442         PR libstdc++/62118
443         * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
444         operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
446 2014-08-12  Jonathan Wakely  <jwakely@redhat.com>
448         * include/bits/basic_string.h (getline): Qualify call to prevent ADL
449         and add overloads for rvalue streams.
450         * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
451         New.
452         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
453         New.
455         * include/bits/basic_string.h (getline): Declare inline.
457 2014-08-09  Ulrich Drepper  <drepper@gmail.com>
459         * include/ext/random.tcc (uniform_on_sphere_helper): Define.
460         (uniform_on_sphere_distribution::operator()): Use the new helper
461         class for the implementation.
463         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
464         equal.cc: Remove bogus part of comment.
465         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
466         inequal.cc: Likewise.
467         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
468         serialize.cc: Add check to verify result of serialzation and
469         deserialization.
470         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
471         generate.cc: New file.
473 2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
475         * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
476         character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
478 2014-08-09  François Dumont  <fdumont@gcc.gnu.org>
480         PR libstdc++/61667
481         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
482         _M_need_rehash to initialize the rehash policy and check if a rehash is
483         needed.
484         * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
486 2014-08-07  Jonathan Wakely  <jwakely@redhat.com>
488         * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
489         Optimize.
490         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
491         Adjust dg-error line number.
492         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
493         Likewise.
494         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
495         Likewise.
496         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
497         Likewise.
499         * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
500         _M_do_set.
501         (_State_baseV2::_M_do_set): Change parameters to pointers.
502         (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
503         (_State_baseV2::__setter): Initialize _Setter with pointers.
504         (_State_baseV2::__setter(promise<void>*)): Remove overload.
505         (promise::set_value, promise::set_exception): Pass setter directly
506         to _M_set_result.
507         (_State_baseV2::_Task_setter): Add template parameter for callable
508         type and replace std::function member with pointer to that type.
509         Change _M_result member from reference to pointer.
510         (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
511         and initialize _Task_setter with pointers.
512         (__location_invariant): Specialize for _Setter and _Task_setter.
514         * include/std/future (__location_invariant): Move specializations
515         after preprocessor condition.
517 2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
519         PR c++/15339
520         * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
522 2014-08-01  Zifei Tong  <zifeitong@gmail.com>
524         * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
525         _GLIBCXX_ prefix to macro.
527 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
529         * python/libstdcxx/v6/printers.py
530         (SingleObjContainerPrinter._contained): Use compatibility mixin.
532 2014-07-29  François Dumont  <fdumont@gcc.gnu.org>
534         * testsuite/util/testsuite_allocator.h
535         (tracker_allocator_counter::allocate): Remove new invocation, only
536         collect information.
537         (tracker_allocator_counter::deallocate): Remove delete invocation, only
538         collect information.
539         (check_inconsistent_alloc_value_type): New.
540         (tracker_allocator): Transform as a facade for any allocator type.
541         (uneq_allocator): Likewise.
542         (propagating_allocator): Likewise.
543         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
544         explicitly non propagating allocator.
545         * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
546         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
547         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
548         * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
549         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
550         Likewise.
551         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
552         Likewise.
553         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
554         Likewise.
555         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
556         Likewise.
557         * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
559 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
561         PR libstdc++/61946
562         * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
563         const allocator_type&)): Pass non-const allocator to
564         _S_new_RopeFunction.
565         * testsuite/ext/rope/61946.cc: New.
567         PR libstdc++/61947
568         * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
569         disambiguate unary constructors.
570         (_Tuple_impl): Pass allocator_arg_t arguments.
571         * testsuite/20_util/tuple/61947.cc: New.
572         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
574 2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
576         PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
577         * include/bits/random.h (_Adaptor): static_assert for non floating-point
578         result type.
579         * include/bits/random.tcc (generate_canonical): Ditto.
580         * include/ext/random.tcc (hypergeometric_distribution::operator()):
581         Use double as a rng result type.
582         * testsuite/26_numerics/random/pr60037-neg.cc: New.
583         * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
585 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
587         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
589 2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
591         * include/experimental/string_view: Make the literal operators
592         constexpr like the ctors they call.
594 2014-07-23  H.J. Lu  <hongjiu.lu@intel.com>
596         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
598 2014-07-23  Jonathan Wakely  <jwakely@redhat.com>
600         * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
601         to string instead of using gdb.Type.name attribute.
603 2014-07-19  Jonathan Wakely  <jwakely@redhat.com>
605         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
606         AC_MSG_CHECKING.
608 2014-07-18  Jonathan Wakely  <jwakely@redhat.com>
610         PR libstdc++/61835
611         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
612         raw string.
613         (SingleObjContainerPrinter): Check if type printers are in use.
615 2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
617         * include/ext/random: Minor formatting and cosmetic tweaks.
618         (uniform_on_sphere_distribution<>::operator==
619         (const uniform_on_sphere_distribution&,
620         const uniform_on_sphere_distribution&)): Compare the _M_nds.
621         (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
622         (operator!=(const uniform_on_sphere_distribution&,
623         const uniform_on_sphere_distribution&)): Adjust.
624         * include/ext/random.tcc: Minor cosmetc tweaks.
626 2014-07-15  Jonathan Wakely  <jwakely@redhat.com>
628         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
629         printer for class templates.
630         (register_type_printers): Use TemplateTypePrinter for containers
631         and other class templates with default template arguments.
632         * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
634         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
635         base class for experimental::any and experimental::optional printers.
636         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
637         New printers for Fundamentals TS types.
638         * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
640 2014-07-15  Tim Shen  <timshen@google.com>
642         PR libstdc++/61720
643         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
644         Clear match queue for next use.
645         * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
647 2014-07-14  Ulrich Drepper  <drepper@gmail.com>
649         * include/ext/random.tcc: Unfortunately more fixes for
650         operator>> and operator<< for uniform_on_sphere_distribution.
652 2014-07-13  Ulrich Drepper  <drepper@gmail.com>
654         * include/ext/random.tcc: Fix operator>> and operator<< for
655         uniform_on_sphere_distribution.
657 2014-07-12  Ulrich Drepper  <drepper@gmail.com>
659         * include/ext/random: Add uniform_on_sphere_distribution definition.
660         * include/ext/random.tcc: Add out-of-band member function definitions
661         for uniform_on_sphere_distribution.
662         * testsuite/ext/random/uniform_on_sphere_distribution/
663         cons/default.cc: New file.
664         * testsuite/ext/random/uniform_on_sphere_distribution/
665         operators/equal.cc: New file.
666         * testsuite/ext/random/uniform_on_sphere_distribution/
667         operators/inequal.cc: New file.
668         * testsuite/ext/random/uniform_on_sphere_distribution/
669         operators/serialize.cc: New file.
671 2014-07-11  Edward Smith-Rowland  <3dw4rd@verizon.net>
673         Add the logistic_distribution as an extension.
674         * include/ext/random: Add the logistic_distribution.
675         * include/ext/random.tcc: Add the logistic_distribution.
676         * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
677         * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
678         * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
679         New.
680         * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
681         * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
682         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
683         New.
685 2014-07-11  Samuel Bronson  <naesten@gmail.com>
687         * testsuite/lib/libstdc++.exp  (libstdc++_init): Set $GCC_COLORS=""
688         instead of insisting that GCC understand -fdiagnostics-color=never
690         * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
691         list loaded libs.
693 2014-07-11  Samuel Bronson  <naesten@gmail.com>
694             Matthias Klose  <doko@ubuntu.com>
696         PR libstdc++/58962
697         * python/libstdcxx/v6/printers.py: Port to Python 2+3
698         (imap): New compat function.
699         (izip): Likewise.
700         (Iterator): New mixin to allow writing iterators in Python 3 style
701         regardless of which version we're running on.
702         [Python3] (long) New compat alias for "int".
703         * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
705 2014-07-10  Jonathan Wakely  <jwakely@redhat.com>
707         * include/experimental/any (any::_Manager_alloc::_Data): Reorder
708         tuple members to simplify pretty printing.
709         (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
710         construction.
711         * testsuite/experimental/any/cons/4.cc: New.
713 2014-07-09  Jason Merrill  <jason@redhat.com>
715         PR libstdc++/61728
716         * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
717         * libsupc++/tinfo.h: Not here.
719 2014-07-08  Jonathan Wakely  <jwakely@redhat.com>
721         * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
722         missing return.
723         * include/experimental/any: Remove unused header.
724         * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
725         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
726         * testsuite/util/testsuite_regex.h: Move include guard.
728 2014-07-01  Tim Shen  <timshen@google.com>
730         PR libstdc++/61601
731         PR libstdc++/61582
732         * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
733         a NFA state limit. If it's exceeded, regex_constants::error_space
734         will be throwed.
735         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
736         map (which is sparse) instead of vector. This reduce n times clones'
737         cost from O(n^2) to O(n).
738         * include/std/regex: Add map dependency.
739         * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
740         testcase.
742 2014-07-01  Tim Shen  <timshen@google.com>
744         PR libstdc++/61424
745         * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
746         not just regex containing back-references.
747         * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
748         exchange _M_next and _M_alt for alternative operator,
749         making matching from left to right.
750         * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
751         Add position tracking fom DFS.
752         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
753         _Executor<>::_M_dfs): Likewise.
754         * include/bits/regex_scanner.h: Remove unused enum entry.
755         * testsuite/28_regex/algorithms/regex_search/61424.cc: New
756         testcase from PR.
758 2014-06-30  Jason Merrill  <jason@redhat.com>
760         * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
761         is pure, not inline.
763 2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
765         Revert:
766         2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
767                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
769         PR libstdc++/61536
770         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
772         2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
774         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
776 2014-06-26  Jonathan Wakely  <jwakely@redhat.com>
778         * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
779         parameter type.
781 2014-06-25  Jonathan Wakely  <jwakely@redhat.com>
783         * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
784         * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
785         * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
786         Likewise.
787         * include/ext/alloc_traits.h: Fix comment.
789         * include/Makefile.am: Add new header.
790         * include/Makefile.in: Regenerate.
791         * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
792         New RAII utilities for working with allocators.
793         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
794         __allocator_type typedef and use new __allocated_ptr type.
795         (_Sp_counted_ptr_inplace): Likewise.
796         (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
797         __allocate_guarded to to simplify exception handling.
798         * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
799         * include/std/future (_Result_alloc::_M_destroy): Likewise.
800         (_Result_alloc::_S_allocate_result): Likewise.
801         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
802         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
803         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
804         * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
805         with fancy pointer.
806         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
808         * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
809         allocator.
810         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
811         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
813 2014-06-24  Jonathan Wakely  <jwakely@redhat.com>
815         * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
816         attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
817         * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
818         Remove unused typedef.
819         (time_get::do_get_monthname): Likewise.
820         * include/bits/stl_tree.h: Add system_header pragma.
821         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
822         redundant const-qualifier.
823         * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
824         instead of _GLIBCXX_USE_CONSTEXPR.
826 2014-06-23  Jonathan Wakely  <jwakely@redhat.com>
828         * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
829         * include/std/chrono (_Checked_integral_constant): Allow zero.
830         * testsuite/20_util/duration/literals/values.cc: Test non-positive
831         values and digit separators.
832         * include/experimental/any
834         PR libstdc++/61532
835         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
836         apply the signed specifier to wchar_t.
837         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
838         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
839         cv-qualifier and size.
840         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
841         Likewise.
843         * include/experimental/any (any_v1): Rename namespace to
844         fundamentals_v1. Change string returned by bad_any_cast::what().
845         * include/experimental/optional (fundamentals_v1): Add namespace.
846         * include/experimental/string_view (fundamentals_v1): Likewise.
847         * testsuite/experimental/any/typedefs.cc: New.
848         * testsuite/experimental/optional/typedefs.cc: New.
849         * testsuite/experimental/string_view/typedefs.cc: New.
851 2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
852             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
854         PR libstdc++/61536
855         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
857 2014-06-14  Jonathan Wakely  <jwakely@redhat.com>
859         * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
860         * include/Makefile.am: Add new header.
861         * include/Makefile.in: Regenerate.
862         * include/experimental/any: New.
863         * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
864         constructor.
865         * testsuite/experimental/any/assign/1.cc: New.
866         * testsuite/experimental/any/assign/2.cc: New.
867         * testsuite/experimental/any/cons/1.cc: New.
868         * testsuite/experimental/any/cons/2.cc: New.
869         * testsuite/experimental/any/cons/3.cc: New.
870         * testsuite/experimental/any/misc/any_cast.cc: New.
871         * testsuite/experimental/any/misc/any_cast_neg.cc: New.
872         * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
873         * testsuite/experimental/any/misc/swap.cc: New.
874         * testsuite/experimental/any/modifiers/1.cc: New.
875         * testsuite/experimental/any/observers/type.cc: New.
877         * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
878         * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
879         warnings.
880         * include/bits/shared_ptr.h (shared_ptr): Likewise.
881         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
882         Likewise.
883         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
884         Likewise.
885         * include/parallel/list_partition.h (__parallel::list_partition):
886         Likewise.
887         * include/std/iomanip (quoted): Likewise.
888         * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
890         * doc/xml/api.xml: Link to more recent API docs.
891         * include/bits/allocator.h: Fix link in doxygen comment.
892         * include/bits/char_traits.h: Likewise.
893         * include/bits/ios_base.h: Likewise.
894         * include/bits/stl_map.h: Likewise.
895         * include/bits/stl_multimap.h: Likewise.
896         * include/bits/stl_multiset.h: Likewise.
897         * include/bits/stl_set.h: Likewise.
898         * include/bits/unordered_map.h: Likewise.
899         * include/bits/unordered_set.h: Likewise.
900         * include/ext/mt_allocator.h: Likewise.
901         * include/std/fstream: Likewise.
902         * include/std/iosfwd: Likewise.
903         * include/std/ostream: Likewise.
904         * include/std/sstream: Likewise.
905         * include/std/streambuf: Likewise.
906         * doc/html/*: Regenerate.
908         * include/experimental/any (any_cast): Combine duplicate doxygen
909         comments.
910         * include/experimental/string_view (basic_string_view): Update
911         doxygen comment.
912         * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
913         * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
914         (dynamic_bitset): Improve Doxygen comments.
915         * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
916         comment.
918 2014-06-11  Maciej W. Rozycki  <macro@codesourcery.com>
920         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
921         (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
923 2014-06-10  Jonathan Wakely  <jwakely@redhat.com>
925         PR libstdc++/61390
926         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
927         (bin_search_tree_traits): Do not redeclare template-parameters.
928         * testsuite/util/testsuite_iterators.h (test_container): Likewise.
930 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
932         * doc/Makefile.am: Add missing file. Use generate.consistent.ids
933         parameter for DocBook HTML generation.
934         * doc/Makefile.in: Regenerate.
935         * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
936         * doc/xml/faq.xml: Update content and improve formatting.
937         * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
938         * doc/xml/manual/allocator.xml: Add stable ID attribute.
939         * doc/xml/manual/bitmap_allocator.xml: Likewise.
940         * doc/xml/manual/build_hacking.xml: Likewise.
941         * doc/xml/manual/codecvt.xml: Change URL.
942         * doc/xml/manual/ctype.xml: Add stable ID attribute.
943         * doc/xml/manual/debug_mode.xml: Likewise.
944         * doc/xml/manual/documentation_hacking.xml: Likewise.
945         * doc/xml/manual/evolution.xml: Likewise.
946         * doc/xml/manual/extensions.xml: Likewise.
947         * doc/xml/manual/locale.xml: Likewise.
948         * doc/xml/manual/messages.xml: Make section id consistent, improve
949         markup, change URL.
950         * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
951         * doc/xml/manual/profile_mode.xml: Likewise.
952         * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
953         * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
954         * doc/xml/manual/status_cxx2011.xml: Likewise.
955         * doc/xml/manual/status_cxx2014.xml: Likewise.
956         * doc/xml/manual/status_cxxtr1.xml: Likewise.
957         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
958         * doc/xml/manual/using.xml: Likewise.
959         * doc/html/*: Regenerate.
961 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
963         * include/tr1/beta_function.tcc: Fix spelling of include guard in
964         comment.
966 2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
968         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
970 2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>
972         DR 2344 - std::quoted doesn't respect padding
973         * include/std/iomanip: Allow for padding in quoted inserters.
974         * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
975         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
977 2014-06-06  François Dumont  <fdumont@gcc.gnu.org>
979         * testsuite/23_containers/map/operators/1.cc: Simplify test.
981 2014-06-06  Jonathan Wakely  <jwakely@redhat.com>
983         * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
984         code example.
985         * doc/xml/manual/backwards_compatibility.xml
986         (backwards.second.stringstreams): Likewise.
987         * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
988         change of default.
989         * doc/xml/manual/containers.xml (associative.bitset.type_string):
990         Replace <quote> in code example.
991         * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
992         * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
993         fix typos, improve markup.
994         * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
995         <emphasis> with <replaceable>.
996         * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
997         * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
998         and remove newlines in string literal.
1000 2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1002         DR 1423
1003         PR c++/52174
1004         * testsuite/20_util/is_assignable/value.cc: Update.
1006 2014-06-02  Jonathan Wakely  <jwakely@redhat.com>
1008         * include/std/condition_variable (condition_variable_any::_Unlock): Do
1009         not swallow __forced_unwind.
1010         * include/std/future (__future_base::_Task_setter): Likewise.
1011         (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1012         promise and rethrow.
1013         * include/std/mutex (try_lock): Likewise.
1014         * testsuite/30_threads/async/forced_unwind.cc: New.
1015         * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1017         * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1018         members to avoid wasted space when not using a cache.
1019         (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1020         * include/bits/regex_compiler.tcc
1021         (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1022         search on set.
1023         * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1024         New enumeration type to indicate match mode.
1025         (__detail::_Executor::_State_info): New type holding members only
1026         needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1027         unique_ptr<bool[]>.
1028         (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1029         Replace template parameter with run-time function parameter.
1030         (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1031         (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1032         implement DFS and BFS mode.
1033         * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1034         Split implementation into ...
1035         (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1036         (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1037         (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1038         argument instead of template argument.
1039         (__detail::_Executor::_M_dfs): Likewise.
1040         * include/bits/regex_scanner.tcc: Fix typos in comments.
1041         * testsuite/performance/28_regex/range.cc: New.
1043 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
1044             Jonathan Wakely  <jwakely@redhat.com>
1046         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1047         helper struct.
1048         (aligned_union): New struct (C++11).
1049         (aligned_union_t): New type alias (C++14).
1050         * doc/xml/manual/status_cxx2011.xml: Update.
1051         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1052         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1053         line number.
1055 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
1057         PR libstdc++/61374
1058         * include/experimental/string_view (operator basic_string): Correct
1059         order of arguments.
1060         (to_string): Replace with member function.
1061         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1062         allow _M_str to be null.
1063         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1064         default constructor semantics.
1065         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1066         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1067         copyright dates. Remove unused header.
1068         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1069         Likewise.
1070         * testsuite/experimental/string_view/operations/data/char/1.cc:
1071         Fix copyright dates. Adjust to new default constructor semantics.
1072         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1073         Likewise.
1074         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1076         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1077         (__uses_allocator_arg): Remove unused type.
1078         (__uses_alloc0): Turn into a trivial type.
1079         (__uses_alloc): Add missing template parameter in primary template.
1080         (__uses_alloc_impl): Rename to __uses_alloc_t.
1082 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
1084         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1085         work with previous versions of Tcl.
1087         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1088         Benjamin's old email address.
1090         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1091         Paolo's address too.
1093 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
1095         * include/tr2/bool_set: Use UTF-8 for accented characters.
1096         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1097         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1098         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1100 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
1102         PR libstdc++/61329
1103         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1104         inline specifier.
1105         (_State_base::_M_dot): Likewise.
1107 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
1109         * include/profile/map.h: Fix typo in comment; minor formatting fix.
1110         * include/profile/multimap.h: Likewise.
1111         * include/profile/set.h: Likewise.
1112         * include/profile/multiset.h: Likewise.
1114 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
1116         * include/profile/array: Clean useless white chars.
1117         * include/profile/base.h: Likewise.
1118         * include/profile/iterator_tracker.h: Likewise.
1119         * include/profile/bitset: Code cleanup and remove not instrumented code.
1120         * include/profile/deque: Likewise.
1121         * include/profile/forward_list: Likewise.
1122         * include/profile/list (std::__profile::_List_profile<>): New.
1123         (std::__profile::list<>): Inherit from latter and adapt.
1124         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1125         advise to match any ordered to unordered container conversion.
1126         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1127         New.
1128         * include/Makefile.am: Add latter.
1129         * include/Makefile.in: Regenerate.
1130         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1131         remove not instrumented code.
1132         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1133         * include/profile/set.h (std::__profile::set<>): Likewise.
1134         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1135         * include/profile/unordered_base.h: Add some line feed.
1136         * include/profile/unordered_map: Clean useless white chars and replace
1137         spaces with tabs.
1138         * include/profile/unordered_set: Likewise.
1139         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1140         (std::__profile::_Vector_profile_post<>): New.
1141         (std::__profile::vector<>): Inherit from latter and adapt.
1143 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
1145         PR libstdc++/60793
1146         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1147         dragonfly target selector to all tests that run on freebsd.
1149         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1150         dragonfly.
1151         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1152         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1154         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1155         selector.
1156         * testsuite/30_threads/call_once/60497.cc: Likewise.
1157         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1158         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1159         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1160         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1161         * testsuite/30_threads/promise/60966.cc: Likewise.
1162         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1163         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1164         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1165         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1166         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1167         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1168         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1169         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1170         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1171         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1172         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1173         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1174         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1175         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1176         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1177         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1178         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1180 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
1182         PR libstdc++/61143
1183         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1184         usable state.
1185         * testsuite/23_containers/unordered_set/61143.cc: New.
1186         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1188 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
1190         PR libstdc++/61269
1191         * include/std/type_traits: Move include outside namespace std.
1192         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1193         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1194         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1195         Likewise.
1197         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1198         Fix warning.
1200 2014-05-21  John Marino  <gnugcc@marino.st>
1202         * acinclude.m4 (*-*-dragonfly*): New target.
1203         * configure: Regenerate.
1204         * configure.host (*-*-dragonfly*): New target.
1205         * config/locale/dragonfly/c_locale.cc: New.
1206         * config/locale/dragonfly/ctype_members.cc: New.
1207         * config/os/bsd/dragonfly/ctype_base.h: New.
1208         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1209         * config/os/bsd/dragonfly/ctype_inline.h: New.
1210         * config/os/bsd/dragonfly/os_defines.h: New.
1212 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
1214         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1215         libstdc++.exp imports those flags via getenv.
1216         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1217         CXXFLAGS contains a '-O' flag.
1219 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1221         PR libstdc++/61223
1222         Revert:
1223         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1225         PR libstdc++/60758
1226         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1227         and add unwind directives.
1229 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1231         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1233 2014-05-20  Tim Shen  <timshen91@gmail.com>
1235         PR libstdc++/61227
1236         * include/bits/regex_compiler.h
1237         (_BracketMatcher<>::_M_add_character_class): Add negative character
1238         class support.
1239         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1240         Likewise.
1241         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1242         Add more testcases.
1244 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
1246         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1248 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
1250         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1251         * libsupc++/new_opnt.cc: Likewise.
1253 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
1255         PR libstdc++/60966
1256         * include/std/future (__future_base::_State_baseV2::_M_set_result):
1257         Pass lock into _M_do_set and hold it until the function returns.
1258         Signal condition variable after call_once completes.
1259         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1260         signal here.
1261         * testsuite/30_threads/promise/60966.cc: New.
1263 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
1264             Sandra Loosemore  <sandra@codesourcery.com>
1266         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1267         until after checking that the test is eligible to be run.
1269 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1271         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1272         test for 32-bit target.
1273         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1274         Likewise.
1275         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1276         Fix test.
1278 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1280         PR libstdc++/60758
1281         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1282         and add unwind directives.
1284 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1286         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1287         overflow.
1288         * include/std/chrono (chrono_literals::__select_type::_Select_type):
1289         Remove.
1290         (chrono_literals::_Checked_integral_constant): Define.
1291         Simplify UDL operator templates and check for overflow.
1292         * testsuite/20_util/duration/literals/range.cc: New.
1294 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
1295             Jonathan Wakely  <jwakely@redhat.com>
1297         PR libstdc++/61166
1298         * include/bits/parse_numbers.h: Use integral_constant to remove
1299         duplication and simplify.
1300         * testsuite/20_util/duration/literals/61166.cc: New.
1302 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1304         PR libstdc++/60326
1305         * include/std/type_traits (__make_unsigned, __make_signed): Define
1306         specializations for wchar_t, char16_t and char32_t.
1307         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1308         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1309         test for make_unsigned<volatile wchar_t>.
1310         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1311         Likewise.
1312         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1313         line number.
1314         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1315         Likewise.
1316         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1317         Likewise.
1319 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1321         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1322         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1323         * include/std/utility (tuple_size, tuple_element): Likewise.
1324         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1325         Adjust dg-error line number.
1327 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
1329         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1330         (__tuple_element_t): Define.
1331         (tuple_element): Use __tuple_element_t.
1332         (__cv_tuple_size): Define.
1333         (tuple_size<cv _Tp>): Use __cv_tuple_size.
1334         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1335         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1336         (__tuple_compare): Remove size check, re-order parameters.
1337         (operator==, operator<): Use static_assert to check requirements.
1338         * include/std/functional (__volget): use __tuple_element_t.
1339         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1340         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1342 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
1344         PR libstdc++/60497
1345         * include/std/tuple (get, __tuple_compare): Qualify more calls to
1346         prevent ADL. Cast comparison results to bool.
1347         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1348         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1350         PR libstdc++/60497
1351         * include/debug/array (get): Qualify call to other get overload.
1352         * include/profile/array (get): Likewise.
1353         * include/std/array (get): Likewise.
1354         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1355         * include/std/mutex (unique_lock, call_once): Use __addressof.
1356         (__unlock_impl): Remove unused template.
1357         (__try_to_lock): Declare inline.
1358         (__try_lock_impl::__do_try_lock): Qualify function calls.
1359         (lock): Avoid narrowing conversion.
1360         * testsuite/20_util/bind/60497.cc: New.
1361         * testsuite/23_containers/array/element_access/60497.cc: New.
1362         * testsuite/30_threads/call_once/60497.cc: New.
1363         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1365 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
1367         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1368         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1369         * acinclude.m4 (libtool_VERSION): Bump.
1370         * configure: Regenerate.
1371         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1372         * testsuite/28_regex/regex_error/base.cc: New.
1374 2014-05-08  Joshua Gay  <jgay@gnu.org>
1376         PR libstdc++/61117
1377         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1378         source" with "free software".
1379         * doc/html/faq.html: Likewise.
1381 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
1383         PR libstdc++/57394
1384         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1385         deleted for C++11.
1386         (operator=(const ios_base&)): Likewise.
1387         * include/std/streambuf: Remove trailing whitespace.
1388         (basic_streambuf(const basic_streambuf&)): Fix initializer for
1389         _M_out_end. Define as defaulted for C++11.
1390         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1391         (swap(basic_streambuf&)): Define for C++11.
1392         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1394         PR libstdc++/13860
1395         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1397         * include/std/iostream: Fix URL in comment.
1398         * src/c++98/ios_init.cc: Fix path in comment.
1400 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
1402         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1403         * configure: Regenerate.
1405 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
1407         PR libstdc++/61023
1408         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1409         comparison function.
1410         * testsuite/23_containers/set/cons/61023.cc: New.
1412         PR libstdc++/61086
1413         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1414         Remove.
1415         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1416         arithmetic to obtain a mutable iterator from const_iterator.
1417         * include/bits/vector.tcc (vector::insert): Likewise.
1418         * include/debug/vector (vector::erase): Likewise.
1419         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1420         Adjust dg-error line number.
1421         * testsuite/23_containers/vector/requirements/dr438/
1422         constructor_1_neg.cc: Likewise.
1423         * testsuite/23_containers/vector/requirements/dr438/
1424         constructor_2_neg.cc: Likewise.
1425         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1426         Likewise.
1428 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
1430         * include/Makefile.in: Regenerate.
1432 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
1434         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1435         parameter to pass the 2 instances to check allocator equality.
1436         * include/debug/safe_container.h: New, define _Safe_container<>.
1437         * include/Makefile.am: Add previous.
1438         * include/debug/deque (std::__debug::deque<>): Inherit
1439         _Safe_container<>. Use default implementation for all special
1440         functions.
1441         * include/debug/forward_list (std::__debug::forward_list<>):
1442         Likewise.
1443         * include/debug/list (std::__debug::list<>): Likewise.
1444         * include/debug/map.h (std::__debug::map<>): Likewise.
1445         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1446         * include/debug/set.h (std::__debug::set<>): Likewise.
1447         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1448         * include/debug/string (std::__debug::basic_string<>): Likewise.
1449         * include/debug/unordered_map
1450         (std::__debug::unordered_map<>): Likewise.
1451         (std::__debug::unordered_multimap<>): Likewise.
1452         * include/debug/unordered_set
1453         (std::__debug::unordered_set<>): Likewise.
1454         (std::__debug::unordered_multiset<>): Likewise.
1455         * include/debug/vector (std::__debug::vector<>): Likewise.
1456         * include/debug/safe_base.h (_Safe_sequence_base()): Add
1457         noexcept.
1458         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1459         (~_Safe_sequence_base()): Add noexcept.
1460         * include/debug/safe_sequence.h
1461         (std::__debug::_Safe_node_sequence<>): New.
1462         * include/debug/safe_unordered_base.h
1463         (_Safe_unordered_container_base()): Add noexcept.
1464         (~_Safe_unordered_container_base()): Likewise.
1465         (_M_swap(_Safe_unordered_container_base&)): Likewise.
1466         * include/debug/safe_unordered_container.h:
1467         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1468         (_Safe_unordered_container<>::_M_invalidate_all()): New.
1469         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1470         qualifications.
1471         * testsuite/util/debug/checks.h (check_construct1): Just implement
1472         an invalid constructor invocation  and no other operations
1473         potentially not supported by some types of container.
1474         (check_construct2): Likewise.
1475         (check_construct3): Likewise.
1476         * testsuite/23_containers/forward_list/allocator/move.cc: Add
1477         check on iterators to make sure they are correctly moved in debug
1478         mode.
1479         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1480         Likewise.
1481         * testsuite/23_containers/map/allocator/move.cc: Likewise.
1482         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1483         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1484         * testsuite/23_containers/multimap/allocator/move_assign.cc:
1485         Likewise.
1486         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1487         * testsuite/23_containers/multiset/allocator/move_assign.cc:
1488         Likewise.
1489         * testsuite/23_containers/set/allocator/move.cc: Likewise.
1490         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1491         * testsuite/23_containers/unordered_map/allocator/move.cc:
1492         Likewise.
1493         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1494         Likewise.
1495         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1496         Likewise.
1497         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1498         Likewise.
1499         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1500         Likewise.
1501         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1502         Likewise.
1503         * testsuite/23_containers/unordered_set/allocator/move.cc:
1504         Likewise.
1505         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1506         Likewise.
1507         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1508         New.
1509         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1510         New.
1511         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1512         New.
1513         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1514         New.
1515         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1516         New.
1517         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1518         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1519         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1520         * testsuite/23_containers/map/debug/move_neg.cc: New.
1521         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1522         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1523         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1524         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1525         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1526         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1527         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1528         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1529         * testsuite/23_containers/set/debug/move_neg.cc: New.
1530         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1531         New.
1532         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1533         New.
1534         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1535         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1536         New.
1537         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1538         New.
1539         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1540         New.
1541         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1542         New.
1543         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1544         New.
1545         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1546         New.
1547         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1548         New.
1549         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1550         New.
1551         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1552         * testsuite/23_containers/vector/debug/move_neg.cc: New.
1554 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
1556         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1557         (CXXABI_1.3.9): Remove __float128 symbols.
1559 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
1561         PR libstdc++/59476
1562         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1563         function to handle both C++03 and C++11 _Rb_tree_node implementations.
1564         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1565         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1566         refer to...
1567         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1569         PR libstdc++/61036
1570         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1571         Check the correct type in the static assertion.
1572         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1574 2014-04-27  Tim Shen  <timshen91@gmail.com>
1576         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1577         Add _S_opcode_repeat support to distingush a loop from
1578         _S_opcode_alternative.
1579         * include/bits/regex_automaton.tcc (_State_base::_M_print,
1580         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1581         _StateSeq<>::_M_clone): Likewise.
1582         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1583         Likewise.
1584         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1585         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1586         Uglify local variable __i.
1587         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1588         Use size_t instead of int to compare with vector::size().
1590 2014-04-27  Tim Shen  <timshen91@gmail.com>
1592         * include/bits/regex_executor.h: Add _M_rep_count to track how
1593         many times this repeat node are visited.
1594         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1595         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1596         infinite loop.
1598 2014-04-27  Tim Shen  <timshen91@gmail.com>
1600         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1601         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1602         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1603         * include/bits/regex_automaton.h: Remove quantifier counting variable.
1604         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1605         Adjust debug NFA dump.
1607 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
1609         PR libstdc++/60710
1610         * include/experimental/optional (operator!=): Implement in terms of
1611         operator==.
1612         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1613         * testsuite/experimental/optional/relops/2.cc: Likewise.
1614         * testsuite/experimental/optional/relops/3.cc: Likewise.
1615         * testsuite/experimental/optional/relops/4.cc: Likewise.
1616         * testsuite/experimental/optional/relops/5.cc: Likewise.
1617         * testsuite/experimental/optional/relops/6.cc: Likewise.
1619 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
1621         PR libstdc++/60958
1622         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1623         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1624         comment.
1626 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
1628         * testsuite/util/testsuite_abi.cc (check_version): Update for
1629         CXXABI_1.3.9.
1631 2014-04-24  Tim Shen  <timshen91@gmail.com>
1633         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1634         Do _M_alt before _M_next.
1635         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1637 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
1639         PR libstdc++/43622
1640         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1641         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1642         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1644 2014-04-24  Andreas Schwab  <schwab@suse.de>
1646         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1647         new CXXABI_1.3.9 symbols.
1649 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
1651         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1652         (CXXABI_1.3.9): New version.
1654 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
1656         PR libstdc++/43622
1657         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1658         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1659         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1661 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1663         * configure.host: Remove solaris2.9 handling.
1664         Change os_include_dir to os/solaris/solaris2.10.
1665         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1666         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1667         * configure: Regenerate.
1668         * config/abi/post/solaris2.9: Remove.
1669         * config/os/solaris/solaris2.9: Rename to ...
1670         * config/os/solaris/solaris2.10: ... this.
1671         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1672         Remove.
1674         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1675         Remove Solaris 9 reference.
1676         * doc/html/manual/configure.html: Regenerate.
1678         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1679         Remove *-*-solaris2.9 xfail.
1680         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1681         Likewise.
1683         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1684         xfail.
1686 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
1688         * include/std/functional (__is_location_invariant): Use __or_ helper.
1690 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
1692         PR libstdc++/60734
1693         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1695         PR libstdc++/60695
1696         * include/std/atomic (atomic<_Tp>): Add static assertion.
1697         * testsuite/29_atomics/atomic/60695.cc: New.
1699         PR libstdc++/60594
1700         * include/std/functional (function::_Callable): Exclude own type
1701         from the callable checks.
1702         * testsuite/20_util/function/60594.cc: New.
1704         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1705         const to constexpr member functions.
1707         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1708         delegating constructor.
1709         * include/bits/shared_ptr_base.h
1710         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1712         * include/std/atomic: Uglify parameter names.
1714         PR c++/60786
1715         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1716         1.cc: Fix invalid explicit instantiations with unqualified names.
1717         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1718         2.cc: Likweise.
1719         * testsuite/20_util/tuple/53648.cc: Likweise.
1720         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1721         Likewise.
1722         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1723         Likewise.
1724         * testsuite/23_containers/unordered_map/requirements/
1725         debug_container.cc: Likewise.
1726         * testsuite/23_containers/unordered_map/requirements/
1727         explicit_instantiation/3.cc: Likewise.
1728         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1729         Likewise.
1730         * testsuite/23_containers/unordered_multimap/requirements/
1731         explicit_instantiation/3.cc: Likewise.
1732         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1733         Likewise.
1734         * testsuite/23_containers/unordered_multiset/requirements/
1735         explicit_instantiation/3.cc: Likewise.
1736         * testsuite/23_containers/unordered_set/requirements/
1737         debug_container.cc: Likewise.
1738         * testsuite/23_containers/unordered_set/requirements/
1739         explicit_instantiation/3.cc: Likewise.
1741         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1742         not use uninitialized members in mem-initializers.
1743         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1744         * testsuite/util/testsuite_common_types.h: Update comment.
1746         * include/experimental/string_view: Fix inconsistent exception specs.
1748         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1749         Remove name of unused parameter.
1751 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
1753         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1754         _Vector_base::_M_allocate): NullablePointer requirements do not
1755         include initialization from literal zero, use value-initialization.
1756         * include/bits/vector.tcc (vector::_M_insert_aux,
1757         vector::_M_explace_back_aux): Likewise for assignment.
1759         * include/bits/allocator.h (operator==, operator!=): Add exception
1760         specifications.
1762         PR libstdc++/60497
1763         * include/std/tuple (get): Qualify calls to prevent ADL.
1764         * testsuite/20_util/tuple/60497.cc: New.
1766         * include/std/tuple (tuple_element_t): Define.
1767         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1768         test.
1769         * testsuite/20_util/tuple/tuple_element_t.cc: New.
1771 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1773         PR libstdc++/59434
1774         * include/bits/stl_iterator.h (move_iterator::reference,
1775         move_iterator::operator*): Implement LWG 2106.
1776         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1778 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1780         * include/std/complex (__complex_exp, pow): Specify the template
1781         parameter in calls to std::polar, for expression templates.
1783 2014-04-10  Andreas Schwab  <schwab@suse.de>
1785         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1786         symbols.
1787         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1788         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1790         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1792 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
1794         * testsuite/20_util/exchange/1.cc: Add missing return statements.
1795         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1796         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1797         specifications.
1799 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
1800             Jack Howarth <howarth@bromo.med.uc.edu>
1802         PR target/54407
1803         * testsuite/30_threads/condition_variable/54185.cc: Skip for
1804         darwin < 11.
1806 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
1808         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1809         Update link.
1810         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1811         Fix broken links.
1812         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1813         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1814         * doc/xml/manual/concurrency_extensions.xml
1815         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1816         * doc/html/*: Regenerate.
1818 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
1819             Jonathan Wakely  <jwakely@redhat.com>
1821         PR libstdc++/60270
1822         * include/std/iomanip (_Quoted_string operator>>): Do not clear
1823         string if input is not quoted.
1824         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1826 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
1828         * libsupc++/eh_ptr.cc: Improve static_assert messages.
1830 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1832         * testsuite/18_support/exception_ptr/60612-terminate.cc
1833         (terminate, f): Wrap in _GLIBCXX_USE_C99.
1834         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1836 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1838         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1840         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1841         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1842         Likewise.
1843         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1844         Likewise.
1845         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1847         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1848         Fix bad s/part/chapter/ substitutions.
1849         * doc/xml/manual/io.xml (std.io): Likewise.
1850         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1851         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1853         * doc/html/*: Regenerate.
1855 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1857         PR libstdc++/60612
1858         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1859         compatible with __cxa_exception.
1860         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1861         Fix typos in comments.
1862         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1863         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1865 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
1867         PR libstdc++/60658
1868         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1869         Use sizeof pointer type not the element type.
1870         * testsuite/29_atomics/atomic/60658.cc: New.
1872 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
1874         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1875         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1876         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1877         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1878         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1879         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1880         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1881         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1882         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1883         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1884         entries.
1886 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1888         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1890 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
1892         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1893         to delegated constructor.
1894         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1895         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1896         Likewise.
1897         (_Hashtable(
1898         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1900 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1902         PR libstdc++/60623
1903         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1905 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
1907         PR libstdc++/60587
1908         * include/debug/functions.h (_Is_contiguous_sequence): Define.
1909         (__foreign_iterator): Accept additional iterator. Do not dispatch on
1910         iterator category.
1911         (__foreign_iterator_aux2): Likewise. Add overload for iterators
1912         from different types of debug container. Use _Is_contiguous_sequence
1913         instead of is_lvalue_reference.
1914         (__foreign_iterator_aux3): Accept additional iterator. Avoid
1915         dereferencing past-the-end iterator.
1916         (__foreign_iterator_aux4): Use const value_type* instead of
1917         potentially user-defined const_pointer type.
1918         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1919         and pass end iterator to __gnu_debug::__foreign_iterator.
1920         (__glibcxx_check_insert_range_after): Likewise.
1921         (__glibcxx_check_max_load_factor): Fix comment.
1922         * include/debug/vector (_Is_contiguous_sequence): Define partial
1923         specializations.
1924         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1925         -std=gnu++11 option and unused header.
1926         * testsuite/23_containers/vector/debug/60587.cc: New.
1927         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1929 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1931         * crossconfig.m4: Support spu-*-elf* targets.
1932         * configure: Regenerate.
1934 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
1936         PR libstdc++/60564
1937         * include/std/future (__future_base::_Task_state<>): Change
1938         constructors to template functions using perfect forwarding.
1939         (__create_task_state): Use decayed type as stored task.
1940         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1941         * testsuite/30_threads/packaged_task/60564.cc: New.
1943 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
1945         * scripts/create_testsuite_files: Add testsuite/experimental in
1946         the list of folders to search for tests.
1948 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
1950         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1952 2014-03-15  Tim Shen  <timshen91@gmail.com>
1954         * include/bits/regex.h: Add/modify comments.
1955         * include/bits/regex_compiler.h: Likewise.
1956         * include/bits/regex_executor.h: Likewise.
1957         * include/bits/regex_executor.tcc: Likewise.
1958         * include/bits/regex_scanner.h: Likewise.
1960 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
1962         PR ipa/58721
1963         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1964         _ZNSt12system_errorC* symbols which are not exported on any target.
1966 2014-03-12  Roland McGrath  <mcgrathr@google.com>
1967             Mark Seaborn  <mseaborn@google.com>
1969         PR libstdc++/59392
1970         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1971         the address of a null pointer, not with a null pointer to pointer.
1972         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1973         * testsuite/18_support/bad_exception/59392.cc: New file.
1975 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
1977         PR libstdc++/60499
1978         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1979         Uglify name.
1980         * include/debug/map (map::operator=(map&&)): Likewise.
1981         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1982         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1983         * include/debug/set (set::operator=(set&&)): Likewise.
1984         * include/debug/unordered_map
1985         (unordered_map::operator=(unordered_map&&)): Likewise.
1986         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1987         * include/debug/unordered_set
1988         (unordered_set::operator=(unordered_set&&)): Likewise.
1989         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1990         * include/debug/vector (vector::operator=(vector&&)): Likewise.
1991         * testsuite/23_containers/forward_list/debug/60499.cc: New
1992         * testsuite/23_containers/map/debug/60499.cc: New
1993         * testsuite/23_containers/multimap/debug/60499.cc: New
1994         * testsuite/23_containers/multiset/debug/60499.cc: New
1995         * testsuite/23_containers/set/debug/60499.cc: New
1996         * testsuite/23_containers/unordered_map/debug/60499.cc: New
1997         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1998         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1999         * testsuite/23_containers/unordered_set/debug/60499.cc: New
2000         * testsuite/23_containers/vector/debug/60499.cc: New
2002 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
2004         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2005         for filesystem and fundamentals TS work items.
2007 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
2009         PR c++/60376
2010         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2011         Adjust dg-error directives.
2013 2014-02-26  Tim Shen  <timshen91@gmail.com>
2015         * include/bits/regex.tcc (match_results<>::format,
2016         regex_replace<>): Update __out after calling std::copy.
2017         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2018         Add testcase.
2019         * testsuite/28_regex/match_results/format.cc: Likewise.
2021 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
2023         PR libstdc++/60308
2024         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2025         allocator_type&)): Remove redundant call to _M_initialize_map.
2026         (deque::deque(const allocator_type&)): Initialize _Base with a
2027         constructor that calls _M_initialize_map.
2029         Partial revert:
2031         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
2032         PR libstdc++/58338
2033         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2034         _M_initialize_map.
2036 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
2038         Rename testsuite directory shared_mutex to shared_timed_mutex
2039         for consistency.
2040         * testsuite/30_threads/shared_mutex: Moved to...
2041         * testsuite/30_threads/shared_timed_mutex: ...here
2043 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
2045         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2046         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2047         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2048         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2049         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2050         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2051         * testsuite/30_threads/shared_lock/requirements/
2052         explicit_instantiation.cc: Ditto.
2053         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2054         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2055         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2056         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2057         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2058         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2059         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2060         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2061         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2062         * testsuite/30_threads/shared_mutex/requirements/
2063         standard_layout.cc: Ditto.
2064         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2065         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2066         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2067         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2068         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2070 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2072         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2073         execution on i?86-*-solaris2.9, remove comment.
2074         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2076 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
2078         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2079         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2080         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2082 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
2084         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2085         not use varargs when argument could be non-POD.
2086         (__alloctr_rebind_helper): Eliminate static const bool member by
2087         using true_type and false_type.
2088         (allocator_traits::__allocate_helper): Likewise.
2089         (allocator_traits::__construct_helper): Likewise.
2090         (allocator_traits::__destroy_helper): Likewise.
2091         (allocator_traits::__maxsize_helper): Likewise.
2092         (allocator_traits::__select_helper): Likewise.
2093         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2094         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2095         Remove redundant condition.
2096         * include/bits/stl_vector.h (vector::operator=(const vector&)):
2097         Likewise.
2098         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2099         indirection through __alloc_traits.
2100         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2101         Eliminate static const bool members by using true_type and false_type.
2102         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2103         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2104         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2105         New.
2106         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2108         PR libstdc++/59829
2109         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2110         (vector::_M_data_ptr): New overloaded functions to ensure empty
2111         vectors do not dereference the pointer.
2112         * testsuite/23_containers/vector/59829.cc: New.
2113         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2114         Adjust dg-error line number.
2115         * testsuite/23_containers/vector/requirements/dr438/
2116         constructor_1_neg.cc: Likewise.
2117         * testsuite/23_containers/vector/requirements/dr438/
2118         constructor_2_neg.cc: Likewise.
2119         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2120         Likewise.
2122         PR libstdc++/21609
2123         * include/ext/array_allocator.h: Add deprecated attribute.
2125         PR libstdc++/57226
2126         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2127         installation and use of python printers.
2128         * doc/xml/manual/status_cxx2011.xml: Update.
2129         * doc/html/*: Regenerate.
2131 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
2132             Kyle Lippincott  <spectral@google.com>
2134         PR libstdc++/59656
2135         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2136         constructor and grant friendship to weak_ptr.
2137         (weak_ptr::lock()): Use new constructor.
2138         * include/bits/shared_ptr_base.h
2139         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2140         and define specializations.
2141         (__shared_count): Add new non-throwing constructor.
2142         (__shared_ptr): Add new non-throwing constructor and grant friendship
2143         to __weak_ptr.
2144         (__weak_ptr::lock()): Use new constructor.
2145         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2146         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2148 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
2150         PR libstdc++/59215
2151         * include/bits/shared_ptr_base.h
2152         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2153         load.
2155 2014-01-27  Jason Merrill  <jason@redhat.com>
2157         Core DR 475
2158         PR c++/41174
2159         PR c++/59224
2160         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2161         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2162         (__cxa_allocate_exception): Don't set it here.
2164 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
2166         * include/bits/stl_map.h: Remove anachronistic comment.
2167         * include/bits/stl_multimap.h: Add whitespace.
2168         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2169         -std=gnu++11 instead of -std=c++11.
2170         * testsuite/23_containers/map/operators/2.cc: Likewise.
2171         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2172         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2173         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2175         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2176         * configure: Regenerate.
2178 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2180         PR libstdc++/59531
2181         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2182         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2184 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2185             Peter A. Bigot <pab@pabigot.com>
2187         PR libstdc++/59531
2188         * include/experimental/string_view
2189         (copy(_CharT*, size_type, size_type) const): Correct throw string.
2190         Correct copy start location.
2192 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2193             Peter A. Bigot <pab@pabigot.com>
2195         PR libstdc++/59530
2196         * include/experimental/string_view (operator[](size_type) const):
2197         Fix one-off index error in debug check.
2198         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2199         test basic_string_view at size().
2200         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2202 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
2203             Peter A. Bigot <pab@pabigot.com>
2205         PR libstdc++/59529
2206         * include/experimental/string_view
2207         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2208         * testsuite/experimental/string_view/operations/substr/char/1.cc:
2209         Comment out catch of out_of_range; No terminating null
2210         in basic_string_view.  Check begin == end.
2211         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2212         Ditto.
2214 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
2216         PR libstdc++/59548
2217         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2218         constructor to prevent it being implicitly defined as deleted, but
2219         do not copy anything.
2220         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2221         Define copy and move constructors similar to _Safe_sequence_base's.
2222         * testsuite/23_containers/unordered_map/59548.cc: New.
2224 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2225             Steve Ellcey  <sellcey@mips.com>
2227         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2228         function.
2229         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2230         * (configure, config.h.in): Regenerate.
2231         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2233 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
2235         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2236         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2238         PR libstdc++/59872
2239         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2240         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2241         Likewise.
2242         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2243         Likewise.
2244         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2245         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2246         functions to perform moving or copying of elements from rvalue tree.
2247         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2248         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2249         * testsuite/23_containers/map/59872.cc: New.
2250         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2252 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
2254         * include/bits/stl_deque.h (_Deque_impl): Move comment.
2256         PR libstdc++/58764
2257         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2258         Split into separate default constructor and constructor taking
2259         allocator.
2260         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2261         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2262         Likewise.
2263         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2264         * include/debug/list (list::list(const _Allocator&)): Likewise.
2265         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2266         Likewise.
2267         * include/debug/multimap.h
2268         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2269         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2270         Likewise.
2271         * include/debug/multiset.h
2272         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2273         * include/debug/vector (vector::vector(const allocator_type&)):
2274         Likewise.
2275         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2276         * include/profile/list (list::list(const _Allocator&)): Likewise.
2277         * include/profile/map.h
2278         (map::map(const _Compare&, const _Allocator&)): Likewise.
2279         * include/profile/multimap.h
2280         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2281         * include/profile/set.h
2282         (set::set(const _Compare&, const _Allocator&)): Likewise.
2283         * include/profile/multiset.h
2284         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2285         * include/profile/vector (vector::vector(const _Allocator&)):
2286         Likewise.
2287         * testsuite/23_containers/deque/58764.cc: New.
2288         * testsuite/23_containers/list/58764.cc: New.
2289         * testsuite/23_containers/map/58764.cc: New.
2290         * testsuite/23_containers/multimap/58764.cc: New.
2291         * testsuite/23_containers/set/58764.cc: New.
2292         * testsuite/23_containers/multiset/58764.cc: New.
2293         * testsuite/23_containers/vector/58764.cc: New.
2294         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2295         Adjust dg-error line number.
2296         * testsuite/23_containers/deque/requirements/dr438/
2297         constructor_1_neg.cc: Likewise.
2298         * testsuite/23_containers/deque/requirements/dr438/
2299         constructor_2_neg.cc: Likewise.
2300         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2301         Likewise.
2302         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2303         Likewise.
2304         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2305         Likewise.
2306         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2307         Likewise.
2308         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2309         Likewise.
2310         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2311         Likewise.
2312         * testsuite/23_containers/vector/requirements/dr438/
2313         constructor_1_neg.cc: Likewise.
2314         * testsuite/23_containers/vector/requirements/dr438/
2315         constructor_2_neg.cc: Likewise.
2316         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2317         Likewise.
2319         PR libstdc++/58764 (again)
2320         * include/bits/stl_list.h (list): Make default constructor's exception
2321         specification conditional.
2322         * include/bits/stl_vector.h (vector): Likewise.
2323         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2324         to default constructor.
2325         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2326         Adjust dg-error line number.
2327         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2328         Likewise.
2329         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2330         Likewise.
2331         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2332         Likewise.
2333         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2334         Likewise.
2335         * testsuite/23_containers/vector/requirements/dr438/
2336         constructor_1_neg.cc: Likewise.
2337         * testsuite/23_containers/vector/requirements/dr438/
2338         constructor_2_neg.cc: Likewise.
2339         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2340         Likewise.
2342 2014-01-21  Tim Shen  <timshen91@gmail.com>
2344         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2345         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2346         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2348 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
2350         PR libstdc++/56267
2351         * include/bits/hashtable.h (__cache_default): Do not depend on
2352         whether the hash function is DefaultConstructible or CopyAssignable.
2353         (_Hashtable): Adjust static assertions.
2354         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2355         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2356         dg-error line number.
2357         * testsuite/23_containers/unordered_set/
2358         not_default_constructible_hash_neg.cc: Remove.
2360 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
2362         * scripts/create_testsuite_files: Add testsuite/experimental in
2363         the list of folders to search for tests.
2364         * include/experimental/string_view
2365         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2366         incompatible with constexpr qualifier.
2367         (basic_string_view<>::front()): Likewise.
2368         (basic_string_view<>::back()): Likewise.
2369         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2370         Merge dg-options directives into one.
2371         * testsuite/experimental/string_view/element_access/char/2.cc:
2372         Likewise. Remove invalid experimental namespace scope on
2373         string_view_type.
2375 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
2377         PR libstdc++/56267
2378         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2379         friendship to _Local_iterator_base<..., false>.
2380         (_Local_iterator_base): Give protected access to all existing members.
2381         (_Local_iterator_base::_M_curr()): New public accessor.
2382         (_Local_iterator_base::_M_get_bucket()): New public accessor.
2383         (_Local_iterator_base<..., false>::_M_init()): New function to manage
2384         the lifetime of the _Hash_code_base explicitly.
2385         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2386         (_Local_iterator_base<..., false>): Define copy constructor and copy
2387         assignment operator that use new functions to manage _Hash_code_base.
2388         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2389         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2390         Use public API for _Local_iterator_base.
2391         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2392         * include/debug/unordered_map (__debug::unordered_map::erase(),
2393         __debug::unordered_multimap::erase()): Likewise.
2394         * include/debug/unordered_set (__debug::unordered_set::erase(),
2395         __debug::unordered_multiset::erase()): Likewise.
2396         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2398 2014-01-19  Tim Shen  <timshen91@gmail.com>
2400         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2401         Fix parse error of multiple consecutive quantifiers like "a**".
2402         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2403         Likewise.
2404         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2406 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
2408         * include/profile/set.h (set): Implement C++11 allocator-aware
2409         container requirements.
2410         * include/profile/map.h (map): Likewise.
2411         * include/profile/multiset.h (multiset): Likewise.
2412         * include/profile/multimap.h (multimap): Likewise.
2413         * include/profile/set.h
2414         (set::operator=(const set&)): Define as default in C++11 mode.
2415         (set::operator=(set&&)): Likewise.
2416         * include/profile/map.h
2417         (map::operator=(const map&)): Likewise.
2418         (map::operator=(map&&)): Likewise.
2419         * include/profile/multiset.h
2420         (multiset::operator=(const multiset&)): Likewise.
2421         (multiset::operator=(multiset&&)): Likewise.
2422         * include/profile/multimap.h
2423         (multimap::operator=(const multimap&)): Likewise.
2424         (multimap::operator=(multimap&&)): Likewise.
2425         * include/profile/set.h (set::operator=(std::initializer_list<>)):
2426         Rely on the same operator from normal mode.
2427         * include/profile/map.h (map::operator=(std::initializer_list<>)):
2428         Likewise.
2429         * include/profile/multiset.h
2430         (multiset::operator=(std::initializer_list<>)): Likewise.
2431         * include/profile/multimap.h
2432         (multimap::operator=(std::initializer_list<>)): Likewise.
2433         * include/profile/set.h (set::swap(set&)): Add noexcept
2434         specification.
2435         * include/profile/map.h (map::swap(map&)): Likewise.
2436         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2437         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2439 2014-01-17  Tim Shen  <timshen91@gmail.com>
2441         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2442         use std::map.
2443         * include/bits/regex_automaton.h: Do not use std::set.
2444         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2445         _BracketMatcher<>::_M_add_collating_element(),
2446         _BracketMatcher<>::_M_add_equivalence_class(),
2447         _BracketMatcher<>::_M_make_range()): Likewise.
2448         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2449         Likewise.
2450         * include/bits/regex_executor.h: Do not use std::queue.
2451         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2452         _Executor<>::_M_dfs()): Likewise.
2453         * include/std/regex: Remove <map>, <set> and <queue>.
2455 2014-01-17  Tim Shen  <timshen91@gmail.com>
2457         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2458         basic_regex<>::assign()): Change __compile_nfa to accept
2459         const _CharT* only.
2460         * include/bits/regex_compiler.h: Change _Compiler's template
2461         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2462         * include/bits/regex_compiler.tcc: Likewise.
2464 2014-01-17  Tim Shen  <timshen91@gmail.com>
2466         * include/bits/regex_compiler.h: Change _ScannerT into char-type
2467         templated.
2468         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2469         _ScannerBase from _Scanner; Change _Scanner's template argument from
2470         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2471         instead.
2472         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2473         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2474         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2475         Likewise.
2476         * include/std/regex: Add <cstring> for using strchr.
2478 2014-01-17  Tim Shen  <timshen91@gmail.com>
2480         * bits/regex_automaton.tcc: Indentation fix.
2481         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2482         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2483         _BracketMatcher<>): Add bool option template parameters and
2484         specializations to make matching more efficient and space saving.
2485         * bits/regex_compiler.tcc: Likewise.
2487 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
2489         PR libstdc++/59712
2490         * include/bits/hashtable_policy.h: Fix some long lines.
2491         * include/bits/hashtable.h (__hash_code_base_access): Define and
2492         use it to check its _M_bucket_index noexcept qualification. Use
2493         also in place of...
2494         (__access_protected_ctor): ...this.
2495         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2496         Adapt line number.
2497         * testsuite/23_containers/unordered_set/
2498         not_default_constructible_hash_neg.cc: Likewise.
2500 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
2502         * include/debug/set.h (set): Implement C++11 allocator-aware
2503         container requirements.
2504         * include/debug/map.h (map): Likewise.
2505         * include/debug/multiset.h (multiset): Likewise.
2506         * include/debug/multimap.h (multimap): Likewise.
2507         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2508         fix implementation regarding management of safe iterators.
2509         * include/debug/map.h (map::operator=(map&&)): Likewise.
2510         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2511         * include/debug/multimap.h (multimap::operator=(multimap&&)):
2512         Likewise.
2513         * include/debug/set.h (set::operator=(std::initializer_list<>)):
2514         Rely on the same operator from normal mode.
2515         * include/debug/map.h (map::operator=(std::initializer_list<>)):
2516         Likewise.
2517         * include/debug/multiset.h
2518         (multiset::operator=(std::initializer_list<>)): Likewise.
2519         * include/debug/multimap.h
2520         (multimap::operator=(std::initializer_list<>)): Likewise.
2521         * include/debug/set.h (set::swap(set&)): Add noexcept
2522         specification, add allocator equality check.
2523         * include/debug/map.h (map::swap(map&)): Likewise.
2524         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2525         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2527 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
2529         PR libstdc++/59698
2530         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2531         and stylistic improvements.
2532         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2533         and update for C++11.
2534         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2536         PR libstdc++/59687
2537         * doc/xml/manual/backwards_compatibility.xml
2538         (backwards.third.nocreate_noreplace): Correct and expand.
2540         PR libstdc++/59699
2541         * doc/xml/manual/support.xml (std.support.types.null): Update links.
2543 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
2545         PR libstdc++/59738
2546         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2547         support for non-Movable types.
2549         PR libstdc++/59680
2550         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2552 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
2554         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2555         *this allocator instance when building temporary vector instance
2556         so that *this allocator does not get moved.
2557         * include/debug/safe_base.h
2558         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2559         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2560         move constructor from _Safe_sequence_base.
2561         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2562         safe iterators if the instance is moved.
2563         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2564         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2565         check on a vector iterator.
2566         * testsuite/23_containers/vector/allocator/move_assign.cc
2567         (test02): Likewise.
2568         (test03): New, test with a non-propagating allocator.
2569         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2571 2014-01-07  Tim Shen  <timshen91@gmail.com>
2573         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2574         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2575         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2576         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2577         _BracketMatcher<>::_M_add_char(),
2578         _BracketMatcher<>::_M_add_collating_element(),
2579         _BracketMatcher<>::_M_add_equivalence_class(),
2580         _BracketMatcher<>::_M_add_character_class(),
2581         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2582         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2583         Fix _AnyMatcher behavior of POSIX style and move _M_flags
2584         to template parameter; Add cache for _BracketMatcher. Adjust
2585         declarations from here...
2586         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2587         imbuing a regex will trigger a recompilation to rebuild the cache.
2588         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2589         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2590         different template bool parameters.
2591         * include/bits/regex_executor.h: Remove unnecessary declarations.
2592         * include/std/regex: Adjust including orders.
2593         * testsuite/28_regex/traits/char/user_defined.cc: New.
2594         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2596 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2598         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2599         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2600         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2601         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2602         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2604 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2606         Update copyright years
2608 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2610         * testsuite/18_support/new_handler.cc,
2611         testsuite/18_support/terminate_handler.cc,
2612         testsuite/18_support/unexpected_handler.cc: Use the standard form for
2613         the copyright notice.
2615 Copyright (C) 2014 Free Software Foundation, Inc.
2617 Copying and distribution of this file, with or without modification,
2618 are permitted in any medium without royalty provided the copyright
2619 notice and this notice are preserved.