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