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