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