Makefile.am (bits_headers): Remove ${bits_host_headers}.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobd4f57c81c5de3ec0d13d3b317bbfff71b5c920d4
1 2013-05-19  Matthias Klose  <doko@ubuntu.com>
3         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
4         (ext_headers): Remove ${ext_host_headers}.
5         (stamp-${host_alias}): Create ${host_builddir}/../ext.
6         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
7         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
8         * include/Makefile.in: Regenerate.
10 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
12         * include/std/system_error (error_category::error_category()): LWG
13         2145: Declare public and constexpr.
14         * src/c++11/system_error.cc (error_category::error_category()): Move
15         definition to ...
16         * src/c++11/compatibility-c++0x.cc: Here.
18 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
20         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
22 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
24         * include/bits/unique_ptr.h (make_unique): Declare inline.
25         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
26         (default_delete, unique_ptr): Add doxygen comments.
27         * include/bits/shared_ptr_base.h: Improve doxygen comments.
28         * include/bits/shared_ptr.h: Likewise.
29         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
30         number.
31         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
33 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
35         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
37 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
39         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
41 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
43         * include/std/utility (exchange): Define.
44         * testsuite/20_util/exchange/1.cc: New.
46 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
48         * include/bits/unique_ptr.h (make_unique): Define.
49         * testsuite/20_util/unique_ptr/creation/single.cc: New.
50         * testsuite/20_util/unique_ptr/creation/array.cc: New.
51         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
53 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
55         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
56         rendering of std::tr1 unordered containers iterator.
57         (StdHashtableIterator): New, render std unordered containers iterator.
58         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
60 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
62         * include/bits/basic_string.h (getline): Fix doxygen comments.
64 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
66         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
67         Use std::pointer_traits.
69 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
71         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
72         bad_array_new.cc.
73         * libsupc++/Makefile.in: Regenerate.
74         * libsupc++/bad_array_length.cc: Tweak.
75         * libsupc++/bad_array_new.cc: Tweak.
77 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
79         PR libstdc++/54577
80         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
81         (_Deque_iterator<>::_M_const_cast): Add.
82         (deque<>::_M_erase): Declare.
83         * include/bits/deque.tcc: ... and define.
84         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
85         (_List_const_iterator<>::_M_const_cast): Add.
86         * include/bits/list.tcc (erase (iterator)): Fix.
87         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
88         Add; include <ext/cast.h>.
89         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
90         (vector<>::_M_erase): Declare.
91         * include/bits/stl_bvector.h: Likewise.
92         * include/bits/vector.tcc (vector<>::_M_erase): Define.
93         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
94         * include/debug/deque: Adjust.
95         * include/debug/list: Likewise.
96         * include/debug/vector: Likewise.
97         * include/profile/deque: Likewise.
98         * include/profile/list: Likewise.
99         * include/profile/vector: Likewise.
100         * testsuite/util/exception/safety.h (erase_base<deque>,
101         erase_base<deque>, erase_base<vector>): Remove.
102         (erase_base<__versa_string>): Update.
103         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
104         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
105         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
106         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
107         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
108         Likewise.
109         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
110         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
111         Adjust dg-error line numbers.
112         * testsuite/23_containers/deque/requirements/dr438/
113         constructor_1_neg.cc: Likewise.
114         * testsuite/23_containers/deque/requirements/dr438/
115         constructor_2_neg.cc: Likewise.
116         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
117         Likewise.
118         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
119         Likewise.
120         * testsuite/23_containers/list/requirements/dr438/
121         constructor_1_neg.cc: Likewise.
122         * testsuite/23_containers/list/requirements/dr438/
123         constructor_2_neg.cc: Likewise.
124         * testsuite/23_containers/list/requirements/dr438/
125         insert_neg.cc: Likewise.
126         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
127         Likewise.
128         * testsuite/23_containers/vector/requirements/dr438/
129         constructor_1_neg.cc: Likewise.
130         * testsuite/23_containers/vector/requirements/dr438/
131         constructor_2_neg.cc: Likewise.
132         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
133         Likewise.
135 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
137         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
139 2013-05-08  Jason Merrill  <jason@redhat.com>
141         Add std::bad_array_length (N3639)
142         * libsupc++/new: Add std::bad_array_length.
143         * libsupc++/bad_array_length.cc: New.
144         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
145         * libsupc++/Makefile.in: Build them.
146         * config/abi/pre/gnu.ver: Add new symbols.
147         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
149 2013-05-08  Andi Kleen  <ak@linux.intel.com>
151         PR target/55947
152         * libstdc++-v3/include/bits/atomic_base.h
153         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
154         (atomic_thread_fence, atomic_signal_fence, test_and_set,
155         clear, store, load, exchange, compare_exchange_weak)
156         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
157         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
159 2013-05-08  Jason Merrill  <jason@redhat.com>
161         Add std::bad_array_new_length (N2932)
162         * libsupc++/new: Add std::bad_array_new_length.
163         * libsupc++/bad_array_new.cc: New.
164         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
165         * libsupc++/Makefile.in: Build them.
166         * config/abi/pre/gnu.ver: Add new symbols.
167         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
169 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
171         PR libstdc++/57212
172         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
173         to __MINGW32__.
174         * include/Makefile.in: Regenerated.
176 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
178         * include/profile/unordered_base.h: New.
179         * include/Makefile.am: Add new profile header.
180         * include/Makefile.in: Regenerate.
181         * include/profile/impl/profiler.h
182         (__profcxx_inefficient_hash_is_on): New macro.
183         * include/profile/unordered_map (std::profile::unordered_map<>):
184         Use new _Unordered_profile base class. Use default implementations
185         for special functions.
186         (std::profile::unordered_multimap<>): Likewise.
187         * include/profile/unordered_set (std::profile::unordered_set<>):
188         Likewise.
189         (std::profile::unordered_multiset<>): Likewise.
190         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
191         MoveOnly equality operator signature.
193 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
195         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
196         constexpr_data.cc: Move...
197         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
198         ... here.
199         * testsuite/20_util/integral_constant/requirements/
200         explicit_instantiation.cc: New.
201         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
202         Likewise.
203         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
204         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
205         Likewise.
206         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
207         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
209 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
211         * include/std/type_traits (is_null_pointer): Add.
212         (__is_nullptr_t): Implement in terms of the latter.
213         (is_fundamental, is_scalar): Adjust.
214         * testsuite/20_util/is_null_pointer/requirements/
215         explicit_instantiation.cc: New.
216         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
217         Likewise.
218         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
219         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
220         line number.
221         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
222         Likewise.
223         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
224         Likewise.
226 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
228         * include/c_global/cstdio: Add comment about LWG 2249.
229         * include/c_std/cstdio: Likewise.
231 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
233         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
234         comment.
235         * include/std/mutex (__recursive_mutex_base): Likewise.
237 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
239         PR libstdc++/51365
240         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
241         implement EBO safely.
242         (_Sp_counted_base::_M_get_deleter): Add noexcept.
243         (_Sp_counter_ptr): Use noexcept instead of comments.
244         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
245         (_Sp_counted_ptr_inplace): Likewise.
246         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
247         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
248         custom allocator and test construction with custom allocator.
249         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
250         line number.
252 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
254         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
255         dialect to -std=gnu++11.
257 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
259         * include/bits/hashtable_policy.h
260         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
261         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
263 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
265         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
266         * include/c_std/cstdio (gets): Likewise.
267         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
269 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
271         PR libstdc++/57065
272         * include/debug/unordered_map (unordered_map, unordered_multimap):
273         Fix default allocator type.
274         * include/profile/unordered_map (unordered_map, unordered_multimap):
275         Likewise.
276         * include/bits/unordered_map.h: Fix comments.
278 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
280         PR libstdc++/56905
281         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
282         move implementation to make_exception_ptr.
283         * include/std/future (_State_base::_M_break_promise): Replace
284         copy_exception with make_exception_ptr.
285         * testsuite/18_support/exception_ptr/move.cc: Likewise.
286         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
287         * testsuite/30_threads/future/members/get2.cc: Likewise.
288         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
289         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
290         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
291         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
293 2013-04-22  Jason Merrill  <jason@redhat.com>
295         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
297         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
298         substitution" lines.
300         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
301         function-cv-quals.
302         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
303         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
304         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
306 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
308         * include/bits/hashtable_policy.h: Add C++11 allocator support.
309         * include/bits/hashtable.h: Likewise.
310         * include/bits/unordered_set.h: Likewise.
311         * include/bits/unordered_map.h: Likewise.
312         * include/debug/unordered_set: Likewise.
313         * include/debug/unordered_map: Likewise.
314         * include/std/unordered_set: Remove bits/algobase.h
315         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
316         * include/std/unordered_map: Likewise.
317         * include/ext/throw_allocator.h: Add checks on calls to allocator
318         construct/destroy.
319         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
320         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
321         * testsuite/util/regression/rand/priority_queue
322         /container_rand_regression_test.tcc: Adapt.
323         * testsuite/util/regression/rand/assoc
324         /container_rand_regression_test.tcc: Likewise.
325         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
326         * testsuite/23_containers/unordered_set
327         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
328         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
329         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
330         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
331         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
332         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
333         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
334         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
335         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
336         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
337         New.
338         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
339         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
340         New.
341         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
342         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
343         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
344         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
345         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
346         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
347         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
348         New.
349         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
350         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
351         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
352         New.
353         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
354         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
355         New.
356         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
357         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
359 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
361         * include/std/type_traits (is_signed): Simplify.
362         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
363         Adjust dg-error line numbers.
364         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
365         Likewise.
366         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
368 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
370         N3669
371         * include/std/complex (complex<float>::real, complex<float>::imag,
372         complex<double>::real, complex<double>::imag,
373         complex<long double>::real, complex<long double>::imag): Declare
374         as const member functions.
375         * include/std/type_traits (integral_constant<>::operator value_type):
376         Likewise.
378 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
380         PR libstdc++/57010
381         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
382         * testsuite/25_algorithms/pop_heap/57010.cc: New.
384 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
386         * src/c++11/system_error.cc (generic_category_instance): Add
387         initializer.
388         (system_category_instance): Likewise.
389         * src/c++11/future.cc (__fec): Likewise.
391 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
393         * doc/xml/manual/extensions.xml: Fix anachronism.
395 2013-04-09  Tom Tromey  <tromey@redhat.com>
397         * configure, config.h.in: Rebuild.
398         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
399         sys/sdt.h.
400         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
402 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
404         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
406 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
408         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
410 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
412         * include/Makefile.am: Add ext/aligned_buffer.h
413         * include/Makefile.in: Regenerate.
414         * include/ext/aligned_buffer.h: New.
415         * include/std/future (_Result): Use __aligned_buffer.
416         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
417         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
418         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
419         number.
421 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
423         * include/bits/forward_list.h: Only include required headers.
424         (forward_list::reference): Define directly, not using __alloc_traits.
425         (forward_list::const_reference): Likewise.
427 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
429         * include/std/functional (_Derives_from_unary_function): Remove.
430         (_Derives_from_binary_function): Remove.
431         * include/std/type_traits (__sfinae_types): Remove.
432         (__is_assignable_helper): Adapt.
433         (__is_convertible_helper): Adapt.
434         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
435         Remove several explicit instantiations of integral_constant.
436         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
437         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
438         Adapt dg-error line number.
439         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
440         Likewise.
441         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
442         * testsuite/20_util/bind/ref_neg.cc: Likewise.
444 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
446         PR libstdc++/56841
447         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
448         get_terminate() accessors.
449         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
450         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
451         available.
452         * libsupc++/new_handler.cc: Likewise.
454 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
456         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
458 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
460         PR libstdc++/56834
461         * include/debug/array (tuple_size, tuple_element): Do not declare.
462         * include/profile/array: Likewise.
463         * testsuite/23_containers/array/tuple_interface/
464         tuple_element_debug_neg.cc: Adjust dg-error line number.
466 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
468         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
469         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
470         Define.
471         (set_terminate(terminate_handler)): Set atomically.
472         (set_unexpected(terminate_handler)): Likewise.
473         * libsupc++/new (get_new_handler()): Declare.
474         * libsupc++/new_handler.cc (get_new_handler()): Define.
475         (set_new_handler(new_handler)): Set atomically.
476         (__new_handler): Use internal linkage.
477         * libsupc++/new_op.cc (operator new): Use get_new_handler().
478         * libsupc++/new_opnt.cc (operator new): Likewise.
479         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
480         * configure: Regenerate.
481         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
482         * libsupc++/Makefile.in: Regenerate.
483         * config/abi/pre/gnu.ver: Add new exports.
484         * doc/xml/manual/status_cxx2011.xml: Update.
485         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
486         for handlers.
487         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
488         * testsuite/18_support/new_handler.cc: New.
489         * testsuite/18_support/terminate_handler.cc: New.
490         * testsuite/18_support/unexpected_handler.cc: New.
492 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
494         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
495         defer to general documentation on contributing to GCC.
496         * doc/html/*: Regenerate.
498 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
500         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
502         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
503         Coding Standards.
505         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
507         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
509         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
511         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
513         * doc/xml/manual/policy_data_structures: Remove direct link to
514         IBM Haifa Research Labs.
516         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
517         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
519         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
520         papers.
522         * doc/xml/manual/shared_ptr.xml: Use canonical address for
523         www.boost.org.
525 2013-03-27  Kai Tietz  <ktietz@redhat.com>
527         * crossconfig.m4: Add support for cygwin x64 target.
528         * configure: Regenerated.
530 2013-03-25  Kai Tietz  <ktietz@redhat.com>
532         * testsuite/18_support/50594.cc: For mingw-targets use only static
533         libstdc++-version.
534         * testsuite/19_diagnostics/error_category/operators/equal.cc
535         * testsuite/19_diagnostics/error_code/cons/1.cc
536         * testsuite/19_diagnostics/error_code/operators/bool.cc
537         * testsuite/19_diagnostics/error_code/operators/equal.cc
538         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
539         * testsuite/19_diagnostics/error_condition/cons/1.cc
540         * testsuite/19_diagnostics/error_condition/operators/bool.cc
541         * testsuite/19_diagnostics/error_condition/operators/equal.cc
542         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
543         * testsuite/23_containers/set/requirements/exception/basic.cc
544         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
545         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
547 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
549         PR libstdc++/56170
550         * include/ext/debug_allocator.h (debug_allocator): Add missing members
551         to meet allocator requirements.
552         * testsuite/ext/debug_allocator/56170.cc: New.
554 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
556         PR libstdc++/56678
557         * include/std/chrono (__is_ratio): Uglify T.
559 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
561         PR libstdc++/55977 (partial, std::vector and std::deque bits)
562         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
563         _InputIterator, std::input_iterator_tag)): Use emplace_back.
564         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
565         _InputIterator, std::input_iterator_tag)): Likewise.
566         * testsuite/23_containers/vector/cons/55977.cc: New.
567         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
568         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
569         Adjust dg-error line number.
570         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
571         Likewise.
573 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
575         PR libstdc++/55979
576         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
577         _InputIterator, __false_type)): Use emplace_back.
578         * testsuite/23_containers/list/cons/55979.cc: New.
579         * testsuite/23_containers/list/modifiers/1.h: Adjust.
580         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
581         Adjust dg-error line number.
583 2013-03-16  Jason Merrill  <jason@redhat.com>
585         PR c++/55017
586         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
588 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
590         PR libstdc++/56468
591         * libsupc++/exception_ptr.h (type_info): Declare.
593 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
595         PR libstdc++/56002
596         * include/std/mutex (lock_guard, unique_lock, lock): Define without
597         depending on _GLIBCXX_HAS_GTHREADS.
598         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
600 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
602         PR libstdc++/56492
603         * include/std/future (__future_base::_Result): Add result_type
604         typedef.
605         (__future_base::_S_allocate_result): Overload for std::allocator.
606         (__future_base::_Task_setter): Use _Result::result_type instead of
607         deducing the type from the task.
608         (__future_base::_Task_state): Store allocator to allow shared state
609         to be reset.  Replace std::function with member of target object type
610         accessed via ...
611         (__future_base::_Task_state_base): New abstract base class.
612         (__future_base::_Task_state_base::_M_run): New virtual function to
613         invoke type-erased target object.
614         (__future_base::_Task_state_base::_M_reset): New virtual function to
615         create new shared_state using same target object and allocator.
616         (__future_base::__create_task_state): Allocate a new _Task_state.
617         (packaged_task::packaged_task): Use __create_task_state.
618         (packaged_task::reset): Use _Task_state_base::_M_reset.
619         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
621 2013-03-15  Tom Tromey  <tromey@redhat.com>
623         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
624         (PROBE2): New macro.
625         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
626         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
627         * configure.ac: Check for sys/sdt.h.
628         * configure, config.h.in: Rebuild.
630 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
632         PR libstdc++/56613
633         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
634         allocator_traits instead of calling construct directly.
635         * testsuite/23_containers/map/56613.cc: New.
637 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
639         * doc/html/*: Regenerate.
641 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
643         PR libstdc++/56609
644         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
645         * testsuite/20_util/is_fundamental/value.cc: Extend.
646         * testsuite/20_util/is_compound/value.cc: Likewise.
648 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
650         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
651         -Wunused warnings.
653 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
655         * include/bits/memoryfwd.h: New. Centralize forward declarations.
656         * include/bits/algorithmfwd.h: Consistent comments.
657         * include/bits/localefwd.h: Same.
658         * include/ext/vstring_fwd.h: Same.
659         * include/parallel/algorithmfwd.h: Same.
660         * include/parallel/numericfwd.h: Same.
661         * include/std/iosfwd: Same.
663         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
664         forward decl.
665         * include/ext/alloc_traits.h: Remove allocator forward decl.
666         * include/bits/stl_construct.h: Same.
667         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
668         forward decl. Consistent comments.
670         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
672         * include/Makefile.am (bits_headers): Add memoryfwd.h.
673         * include/Makefile.in: Regenerate.
674         * configure: Same.
676 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
678         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
679         Reset pointers after deallocation when memory can be reused.
680         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
681         elements to really challenge C++11 allocator integration.
682         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
683         * testsuite/23_containers/vector/allocator/copy_assign.cc:
684         Likewise.
685         * testsuite/23_containers/vector/allocator/move_assign.cc:
686         Likewise.
687         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
688         swap vector back before checks on memory/personality mapping are
689         performed.
690         * testsuite/23_containers/forward_list/allocator/minimal.cc:
691         Insert element to really challenge C++11 allocator integration.
692         * testsuite/23_containers/forward_list/allocator/copy.cc:
693         Likewise.
694         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
695         Likewise.
696         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
697         Likewise.
698         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
699         and swap forward_list back before checks on memory/personality
700         mapping are performed.
702 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
704         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
705         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
706         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
707         Likewise.
708         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
709         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
710         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
711         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
712         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
713         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
715 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
717         * scripts/extract_symvers.pl: Omit symbols bound to base
718         versions.
719         * scripts/extract_symvers.in: Likewise.
720         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
721         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
722         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
723         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
724         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
726 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
728         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
729         Optimize generation function by pulling computation of __r into the
730         constructor for param_type.  Also compare _M_mu in operator==.
731         Fix comment.
733 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
735         Add triangular and von Mises distributions.
736         * include/ext/random: Include <ext/cmath>.
737         Add __gnu_cxx::triangular_distribution<> and
738         __gnu_cxx::von_mises_distribution<> classes.
739         * include/ext/random.tcc: Add out-of-line functions for
740         __gnu_cxx::triangular_distribution<> and
741         __gnu_cxx::von_mises_distribution<>.
742         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
743         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
744         * testsuite/ext/triangular_distribution/operators/serialize.cc:
745         New file.
746         * testsuite/ext/triangular_distribution/operators/equal.cc:
747         New file.
748         * testsuite/ext/triangular_distribution/operators/inequal.cc:
749         New file.
750         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
751         New file.
752         * testsuite/ext/triangular_distribution/requirements/
753         explicit_instantiation/1.cc: New file.
754         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
755         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
756         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
757         New file.
758         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
759         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
760         New file.
761         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
762         New file.
763         * testsuite/ext/von_mises_distribution/requirements/
764         explicit_instantiation/1.cc: New file.
766         Add math constants.
767         * include/Makefile.am (ext_headers): Add cmath.
768         * include/Makefile.in: Regenerated.
769         * include/ext/cmath: New file.
771 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
773         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
774         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
775         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
776         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
777         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
779 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
781         PR libstdc++/56012
782         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
783         * testsuite/29_atomics/atomic/operators/56012.cc: New.
785         PR libstdc++/56011
786         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
787         missing overload.
788         * testsuite/29_atomics/atomic/operators/56011.cc: New.
790 2013-02-25  Jason Merrill  <jason@redhat.com>
792         * configure.ac: Check for __cxa_thread_atexit_impl.
793         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
794         to it if available.
795         * config.h.in, configure: Regenerate.
797 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
799         * include/std/streambuf (basic_streambuf): Use injected class name
800         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
801         group.
803 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
805         * doc/html/faq.html: Fix spelling.
806         * doc/xml/faq.xml: Likewise.
807         * include/bits/basic_ios.h: Likewise.
808         * include/bits/regex.h: Likewise.
809         * include/std/istream: Likewise.
810         * include/std/streambuf: Likewise.
812 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
814         * testsuite/23_containers/unordered_set/55043.cc: Add missing
815         namespace qualification.
816         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
818 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
820         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
821         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
822         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
823         * include/bits/stl_pair.h: Add to utilities group.
824         * include/std/tuple: Same.
825         * include/std/typeindex: Same.
827         * include/bits/stringfwd.h: Fix markup.
828         * include/std/limits: Same.
829         * include/std/type_traits: Same.
830         * include/tr1/memory: Same.
831         * include/tr1/regex: Same.
832         * scripts/run_doxygen: Comment.
833         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
835 2013-02-14  Jason Merrill  <jason@redhat.com>
837         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
838         test if unsupported.
840 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
842         PR libstdc++/56111
843         * include/std/complex (complex): Undefine.
844         * include/c_compatibility/complex.h (complex): Only undefine if
845         <complex> has been included.
846         * testsuite/26_numerics/complex/56111.cc: New testcase.
848 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
850         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
851         default constructor protected.
852         * include/bits/hashtable.h: static assert that _Hash_code_base has
853         a default constructor available through inheritance.
855 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
857         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
858         C++11 mode.
860 2013-02-12  Julian Brown  <julian@codesourcery.com>
862         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
863         Don't expect dots after abbreviated weekday names for ru_RU for
864         glibc versions >= 2.17.
865         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
866         Likewise.
868 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
870         * include/bits/random.tcc (__transform): Remove.
871         (__normalize): Add.
872         (discrete_distribution<>::param_type::_M_initialize): Adjust.
873         (piecewise_constant_distribution<>::param_type::_M_initialize):
874         Likewise.
875         (piecewise_linear_distribution<>::param_type::_M_initialize):
876         Likewise.
878 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
880         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
881         Use -fimplicit-templates.
882         * src/c++11/Makefile.in: Regenerate.
883         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
884         std::lower_bound template.
886 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
888         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
889         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
890         in C++11 mode and if available in the underlying C library.
891         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
892         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
893         _GLIBCXX_HAVE_QUICK_EXIT.
895 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
897         * doc/html/*: Regenerate.
899 2013-02-11  Jason Merrill  <jason@redhat.com>
901         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
902         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
903         * config.h.in, configure: Regenerate.
904         * include/c_std/cstdlib: Add atexit and at_quick_exit.
905         * include/c_global/cstdlib: Add atexit and at_quick_exit.
906         * testsuite/18_support/quick_exit/quick_exit.cc: New.
908 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
910         PR libstdc++/56282
911         Revert:
912         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
914         PR libstdc++/56193
915         * include/bits/basic_ios.h: Replace operator void*() const
916         with explicit operator bool() const in C++11 and greater.
917         * testsuite/27_io/basic_ios/pr56193.cc: New file.
919 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
920             Jonathan Wakely  <jwakely.gcc@gmail.com>
922         * doc/xml/manual/containers.xml: Add section on unordered containers.
923         * doc/xml/manual/using.xml: Fix incomplete sentence.
925 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
927         PR libstdc++/56267
928         * include/bits/hashtable.h (__cache_default): Check if hash function
929         is copy assignable.
930         * testsuite/23_containers/unordered_set/56267.cc: New.
931         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
932         dg-error line number.
933         * testsuite/23_containers/unordered_set/
934         not_default_constructible_hash_neg.cc: Likewise.
936         PR libstdc++/56278
937         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
938         constructor public.
939         * testsuite/23_containers/unordered_set/56278.cc: New.
941 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
943         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
944         simplification.
946 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
948         PR libstdc++/56216
949         * include/tr1/special_function_util.h: Remove spurious const
950         from numeric arguments.
951         * include/tr1/riemann_zeta.tcc: Likewise.
952         * include/tr1/exp_integral.tcc: Likewise.
953         * include/tr1/bessel_function.tcc: Likewise.
954         * include/tr1/hypergeometric.tcc: Likewise.
955         * include/tr1/modified_bessel_func.tcc: Likewise.
956         * include/tr1/poly_laguerre.tcc: Likewise.
957         * include/tr1/gamma.tcc: Likewise.
958         * include/tr1/legendre_function.tcc: Likewise.
959         * include/tr1/poly_hermite.tcc: Likewise.
960         * include/tr1/ell_integral.tcc: Likewise.
961         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
962         If argument is zero return function value.
963         * testsuite/tr1/5_numerical_facilities/special_functions/
964         08_cyl_bessel_i/pr56216.cc: New.
966 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
968         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
970 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
972         PR libstdc++/56193
973         * include/bits/basic_ios.h: Replace operator void*() const
974         with explicit operator bool() const in C++11 and greater.
975         * testsuite/27_io/basic_ios/pr56193.cc: New file.
977 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
979         Add missing explicit instantiation for std::lower_bound template
980         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
981         missing instantiation for std::lower_bound template.
983 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
985         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
986         * include/bits/basic_string.h: Specialize previous to mark
987         std::hash for string types as slow.
988         * include/bits/hashtable.h (__cache_default): Replace is_integral
989         with __is_fast_hash.
990         * src/c++11/hash_c++0x.cc: Add type_traits include.
991         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
992         Adapt dg-error line number.
993         * testsuite/23_containers/unordered_set/
994         not_default_constructible_hash_neg.cc: Likewise.
996 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
997             Paolo Carlini  <paolo.carlini@oracle.com>
999         PR libstdc++/56202 (again)
1000         * include/bits/random.tcc (binomial_distribution<>::
1001         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1002         in previous commit.
1004         * include/bits/random.h: Fix comment typo.
1006 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1007             Paolo Carlini  <paolo.carlini@oracle.com>
1009         PR libstdc++/56202
1010         * include/bits/random.tcc (binomial_distribution<>::
1011         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1012         division by zero.
1014 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1016         Update copyright years.
1017         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1018         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1019         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1020         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1021         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1022         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1023         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1024         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1025         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1026         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1027         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1028         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1029         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1030         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1031         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1032         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1033         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1034         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1035         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1036         Update lines in dg error matches.
1038 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1040         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1042 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
1044         * include/bits/hashtable_policy.h
1045         (_Prime_rehash_policy::_M_next_bkt)
1046         (_Prime_rehash_policy::_M_need_rehash): Move definition...
1047         * src/c++11/hashtable_c++0x.cc: ... here.
1048         * src/shared/hashtable-aux.cc: Remove c++config.h include.
1049         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1050         symbols.
1052 2013-01-29  Jason Merrill  <jason@redhat.com>
1054         PR libstdc++/54314
1055         * config/abi/pre/gnu.ver: Don't export construction vtables.
1056         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1058 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1060         PR libstdc++/56112
1061         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1062         to construct value_type explicitly before trying to extract the key.
1063         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1065 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1067         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1068         _Hashtable_ebo_helper to embed functors into the local_iterator
1069         when necessary. Pass information about functors involved in hash
1070         code by copy.
1071         * include/bits/hashtable.h (__cache_default): Do not cache for
1072         builtin integral types unless the hash functor is not noexcept
1073         qualified or is not default constructible. Adapt static assertions
1074         and local iterator instantiations.
1075         * include/debug/unordered_set
1076         (std::__debug::unordered_set<>::erase): Detect local iterators to
1077         invalidate using contained node rather than generating a dummy
1078         local_iterator instance.
1079         (std::__debug::unordered_multiset<>::erase): Likewise.
1080         * include/debug/unordered_map
1081         (std::__debug::unordered_map<>::erase): Likewise.
1082         (std::__debug::unordered_multimap<>::erase): Likewise.
1083         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1084         std::tr1 and std versions of unordered_set regardless of any
1085         macro. Add test on default cache behavior.
1086         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1087         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1088         Adapt line number.
1089         * testsuite/23_containers/unordered_set/
1090         not_default_constructible_hash_neg.cc: New.
1091         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1093 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
1095         PR libstdc++/56085
1096         * include/std/complex (pow(const complex<>&, int)): Avoid __n
1097         signed overflow.
1099 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
1101         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1102         Tightten scan-assembler-times regexps, add dg-additional-options for
1103         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1104         dg-options.
1106 2013-01-12  Andi Kleen  <ak@linux.intel.com>
1107             Jonathan Wakely  <jwakely.gcc@gmail.com>
1109         PR libstdc++/55233
1110         * include/bits/atomic_base.h (__memory_order_modifier): Add
1111         __memory_order_mask, __memory_order_modifier_mask,
1112         __memory_order_hle_acquire, __memory_order_hle_release.
1113         (operator|,operator&): Add.
1114         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
1115         (__cmpexch_failure_order): Add.
1116         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1117         Handle flags.
1118         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1119         Add.
1121 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1123         PR libstdc++/55861
1124         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1125         Fix return type.
1126         (__basic_future::_M_get_result()): Const qualify.
1127         (shared_future::get()): Likewise.
1128         * testsuite/30_threads/shared_future/members/get.cc: Use const
1129         objects.
1131 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1133         PR libstdc++/55043 (again)
1134         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1135         unless construction would be well-formed.
1136         (__allow_copy_cons, __check_copy_constructible): Define.
1137         * include/bits/unordered_map.h (__check_copy_constructible): Use as
1138         base class so copy constructor will be deleted if appropriate.
1139         (is_copy_constructible): Remove specialization.
1140         * include/bits/unordered_set.h: Likewise.
1141         * include/debug/unordered_map.h: Undo previous commit. Default copy
1142         and move constructors.
1143         * include/debug/unordered_set.h: Likewise.
1144         * include/profile/unordered_map.h: Undo previous commit.
1145         * include/profile/unordered_set.h: Likewise.
1146         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1147         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1148         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1149         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1150         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1151         cannot support incomplete types.
1152         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1153         Likewise.
1155 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1157         PR libstdc++/55043
1158         * include/std/unordered_map: Include alloc_traits.h
1159         * include/std/unordered_set: Likewise.
1160         * include/bits/alloc_traits.h: Define __is_copy_insertable.
1161         * include/bits/unordered_map.h: Use it.
1162         * include/bits/unordered_set.h: Likewise.
1163         * include/debug/unordered_map.h: Likewise.
1164         * include/debug/unordered_set.h: Likewise.
1165         * include/profile/unordered_map.h: Likewise.
1166         * include/profile/unordered_set.h: Likewise.
1167         * include/bits/hashtable.h: Fix comment typos.
1168         * testsuite/23_containers/unordered_map/55043.cc: New.
1169         * testsuite/23_containers/unordered_multimap/55043.cc: New.
1170         * testsuite/23_containers/unordered_multiset/55043.cc: New.
1171         * testsuite/23_containers/unordered_set/55043.cc: New.
1173 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
1175         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1176         gdb command.
1178 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1180         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1182 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1184         PR libstdc++/55908
1185         * include/std/functional (_Mem_fn::operator()): Fix constraints to
1186         avoid ambiguity.
1187         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1188         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1190 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1192         PR libstdc++/55594
1193         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1194         Solaris targets.
1195         * configure: Regenerate.
1197 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1199         PR libstdc++/55847
1200         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1201         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1202         string.
1204         PR libstdc++/55728
1205         * include/std/functional (bad_function_call::what()): Declare.
1206         * src/c++11/functional.cc (bad_function_call::what()): Define.
1207         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1208         * testsuite/20_util/bad_function_call/what.cc: New.
1210 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1212         * include/bits/unordered_map.h: Fix typo in comments.
1213         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1214         counts for unordered associative containers.
1216 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1218         * doc/xml/manual/abi.xml: Update library and symbol versions.
1220 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1222         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1223         in copyright years.
1224         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1227 Copyright (C) 2013 Free Software Foundation, Inc.
1229 Copying and distribution of this file, with or without modification,
1230 are permitted in any medium without royalty provided the copyright
1231 notice and this notice are preserved.