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