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