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