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