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