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