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