2012-12-13 Steve Ellcey <sellcey@mips.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob84034d31b28543e90fc2ff8e50c30b4f1d21bb3f
1 2012-12-13  Steve Ellcey  <sellcey@mips.com>
3         * testsuite/21_strings/basic_string/capacity/char/18654.cc: Shrink
4         memory usage under simulator.
5         * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Ditto.
6         * testsuite/22_locale/collate/transform/char/28277.cc: Ditto.
7         * testsuite/22_locale/collate/transform/wchar_t/28277.cc: Ditto.
9 2012-12-12  Benjamin Kosnik  <bkoz@redhat.com>
11         * doc/xml/manual/documentation_hacking.xml: Fix validation issue.
13 2012-12-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
15         PR libstdc++/55631
16         * include/ext/alloc_traits.h: Include missing header.
17         * include/ext/pointer.h: Likewise.
18         * include/ext/string_conversions.h: Require C++11.
19         * libsupc++/initializer_list: Reindent.
21 2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>
23         * doc/Makefile.am (xml_sources_manual): Add
24         policy_data_structures_biblio.xml.
25         (${docbook_outdir}/latex): Add.
26         (doc-xml-validate-docbook): Split into..
27         (doc-xml-validate-dtd-db):... this for DTD.
28         (doc-xml-validate-rng-db):... this for Relax NG.
29         (doc-pdf-docbook-dirs): Add.
30         (doc-pdf-docbook-pre): Add.
31         * doc/xml/manual/build_hacking.xml: Add literal markup.
32         * doc/xml/manual/documentation_hacking.xml: Clean whitespace in
33         <filename> markup. Add notes about debugging the generation process.
34         * doc/xml/manual/policy_data_structures.xml: Split biblio into...
35         * doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
36         * doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
37         markup.
39 2012-12-10  Matthias Klose  <doko@ubuntu.com>
41         * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
42         * src/Makefile.in: Regenerate.
44 2012-12-09  Andreas Schwab  <schwab@linux-m68k.org>
46         * testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
47         after running the test.
49 2012-12-04  Andreas Schwab  <schwab@linux-m68k.org>
51         * include/Makefile.am (${host_builddir}/c++config.h): Replace
52         [<space><tab>] by [<tab><space>].
53         * include/Makefile.in: Regenerate.
55 2012-12-04  Steven Bosscher  <steven@gcc.gnu.org>
57         * include/Makefile.am: Fix regexp broken by previous commit.
58         * include/Makefile.in: Likewise.
60 2012-12-03  Benjamin Kosnik  <bkoz@redhat.com>
62         * include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp:
63         Remove.
64         * include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp:
65         Remove.
66         * include/Makefile.am (pb_headers): Remove include files.
67         * include/Makefile.in: Regenerated.
69 2012-12-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
71         PR libstdc++/55503
72         * testsuite/30_threads/condition_variable/members/53841.cc: Add
73         hppa*-hp-hpux11* to -pthread dg-options.
75 2012-11-29  Kai Tietz  <ktietz@redhat.com>
77         PR target/55445
78         * libsupc++/eh_personaltity.cc (__SEH__): Additional check
79         for not being SjLj.
81 2012-11-28  Andrew Pinski  <apinski@cavium.com>
83         PR bootstrap/54279
84         * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
85         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
87 2012-11-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
89         * include/std/functional (_Mem_fn): Constrain function call operators
90         to avoid ambiguities. Use perfect forwarding.
91         * testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
92         tests.
93         * testsuite/20_util/function_objects/mem_fn/forward.cc: New.
94         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
96 2012-11-27  Ollie Wild  <aaw@google.com>
98         * include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro
99         invocation.
101 2012-11-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
103         * include/std/functional (__is_socketlike): Change from class
104         template to alias template.
106 2012-11-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
108         PR libstdc++/55463
109         * include/std/functional (_Mem_fn): Handle rvalue objects. Add
110         noexcept-specifications.
111         * testsuite/20_util/function_objects/mem_fn/55463.cc: New.
112         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
114 2012-11-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
116         PR libstdc++/52680
117         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
118         sleep if nanosleep is not available. Bump libtool revision.
119         * config.h.in: Regenerate.
120         * configure: Likewise.
121         * config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
122         * include/std/thread (this_thread::__sleep_for): Add.
123         (this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
124         Declare unconditionally.
125         * src/c++11/thread.cc (this_thread::__sleep_for): Define.
126         * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
127         check_v3_target_sleep.
128         * testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
129         dg-require-sleep.
130         * testsuite/30_threads/condition_variable_any/53830.cc: Update.
131         * testsuite/30_threads/this_thread/2.cc: Likewise.
132         * testsuite/30_threads/this_thread/3.cc: Likewise.
133         * testsuite/30_threads/this_thread/4.cc: Likewise.
134         * testsuite/30_threads/async/54297.cc: Likewise.
136 2012-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
138         PR libstdc++/55413
139         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
140         __bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
141         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
142         dg-error line number.
144 2012-11-20  Matthias Klose  <doko@ubuntu.com>
146         * doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
147         * include/bits/allocator.h: Escape sharp braces in comment.
148         * include/profile/impl/profiler_algos.h: Likewise.
150 2012-11-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
152         * include/ext/array_allocator.h: Replace uses of
153         __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
155 2012-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
157         * testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
158         and improve propagate_on_container_move_assignment check.
160 2012-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
162         * include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
163         * include/bits/unordered_map.h: Apply DR 2005 resolution.
164         * doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
165         * include/bits/allocator.h (allocator): Apply DR 2103 resolution.
166         * include/ext/array_allocator.h: Likewise.
167         * include/ext/bitmap_allocator.h: Likewise.
168         * include/ext/malloc_allocator.h: Likewise.
169         * include/ext/mt_allocator.h: Likewise.
170         * include/ext/new_allocator.h: Likewise.
171         * include/ext/pool_allocator.h: Likewise.
172         * include/ext/throw_allocator.h: Likewise.
173         * include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
174         additional specializations.
175         * include/std/functional: Add comment about DR resolution.
176         * include/std/future: Likewise.
177         * include/std/scoped_allocator: Likewise.
178         * include/std/thread: Likewise.
179         * testsuite/20_util/allocator/requirements/typedefs.cc: New.
180         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
182 2012-11-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
184         * include/bits/hashtable.h: Improve comments.
185         * include/bits/hashtable_policy.h: Likewise.
187 2012-11-17  Paolo Carlini  <paolo.carlini@oracle.com>
189         PR libstdc++/55363
190         * include/std/array (tuple_size, tuple_element): Move out
191         NAMESPACE_CONTAINER.
192         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
193         dg-error line numbers.
194         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
195         Likewise.
197 2012-11-16  François Dumont  <fdumont@gcc.gnu.org>
199         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
200         automatic shrink.
201         (_Prime_rehash_policy::_M_bkt_for_elements): Do not call
202         _M_next_bkt anymore.
203         (_Prime_rehash_policy::_M_next_bkt): Move usage of
204         _S_growth_factor ...
205         (_Prime_rehash_policy::_M_need_rehash): ... here.
206         * include/bits/hashtable.h (_Hashtable<>): Adapt.
207         * testsuite/performance/23_containers/insert_erase/41975.cc: Add
208         _USE_TR1 to force build using std::tr1 container.
209         * testsuite/performance/23_containers/insert/unordered_set.cc:
210         Likewise.
211         * testsuite/performance/23_containers/insert/54075.cc: New.
213 2012-11-16  Tom Tromey  <tromey@redhat.com>
215         * testsuite/libstdc++-prettyprinters/whatis.cc: New file.
216         * testsuite/lib/gdb-test.exp (whatis-test): New proc.
217         (gdb-test): Handle 'whatis' tests.
218         (gdb_batch_check): New proc.
219         (gdb_version_check): Rewrite to use gdb_batch_check.
220         * python/libstdcxx/v6/printers.py: Import gdb.types.
221         (FilteringTypePrinter): New class.
222         (add_one_type_printer, register_type_printers): New functions.
223         (register_libstdcxx_printers): Call register_type_printers.
225 2012-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
227         PR libstdc++/53841
228         * include/std/condition_variable (condition_variable::wait_until):
229         Handle clocks with higher resolution than __clock_t.
230         (condition_variable::__wait_until_impl): Remove unnecessary _Clock
231         parameter.
232         * testsuite/30_threads/condition_variable/members/53841.cc: New.
234 2012-11-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
236         PR libstdc++/55320
237         * include/std/functional (function::function(F)): Set _M_manager after
238         operations that could throw.
239         (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
240         * include/tr1/functional
241         (_Function_base::_Ref_manager::_M_init_functor): Use addressof.
242         (_Function_base::_Base_manager::_M_get_pointer): Likewise.
243         * testsuite/20_util/function/cons/55320.cc: New.
244         * testsuite/20_util/function/cons/addressof.cc: New.
245         * testsuite/20_util/function/cons/callable.cc: Remove header.
246         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
247         * testsuite/tr1/3_function_objects/function/10.cc: New.
249 2012-11-14  Uros Bizjak  <ubizjak@gmail.com>
251         * testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
252         demangling for 128bit long-double targets.
254 2012-11-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
256         * include/std/future (atomic_future): Remove declaration of
257         non-standard name.
259 2012-11-11  Jason Merrill  <jason@redhat.com>
261         * include/std/complex (real, imag): Add ABI tag in C++11 mode.
263 2012-11-11  Andreas Schwab  <schwab@linux-m68k.org>
265         * doc/xml/chapter.txml: Remove whitespace inside <keyword>.
266         * doc/xml/class.txml: Likewise.
267         * doc/xml/manual/abi.xml: Likewise.
268         * doc/xml/manual/algorithms.xml: Likewise.
269         * doc/xml/manual/allocator.xml: Likewise.
270         * doc/xml/manual/appendix_contributing.xml: Likewise.
271         * doc/xml/manual/appendix_free.xml: Likewise.
272         * doc/xml/manual/appendix_porting.xml: Likewise.
273         * doc/xml/manual/atomics.xml: Likewise.
274         * doc/xml/manual/auto_ptr.xml: Likewise.
275         * doc/xml/manual/backwards_compatibility.xml: Likewise.
276         * doc/xml/manual/bitmap_allocator.xml: Likewise.
277         * doc/xml/manual/build_hacking.xml: Likewise.
278         * doc/xml/manual/codecvt.xml: Likewise.
279         * doc/xml/manual/concurrency.xml: Likewise.
280         * doc/xml/manual/concurrency_extensions.xml: Likewise.
281         * doc/xml/manual/configure.xml: Likewise.
282         * doc/xml/manual/containers.xml: Likewise.
283         * doc/xml/manual/ctype.xml: Likewise.
284         * doc/xml/manual/debug.xml: Likewise.
285         * doc/xml/manual/debug_mode.xml: Likewise.
286         * doc/xml/manual/diagnostics.xml: Likewise.
287         * doc/xml/manual/extensions.xml: Likewise.
288         * doc/xml/manual/internals.xml: Likewise.
289         * doc/xml/manual/intro.xml: Likewise.
290         * doc/xml/manual/io.xml: Likewise.
291         * doc/xml/manual/iterators.xml: Likewise.
292         * doc/xml/manual/locale.xml: Likewise.
293         * doc/xml/manual/localization.xml: Likewise.
294         * doc/xml/manual/messages.xml: Likewise.
295         * doc/xml/manual/mt_allocator.xml: Likewise.
296         * doc/xml/manual/numerics.xml: Likewise.
297         * doc/xml/manual/parallel_mode.xml: Likewise.
298         * doc/xml/manual/policy_data_structures.xml: Likewise.
299         * doc/xml/manual/prerequisites.xml: Likewise.
300         * doc/xml/manual/profile_mode.xml: Likewise.
301         * doc/xml/manual/shared_ptr.xml: Likewise.
302         * doc/xml/manual/status_cxx1998.xml: Likewise.
303         * doc/xml/manual/status_cxx2011.xml: Likewise.
304         * doc/xml/manual/status_cxxtr1.xml: Likewise.
305         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
306         * doc/xml/manual/strings.xml: Likewise.
307         * doc/xml/manual/support.xml: Likewise.
308         * doc/xml/manual/test.xml: Likewise.
309         * doc/xml/manual/using_exceptions.xml: Likewise.
310         * doc/xml/manual/utilities.xml: Likewise.
311         * doc/xml/spine.xml: Likewise.
313         * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Also check for
314         /usr/share/xml/docbook/stylesheet/nwalsh5/current.
315         * configure: Regenerate.
317 2012-11-11  Gerald Pfeifer  <gerald@pfeifer.com>
319         * doc/xml/manual/policy_data_structures.xml: Update reference
320         for select.
322 2012-11-10  Jason Merrill  <jason@redhat.com>
324         * many: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
326 2012-11-08  François Dumont  <fdumont@gcc.gnu.org>
328         PR libstdc++/54075
329         * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash
330         policy state if no rehash.
331         * testsuite/23_containers/unordered_set/modifiers/reserve.cc
332         (test02): New.
334 2012-11-08  Paolo Carlini  <paolo.carlini@oracle.com>
336         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc:
337         Don't pass -D_GLIBCXX_DEBUG by hand (check-debug does).
339 2012-11-08  Florian Weimer  <fweimer@redhat.com>
341         * testsuite/18_support/cxa_vec.cc: Fix typo in comment.
343 2012-11-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
345         * include/profile/iterator_tracker.h (operator++): Fix returning
346         dangling reference.
347         (operator--): Likewise.
349 2012-11-07  Paolo Carlini  <paolo.carlini@oracle.com>
351         * include/debug/array (_GLIBCXX_THROW_OR_ABORT): Move...
352         * include/bits/c++config: ... here.
353         * include/bits/shared_ptr_base.h (__throw_bad_weak_ptr): Use it.
354         * include/ext/pb_ds/exception.hpp: Likewise.
355         * include/ext/throw_allocator.h (__throw_forced_error): Likewise.
356         * include/ext/concurrence.h (__throw_concurrence_lock_error,
357         __throw_concurrence_unlock_error, __throw_concurrence_broadcast_error,
358         __throw_concurrence_wait_error): Likewise.
359         * include/tr1/shared_ptr.h (__throw_bad_weak_ptr): Likewise.
360         * include/tr1/functional (function<_Res(_ArgTypes...)>::operator()
361         (_ArgTypes...)): Likewise.
362         * libsupc++/eh_aux_runtime.cc (__cxxabiv1::__cxa_bad_cast,
363         __cxxabiv1::__cxa_bad_typeid): Likewise.
364         * libsupc++/vec.cc (compute_size): Likewise.
365         * libsupc++/new_op.cc (operator new (std::size_t)): Likewise.
366         * src/c++11/functexcept.cc: Likewise.
367         * testsuite/util/io/illegal_input_error.hpp
368         (__throw_illegal_input_error): Likewise.
369         * libsupc++/eh_personality.cc: Avoid warning with -fno-exceptions.
370         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
371         numbers.
372         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
373         Likewise.
374         * testsuite/23_containers/array/tuple_interface/
375         tuple_element_debug_neg.cc: Likewise.
376         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
377         Likewise.
378         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
380 2012-11-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
382         * include/bits/stl_vector.h (vector(size_type)): Add missing allocator
383         parameter.
384         * include/bits/stl_bvector.h: Likewise.
385         * include/debug/vector (vector(size_type)): Likewise.
386         * include/profile/vector (vector(size_type)): Likewise. Pass allocator
387         to base constructor.
388         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
389         Adjust dg-error line numbers.
390         * testsuite/23_containers/vector/requirements/dr438/
391         constructor_1_neg.cc: Likewise.
392         * testsuite/23_containers/vector/requirements/dr438/
393         constructor_2_neg.cc: Likewise.
394         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
395         Likewise.
397 2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
399         PR libstdc++/51850
400         * include/debug/array: New, debug-mode implementation.
401         * include/profile/array: New.
402         * include/std/array: Adjust.
403         * include/std/tuple: Just include <array>.
404         * include/Makefile.am: Add.
405         * include/Makefile.in: Regenerate.
406         * testsuite/23_containers/array/debug/front1_neg.cc: New.
407         * testsuite/23_containers/array/debug/
408         square_brackets_operator1_neg.cc: Likewise.
409         * testsuite/23_containers/array/debug/front2_neg.cc: Likewise.
410         * testsuite/23_containers/array/debug/
411         square_brackets_operator2_neg.cc: Likewise.
412         * testsuite/23_containers/array/debug/back1_neg.cc: Likewise.
413         * testsuite/23_containers/array/debug/back2_neg.cc: Likewise.
414         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Tweak
415         to run only in normal-mode.
416         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
417         Likewise.
418         * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: New.
419         * testsuite/23_containers/array/tuple_interface/
420         tuple_element_debug_neg.cc: Likewise.
422 2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
424         * testsuite/20_util/shared_ptr/cons/55123.cc: Remove duplicate
425         include.
427 2012-11-06  Paolo Carlini  <paolo.carlini@oracle.com>
429         * include/bits/atomic_base.h: Don't include <cstddef>, use nullptr.
430         * include/std/atomic: Likewise.
431         * include/tr2/dynamic_bitset: Likewise.
433         * libsupc++/vec.cc (compute_size(std::size_t, std::size_t,
434         std::size_t)): Fix for -fno-exceptions.
436 2012-11-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
438         * include/profile/map.h (map::emplace_hint): Add missing return.
440 2012-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
442         * include/profile/deque: Constrain InputIterator parameters.
443         * include/profile/forward_list: Likewise.
444         * include/profile/list: Likewise.
445         * include/profile/map.h: Likewise.
446         * include/profile/multimap.h: Likewise.
447         * include/profile/set.h: Likewise.
448         * include/profile/multiset.h: Likewise.
449         * include/profile/vector: Likewise.
451 2012-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
453         * include/profile/forward_list: Update to meet allocator-aware
454         requirements.
455         * include/debug/forward_list: Likewise.
456         * include/debug/vector: Verify allocators are swapped or equal.
457         * include/debug/macros.h (__glibcxx_check_equal_allocs): Define.
458         * include/debug/formatter.h: Add new debug message.
459         * src/c++11/debug.cc: Likewise.
460         * testsuite/23_containers/forward_list/allocator/swap.cc: Do not
461         swap containers with non-propagating, non-equal allocators.
462         * testsuite/23_containers/vector/allocator/swap.cc: Likewise.
464 2012-11-05  Benjamin Kosnik  <bkoz@redhat.com>
465             Oleg Smolsky  <oleg@smolsky.net>
467         PR libstdc++/55028
468         *  config/abi/pre/gnu-versioned-namespace.ver: Add symbols.
469         * testsuite/23_containers/unordered_multimap/insert/55028-debug.cc: New.
471 2012-10-05  François Dumont  <fdumont@gcc.gnu.org>
473         * include/ext/throw_allocator.h (__throw_value_base): Add move
474         semantic, not throwing.
475         (__throw_value_limit): Likewise.
476         (__throw_value_random): Likewise.
477         * testsuite/util/exception/safety.h: Add validation of C++11
478         methods emplace/emplace_front/emplace_back/emplace_hint.
479         * testsuite/util/testsuite_container_traits.h: Signal emplace
480         support on deque, forward_list, list and vector.
481         * testsuite/23_containers/deque/requirements/exception/
482         propagation_consistent.cc: Remove dg-do run fail.
484 2012-11-05  Paolo Carlini  <paolo.carlini@oracle.com>
486         PR libstdc++/55215
487         * include/bits/random.tcc (mersenne_twister_engine<>::seed(_Sseq&)):
488         Assign state_size to _M_p.
489         * testsuite/26_numerics/random/mersenne_twister_engine/cons/55215.cc:
490         New.
491         * testsuite/26_numerics/random/independent_bits_engine/cons/55215.cc:
492         Likewise.
493         * testsuite/26_numerics/random/shuffle_order_engine/cons/55215.cc:
494         Likewise.
495         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
496         55215.cc: Likewise.
497         * testsuite/26_numerics/random/discard_block_engine/cons/55215.cc:
498         Likewise.
499         * testsuite/26_numerics/random/linear_congruential_engine/cons/
500         55215.cc: Likewise.
502 2012-11-03  Florian Weimer  <fweimer@redhat.com>
504         * libsupc++/vec.cc (compute_size): New.
505         (__cxa_vec_new2, __cxa_vec_new3): Use it.
506         * testsuite/18_support/cxa_vec.cc: New.
508 2012-11-03  Robert Mason  <rbmj@verizon.net>
510         * config/os/vxworks/os_defines.h:
511         Keep vxWorks from defining min()/max() as macros
513 2012-11-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
515         * doc/html/*: Regenerate.
517 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
519         * doc/xml/manual/configure.xml: Adjust GNU libc link.
521         * doc/xml/manual/debug.xml: Adjust GDB documentation link.
522         Use GCC instead of gcc.
524         * doc/xml/manual/prerequisites.xml: Remove detailed reference
525         to binutils downloads.
527 2012-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
529         PR libstdc++/55169
530         * include/bits/random.h: Remove all uses of param().
531         (chi_squared_distribution<>::__generate_impl(_ForwardIterator,
532         _ForwardIterator, _UniformRandomNumberGenerator&)): Declare
533         * include/bits/random.tcc: ... define.
534         * include/ext/random: Remove all uses of param().
536 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
538         * doc/xml/manual/allocator.xml: Update reference to Hoard.
539         Update reference to Berger's OOPSLA 2002 paper.
541 2012-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
543         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
544         (StdForwardListPrinter): Likewise.
546 2012-11-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
548         * include/bits/forward_list.h (forward_list(size_type)): Add missing
549         allocator parameter.
550         (_Fwd_list_node_base): Use NSDMI and define constructor as defaulted.
551         (_Fwd_list_node::_M_value): Replace with uninitialized storage.
552         (_Fwd_list_node::_M_valptr()): Define functions to access storage.
553         (_Fwd_list_iterator, _Fwd_list_const_iterator): Use _M_valptr.
554         (_Fwd_list_base::_M_create_node): Only use allocator to construct the
555         element not the node.
556         * include/bits/forward_list.tcc (_Fwd_list_base::_M_erase_after): Only
557         use allocator to destroy the element not the node.
558         * testsuite/23_containers/forward_list/cons/11.cc: Remove unused
559         headers.
560         * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
561         * testsuite/23_containers/forward_list/cons/13.cc: New.
562         * testsuite/23_containers/forward_list/cons/14.cc: New.
564 2012-11-02  Gerald Pfeifer  <gerald@pfeifer.com>
566         * doc/xml/manual/codecvt.xml: Fix reference to Austin Common
567         Standards Revision Group.
568         * doc/xml/manual/messages.xml: Ditto.
569         * doc/xml/manual/using_exceptions.xml: Ditto.
571         * doc/xml/manual/messages.xml: Fix reference to GNU gettext.
573         * doc/xml/manual/policy_data_structures.xml: Fix reference to
574         STL at SGI.
575         Update reference to COM at Microsoft.
576         Update reference to Worst-case efficient priority queues at ACM.
578 2012-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
580         * testsuite/18_support/initializer_list/range_access.cc: Fix copying
581         permission statement.
582         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
583         808590.cc: Likewise.
584         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
585         move_iterators/1.cc: Likewise.
586         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
587         move_iterators/1.cc: Likewise.
588         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
589         Likewise.
590         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
591         Likewise.
592         * testsuite/21_strings/basic_string/range_access/char/1.cc: Likewise.
593         * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
594         Likewise.
595         * testsuite/23_containers/array/element_access/at_neg.cc: Likewise.
596         * testsuite/23_containers/array/range_access.cc: Likewise.
597         * testsuite/23_containers/deque/capacity/29134-2.cc: Likewise.
598         * testsuite/23_containers/deque/capacity/29134.cc: Likewise.
599         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: Likewise.
600         * testsuite/23_containers/deque/range_access.cc: Likewise.
601         * testsuite/23_containers/deque/requirements/do_the_right_thing.cc:
602         Likewise.
603         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
604         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
605         * testsuite/23_containers/forward_list/cons/10.cc: Likewise.
606         * testsuite/23_containers/forward_list/cons/11.cc: Likewise.
607         * testsuite/23_containers/forward_list/cons/12.cc: Likewise.
608         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
609         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
610         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
611         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
612         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
613         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
614         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
615         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
616         * testsuite/23_containers/forward_list/debug/clear.cc: Likewise.
617         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc:
618         Likewise.
619         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
620         Likewise.
621         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
622         Likewise.
623         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
624         Likewise.
625         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
626         Likewise.
627         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
628         Likewise.
629         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
630         Likewise.
631         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
632         Likewise.
633         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
634         Likewise.
635         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
636         Likewise.
637         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
638         Likewise.
639         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
640         Likewise.
641         * testsuite/23_containers/forward_list/debug/move_constructor.cc:
642         Likewise.
643         * testsuite/23_containers/forward_list/debug/splice_after.cc: Likewise.
644         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
645         Likewise.
646         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
647         Likewise.
648         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
649         Likewise.
650         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
651         Likewise.
652         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
653         Likewise.
654         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
655         Likewise.
656         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
657         Likewise.
658         * testsuite/23_containers/forward_list/debug/swap.cc: Likewise.
659         * testsuite/23_containers/forward_list/modifiers/1.cc: Likewise.
660         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
661         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
662         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
663         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
664         * testsuite/23_containers/forward_list/modifiers/6.cc: Likewise.
665         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
666         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
667         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
668         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
669         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
670         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
671         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
672         * testsuite/23_containers/forward_list/range_access.cc: Likewise.
673         * testsuite/23_containers/forward_list/requirements/
674         do_the_right_thing.cc: Likewise.
675         * testsuite/23_containers/list/capacity/1.cc: Likewise.
676         * testsuite/23_containers/list/capacity/1.h: Likewise.
677         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
678         * testsuite/23_containers/list/modifiers/1.cc: Likewise.
679         * testsuite/23_containers/list/modifiers/1.h: Likewise.
680         * testsuite/23_containers/list/modifiers/1_c++0x.cc: Likewise.
681         * testsuite/23_containers/list/modifiers/2.cc: Likewise.
682         * testsuite/23_containers/list/modifiers/2.h: Likewise.
683         * testsuite/23_containers/list/modifiers/3.cc: Likewise.
684         * testsuite/23_containers/list/modifiers/3.h: Likewise.
685         * testsuite/23_containers/list/modifiers/insert/25288.cc: Likewise.
686         * testsuite/23_containers/list/modifiers/insert/25288.h: Likewise.
687         * testsuite/23_containers/list/operations/1.cc: Likewise.
688         * testsuite/23_containers/list/operations/1.h: Likewise.
689         * testsuite/23_containers/list/operations/2.cc: Likewise.
690         * testsuite/23_containers/list/operations/2.h: Likewise.
691         * testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
692         * testsuite/23_containers/list/operations/3.cc: Likewise.
693         * testsuite/23_containers/list/operations/3.h: Likewise.
694         * testsuite/23_containers/list/operations/3_c++0x.cc: Likewise.
695         * testsuite/23_containers/list/operations/4.cc: Likewise.
696         * testsuite/23_containers/list/operations/4.h: Likewise.
697         * testsuite/23_containers/list/operations/42352.cc: Likewise.
698         * testsuite/23_containers/list/operations/5.cc: Likewise.
699         * testsuite/23_containers/list/operations/5.h: Likewise.
700         * testsuite/23_containers/list/range_access.cc: Likewise.
701         * testsuite/23_containers/list/requirements/do_the_right_thing.cc:
702         Likewise.
703         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
704         * testsuite/23_containers/map/range_access.cc: Likewise.
705         * testsuite/23_containers/multimap/capacity/29134.cc: Likewise.
706         * testsuite/23_containers/multimap/range_access.cc: Likewise.
707         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
708         * testsuite/23_containers/multiset/range_access.cc: Likewise.
709         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
710         * testsuite/23_containers/set/range_access.cc: Likewise.
711         * testsuite/23_containers/unordered_map/final_hash.cc: Likewise.
712         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
713         * testsuite/23_containers/unordered_map/range_access.cc: Likewise.
714         * testsuite/23_containers/unordered_map/requirements/52942.cc:
715         Likewise.
716         * testsuite/23_containers/unordered_map/requirements/53067.cc:
717         Likewise.
718         * testsuite/23_containers/unordered_map/requirements/53339.cc:
719         Likewise.
720         * testsuite/23_containers/unordered_multimap/final_hash.cc: Likewise.
721         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
722         * testsuite/23_containers/unordered_multimap/range_access.cc: Likewise.
723         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
724         Likewise.
725         * testsuite/23_containers/unordered_multiset/final_hash.cc: Likewise.
726         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
727         * testsuite/23_containers/unordered_multiset/range_access.cc: Likewise.
728         * testsuite/23_containers/unordered_set/final_hash.cc: Likewise.
729         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
730         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
731         * testsuite/23_containers/unordered_set/range_access.cc: Likewise.
732         * testsuite/23_containers/unordered_set/requirements/52942.cc:
733         Likewise.
734         * testsuite/23_containers/unordered_set/requirements/53067.cc:
735         Likewise.
736         * testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
737         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
738         Likewise.
739         * testsuite/23_containers/vector/capacity/29134-2.cc: Likewise.
740         * testsuite/23_containers/vector/capacity/29134.cc: Likewise.
741         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
742         * testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: Likewise.
743         * testsuite/23_containers/vector/range_access.cc: Likewise.
744         * testsuite/23_containers/vector/requirements/do_the_right_thing.cc:
745         Likewise.
746         * testsuite/24_iterators/range_access.cc: Likewise.
747         * testsuite/25_algorithms/copy/1.cc: Likewise.
748         * testsuite/25_algorithms/copy/2.cc: Likewise.
749         * testsuite/25_algorithms/copy/3.cc: Likewise.
750         * testsuite/25_algorithms/copy/34595.cc: Likewise.
751         * testsuite/25_algorithms/copy/4.cc: Likewise.
752         * testsuite/25_algorithms/copy/deque_iterators/1.cc: Likewise.
753         * testsuite/25_algorithms/copy/move_iterators/1.cc: Likewise.
754         * testsuite/25_algorithms/copy/streambuf_iterators/char/1.cc: Likewise.
755         * testsuite/25_algorithms/copy/streambuf_iterators/char/2.cc: Likewise.
756         * testsuite/25_algorithms/copy/streambuf_iterators/char/3.cc: Likewise.
757         * testsuite/25_algorithms/copy/streambuf_iterators/char/4.cc: Likewise.
758         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/1.cc:
759         Likewise.
760         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/2.cc:
761         Likewise.
762         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/3.cc:
763         Likewise.
764         * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc:
765         Likewise.
766         * testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
767         * testsuite/25_algorithms/copy_backward/move_iterators/1.cc: Likewise.
768         * testsuite/25_algorithms/copy_n/1.cc: Likewise.
769         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
770         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
771         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
772         * testsuite/25_algorithms/copy_n/50119.cc: Likewise.
773         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
774         * testsuite/25_algorithms/fill/4.cc: Likewise.
775         * testsuite/25_algorithms/fill_n/1.cc: Likewise.
776         * testsuite/25_algorithms/find/istreambuf_iterators/char/1.cc:
777         Likewise.
778         * testsuite/25_algorithms/find/istreambuf_iterators/char/2.cc:
779         Likewise.
780         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/1.cc:
781         Likewise.
782         * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc:
783         Likewise.
784         * testsuite/25_algorithms/heap/1.cc: Likewise.
785         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
786         * testsuite/25_algorithms/heap/moveable2.cc: Likewise.
787         * testsuite/25_algorithms/is_heap/1.cc: Likewise.
788         * testsuite/25_algorithms/is_heap_until/1.cc: Likewise.
789         * testsuite/25_algorithms/is_sorted/1.cc: Likewise.
790         * testsuite/25_algorithms/is_sorted_until/1.cc: Likewise.
791         * testsuite/25_algorithms/move/1.cc: Likewise.
792         * testsuite/25_algorithms/move/deque_iterators/1.cc: Likewise.
793         * testsuite/25_algorithms/move_backward/1.cc: Likewise.
794         * testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
795         * testsuite/25_algorithms/partition/1.cc: Likewise.
796         * testsuite/25_algorithms/partition/moveable.cc: Likewise.
797         * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise.
798         * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise.
799         * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
800         * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
801         * testsuite/25_algorithms/stable_partition/pr52822.cc: Likewise.
802         * testsuite/26_numerics/valarray/range_access.cc: Likewise.
803         * testsuite/28_regex/range_access.cc: Likewise.
804         * testsuite/ext/vstring/capacity/29134.cc: Likewise.
805         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
806         * testsuite/ext/vstring/hash/char/1.cc: Likewise.
807         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
808         * testsuite/ext/vstring/range_access.cc: Likewise.
809         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: Likewise.
810         * testsuite/performance/25_algorithms/copy_backward_deque_iterators.cc:
811         Likewise.
812         * testsuite/performance/25_algorithms/copy_deque_iterators.cc:
813         Likewise.
814         * testsuite/tr1/6_containers/unordered_map/capacity/29134-map.cc:
815         Likewise.
816         * testsuite/tr1/6_containers/unordered_multimap/capacity/
817         29134-multimap.cc: Likewise.
818         * testsuite/tr1/6_containers/unordered_multiset/capacity/
819         29134-multiset.cc: Likewise.
820         * testsuite/tr1/6_containers/unordered_set/capacity/29134-set.cc:
821         Likewise.
823 2012-11-01  François Dumont  <fdumont@gcc.gnu.org>
825         * include/bits/hashtable_policy.h (__details::_Before_begin<>):
826         New, combine a base node instance and an allocator.
827         * include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove.
828         (_Hashtable<>::_M_before_begin): Rename into _M_bbegin and type
829         modified to __detail::_Before_begin<>.
830         (_Hashtable<>::_M_node_allocator()): New, get the node allocator
831         part of _M_bbegin.
832         (_Hashtable<>::_M_before_begin()): New, get the before begin node
833         part of _M_bbegin.
834         (_Hashtable<>): Adapt to use latter.
836 2012-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
838         * include/bits/forward_list.h (forward_list::assign): Dispatch to new
839         functions based on assignability of elements.
840         (forward_list::_M_assign): Add overloaded functions for assigning
841         via assignment or via clearing and insertion.
842         (forward_list::_M_assign_val): Likewise.
843         (forward_list::_M_move_assign(forward_list&&, false_type)): Do not
844         erase elements that are not moved.
845         * include/bits/forward_list.tcc (forward_list::operator=): Call
846         assign() to copy elements.
847         * testsuite/23_containers/forward_list/cons/10.cc: New.
848         * testsuite/23_containers/forward_list/cons/11.cc: New.
849         * testsuite/23_containers/forward_list/cons/12.cc: New.
851 2012-10-31  Jonathan Yong  <jon_y@users.sourceforge.net>
853         * config/os/mingw32-w64/os_defines.h: Do not define anymore
854         _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
856 2012-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
858         * include/bits/forward_list.h (forward_list): Adjust comments.
859         (forward_list(const forward_list&, const _Alloc&)): Use
860         _M_range_initialize to copy elements.
861         (forward_list(forward_list&&, const _Alloc&)): Add exception
862         specification.
863         (_Fwd_list_base(const _Fwd_list_base&, const _Node_alloc_type&)):
864         Remove.
865         * include/bits/forward_list.tcc (_Fwd_list_base(const _Fwd_list_base&,
866         const _Node_alloc_type&)): Remove.
867         (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Fix
868         memory leak when allocators are not equal.
870 2012-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
872         PR libstdc++/55123
873         * include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
874         Do not instantiate allocator with element_type.
875         * testsuite/20_util/shared_ptr/cons/55123.cc: New.
877 2012-10-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
879         PR libstdc++/55041
880         * python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update
881         to handle hashtable as member of unordered_map not base class.
882         (Tr1UnorderedSetPrinter): Likewise.
884 2012-10-27  François Dumont  <fdumont@gcc.gnu.org>
886         * include/bits/unordered_map.h (unordered_map<>): Prefer
887         aggregation to inheritance with _Hashtable.
888         (unordered_multimap<>): Likewise.
889         * include/bits/unordered_set.h
890         (unordered_set<>(const unordered_set&)):  Use default
891         implementation.
892         (unordered_set<>(unordered_set&&)): Likewise.
893         (unordered_set<>::operator=(const unordered_set&)): Likewise.
894         (unordered_set<>::operator=(unordered_set&&)): Likewise.
895         (unordered_multiset<>(const unordered_multiset&)): Likewise.
896         (unordered_multiset<>(unordered_multiset&&)): Likewise.
897         (unordered_multiset<>::operator=(const unordered_multiset&)):
898         Likewise.
899         (unordered_multiset<>::operator=(unordered_multiset&&)): Likewise.
900         * include/debug/unordered_map (operator==): Adapt.
901         * include/profile/unordered_map (operator==): Adapt.
903 2012-10-24  Daniel Krugler  <daniel.kruegler@gmail.com>
905         * include/std/type_traits (common_type): Implement LWG 2141.
906         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
907         Update.
908         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
909         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
910         Likewise.
911         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
912         Likewise.
913         * testsuite/20_util/common_type/requirements/typedefs-2.cc: Likewise.
915 2012-10-24   Haakan Younes  <hyounes@google.com>
916              Paolo Carlini  <paolo.carlini@oracle.com>
918         PR libstdc++/55047
919         * include/bits/random.h (exponential_distribution<>::operator):
920         Fix formula to std::log(result_type(1) - __aurng()).
921         * include/bits/random.tcc: Likewise, everywhere.
923 2012-10-23  Yufeng Zhang  <yufeng.zhang@arm.com>
925         * config/cpu/aarch64/cxxabi_tweaks.h: New file.
926         * configure.host: Enable aarch64.
928 2012-10-22  François Dumont  <fdumont@gcc.gnu.org>
930         * include/bits/unordered_set.h (unordered_set<>): Prefer
931         aggregation to inheritance with _Hashtable.
932         (unordered_multiset<>): Likewise.
933         * include/debug/unordered_set (operator==): Adapt.
934         * include/profile/unordered_set (operator==): Adapt.
936 2012-10-22  Yufeng Zhang  <yufeng.zhang@arm.com>
937             Jonathan Wakely  <jwakely.gcc@gmail.com>
939         * doc/xml/manual/configure.xml (--enable-clocale): Document the
940         'newlib' and 'darwin' options. Minor stylistic improvements.
942 2012-10-21  François Dumont  <fdumont@gcc.gnu.org>
944         * include/profile/map.h (map::emplace_hint): Remove invalid
945         parenthesis.
947 2012-10-21  Hans-Peter Nilsson  <hp@bitrange.com>
949         * testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
950         Tweak sizetype-related comment.
952 2012-10-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
954         * include/std/scoped_allocator: Avoid badname.
956 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
958         * doc/xml/manual/status_cxx2011.xml: Update.
960 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
962         * include/std/scoped_allocator (__outermost_alloc_traits): Define.
963         (scoped_allocator_adaptor::destroy): Use it.
964         (scoped_allocator_adaptor::construct): Likewise. Overload for
965         piecewise construction of std::pair objects.
966         * testsuite/20_util/scoped_allocator/2.cc: New.
967         * doc/xml/manual/status_cxx2011.xml: Update.
969 2012-10-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
971         * include/bits/forward_list.h: Add C++11 allocator support.
972         * include/bits/forward_list.tcc: Likewise.
973         * doc/xml/manual/status_cxx2011.xml: Update.
974         * testsuite/23_containers/forward_list/allocator/copy.cc: New.
975         * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
976         * testsuite/23_containers/forward_list/allocator/minimal.cc: New.
977         * testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
978         * testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
979         * testsuite/23_containers/forward_list/allocator/swap.cc: New.
981 2012-10-18  François Dumont  <fdumont@gcc.gnu.org>
983         * include/debug/formatter.h (_Debug_msg_id): Add
984         __msg_valid_load_factor.
985         * include/debug/macros.h (__glibcxx_check_max_load_factor): New.
986         * include/debug/unordered_set
987         (unordered_set<>::max_load_factor(float)): Check max load factor
988         is positive.
989         (unordered_multiset<>::max_load_factor(float)): Likewise.
990         * include/debug/unordered_map
991         (unordered_map<>::max_load_factor(float)): Likewise.
992         (unordered_multimap<>::max_load_factor(float)): Likewise.
993         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
994         New.
995         * testsuite/23_containers/unordered_multimap/debug/
996         max_load_factor_neg.cc: New.
997         * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
998         New.
999         * testsuite/23_containers/unordered_multiset/debug/
1000         max_load_factor_neg.cc: New.
1002 2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>
1004         * include/bits/move.h (move_if_noexcept): Mark constexpr.
1005         * include/std/array (front, back): Same.
1006         * include/std/chrono: Add comment.
1007         * include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
1008         (operator ==, <, >, !=, <=, >=): Same.
1009         * testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
1010         * testsuite/20_util/forward/f_neg.cc: Same.
1011         * testsuite/20_util/move_if_noexcept/constexpr.cc: New.
1012         * testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
1013         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
1014         * testsuite/23_containers/array/element_access/
1015         constexpr_element_access.cc: Same.
1016         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1017         line numbers.
1018         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1019         Same.
1021         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
1022           Temporarily add dg-excess-errors.
1024 2012-10-16  François Dumont  <fdumont@gcc.gnu.org>
1026         * include/debug/formatter.h (_Debug_msg_id): Add
1027         __msg_bucket_index_oob.
1028         * include/debug/macros.h (__glibcxx_check_bucket_index): New.
1029         * include/debug/unordered_set (unordered_set<>::begin(size_type)):
1030         Add check on bucket index.
1031         (unordered_set<>::begin(size_type) const): Likewise.
1032         (unordered_set<>::cbegin(size_type) const): Likewise.
1033         (unordered_set<>::end(size_type)): Likewise.
1034         (unordered_set<>::end(size_type) const): Likewise.
1035         (unordered_set<>::cend(size_type) const): Likewise.
1036         (unordered_set<>::bucket_size(size_type)): Likewise.
1037         (unordered_multiset<>::begin(size_type)): Likewise.
1038         (unordered_multiset<>::begin(size_type) const): Likewise.
1039         (unordered_multiset<>::cbegin(size_type) const): Likewise.
1040         (unordered_multiset<>::end(size_type)): Likewise.
1041         (unordered_multiset<>::end(size_type) const): Likewise.
1042         (unordered_multiset<>::cend(size_type) const): Likewise.
1043         (unordered_multiset<>::bucket_size(size_type)): Likewise.
1044         * include/debug/unordered_map (unordered_map<>::begin(size_type)):
1045         Likewise.
1046         (unordered_map<>::begin(size_type) const): Likewise.
1047         (unordered_map<>::cbegin(size_type) const): Likewise.
1048         (unordered_map<>::end(size_type)): Likewise.
1049         (unordered_map<>::end(size_type) const): Likewise.
1050         (unordered_map<>::cend(size_type) const): Likewise.
1051         (unordered_map<>::bucket_size(size_type)): Likewise.
1052         (unordered_multimap<>::begin(size_type)): Likewise.
1053         (unordered_multimap<>::begin(size_type) const): Likewise.
1054         (unordered_multimap<>::cbegin(size_type) const): Likewise.
1055         (unordered_multimap<>::end(size_type)): Likewise.
1056         (unordered_multimap<>::end(size_type) const): Likewise.
1057         (unordered_multimap<>::cend(size_type) const): Likewise.
1058         (unordered_multimap<>::bucket_size(size_type)): Likewise.
1059         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
1060         New.
1061         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
1062         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
1063         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
1064         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
1065         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
1066         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
1067         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
1068         New.
1069         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
1070         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
1071         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
1072         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
1073         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
1074         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
1075         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
1076         New.
1077         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
1078         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
1079         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
1080         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
1081         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
1082         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
1083         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
1084         New.
1085         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
1086         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
1087         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
1088         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
1089         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
1090         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
1092 2012-10-15  Matthias Klose  <doko@ubuntu.com>
1094         * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
1095         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1096         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
1098 2012-10-15  Pavel Chupin  <pavel.v.chupin@intel.com>
1100         * Makefile.in: Regenerate.
1101         * acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
1102         * configure: Regenerate.
1103         * doc/Makefile.in: Regenerate.
1104         * include/Makefile.am: Regenerate.
1105         * include/Makefile.in: Rename variable.
1106         * libsupc++/Makefile.in: Regenerate.
1107         * po/Makefile.in: Regenerate.
1108         * python/Makefile.in: Regenerate.
1109         * src/Makefile.in: Regenerate.
1110         * src/c++11/Makefile.in: Regenerate.
1111         * src/c++98/Makefile.in: Regenerate.
1112         * testsuite/Makefile.in: Regenerate.
1114 2012-10-14  Jason Merrill  <jason@redhat.com>
1116         PR target/54908
1117         * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
1118         with get/setspecific.  Destroy the key on dlclose.
1120 2012-10-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
1122         * include/ext/random: Add __gnu_cxx::arcsine_distribution<>
1123         and __gnu_cxx::hoyt_distribution<> classes.
1124         * include/ext/random.tcc: Add out-of-line functions for
1125         __gnu_cxx::arcsine_distribution<> and __gnu_cxx::hoyt_distribution<>.
1126         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: New file.
1127         * testsuite/ext/random/hoyt_distribution/cons/default.cc: New file.
1128         * testsuite/ext/random/hoyt_distribution/requirements/
1129         explicit_instantiation/1.cc: New file.
1130         * testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc:
1131         New file.
1132         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: New file.
1133         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: New file.
1134         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
1135         New file.
1136         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: New file.
1137         * testsuite/ext/random/arcsine_distribution/cons/default.cc: New file.
1138         * testsuite/ext/random/arcsine_distribution/requirements/
1139         explicit_instantiation/1.cc: New file.
1140         * testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc:
1141         New file.
1142         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
1143         New file.
1144         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
1145         New file.
1146         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
1147         New file.
1149 2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
1151         * include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
1152         hacks thanks to the resolution of c++/51213.
1154 2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
1156         * testsuite/23_containers/bitset/45713.cc: Tweak.
1158 2012-10-11  Hans-Peter Nilsson  <hp@axis.com>
1160         PR testsuite/54897
1161         * testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
1162         cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
1164 2012-10-11  Daniel Krugler  <daniel.kruegler@gmail.com>
1166         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
1167         Update / extend.
1168         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
1169         Likewise.
1170         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
1171         Likewise.
1173 2012-10-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1175         PR libstdc++/54872
1176         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
1177         Don't export _ZNSt12system_errorC*.
1179 2012-10-10  Jack Howarth  <howarth@bromo.med.uc.edu>
1180             Jonathan Wakely  <jwakely.gcc@gmail.com>
1182         PR libstdc++/54847
1183         * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
1184         and _GLIBCXX_USE_SCHED_YIELD.
1185         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
1187 2012-10-10  Mark Kettenis  <kettenis@openbsd.org>
1189         * configure.host (*-*-openbsd*) Set cpu_include_dir.
1190         * config/os/bsd/openbsd/ctype_base.h: New file.
1191         * config/os/bsd/openbsd/ctype_configure_char.cc: New file.
1192         * config/os/bsd/openbsd/ctype_inline.h: New file.
1193         * config/os/bsd/openbsd/os_defines.h: New file.
1194         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
1195         for OpenBSD.
1196         * configure: Regenerated.
1198 2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
1200         * include/std/type_traits (__do_common_type_impl): Revert for now
1201         LWG 2141-related change.
1202         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
1203         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
1204         Adjust.
1206 2012-10-09  Daniel Krugler  <daniel.kruegler@gmail.com>
1208         * include/std/type_traits (common_type): Provide "SFINAE-friendly"
1209         implementation.
1210         (__success_type, __failure_type): Fix.
1211         * include/std/chrono (common_type): Likewise for the chrono::time_point
1212         specialization.
1213         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
1214         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
1215         Likewise.
1216         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
1217         Likewise.
1218         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
1219         LWG 2141.
1220         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
1221         dg-error line numbers.
1222         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1223         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1224         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1225         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1226         Likewise.
1227         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1229         * testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
1230         tweaks.
1231         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
1233 2012-10-09  Andrew MacLeod  <amacleod@redhat.com>
1235         PR libstdc++/54861
1236         * include/bits/atomic_base.h (atomic_signal_fence): Call
1237         __atomic_signal_fence instead of __atomic_thread_fence.
1239 2012-10-09  Benjamin Kosnik  <bkoz@redhat.com>
1241         * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
1242         Fix constant value.
1244 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
1246         PR libstdc++/54869
1247         * include/ext/random (simd_fast_mersenne_twister_engine): Provide
1248         only for little endian targets.
1249         * include/ext/random.tcc: Likewise.
1250         * config/cpu/i486/opt/ext/opt_random.h: Likewise.
1251         * testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
1252         * testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
1253         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1254         operators/equal.cc: Use the latter.
1255         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1256         operators/serialize.cc: Likewise.
1257         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1258         operators/inequal.cc: Likewise.
1259         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1260         cons/copy.cc: Likewise.
1261         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1262         cons/seed1.cc: Likewise.
1263         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1264         cons/seed2.cc: Likewise.
1265         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1266         cons/default.cc: Likewise.
1267         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
1268         cons/seed_seq.cc: Likewise.
1270 2012-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1272         PR libstdc++/54754
1273         * include/parallel/compatibility.h: Use atomic built-ins when they are
1274         lock-free.
1276 2012-10-09  Uros Bizjak  <ubizjak@gmail.com>
1278         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
1280 2012-10-08  Jason Merrill  <jason@redhat.com>
1282         * libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
1283         * libsupc++/atexit_thread.cc: New.
1284         * libsupc++/Makefile.am (nested_exception.lo): Add it.
1285         * config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
1287 2012-10-07  Matthias Klose  <doko@ubuntu.com>
1289         * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
1290         * testsuite/28_regex/algorithms/match/extended: Likewise.
1291         * testsuite/28_regex/algorithms/match: Likewise.
1293 2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
1295         PR c++/52764
1296         * include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
1297         __STDC_CONSTANT_MACROS related macros.
1299 2012-10-06  Joe Seymour  <jseymour@codesourcery.com>
1301         * include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
1303 2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>
1305         * testsuite/28_regex/algorithms/match: Rename to...
1306         * testsuite/28_regex/algorithms/regex_match: ...this.
1307         * testsuite/28_regex/basic_regex/regex.cc: Rename to...
1308         * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
1309         * testsuite/util/testsuite_regex.h: New.
1310         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
1312 2012-10-05  Jakub Jelinek  <jakub@redhat.com>
1314         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
1315         numbers.
1317 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
1319         PR libstdc++/54686
1320         * include/c_global/cstdlib (abs(long long)): Define with
1321         __builtin_llabs when we have long long.
1322         (abs(long)): Use __builtin_labs.
1323         (abs(__int128)): Define when we have __int128.
1325 2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
1327         * include/c_global/cstdlib: Remove redundant pasto code protected
1328         by __GXX_EXPERIMENTAL_CXX0X__.
1329         * include/c_global/cwctype: Likewise.
1330         * include/c_global/ccomplex: Remove uses of obsolete macro
1331         _GLIBCXX_INCLUDE_AS_TR1.
1332         * include/c_global/cfloat: Likewise.
1334 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
1336         PR libstdc++/54686
1337         * include/c_std/cstdlib (abs(long long)): Define with
1338         __builtin_llabs when we have long long.
1339         (abs(long)): Use __builtin_labs.
1340         (abs(__int128)): Define when we have __int128.
1341         * testsuite/26_numerics/headers/cstdlib/54686.c: New file.
1343 2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
1345         PR libstdc++/53248
1346         * include/std/array (__array_traits<>): Add.
1347         (array<>): Allow for zero-size arrays of non default-constructible
1348         elements.
1349         * testsuite/23_containers/array/requirements/
1350         non_default_constructible.cc: New.
1351         * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
1352         Adjust.
1353         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1354         dg-error line numbers.
1355         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1356         Likewise.
1358 2012-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1360         PR other/53889
1361         * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
1362         Use __gthread_recursive_mutex_destroy.
1363         (__recursive_mutex_base::_S_destroy): Remove.
1364         (__recursive_mutex_base::_S_destroy_win32): Likewise.
1365         * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
1366         Use __gthread_recursive_mutex_destroy.
1367         (__recursive_mutex::_S_destroy): Remove.
1368         (__recursive_mutex::_S_destroy_win32): Likewise.
1370 2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>
1372         * config/abi/pre/gnu-versioned-namespace.ver: Add more
1373         typeinfo/vtable exports.
1375 2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>
1377         PR libstdc++/54757
1378         * include/ext/random (rice_distribution<>::operator()): Use std::hypot
1379         only if _GLIBCXX_USE_C99_MATH_TR1.
1380         * include/ext/random.tcc (rice_distribution<>::__generate_impl):
1381         Likewise.
1383 2012-10-01  Daniel Krugler  <daniel.kruegler@gmail.com>
1385         * include/std/type_traits (result_of): Provide "SFINAE-friendly"
1386         (see N3436) implementation.
1387         * testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
1388         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
1389         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
1390         dg-error line numbers.
1391         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1392         Likewise.
1393         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1395 2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>
1397         * doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
1399 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
1401         * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
1402         declaration.
1403         * testsuite/ext/rope/5.cc: New.
1405 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
1407         PR libstdc++/54577
1408         * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
1409         sequence containers.
1410         * doc/html/*: Regenerate.
1412 2012-09-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1414         PR libstdc++/34106
1415         * include/parallel/compatibility.h: Remove non-GCC code.
1417 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1419         * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
1420         * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
1421         * src/Makefile.am: Same.
1422         * src/c++98/Makefile.am: Same.
1423         * src/c++11/Makefile.am: Same.
1424         * Makefile.in: Regenerated.
1425         * src/Makefile.am: Same.
1426         * src/c++11/Makefile.in: Same.
1427         * src/c++98/Makefile.in: Same.
1428         * include/Makefile.in: Same.
1429         * po/Makefile.in: Same.
1430         * python/Makefile.in: Same.
1431         * testsuite/Makefile.in: Same.
1433 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1435         * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
1437 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
1439         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
1440         * include/Makefile.am: Same.
1441         * src/c++98/Makefile.am: Same.
1442         * src/Makefile.am: Same.
1443         * Makefile.in: Regenerated.
1444         * aclocal.m4: Same.
1445         * configure: Same.
1446         * doc/Makefile.in: Same.
1447         * include/Makefile.in: Same.
1448         * libsupc++/Makefile.in: Same.
1449         * po/Makefile.in: Same.
1450         * python/Makefile.in: Same.
1451         * src/Makefile.in: Same.
1452         * testsuite/Makefile.in: Same.
1453         * src/c++11/Makefile.in: Same.
1454         * src/c++98/Makefile.in: Same.
1456         * src/c++98/compatibility-debug_list-2.cc: Update comments.
1457         * src/c++98/compatibility-debug_list.cc: Same.
1458         * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
1459         * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
1460         * src/c++98/compatibility-parallel_list-2.cc: Renamed to
1461         src/c++98/list_associated-2.cc.
1462         * src/c++98/compatibility-parallel_list.cc: Renamed to
1463         src/c++98/list_associated.cc.
1465 2012-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
1467         PR libstdc++/54727
1468         * config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
1470 2012-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
1472         * include/ext/random: Add include checks for c++11 and <cstdint>.
1474 2012-09-26  Benjamin Kosnik  <bkoz@redhat.com>
1476        PR libstdc++/54314
1477        * config/abi/pre/gnu.ver: Add vtable exports.
1478        * config/abi/pre/gnu-versioned-namespace.ver: Same.
1480 2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>
1482         PR libstdc++/53515
1483         * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
1484         _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
1486 2012-09-26  Ulrich Drepper  <drepper@gmail.com>
1488         Optimize bulk mode for normal_distribution<double> for SSE3.
1489         * configure.host: Define cpu_opt_bits_random.
1490         * configure.ac: Substitute CPU_OPT_BITS_RANDOM.
1491         * include/Makefile.am (bits_headers): Add ${bits_host_headers}.
1492         (bits_host_headers): Define.
1493         * include/bits/random.tcc: Move __details::_Power_of_2 to...
1494         * include/bits/random.h: ...here.
1495         * include/std/random: Include <bits/opt_random.h>.
1496         * config/cpu/i486/opt/bits/opt_random.h: New file.
1497         * config/cpu/generic/opt/bits/opt_random.h: New file.
1498         * configure: Regenerated.
1499         * Makefile.in: Regenerated.
1500         * aclocal.m4: Regenerated.
1501         * doc/Makefile.in: Regenerated.
1502         * include/Makefile.in: Regenerated.
1503         * libsupc++/Makefile.in: Regenerated.
1504         * po/Makefile.in: Regenerated.
1505         * python/Makefile.in: Regenerated.
1506         * src/Makefile.in: Regenerated.
1507         * src/c++11/Makefile.in: Regenerated.
1508         * src/c++98/Makefile.in: Regenerated.
1509         * testsuite/Makefile.in: Regenerated.
1511         * config/cpu/generic/opt/ext/opt_random.h: Fix comment.
1513 2012-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
1515         * doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.
1517 2012-09-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
1519         * include/ext/random: Add __gnu_cxx::k_distribution<> class.
1520         * include/ext/random.tcc: Add out-of-line functions for
1521         __gnu_cxx::k_distribution<>.
1522         * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
1523         * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
1524         * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
1525         * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
1526         * testsuite/ext/random/k_distribution/cons/default.cc: New file.
1527         * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
1528         New file.
1529         * testsuite/ext/random/k_distribution/requirements/
1530         explicit_instantiation/1.cc: New file.
1532 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
1534         PR libstdc++/44436
1535         * include/bits/stl_tree.h
1536         (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
1537         _Const_Base_ptr.
1538         (_Rb_tree<>::_M_insert_node): New.
1539         (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
1540         _M_insert_unique method.
1541         (_Rb_tree<>::_M_insert_unique): Use latter.
1542         (_Rb_tree<>::_M_emplace_unique): New, likewise.
1543         (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
1544         _M_insert_equal method.
1545         (_Rb_tree<>::_M_insert_equal): Use latter.
1546         (_Rb_tree<>::_M_emplace_equal): New, likewise.
1547         (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
1548         _M_insert_unique_ method.
1549         (_Rb_tree<>::_M_insert_unique_): Use latter.
1550         (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
1551         (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
1552         _M_insert_equal_ method.
1553         (_Rb_tree<>::_M_insert_equal_): Use latter.
1554         (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
1555         (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
1556         useless as always null.
1557         * include/bits/stl_map.h: Include <tuple> in C++11.
1558         (map<>::operator[](const key_type&)): Use
1559         _Rb_tree<>::_M_emplace_hint_unique in C++11.
1560         (map<>::operator[](key_type&&)): Likewise.
1561         (map<>::emplace): New.
1562         (map<>::emplace_hint): New.
1563         * include/bits/stl_multimap.h (multimap<>::emplace): New.
1564         (multimap<>::emplace_hint): New.
1565         * include/bits/stl_set.h (set<>::emplace): New.
1566         (set<>::emplace_hint): New.
1567         * include/bits/stl_multiset.h (multiset<>::emplace): New.
1568         (multiset<>::emplace_hint): New.
1569         * include/debug/map.h (std::__debug::map<>::emplace): New.
1570         (std::__debug::map<>::emplace_hint): New.
1571         * include/debug/multimap.h (std::__debug::multimap<>::emplace):
1572         New.
1573         (std::__debug::multimap<>::emplace_hint): New.
1574         * include/debug/set.h (std::__debug::set<>::emplace): New.
1575         (std::__debug::set<>::emplace_hint): New.
1576         * include/debug/multiset.h (std::__debug::multiset<>::emplace):
1577         New.
1578         (std::__debug::multiset<>::emplace_hint): New.
1579         * include/profile/map.h (std::__profile::map<>::emplace): New.
1580         (std::__profile::map<>::emplace_hint): New.
1581         * include/profile/multimap.h (std::__profile::multimap<>::emplace):
1582         New.
1583         (std::__profile::multimap<>::emplace_hint): New.
1584         * include/profile/set.h (std::__profile::set<>::emplace): New.
1585         (std::__profile::set<>::emplace_hint): New.
1586         * include/profile/multiset.h (std::__profile::multiset<>::emplace):
1587         New.
1588         (std::__profile::multiset<>::emplace_hint): New.
1589         * testsuite/util/testsuite_container_traits.h: Signal that emplace
1590         and emplace_hint are available on std::map, std::multimap,
1591         std::set and std::multiset in C++11.
1592         * testsuite/23_containers/map/operators/2.cc: New.
1593         * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
1594         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
1595         * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
1596         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
1598 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
1600         * testsuite/performance/23_containers/insert_erase/41975.cc: Use
1601         __uset_hashtable rather than removed __unordered_set.
1603 2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1605         Revert:
1606         2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1608         * include/bits/stl_algobase.h (max, min): Use conditional operator.
1610 2012-09-23  Uros Bizjak  <ubizjak@gmail.com>
1612         PR libstdc++/54675
1613         * include/ext/random: Avoid the badname __alpha (and, for
1614         consistency, __mu, __nu, __sigma and __omega too).
1615         * include/bits/random.tcc: Likewise.
1617 2012-09-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
1619         * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
1620         * include/ext/random.tcc: Add out-of-line functions for
1621         __gnu_cxx::pareto_distribution<>.
1622         * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
1623         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
1624         New file.
1625         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
1626         New file.
1627         * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
1628         * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
1629         * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
1630         New file.
1631         * testsuite/ext/random/pareto_distribution/requirements/
1632         explicit_instantiation/1.cc: New file.
1634 2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1636         * include/bits/stl_algobase.h (max, min): Use conditional operator.
1638 2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>
1640         PR libstdc++/28811
1641         PR libstdc++/54482
1642         * configure.ac (glibcxx_lt_pic_flag,
1643         glibcxx_compiler_pic_flag,
1644         glibcxx_compiler_shared_flag): New. Use them.
1645         (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
1646         (pic_mode): Set to default.
1647         (PIC_CXXFLAGS): Remove.
1648         * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
1649         * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
1650         glibcxx_compiler_shared_flag. Comment.
1651         * src/c++11/Makefile.am: Same.
1652         * src/c++98/Makefile.am: Same.
1653         * src/Makefile.am: Use glibcxx_compiler_pic_flag.
1655         * Makefile.in: Regenerated.
1656         * aclocal.m4: Same.
1657         * configure: Same.
1658         * doc/Makefile.in: Same.
1659         * include/Makefile.in: Same.
1660         * libsupc++/Makefile.in: Same.
1661         * po/Makefile.in: Same.
1662         * python/Makefile.in: Same.
1663         * src/Makefile.in: Same.
1664         * src/c++11/Makefile.in: Same.
1665         * src/c++98/Makefile.in: Same.
1666         * testsuite/Makefile.in: Same.
1668         * src/c++11/compatibility-atomic-c++0x.cc: Use
1669         _GLIBCXX_SHARED instead of PIC to designate shared-only
1670         code blocks.
1671         * src/c++11/compatibility-c++0x.cc: Same.
1672         * src/c++11/compatibility-thread-c++0x.cc: Same.
1673         * src/c++98/compatibility-list-2.cc: Same.
1674         * src/c++98/compatibility.cc: : Same.
1676         * testsuite/17_intro/shared_with_static_deps.cc: New.
1678         * doc/xml/manual/build_hacking.xml: Separate configure from
1679         make/build issues, add build details.
1681 2012-09-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
1683         * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
1684         * include/ext/random.tcc: Add out-of-line functions for
1685         __gnu_cxx::nakagami_distribution<>.
1686         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
1687         New file.
1688         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
1689         New file.
1690         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
1691         New file.
1692         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
1693         * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
1694         * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
1695         New file.
1696         * testsuite/ext/random/nakagami_distribution/requirements/
1697         explicit_instantiation/1.cc: New file.
1699 2012-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1701         PR libstdc++/54612
1702         * include/ext/random.tcc (operator==
1703         (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
1704         const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
1705         state_size use.
1706         * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
1708 2012-09-17  Ulrich Drepper  <drepper@gmail.com>
1710         * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
1711         * configure.host: Define cpu_opt_ext_random to location of the
1712         optimized version of <ext/random>.
1713         * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
1714         (ext_host_headers): Define.
1715         * include/ext/random (simd_fast_mersenne_twister_engine<>
1716         ::operator==): Don't define function here.
1717         * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
1718         define code using SSE2 here.  Define generic code only if
1719         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
1720         (simd_fast_mersenne_twister_engine<>
1721         ::operator==): Define here if
1722         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
1723         * config/cpu/generic/opt/ext/opt_random.h: New file.
1724         * config/cpu/i486/opt/ext/opt_random.h: New file.
1725         * libsupc++/Makefile.in: Regenerated.
1726         * testsuite/Makefile.in: Regenerated.
1727         * po/Makefile.in: Regenerated.
1728         * configure: Regenerated.
1729         * Makefile.in: Regenerated.
1730         * doc/Makefile.in: Regenerated.
1731         * aclocal.m4: Regenerated.
1732         * python/Makefile.in: Regenerated.
1733         * include/Makefile.in: Regenerated.
1734         * src/c++98/Makefile.in: Regenerated.
1735         * src/c++11/Makefile.in: Regenerated.
1736         * src/Makefile.in: Regenerated.
1738 2012-09-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
1740         * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
1741         ::__generate_impl): Remove bogus _Adaptor usage.
1743 2012-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1745         * include/ext/random (rice_distribution<>::operator==): Change
1746         inline friend definition to non-template.
1747         * testsuite/ext/random/rice_distribution/requirements/
1748         explicit_instantiation/1.cc: New.
1750         * testsuite/26_numerics/random/normal_mv_distribution: Move...
1751         * testsuite/ext/random/normal_mv_distribution: ... here.
1752         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
1753         Move...
1754         * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
1755         * testsuite/26_numerics/random/beta_distribution: Move...
1756         * testsuite/ext/random/beta_distribution: ... here.
1757         * testsuite/26_numerics/random/rice_distribution: Move...
1758         * testsuite/ext/random/rice_distribution: ... here.
1760 2012-09-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
1762         * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
1763         * include/ext/random.tcc: Add out-of-line functions for
1764         __gnu_cxx::rice_distribution<>.
1765         * testsuite/26_numerics/random/rice_distribution/
1766         operators/equal.cc: New file.
1767         * testsuite/26_numerics/random/rice_distribution/
1768         operators/serialize.cc: New file.
1769         * testsuite/26_numerics/random/rice_distribution/
1770         operators/inequal.cc: New file.
1771         * testsuite/26_numerics/random/rice_distribution/
1772         cons/parms.cc: New file.
1773         * testsuite/26_numerics/random/rice_distribution/
1774         cons/default.cc: New file.
1775         * testsuite/26_numerics/random/rice_distribution/
1776         requirements/typedefs.cc: New file.
1778 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
1780         * configure: Regenerated.
1782 2012-09-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1783             H.J. Lu  <hongjiu.lu@intel.com>
1785         PR libstdc++/54576
1786         * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
1788 2012-09-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1790         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
1791         * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
1792         * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
1793         * configure: Regenerate.
1794         * Makefile.in: Regenerate.
1795         * doc/Makefile.in: Regenerate.
1796         * include/Makefile.in: Regenerate.
1797         * libsupc++/Makefile.in: Regenerate.
1798         * po/Makefile.in: Regenerate.
1799         * python/Makefile.in: Regenerate.
1800         * src/Makefile.in: Regenerate.
1801         * src/c++11/Makefile.in: Regenerate.
1802         * src/c++98/Makefile.in: Regenerate.
1803         * testsuite/Makefile.in: Regenerate.
1805 2012-09-11  Jakub Jelinek  <jakub@redhat.com>
1807         PR libstdc++/54172
1808         * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
1809         argument of the first __atomic_compare_exchange_n.
1811 2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1812             Jonathan Wakely  <jwakely.gcc@gmail.com>
1814         PR libstdc++/43852
1815         * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
1816         * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
1817         * config.h.in: Regenerate.
1818         * configure: Likewise.
1819         * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
1820         * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
1821         * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
1822         * doc/html/manual/configure.html: Regenerate.
1824 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1826         PR bootstrap/54419
1827         * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
1828         * configure: Regenerated.
1830 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1832         PR libstdc++/54388
1833         * include/std/array (array::at() const): Ensure lvalue result.
1834         * testsuite/23_containers/array/element_access/54388.cc: New.
1835         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
1836         dg-error line numbers.
1837         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1838         Likewise.
1840 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
1841             Dominique d'Humieres  <dominiq@lps.ens.fr>
1842             Jack Howarth  <howarth@bromo.med.uc.edu>
1844         PR bootstrap/54419
1845         * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
1846         * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
1847         support in assembler.
1848         * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
1849         (random_device::_M_init): Likewise.
1850         (random_device::_M_getval): Likewise.
1851         * configure: Regenerated.
1852         * config.h.in: Regenerated.
1854 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
1856         * src/c++11/random.cc (random_device::_M_init): Use new macro
1857         signature_INTEL_ebx to check for Intel processors.
1859 2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>
1861         PR libstdc++/54172
1862         * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
1863         we detect that another thread has had success. Don't compare_exchange
1864         from a finished state back to a waiting state. Comment.
1866 2012-09-05  François Dumont  <fdumont@gcc.gnu.org>
1868         PR libstdc++/54296
1869         * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
1870         __node_type*)): New.
1871         (erase(const_iterator)): Use latter.
1872         (_M_erase(std::true_type, const key_type&)): New, likewise.
1873         (_M_erase(std::false_type, const key_type&)): New. Find all nodes
1874         matching the key before deallocating them so that the key doesn't
1875         get invalidated.
1876         (erase(const key_type&)): Use the new member functions.
1877         * testsuite/23_containers/unordered_map/erase/54296.cc: New.
1878         * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
1880 2012-09-05  Ulrich Drepper  <drepper@gmail.com>
1882         * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
1883         instruction is available by using __get_cpuid_max.
1885         * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
1886         (operator()): Use __generate() function of _M_nd.
1888         * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
1889         * include/ext/random.tccAdd out-of-line functions for
1890         __gnu_cxx::normal_mv_distribution<>.
1891         * testsuite/26_numerics/random/normal_mv_distribution/
1892         operators/equal.cc: New file.
1893         * testsuite/26_numerics/random/normal_mv_distribution/
1894         operators/serialize.cc: New file.
1895         * testsuite/26_numerics/random/normal_mv_distribution/
1896         operators/inequal.cc: New file.
1897         * testsuite/26_numerics/random/normal_mv_distribution/
1898         cons/default.cc: New file.
1899         * testsuite/26_numerics/random/normal_mv_distribution/
1900         cons/parms.cc: New file.
1901         * testsuite/26_numerics/random/normal_mv_distribution/
1902         requirements/explicit_instantiation/1.cc: New file.
1903         * testsuite/26_numerics/random/normal_mv_distribution/
1904         requirements/typedefs.cc: New file.
1906 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
1908         * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
1909         * include/ext/random.tcc: Add out-of-line functions for
1910         __gnu_cxx::beta_distribution<>.
1911         * testsuite/26_numerics/random/beta_distribution/
1912         operators/equal.cc: New file.
1913         * testsuite/26_numerics/random/beta_distribution/
1914         operators/serialize.cc: New file.
1915         * testsuite/26_numerics/random/beta_distribution/
1916         operators/inequal.cc: New file.
1917         * testsuite/26_numerics/random/beta_distribution/
1918         cons/parms.cc: New file.
1919         * testsuite/26_numerics/random/beta_distribution/
1920         cons/default.cc: New file.
1921         * testsuite/26_numerics/random/beta_distribution/
1922         requirements/typedefs.cc: New file.
1923         * testsuite/26_numerics/random/beta_distribution/
1924         requirements/explicit_instantiation/1.cc: New file.
1926 2012-09-04  Steven Bosscher  <steven@gcc.gnu.org>
1928         PR bootstrap/54453
1929         * include/Makefile.am: Fix regex.
1930         * include/Makefile.in: Regenerate.
1932 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1934         PR libstdc++/54005 continued
1935         * include/std/atomic: Use __atomic_lock_free with NULL.
1936         * include/bits/atomic_base.h: Same.
1938 2012-08-30  Ulrich Drepper  <drepper@gmail.com>
1940         * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
1941         Remove 'return' from constructor.
1943 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1945         * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
1947 2012-08-29  Ulrich Drepper  <drepper@gmail.com>
1949         * include/bits/random.h (random_device): Move implementation to...
1950         * src/c++11/random.cc: ...here.  New file.
1951         * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
1952         std::random_device::* symbols.
1953         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
1954         * src/c++11/Makefile.am (sources): Add random.cc.
1955         * src/c++11/Makefile.in: Regenerated.
1957         Add simd_fast_mersenne_twister_engine class.
1958         * include/ext/random: New file.
1959         * include/ext/random.tcc: New file.
1960         * include/Makefile.am (ext_headers): Add random and random.tcc.
1961         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1962         operators/inequal.cc: New file.
1963         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1964         operators/equal.cc: New file.
1965         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1966         operators/serialize.cc: New file.
1967         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1968         cons/seed2.cc: New file.
1969         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1970         cons/default.cc: New file.
1971         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1972         cons/seed_seq.cc: New file.
1973         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1974         cons/copy.cc: New file.
1975         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1976         cons/seed1.cc: New file.
1978 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1980         PR libstdc++/54102, part 2
1981         * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
1982         * doc/Makefile.in: Regenerate.
1983         * doc/html/*: Same.
1985 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1987         * doc/html/*: Regenerate.
1989 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1991         PR libstdc++/54102
1992         * doc/xsl/customization.xsl.in: New.
1993         * configure.ac: Output local copy of customization xsl.
1994         * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
1995         (stamp-html-docbook): Set stringparam to UTF-8.
1996         * Makefile.in: Regenerated.
1997         * configure: Same.
1998         * doc/Makefile.in: Same.
2000 2012-08-27  Ulrich Drepper  <drepper@gmail.com>
2002         Add interfaces to retrieve random numbers in bulk.
2003         * include/bits/random.h (uniform_int_distribution<>): Add __generate
2004         and __generate_impl functions.
2005         (uniform_real_distribution<>): Likewise.
2006         (bernoulli_distribution): Likewise.
2007         (geometric_distribution<>): Likewise.
2008         (negative_binomial_distribution<>): Likewise.
2009         (poisson_distribution<>): Likewise.
2010         (exponential_distribution<>): Likewise.
2011         (normal_distribution<>): Likewise.
2012         (lognormal_distribution<>): Likewise.
2013         (chi_squared_distribution<>): Likewise.
2014         (cauchy_distribution<>): Likewise.
2015         (fisher_f_distribution<>): Likewise.
2016         (student_t_distribution<>): Likewise.
2017         (gamma_distribution<>): Likewise.
2018         (weibull_distribution<>): Likewise.
2019         (extreme_value_distribution<>): Likewise.
2020         (discrete_distribution<>): Likewise.
2021         (piecewise_constant_distribution<>): Likewise.
2022         (piecewise_linear_distribution<>): Likewise.
2023         * include/bits/random.tcc (__detail::_Power_of_2): New function.
2024         (uniform_int_distribution<>::__generate_impl): New function.
2025         (uniform_real_distribution<>::__generate_impl): New function.
2026         (bernoulli_distribution::__generate_impl): New function.
2027         (geometric_distribution<>::__generate_impl): New function.
2028         (negative_binomial_distribution<>::__generate_impl): New function.
2029         (poisson_distribution<>::__generate_impl): New function.
2030         (exponential_distribution<>::__generate_impl): New function.
2031         (normal_distribution<>::__generate_impl): New function.
2032         (lognormal_distribution<>::__generate_impl): New function.
2033         (chi_squared_distribution<>::__generate_impl): New function.
2034         (cauchy_distribution<>::__generate_impl): New function.
2035         (fisher_f_distribution<>::__generate_impl): New function.
2036         (student_t_distribution<>::__generate_impl): New function.
2037         (gamma_distribution<>::__generate_impl): New function.
2038         (weibull_distribution<>::__generate_impl): New function.
2039         (extreme_value_distribution<>::__generate_impl): New function.
2040         (discrete_distribution<>::__generate_impl): New function.
2041         (piecewise_constant_distribution<>::__generate_impl): New function.
2042         (piecewise_linear_distribution<>::__generate_impl): New function.
2044 2012-08-22  Ulrich Drepper  <drepper@gmail.com>
2046         * include/bits/random.h (mersenne_twister_engine): Don't inline
2047         discard here.  New member function _M_gen_rand.
2048         * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
2049         New function.  Extracted from operator().
2050         (mersenne_twister_engine<>::discard): New implementation which
2051         skips in large steps.
2052         (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
2054 2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
2055             Paolo Carlini  <paolo.carlini@oracle.com>
2057         PR libstdc++/54376
2058         * include/bits/random.h (lognormal_distribution<>::operator==,
2059         gamma_distribution<>::operator==,
2060         chi_squared_distribution<>::operator==,
2061         fisher_f_distribution<>::operator==,
2062         student_t_distribution<>::operator==,
2063         binomial_distribution<>::operator==,
2064         negative_binomial_distribution<>::operator==,
2065         poisson_distribution<>::operator==): Change inline friend definition
2066         to non-template.
2067         * testsuite/26_numerics/random/binomial_distribution/requirements/
2068         explicit_instantiation/1.cc: New.
2069         * testsuite/26_numerics/random/cauchy_distribution/requirements/
2070         explicit_instantiation/1.cc: Likewise.
2071         * testsuite/26_numerics/random/chi_squared_distribution/
2072         requirements/explicit_instantiation/1.cc: Likewise.
2073         * testsuite/26_numerics/random/discrete_distribution/requirements/
2074         explicit_instantiation/1.cc: Likewise.
2075         * testsuite/26_numerics/random/exponential_distribution/
2076         requirements/explicit_instantiation/1.cc: Likewise.
2077         * testsuite/26_numerics/random/extreme_value_distribution/
2078         requirements/explicit_instantiation/1.cc: Likewise.
2079         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
2080         explicit_instantiation/1.cc: Likewise.
2081         * testsuite/26_numerics/random/gamma_distribution/requirements/
2082         explicit_instantiation/1.cc: Likewise.
2083         * testsuite/26_numerics/random/geometric_distribution/requirements/
2084         explicit_instantiation/1.cc: Likewise.
2085         * testsuite/26_numerics/random/lognormal_distribution/requirements/
2086         explicit_instantiation/1.cc: Likewise.
2087         * testsuite/26_numerics/random/negative_binomial_distribution/
2088         requirements/explicit_instantiation/1.cc: Likewise.
2089         * testsuite/26_numerics/random/normal_distribution/requirements/
2090         explicit_instantiation/1.cc: Likewise.
2091         * testsuite/26_numerics/random/piecewise_constant_distribution/
2092         requirements/explicit_instantiation/1.cc: Likewise.
2093         * testsuite/26_numerics/random/piecewise_linear_distribution/
2094         requirements/explicit_instantiation/1.cc: Likewise.
2095         * testsuite/26_numerics/random/poisson_distribution/requirements/
2096         explicit_instantiation/1.cc: Likewise.
2097         * testsuite/26_numerics/random/student_t_distribution/requirements/
2098         explicit_instantiation/1.cc: Likewise.
2099         * testsuite/26_numerics/random/uniform_int_distribution/
2100         requirements/explicit_instantiation/1.cc: Likewise.
2101         * testsuite/26_numerics/random/uniform_real_distribution/
2102         requirements/explicit_instantiation/1.cc: Likewise.
2103         * testsuite/26_numerics/random/weibull_distribution/requirements/
2104         explicit_instantiation/1.cc: Likewise.
2106 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2108         * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
2110 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2112         PR libstdc++/54297
2113         * src/c++11/future.cc (~_Async_state_common): Move to...
2114         * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
2115         Here.
2116         (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
2117         * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
2119 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2120             Geoff Romer  <gromer@google.com>
2122         PR libstdc++/54351
2123         * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
2124         reset().
2125         (unique_ptr<T[]>::~unique_ptr()): Likewise.
2126         * testsuite/20_util/unique_ptr/54351.cc: New.
2127         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
2128         line numbers.
2130 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2132         PR libstdc++/54297
2133         * include/std/future (~_Async_state_impl): Join thread before
2134         derived class members are destroyed.
2135         (~_Async_state_common): Only define non-trivial destructor when
2136         included from future.cc for ABI compatibility reasons.
2137         * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
2138         * testsuite/30_threads/async/54297.cc: New.
2140 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2142         PR libstdc++/54248
2143         * include/bits/concept_check.h: Replace references to boost
2144         namespace.
2146 2012-08-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
2148         PR libstdc++/54354
2149         * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
2150         * doc/html/*: Regenerate.
2152 2012-08-15  Tom Tromey  <tromey@redhat.com>
2154         * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
2155         New.
2156         (global): New global.
2157         (main): Add test for unique_ptr.
2158         * python/libstdcxx/v6/printers.py
2159         (UniquePointerPrinter.to_string): Extract the pointer and also
2160         print its type.
2162 2012-08-13  David Adler  <d.adler.s@gmail.com>
2164         PR libstdc++/54185
2165         * src/c++11/condition_variable.cc (condition_variable): Always
2166         destroy native type in destructor.
2167         * testsuite/30_threads/condition_variable/54185.cc: New.
2169 2012-08-13  François Dumont  <fdumont@gcc.gnu.org>
2170             Ollie Wild  <aaw@google.com>
2172         * include/bits/hashtable.h
2173         (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
2174         (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
2175         (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
2176         (_Hashtable<>::_M_insert_bucket): Replace by ...
2177         (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
2178         ... this, new.
2179         (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
2180         (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
2181         * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
2182         latter, emplace the value_type rather than insert.
2183         * include/std/unordered_map: Include tuple.
2184         * include/std/unordered_set: Likewise.
2185         * testsuite/util/testsuite_counter_type.h: New.
2186         * testsuite/23_containers/unordered_map/operators/2.cc: New.
2188 2012-08-13  Marc Glisse  <marc.glisse@inria.fr>
2190         PR libstdc++/54112
2191         * include/c_compatibility/complex.h: Undefine complex, always
2192         include system's complex.h if present.
2193         * testsuite/26_numerics/complex/c99.cc: New testcase.
2194         * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
2195         * doc/xml/manual/numerics.xml: Document it.
2197 2012-08-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
2199         PR libstdc++/52681
2200         * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
2201         when threads are not enabled.
2203 2012-08-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2205         * acinclude.m4: Update references to final C++11 standard.
2206         * include/bits/shared_ptr.h: Likewise.
2207         * include/bits/shared_ptr_base.h: Likewise.
2208         * include/bits/unique_ptr.h: Likewise.
2209         * include/std/chrono: Likewise.
2210         * include/std/thread: Likewise.
2212 2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>
2214         PR libstdc++/54005
2215         * include/std/atomic: Use __atomic_always_lock_free.
2216         * include/bits/atomic_base.h: Same.
2218 2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2220         * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
2221         tweaks.
2222         * testsuite/decimal/unary-arith.cc: Likewise.
2223         * testsuite/decimal/ctor.cc: Likewise.
2224         * testsuite/decimal/conversion-to-integral.cc: Likewise.
2225         * testsuite/decimal/make-decimal.cc: Likewise.
2226         * testsuite/decimal/comparison.cc: Likewise.
2227         * testsuite/decimal/incdec-memfunc.cc: Likewise.
2228         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
2229         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
2230         * testsuite/decimal/cast_neg.cc: Likewise.
2231         * testsuite/decimal/incdec.cc: Likewise.
2232         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
2233         * testsuite/decimal/binary-arith.cc: Likewise.
2234         * testsuite/decimal/conversion-from-float.cc: Likewise.
2235         * testsuite/decimal/conversion-from-integral.cc: Likewise.
2236         * testsuite/decimal/compound-assignment.cc: Likewise.
2238 2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
2240         PR libstdc++/54036
2241         * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
2242         a unary operator.
2243         * testsuite/decimal/pr54036-1.cc: New test.
2244         * testsuite/decimal/pr54036-2.cc: Likewise.
2245         * testsuite/decimal/pr54036-3.cc: Likewise.
2247 2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
2249         Revert:
2250         2012-08-03  Ollie Wild  <aaw@google.com>
2251                     Richard Smith  <richardsmith@google.com>
2253         * include/bits/stl_map.h (operator[](key_type&&)): Replace
2254         std::make_pair with value_type.
2255         * testsuite/23_containers/map/operators/2.cc: New test.
2257 2012-08-03  François Dumont  <fdumont@gcc.gnu.org>
2259         * include/debug/functions.h (__check_partition_lower_aux): Remove
2260         redundant comparison with pivot value.
2261         (__check_partition_upper_aux): Likewise.
2263 2012-08-03  Ollie Wild  <aaw@google.com>
2264             Richard Smith  <richardsmith@google.com>
2266         * include/bits/stl_map.h (operator[](key_type&&)): Replace
2267         std::make_pair with value_type.
2268         * testsuite/23_containers/map/operators/2.cc: New test.
2270 2012-08-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2272         * include/std/memory: Include auto_ptr.h later.
2273         * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
2274         definition.
2275         * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
2276         Likewise.
2277         * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
2278         * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
2279         (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
2280         * include/std/future: Reduce header dependencies.
2281         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
2282         numbers.
2283         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
2284         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2286 2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
2288         * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
2289         order of closures.
2290         (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
2292 2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
2294         PR libstdc++/54075
2295         * include/bits/hashtable_policy.h
2296         (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
2297         to boost growth in the number of buckets.
2298         * testsuite/performance/23_containers/insert/unordered_set.cc: New.
2300 2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
2302         PR libstdc++/54075
2303         * include/bits/hashtable.h
2304         (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
2305         size_type, ...): Remove std::max usage to guarantee that hashtable
2306         state is consistent with hash policy state.
2307         (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
2308         the hashtable shrinking on next insertion.
2309         * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
2310         * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
2311         * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
2312         * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
2314 2012-07-20  Chip Salzenberg  <chip@pobox.com>
2315             Jonathan Wakely  <jwakely.gcc@gmail.com>
2317         PR libstdc++/54025
2318         * include/std/chrono (duration<>::duration): Fix per C++11.
2319         * testsuite/20_util/duration/cons/54025.cc: New.
2320         * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
2322 2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
2324         * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
2326 2012-07-19  Tristan Gingold  <gingold@adacore.com>
2327             Richard Henderson  <rth@redhat.com>
2329         * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
2330         Adjust for SEH.
2331         * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
2333 2012-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2335         PR c++/51213
2336         * testsuite/20_util/pair/noncopyable.cc: New.
2338 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2340         PR libstdc++/53270
2341         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
2342         NSDMI in C++98 mode too.
2343         * include/ext/rope: Add system_header pragma.
2344         (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
2345         (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
2347 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2349         PR libstdc++/53978
2350         * include/bits/alloc_traits.h (allocator_traits): Define static
2351         constants.
2352         * include/bits/ptr_traits.h (pointer_traits): Likewise.
2353         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2354         Likewise.
2356 2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
2358         PR libstdc++/53657
2359         * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
2360         per C++11.
2361         * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
2362         (const_iterator, _Pair&&)): Constrain with std::is_constructible,
2363         per LWG2005.
2364         * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
2365         multimap<>::insert(const_iterator, _Pair&&)): Likewise.
2366         * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
2367         _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
2368         * include/debug/unordered_map: Adjust.
2369         * include/debug/map.h: Likewise.
2370         * include/debug/multimap.h: Likewise.
2371         * include/profile/unordered_map: Likewise.
2372         * include/profile/map.h: Likewise.
2373         * include/profile/multimap.h: Likewise.
2375 2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
2377         PR libstdc++/53872
2378         * include/std/thread (thread::_M_make_routine): Qualify make_shared
2379         to prevent ADL.
2380         * testsuite/30_threads/thread/adl.cc: New.
2382 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2384         * include/std/condition_variable: Update copyright years.
2386 2012-07-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2388         PR libstdc++/53830
2389         * include/std/condition_variable (condition_variable_any::wait):
2390         Move _Unlock type to class scope.
2391         (condition_variable_any::wait_until): Reuse it.
2392         * testsuite/30_threads/condition_variable_any/53830.cc: New.
2394 2012-07-04  Matthias Klose  <doko@ubuntu.com>
2396         * testsuite/28_regex/headers/04_header: Remove empty directory.
2397         * testsuite/28_regex/algorithms/02_match: Likewise.
2399 2012-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2401         PR libstdc++/53840
2402         * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
2403         ratio_subtract): Use template aliases.
2404         * include/std/chrono (duration<>::duration(const duration<>&),
2405         duration_cast): Adjust.
2406         * testsuite/20_util/ratio/operations/53840.cc: New.
2407         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
2408         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2409         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2410         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
2412 2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
2414         Revert:
2415         2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
2417         PR libstdc++/49561
2418         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
2419         Add in C++0x mode.
2420         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
2421         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
2422         list<>::size, list<>::swap, list<>::splice): Use it.
2423         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
2424         * include/bits/list.tcc (list<>::erase): Likewise.
2425         (list<>::merge): Adjust in C++0x mode.
2426         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2427         Adjust dg-error line number.
2428         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2429         Likewise.
2430         * testsuite/23_containers/list/requirements/dr438/
2431         constructor_1_neg.cc: Likewise.
2432         * testsuite/23_containers/list/requirements/dr438/
2433         constructor_2_neg.cc: Likewise.
2435 2012-06-27  Benjamin Kosnik  <bkoz@redhat.com>
2437         * include/bits/c++config: Remove __regex nested namespace.
2438         * include/bits/regex_compiler.h: Change __regex to
2439         __detail. Adjust doxygen markup, add regex-details group.
2440         * include/bits/regex_constants.h: Same.
2441         * include/bits/regex_cursor.h: Same.
2442         * include/bits/regex_error.h: Same.
2443         * include/bits/regex_grep_matcher.h: Same.
2444         * include/bits/regex_grep_matcher.tcc: Same.
2445         * include/bits/regex_nfa.h: Same.
2446         * include/bits/regex_nfa.tcc: Same.
2447         * include/bits/regex.h: Same. Remove static from global constants.
2449         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
2451         * include/bits/locale_classes.tcc: Add use_facet, has_facet to
2452         locales group.
2454 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
2456         * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
2457         Add noexcept.
2459 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
2461         * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
2462         Add noexcept.
2464 2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>
2466         * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
2468 2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2470         * testsuite/28_regex/algorithms/02_match: To...
2471         * testsuite/28_regex/algorithms/match: ...this.
2472         * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
2473         duplicate.
2475 2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
2476             Jonathan Wakely  <jwakely.gcc@gmail.com>
2478         PR libstdc++/53678
2479         * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
2480         * testsuite/22_locale/ctype_base/53678.cc: New.
2482 2012-06-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
2484         PR libstdc++/53578
2485         * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
2486         narrowing conversion.
2487         * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
2489 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2491         PR libstdc++/53270
2492         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
2493         NSDMI in C++11 mode.
2494         * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
2495         destructor when initialized by function.
2497 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2499         PR libstdc++/53648
2500         * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
2501         * testsuite/20_util/tuple/53648.cc: New.
2502         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
2503         number.
2505 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2507         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
2509 2012-06-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2511         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
2513 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
2515         PR libstdc++/53543
2516         * include/bits/hashtable_policy.h (_Insert::__is_convertible):
2517         Rename to __is_conv to avoid clash with clang built-in.
2519 2012-05-29  François Dumont  <fdumont@gcc.gnu.org>
2521         * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
2522         (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
2523         with iterator returning rvalue.
2524         * testsuite/25_algorithms/stable_sort/3.cc: New.
2526 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
2528         PR c++/53503
2529         * testsuite/26_numerics/headers/cmath/53503.cc: New.
2531 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
2533         PR c++/53322
2534         * include/bits/stl_algobase.h (lower_bound)
2535         (lexicographical_compare): Do not declare unused local typedefs
2536         here when Concepts are turned off.
2538 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
2540         * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
2541         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
2542         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2543         * Likewise.
2544         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
2545         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
2546         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
2547         * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
2548         * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
2549         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
2550         * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
2551         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
2552         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
2553         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
2554         * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
2555         * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
2556         * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
2557         * Likewise.
2558         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
2560 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
2562         PR c++/53361
2563         * testsuite/23_containers/array/cons/53361.cc: New.
2565 2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
2567         PR c++/44516
2568         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
2569         dg-error line number.
2571 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
2573         * configure: Regenerated.
2575 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
2577         PR libstdc++/53339
2578         * include/bits/hashtable_policy.h (__detail::_Identity,
2579         __detail::_Select1st): Add.
2580         (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
2581         * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
2582         * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
2583         Likewise.
2584         * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
2585         Likewise.
2586         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
2587         Unconditionally derive from unary_function.
2588         * include/ext/functional (identity, select1st, select2nd): Remove
2589         #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
2590         * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
2591         * testsuite/23_containers/unordered_multimap/requirements/
2592         53339.cc: Likewise.
2594 2012-05-11  François Dumont  <fdumont@gcc.gnu.org>
2596         PR libstdc++/53263
2597         * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
2598         * include/debug/functions.h: ... Here.
2599         (__check_sorted_aux): Add overload for random access safe
2600         iterators.
2601         (__check_partition_lower_aux): New.
2602         (__check_partition_lower): Use latter.
2603         (__check_partition_upper_aux): New.
2604         (__check_partition_upper): Use latter.
2605         * include/debug/macros.h (__glibcxx_check_heap)
2606         (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
2608 2012-05-10  DJ Delorie  <dj@redhat.com>
2610         * include/bits/random.tcc (seed_seq::generate): Cast max()
2611         operands to size_t to ensure a template match.
2612         * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
2613         size_t to ensure a template match.
2615 2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>
2617         * scripts/testsuite_flags.in (cxxflags): Remove
2618         -ftrack-macro-expansion=0.
2620 2012-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2622         * doc/xml/faq.xml: Update outdated allocator documentation.
2623         * doc/xml/manual/allocator.xml: Likewise.
2624         * doc/xml/manual/debug.xml: Likewise.
2625         * doc/xml/manual/evolution.xml: Likewise.
2626         * doc/xml/manual/using.xml: Likewise.
2628 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
2630         PR libstdc++/44015
2631         * include/bits/basic_ios.h: Add tparam markup for
2632         * doxygen.  include/bits/basic_string.h: Same.
2633         * include/bits/forward_list.h: Same.
2634         * include/bits/stl_bvector.h: Same.
2635         * include/bits/stl_deque.h: Same.
2636         * include/bits/stl_list.h: Same.  include/bits/stl_map.h:
2637         * Same.  include/bits/stl_multimap.h: Same.
2638         * include/bits/stl_multiset.h: Same.
2639         * include/bits/stl_pair.h: Same.
2640         * include/bits/stl_queue.h: Same.
2641         * include/bits/stl_set.h: Same.
2642         * include/bits/stl_stack.h: Same.
2643         * include/bits/stl_vector.h: Same.
2644         * include/bits/unordered_map.h: Same.
2645         * include/bits/unordered_set.h: Same.  include/std/array:
2646         * Same.  include/std/atomic: Same.  include/std/fstream:
2647         * Same.  include/std/istream: Same.  include/std/ostream:
2648         * Same.  include/std/sstream: Same.
2649         * include/std/streambuf: Same.
2650         * testsuite/23_containers/deque/requirements/dr438/*:
2651         Adjust line numbers.
2652         * testsuite/23_containers/list/requirements/dr438/*: Same.
2653         * testsuite/23_containers/vector/requirements/dr438/*: Same.
2655 2012-05-02  DJ Delorie  <dj@redhat.com>
2657         * crossconfig.m4: Since we know that all TPF builds are cross-
2658         builds and cannot run configuration-time link tests, do not
2659         allow it; just go with known supported linker options.
2660         * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
2662 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
2664         * include/bits/hashtable_policy.h: Correct namepace nesting for
2665         _Hashtable forward declaration.
2667 2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
2669         PR libstdc++/53115
2670         * include/bits/hashtable.h
2671         (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
2672         after insertion of several equivalent elements.
2673         * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
2674         * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
2676 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
2677             Paolo Carlini  <paolo.carlini@oracle.com>
2679         PR libstdc++/51795
2680         * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
2681         (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
2682         __lg(long long), __lg(unsigned long long)): Define constexpr.
2683         * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
2684         limitations.
2685         (__mod): Adjust.
2686         (linear_congruential): Remove FIXME static_assert.
2687         * include/bits/random.tcc (_Mod<>): Adjust.
2688         * testsuite/26_numerics/random/linear_congruential_engine/operators/
2689         51795.cc: New.
2691 2012-04-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
2693         * include/std/functional (function::function(F)): LWG 2132: Disable
2694         constructor if argument isn't callable.
2695         * testsuite/20_util/function/cons/callable.cc: New.
2697 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
2699         PR libstdc++/22200
2700         * include/std/limits (numeric_limits<>::is_modulo): False for
2701         signed types.
2703 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
2705         * include/bits/hashtable.h: Adjust doxygen markup for base
2706         classes.
2707         * include/bits/hashtable_policy.h: Same.
2709 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
2711         PR libstdc++/52689
2712         * testsuite/17_intro/static.cc: Fix.
2713         * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
2714         * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
2716 2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
2718         * include/std/scoped_allocator (scoped_allocator::__outermost): Do
2719         not pass non-POD to varargs function.
2720         * testsuite/20_util/scoped_allocator/1.cc: Fix test.
2722 2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>
2724         PR libstdc++/52689
2725         * testsuite/17_intro/static.cc: New.
2727 2012-04-23  Daniel Krugler  <daniel.kruegler@gmail.com>
2729         * include/std/type_traits (is_nothrow_destructible): Implement.
2730         (is_destructible): Implement LWG 2049.
2731         * testsuite/util/testsuite_tr1.h: Add tests.
2732         * testsuite/20_util/is_nothrow_destructible/value.cc: New.
2733         * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
2734         * testsuite/20_util/is_nothrow_destructible/requirements/
2735         explicit_instantiation.cc: Likewise.
2736         * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
2737         * testsuite/20_util/is_default_constructible/value.cc: Tweak.
2738         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
2739         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
2740         dg-error line numbers.
2741         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2742         Likewise.
2743         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2745 2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>
2747         PR libstdc++/53080
2748         * include/std/array (tuple_element, get): static_assert I < N.
2749         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2750         New.
2751         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
2752         * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
2754 2012-04-23  Chris Jefferson  <chris@bubblescope.net>
2756         PR testsuite/53046
2757         * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
2758         of array A.
2759         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
2761 2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
2763         PR libstdc++/53067
2764         * include/bits/hashtable_policy.h: Change inheritances to public.
2765         * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
2766         * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
2768 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2770         * include/ext/alloc_traits.h (__alloc_traits::difference_type):
2771         Define.
2773 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2775         PR libstdc++/53027
2776         * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
2777         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
2778         rebind works.
2780 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
2782         * include/debug/forward_list (forward_list::splice_after): Check
2783         allocators are equal.
2784         * src/c++11/debug.cc: Fix spelling.
2785         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
2786         New.
2787         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
2788         Likewise.
2789         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
2790         Likewise.
2792 2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
2794         PR libstdc++/53052
2795         * include/std/type_traits (is_explicitly_convertible): Remove.
2796         * testsuite/20_util/is_explicitly_convertible: Likewise.
2797         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2798         Adjust dg-error line numbers.
2799         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2800         Likewise.
2801         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2803 2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>
2805         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
2806         808590.cc: New.
2808 2012-04-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2810         * testsuite/util/testsuite_abi.cc (compare_symbols): Change
2811         summary header to avoid confusion with DejaGnu header.
2813 2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
2815         PR libstdc++/52702
2816         * include/std/type_traits (is_trivially_destructible): Add.
2817         (has_trivial_destructor): Remove.
2818         * testsuite/util/testsuite_common_types.h: Adjust.
2819         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2820         * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
2821         * testsuite/20_util/is_trivially_destructible/value.cc: New.
2822         * testsuite/20_util/is_trivially_destructible/requirements/
2823         typedefs.cc: Likewise.
2824         * testsuite/20_util/is_trivially_destructible/requirements/
2825         explicit_instantiation.cc: Likewise.
2826         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2827         Adjust dg-error line numbers.
2828         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2829         Likewise.
2830         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2832 2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
2834         PR libstdc++/52699
2835         * include/bits/random.tcc (independent_bits_engine<>::operator()())
2836         Avoid various overflows; use common_type on result_type and
2837         _RandomNumberEngine::result_type; avoid floating point computations;
2838         other smaller tweaks.
2840         * include/bits/random.tcc (uniform_int_distribution<>::operator())
2841         Use common_type; assume _UniformRandomNumberGenerator::result_type
2842         unsigned; tidy.
2844         * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
2845         __lg(unsigned long long)): Add.
2847 2012-04-14  Alan Modra  <amodra@gmail.com>
2849         PR libstdc++/52839
2850         * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
2851         glibcxx_cv_atomic_long_long.
2852         * configure: Regenerate.
2854 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
2856         * testsuite/26_numerics/cmath/51083.cc: Move...
2857         * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
2859 2012-04-13  Laurent Alfonsi  <laurent.alfonsi@st.com>
2861         PR libstdc++/52604
2862         * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
2864 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
2866         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
2867         _S_Is_Beginnest): Add.
2868         * include/debug/forward_list (_BeforeBeginHelper<>::
2869         _S_Is_Beginnest): Likewise.
2870         (_Safe_iterator<>::_M_is_beginnest): Add.
2871         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
2872         Use the latter.
2873         * testsuite/23_containers/forward_list/debug/splice_after.cc:
2874         Add test.
2876 2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>
2878         * include/bits/unordered_map.h (__unordered_map): Remove.
2879         (__unordered_multimap): Remove.
2880         Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
2881         __ummap_hashtable.
2882         (unordered_map): Derive from __umap_hashtable.
2883         (unordered_multimap): Derive from __ummap_hashtable.
2884         * include/bits/unordered_set.h (__unordered_set): Remove.
2885         (__unordered_multiset): Remove.
2886         Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
2887         __umset_hashtable.
2888         (unordered_set): Derive from __uset_hashtable.
2889         (unordered_multiset): Derive from __umset_hashtable.
2890         * include/bits/hashtable.h (__cache_default): New, consolidated
2891         cache defaults for _Hashtable. Adjust comments for doxygen.
2892         (_Hashtable): Consolidate bool template parameters into new,
2893         _Traits class. Inherited base classes synthesize _Hashtable in
2894         CRTP via original 10 parameters. Prefer using declarations to
2895         typedefs, add __node_type, __bucket_type, etc. Push many nested
2896         types down hierarchy to _Hashtable_base. Add constructors
2897         necessary for top-level unordered_containers. Consolidate insert
2898         member functions and logic in new base class, __detail::_Insert
2899         and __detail::_Insert_base.
2900         (_Hashtable::operator=(initializer_list)): Add.
2901         * include/bits/hashtable_policy.h: Convert to doxygen markup.
2902         (_Hashtable_traits) New. Consolidate bool template parameters here.
2903         (_Insert, _Insert_base): New, consolidated insert member functions.
2904         (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
2905         use base types.
2906         (_Hashtable_base): Move type declarations useful to other base
2907         classes into this class.
2908         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
2909         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2910         Adjust traits, line numbers.
2912 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
2914         PR libstdc++/52822
2915         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
2916         (__find_if_not_n): Like __find_if_not, but works on and updates a
2917         counted range instead of a bounded range.
2918         (stable_partition): Guarantee !__pred(*__first) in call to
2919         __stable_partition_adaptive() or __inplace_stable_partition().
2920         (__stable_partition_adaptive): Use new precondition to avoid
2921         moving/copying objects onto themselves.  Guarantee new
2922         precondition to recursive calls.
2923         (__inplace_stable_partition): Use new precondition to simplify
2924         base case, remove __last parameter.  Guarantee new precondition to
2925         recursive calls.
2926         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
2927         Test a sequence that starts with a value matching the predicate.
2928         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
2929         vectors, which have a destructive self-move-assignment.
2931 2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
2933         * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
2934         prettyprinters.exp.
2935         * testsuite/Makefile.in: Regenerated.
2937 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
2939         PR libstdc++/52942
2940         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
2941         In C++11 mode do not derive from std::unary_function.
2942         * include/ext/functional (identity, select1st, select2nd): Adjust.
2943         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
2944         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
2946 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2948         PR libstdc++/52924
2949         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
2950         user-defined destructor.
2951         (_Sp_counted_inplace): Likewise.
2952         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
2953         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2954         line numbers.
2956 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2958         * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
2959         Re-arrange text slightly.
2961 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2963         * testsuite/performance/30_threads/future/polling.cc: Adjust.
2965 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2967         * include/bits/forward_list.h (splice_after(const_iterator,
2968         forward_list&), splice_after(const_iterator, forward_list&,
2969         const_iterator), splice_after(const_iterator, forward_list&,
2970         const_iterator, const_iterator), merge(forward_list&),
2971         merge(forward_list&, _Comp)): Add per C++11 as published (and
2972         LWG 1310).
2973         * include/debug/forward_list: Adjust.
2975         * include/bits/forward_list.h (splice_after(const_iterator,
2976         forward_list&&, const_iterator)): Only declare.
2977         (_M_transfer_after): Remove.
2978         (_M_splice_after(const_iterator, forward_list&&)): Change signature.
2979         (splice_after(const_iterator, forward_list&&, const_iterator,
2980         const_iterator)): Use the latter.
2981         * include/bits/forward_list.tcc (splice_after(const_iterator,
2982         forward_list&&, const_iterator)): Define here.
2983         (_M_splice_after): Define, use throughout.
2985         * include/bits/forward_list.h (insert_after(const_iterator,
2986         std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
2987         _InputIterator, _InputIterator).
2988         * include/bits/forward_list.tcc: Remove definition.
2990         * testsuite/23_containers/forward_list/modifiers/6.cc: New.
2991         * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
2993 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2995         PR libstdc++/52931
2996         * include/bits/functional_hash.h (struct hash): Remove definition.
2997         * testsuite/20_util/hash/52931.cc: New.
2999 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
3001         PR 24985
3002         * testsuite/lib/prune.exp: Handle caret.
3004 2012-04-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3006         Partially revert:
3007         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
3009         PR libstdc++/52689
3010         * src/c++98/compatibility-list.cc: Same.
3012 2012-04-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
3014         PR bootstrap/52840
3015         * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
3016         Makefile.tmp
3017         * src/Makefile.in: Adjust as per above.
3019 2012-04-04  Uros Bizjak  <ubizjak@gmail.com>
3021         Partially revert:
3022         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
3024         PR libstdc++/52689
3025         * src/c++98/compatibility-ldbl.cc: Guard with PIC
3027 2012-04-02  Tristan Gingold  <gingold@adacore.com>
3029         * crossconfig.m4 (*-*-*vms*): Add.
3030         * configure: Regenerate.
3032 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
3034         PR libstdc++/52591
3035         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
3036         to _M_move_assign depending on whether allocator is moved.
3037         (vector::_M_move_assign): Add overloaded functions.
3038         * testsuite/23_containers/vector/52591.cc: New.
3039         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3040         Adjust dg-error line number.
3041         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
3042         Likewise.
3043         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
3044         Likewise.
3045         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3046         Likewise.
3048 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
3050         * include/std/functional (__callable_functor): Overload for
3051         volatile-qualified pointers.
3052         * testsuite/20_util/function/10.cc: New.
3054 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
3055             Paolo Carlini  <paolo.carlini@oracle.com>
3057         PR libstdc++/52799
3058         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
3059         -> emplace_front, and likewise for *_back.
3060         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
3061         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
3062         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
3064 2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
3066         PR libstdc++/52689
3067         * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
3068         * libsupc++/Makefile.in: Regenerated.
3069         * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
3070         (libstdc___la_SOURCES): Add in compatiblity files, with content
3071         that varies with -DPIC.
3072         * src/Makefile.in: Regenerated.
3073         * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
3074         * src/c++11/Makefile.in: Regenerated.
3075         * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
3076         * src/c++11/compatibility-c++0x.cc: Same.
3077         * src/c++11/future.cc: Consolidate compatibility bits into..
3078         * src/c++11/mutex.cc: Consolidate compatibility bits into..
3079         * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
3080         * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
3081         * src/c++98/Makefile.in: Regenerated.
3082         * src/c++98/compatibility-ldbl.cc: Guard with PIC
3083         * src/c++98/compatibility-list-2.cc: Same.
3084         * src/c++98/compatibility-list.cc: Same.
3085         * src/c++98/compatibility.cc: Tweak comments.
3087 2012-03-28  Terry Guo  <terry.guo@arm.com>
3089         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
3090         * testsuite/Makefile.in: Regenerated.
3092 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3094         * include/std/functional (mem_fn): Qualify to prevent ADL.
3095         * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
3097 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
3099         * include/std/type_traits (result_of): Fix handling of cv-quals.
3100         * testsuite/20_util/result_of/1.cc: New.
3101         * testsuite/20_util/result_of/2.cc: New.
3102         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
3103         line numbers.
3104         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3105         Likewise.
3106         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
3107         Likewise.
3109 2012-03-23  David S. Miller  <davem@davemloft.net>
3111         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
3113 2012-03-23  Benjamin Kosnik  <bkoz@redhat.com>
3115         * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
3116         * testsuite/lib/libstdc++.exp: Same.
3118 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
3120         * include/bits/forward_list.h: Slightly tweak two comments.
3122 2012-03-22  Benjamin Kosnik  <bkoz@redhat.com>
3124         * doc/Makefile.am: XML output names have only .xml suffix.
3125         * doc/Makefile.in: Regenerate.
3127 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
3129         * include/std/array (array<>::at(size_type) const): Fix version
3130         for undefined __EXCEPTIONS.
3132 2013-03-21  Andreas Tobler  <andreast@fgznet.ch>
3134         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
3135         Skip this test on powerpc64-*-freebsd*.
3137 2012-03-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
3139         * include/bits/stl_list.h (list::_M_size): Use NSDMI.
3140         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3141         Adjust line numbers.
3142         * testsuite/23_containers/list/requirements/dr438/
3143         constructor_1_neg.cc: Likewise.
3144         * testsuite/23_containers/list/requirements/dr438/
3145         constructor_2_neg.cc: Likewise.
3146         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3147         Likewise.
3149 2012-03-19  Paweł Sikora  <pawel.sikora@agmk.net>
3151         PR libstdc++/52540
3152         * include/Makefile.am (c++config.h): Fix sed rule to not break
3153         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
3154         * include/Makefile.in: Regenerate.
3156 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
3158         * testsuite/Makefile.in: Regenerate.
3160 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
3162         * include/bits/allocator.h (std::allocator): Base class is
3163         __allocator_base.
3164         (uses_allocator): Add to sub-grouping.
3165         * include/ext/new_allocator.h: Doxygen markup for tparm.
3167         * config/allocator/bitmap_allocator_base.h: Use __allocator_base
3168         template alias in C++11.
3169         * config/allocator/malloc_allocator_base.h: Same.
3170         * config/allocator/mt_allocator_base.h: Same.
3171         * config/allocator/new_allocator_base.h: Same.
3172         * config/allocator/pool_allocator_base.h: Same.
3174 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
3176         * include/ext/pb_ds/detail/pat_trie_/
3177         constructors_destructor_fn_imps.hpp: Increment after recursion.
3178         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
3179         node_type markup from brief.
3181 2012-03-16  François Dumont  <fdumont@gcc.gnu.org>
3183         PR libstdc++/52476
3184         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
3185         (_Hashtable<>::_M_rehash): Use the latter.
3186         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
3187         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
3189 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3191         * config/os/solaris/solaris2.8: Rename to ...
3192         * config/os/solaris/solaris2.9: ... this.
3193         * config/abi/post/solaris2.8: Rename to ...
3194         * config/abi/post/solaris2.9: ... this.
3195         * configure.host (os_include_dir): Remove solaris2.8.
3196         Reflect renaming.
3197         (abi_baseline_pair): Remove *-*-solaris2.8.
3198         Reflect renaming.
3200         * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
3201         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
3202         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
3203         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
3204         (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
3205         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
3206         handling.
3207         * configure: Regenerate.
3208         * config.h.in: Regenerate.
3210         * config/os/solaris/solaris2.9/os_defines.h
3211         (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
3212         (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
3213         * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
3214         to __CORRECT_ISO_CPP_MATH_H_PROTO.
3215         [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
3216         * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
3217         __CORRECT_ISO_CPP_MATH_H_PROTO.
3219         * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
3220         Remove Solaris 8 reference.
3222         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
3223         Don't xfail on *-*-solaris2.8.
3224         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
3225         Likewise.
3226         * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
3227         *-*-solaris2.8.
3229 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3231         * configure.host (irix6.5*): Remove.
3232         * config/os/irix: Remove.
3233         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
3234         [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
3236         * doc/xml/faq.xml: Remove IRIX reference.
3237         * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
3238         Remove IRIX example.
3240         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
3241         Remove mips-sgi-irix6* handling.
3242         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3243         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
3244         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
3245         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3246         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3247         * testsuite/23_containers/list/pthread1.cc: Likewise.
3248         * testsuite/23_containers/list/pthread5.cc: Likewise.
3249         * testsuite/23_containers/map/pthread6.cc: Likewise.
3250         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
3251         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3252         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3253         * testsuite/30_threads/async/42819.cc: Likewise.
3254         * testsuite/30_threads/async/49668.cc: Likewise.
3255         * testsuite/30_threads/async/any.cc: Likewise.
3256         * testsuite/30_threads/async/async.cc: Likewise.
3257         * testsuite/30_threads/async/launch.cc: Likewise.
3258         * testsuite/30_threads/async/sync.cc: Likewise.
3259         * testsuite/30_threads/call_once/39909.cc: Likewise.
3260         * testsuite/30_threads/call_once/49668.cc: Likewise.
3261         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3262         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3263         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3264         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3265         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
3266         Likewise.
3267         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
3268         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3269         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3270         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3271         * testsuite/30_threads/future/cons/move.cc: Likewise.
3272         * testsuite/30_threads/future/members/45133.cc: Likewise.
3273         * testsuite/30_threads/future/members/get.cc: Likewise.
3274         * testsuite/30_threads/future/members/get2.cc: Likewise.
3275         * testsuite/30_threads/future/members/share.cc: Likewise.
3276         * testsuite/30_threads/future/members/valid.cc: Likewise.
3277         * testsuite/30_threads/future/members/wait.cc: Likewise.
3278         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3279         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3280         * testsuite/30_threads/lock/1.cc: Likewise.
3281         * testsuite/30_threads/lock/2.cc: Likewise.
3282         * testsuite/30_threads/lock/3.cc: Likewise.
3283         * testsuite/30_threads/lock/4.cc: Likewise.
3284         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3285         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3286         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3287         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3288         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3289         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
3290         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3291         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3292         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3293         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
3294         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3295         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3296         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
3297         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3298         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3299         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3300         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3301         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
3302         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3303         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
3304         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
3305         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
3306         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3307         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
3308         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3309         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3310         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3311         * testsuite/30_threads/promise/cons/1.cc: Likewise.
3312         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
3313         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3314         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3315         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3316         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
3317         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3318         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3319         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3320         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3321         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3322         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3323         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3324         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3325         Likewise.
3326         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3327         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3328         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3329         Likewise.
3330         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3331         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3332         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3333         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3334         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3335         Likewise.
3336         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3337         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3338         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3339         Likewise.
3340         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3341         Likewise.
3342         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3343         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3344         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3345         Likewise.
3346         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3347         Likewise.
3348         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3349         Likewise.
3350         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3351         Likewise.
3352         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3353         Likewise.
3354         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3355         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3356         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3357         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3358         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3359         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3360         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3361         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3362         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3363         * testsuite/30_threads/this_thread/1.cc: Likewise.
3364         * testsuite/30_threads/this_thread/2.cc: Likewise.
3365         * testsuite/30_threads/this_thread/3.cc: Likewise.
3366         * testsuite/30_threads/this_thread/4.cc: Likewise.
3367         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3368         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3369         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3370         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3371         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
3372         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3373         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3374         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3375         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3376         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3377         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3378         * testsuite/30_threads/thread/members/1.cc: Likewise.
3379         * testsuite/30_threads/thread/members/2.cc: Likewise.
3380         * testsuite/30_threads/thread/members/3.cc: Likewise.
3381         * testsuite/30_threads/thread/members/4.cc: Likewise.
3382         * testsuite/30_threads/thread/members/5.cc: Likewise.
3383         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3384         * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
3385         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3386         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3387         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3388         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3389         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3390         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
3391         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3392         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3393         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3394         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3395         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3396         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3397         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3398         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3399         * testsuite/30_threads/try_lock/1.cc: Likewise.
3400         * testsuite/30_threads/try_lock/2.cc: Likewise.
3401         * testsuite/30_threads/try_lock/3.cc: Likewise.
3402         * testsuite/30_threads/try_lock/4.cc: Likewise.
3403         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3404         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3405         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3406         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3407         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3408         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3409         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3410         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3411         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3412         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3413         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3414         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3415         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3416         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3417         default_weaktoshared.cc: Likewise.
3418         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3419         mutex_weaktoshared.cc: Likewise.
3421         * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
3422         dg-options for mips*-*-irix6*.
3424         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
3425         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
3426         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
3428         * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
3429         workaround.
3431 2012-03-14  Paolo Carlini  <paolo.carlini@oracle.com>
3433         * include/bits/forward_list.h: Fix comments.
3435 2012-03-13  Terry Guo  <terry.guo@arm.com>
3437         * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
3439 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3441         * configure.host: Remove osf* handling.
3442         * config/os/osf: Remove.
3443         * doc/xml/manual/using.xml: Remove OSF reference.
3445         * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
3446         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
3447         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
3448         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
3449         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
3450         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
3451         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
3452         * testsuite/23_containers/list/pthread1.cc: Likewise.
3453         * testsuite/23_containers/list/pthread5.cc: Likewise.
3454         * testsuite/23_containers/map/pthread6.cc: Likewise.
3455         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
3456         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
3457         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
3458         * testsuite/30_threads/async/42819.cc: Likewise.
3459         * testsuite/30_threads/async/49668.cc: Likewise.
3460         * testsuite/30_threads/async/any.cc: Likewise.
3461         * testsuite/30_threads/async/async.cc: Likewise.
3462         * testsuite/30_threads/async/launch.cc: Likewise.
3463         * testsuite/30_threads/async/sync.cc: Likewise.
3464         * testsuite/30_threads/call_once/39909.cc: Likewise.
3465         * testsuite/30_threads/call_once/49668.cc: Likewise.
3466         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3467         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
3468         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
3469         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
3470         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
3471         Likewise.
3472         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
3473         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
3474         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
3475         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
3476         * testsuite/30_threads/future/cons/move.cc: Likewise.
3477         * testsuite/30_threads/future/members/45133.cc: Likewise.
3478         * testsuite/30_threads/future/members/get.cc: Likewise.
3479         * testsuite/30_threads/future/members/get2.cc: Likewise.
3480         * testsuite/30_threads/future/members/share.cc: Likewise.
3481         * testsuite/30_threads/future/members/valid.cc: Likewise.
3482         * testsuite/30_threads/future/members/wait.cc: Likewise.
3483         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3484         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3485         * testsuite/30_threads/lock/1.cc: Likewise.
3486         * testsuite/30_threads/lock/2.cc: Likewise.
3487         * testsuite/30_threads/lock/3.cc: Likewise.
3488         * testsuite/30_threads/lock/4.cc: Likewise.
3489         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3490         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3491         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3492         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3493         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3494         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
3495         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3496         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3497         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3498         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
3499         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
3500         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
3501         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
3502         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
3503         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
3504         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
3505         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
3506         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
3507         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
3508         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
3509         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
3510         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
3511         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
3512         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
3513         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
3514         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
3515         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
3516         * testsuite/30_threads/promise/cons/1.cc: Likewise.
3517         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
3518         * testsuite/30_threads/promise/cons/move.cc: Likewise.
3519         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
3520         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
3521         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
3522         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
3523         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
3524         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
3525         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3526         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3527         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3528         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
3529         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
3530         Likewise.
3531         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
3532         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
3533         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
3534         Likewise.
3535         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
3536         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
3537         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
3538         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
3539         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
3540         Likewise.
3541         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
3542         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
3543         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
3544         Likewise.
3545         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
3546         Likewise.
3547         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
3548         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
3549         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
3550         Likewise.
3551         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
3552         Likewise.
3553         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
3554         Likewise.
3555         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
3556         Likewise.
3557         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
3558         Likewise.
3559         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
3560         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
3561         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
3562         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
3563         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
3564         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
3565         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
3566         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3567         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3568         * testsuite/30_threads/this_thread/1.cc: Likewise.
3569         * testsuite/30_threads/this_thread/2.cc: Likewise.
3570         * testsuite/30_threads/this_thread/3.cc: Likewise.
3571         * testsuite/30_threads/this_thread/4.cc: Likewise.
3572         * testsuite/30_threads/thread/cons/1.cc: Likewise.
3573         * testsuite/30_threads/thread/cons/2.cc: Likewise.
3574         * testsuite/30_threads/thread/cons/3.cc: Likewise.
3575         * testsuite/30_threads/thread/cons/4.cc: Likewise.
3576         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
3577         * testsuite/30_threads/thread/cons/5.cc: Likewise.
3578         * testsuite/30_threads/thread/cons/6.cc: Likewise.
3579         * testsuite/30_threads/thread/cons/7.cc: Likewise.
3580         * testsuite/30_threads/thread/cons/8.cc: Likewise.
3581         * testsuite/30_threads/thread/cons/9.cc: Likewise.
3582         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
3583         * testsuite/30_threads/thread/members/1.cc: Likewise.
3584         * testsuite/30_threads/thread/members/2.cc: Likewise.
3585         * testsuite/30_threads/thread/members/3.cc: Likewise.
3586         * testsuite/30_threads/thread/members/4.cc: Likewise.
3587         * testsuite/30_threads/thread/members/5.cc: Likewise.
3588         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
3589         * testsuite/30_threads/thread/swap/1.cc: Likewise.
3590         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
3591         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
3592         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
3593         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
3594         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
3595         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
3596         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
3597         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
3598         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
3599         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
3600         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
3601         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
3602         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
3603         * testsuite/30_threads/try_lock/1.cc: Likewise.
3604         * testsuite/30_threads/try_lock/2.cc: Likewise.
3605         * testsuite/30_threads/try_lock/3.cc: Likewise.
3606         * testsuite/30_threads/try_lock/4.cc: Likewise.
3607         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3608         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3609         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3610         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3611         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3612         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3613         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3614         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3615         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3616         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3617         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3618         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3619         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
3620         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3621         default_weaktoshared.cc: Likewise.
3622         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
3623         mutex_weaktoshared.cc: Likewise.
3625 2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
3627         PR libstdc++/52562
3628         * libsupc++/typeinfo (type_info::name, before, operator==,
3629         operator!=): Mark noexcept in C++11 mode.
3630         * libsupc++/tinfo.cc (type_info::operator==): Adjust.
3631         * libsupc++/tinfo2.cc (type_info::before): Likewise.
3632         * testsuite/18_support/type_info/52562.cc: New.
3634 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3636         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
3637         symbols added in last change.
3639         PR libstdc++/52456
3640         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
3642 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
3644         * config/locale/gnu/monetary_members.cc
3645         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
3646         exception again.
3647         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
3648         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
3649         locale.
3651 2012-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
3653         * include/debug/formatter.h (enum _Debug_msg_id): Add
3654         __msg_self_move_assign.
3655         * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
3656         * src/c++11/debug.cc (_S_debug_messages): Update.
3657         * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
3658         (_Safe_iterator&&)): Add check for self move assignment.
3659         * include/debug/set.h: Likewise.
3660         * include/debug/unordered_map: Likewise.
3661         * include/debug/multiset.h: Likewise.
3662         * include/debug/forward_list: Likewise.
3663         * include/debug/unordered_set: Likewise.
3664         * include/debug/vector: Likewise.
3665         * include/debug/map.h: Likewise.
3666         * include/debug/deque: Likewise.
3667         * include/debug/string: Likewise.
3668         * include/debug/list: Likewise.
3669         * include/debug/multimap.h: Likewise.
3670         * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
3671         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
3672         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
3673         Likewise.
3674         * testsuite/23_containers/unordered_map/debug/
3675         iterator_self_move_assign_neg.cc: Likewise.
3676         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
3677         Likewise.
3678         * testsuite/23_containers/multimap/debug/
3679         iterator_self_move_assign_neg.cc: Likewise.
3680         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
3681         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
3682         Likewise.
3683         * testsuite/23_containers/unordered_multimap/debug/
3684         self_move_assign_neg.cc: Likewise.
3685         * testsuite/23_containers/unordered_multimap/debug/
3686         iterator_self_move_assign_neg.cc: Likewise.
3687         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
3688         Likewise.
3689         * testsuite/23_containers/forward_list/debug/
3690         iterator_self_move_assign_neg.cc: Likewise.
3691         * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
3692         Likewise.
3693         * testsuite/23_containers/unordered_set/debug/
3694         iterator_self_move_assign_neg.cc: Likewise.
3695         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
3696         Likewise.
3697         * testsuite/23_containers/vector/debug/
3698         iterator_self_move_assign_neg.cc: Likewise.
3699         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
3700         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
3701         Likewise.
3702         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
3703         Likewise.
3704         * testsuite/23_containers/multiset/debug/
3705         iterator_self_move_assign_neg.cc: Likewise.
3706         * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
3707         Likewise.
3708         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
3709         Likewise.
3710         * testsuite/23_containers/unordered_multiset/debug/
3711         self_move_assign_neg.cc: Likewise.
3712         * testsuite/23_containers/unordered_multiset/debug/
3713         iterator_self_move_assign_neg.cc: Likewise.
3714         * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
3715         Likewise.
3716         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
3717         Likewise.
3719 2012-03-08  Benjamin Kosnik  <bkoz@redhat.com>
3721         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
3722         * include/bits/locale_facets.h: Adjust markup to avoid warnings.
3723         * include/ext/pb_ds/assoc_container.hpp: Same.
3724         * include/ext/pb_ds/priority_queue.hpp: Same.
3725         * include/std/fstream: Same.
3726         * include/std/ratio: Same.
3727         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
3728         numbers.
3729         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
3731 2012-03-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3733         PR libstdc++/52433
3734         * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
3735         to move constructor and move assignment operator.
3737 2012-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
3739         * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
3740         call swap.
3741         * include/bits/stl_bvector.h (swap(_Bit_reference,
3742         _Bit_reference), swap(_Bit_reference, bool&),
3743         swap(bool&, _Bit_reference)): Add.
3744         * testsuite/23_containers/vector/bool/swap.cc: New.
3746 2012-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
3747             Jonathan Wakely  <jwakely.gcc@gmail.com>
3749         PR libstdc++/43813
3750         * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
3751         * include/ext/vstring.h (__versa_string<>::__versa_string
3752         (_InputIterator, _InputIterator, const _Alloc&),
3753         __versa_string<>::append(_InputIterator, _InputIterator),
3754         __versa_string<>::assign(_InputIterator, _InputIterator),
3755         __versa_string<>::insert(iterator, _InputIterator,
3756         _InputIterator), __versa_string<>::replace(iterator, iterator,
3757         _InputIterator, _InputIterator)): Use it.
3758         * include/bits/stl_list.h (list<>::list(_InputIterator,
3759         _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
3760         _InputIterator), list<>::insert(iterator, _InputIterator,
3761         _InputIterator)): Likewise.
3762         * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
3763         _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
3764         _InputIterator), vectort<>::insert(iterator, _InputIterator,
3765         _InputIterator)): Likewise.
3766         * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
3767         _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
3768         _InputIterator), deque<>::insert(iterator, _InputIterator,
3769         _InputIterator)): Likewise.
3770         * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
3771         _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
3772         _InputIterator), vector<>::insert(iterator, _InputIterator,
3773         _InputIterator)): Likewise.
3774         * include/bits/forward_list.h (forward_list<>::forward_list
3775         (_InputIterator, _InputIterator, const allocator_type&),
3776         forward_list<>::assign(_InputIterator, _InputIterator),
3777         forward_list<>::insert_after(const_iterator, _InputIterator,
3778         _InputIterator)): Likewise.
3779         (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
3780         (forward_list<>::_M_range_initialize): Add, adjust everywhere.
3781         * include/bits/forward_list.tcc: Adjust.
3782         * include/debug/forward_list: Adjust.
3783         * include/debug/vector: Likewise.
3784         * include/debug/deque: Likewise.
3785         * include/debug/list: Likewise.
3786         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
3787         * testsuite/23_containers/forward_list/requirements/
3788         do_the_right_thing.cc: Likewise.
3789         * testsuite/23_containers/vector/requirements/
3790         do_the_right_thing.cc: Likewise.
3791         * testsuite/23_containers/deque/requirements/
3792         do_the_right_thing.cc: Likewise.
3793         * testsuite/23_containers/list/requirements/
3794         do_the_right_thing.cc: Likewise.
3795         * testsuite/23_containers/forward_list/requirements/dr438/
3796         assign_neg.cc: Adjust dg-error line number.
3797         * testsuite/23_containers/forward_list/requirements/dr438/
3798         insert_neg.cc: Likewise.
3799         * testsuite/23_containers/forward_list/requirements/dr438/
3800         constructor_1_neg.cc: Likewise.
3801         * testsuite/23_containers/forward_list/requirements/dr438/
3802         constructor_2_neg.cc: Likewise.
3803         * testsuite/23_containers/vector/requirements/dr438/
3804         assign_neg.cc: Likewise.
3805         * testsuite/23_containers/vector/requirements/dr438/
3806         insert_neg.cc: Likewise.
3807         * testsuite/23_containers/vector/requirements/dr438/
3808         constructor_1_neg.cc: Likewise.
3809         * testsuite/23_containers/vector/requirements/dr438/
3810         constructor_2_neg.cc: Likewise.
3811         * testsuite/23_containers/deque/requirements/dr438/
3812         assign_neg.cc: Likewise.
3813         * testsuite/23_containers/deque/requirements/dr438/
3814         insert_neg.cc: Likewise.
3815         * testsuite/23_containers/deque/requirements/dr438/
3816         constructor_1_neg.cc: Likewise.
3817         * testsuite/23_containers/deque/requirements/dr438/
3818         constructor_2_neg.cc: Likewise.
3819         * testsuite/23_containers/list/requirements/dr438/
3820         assign_neg.cc: Likewise.
3821         * testsuite/23_containers/list/requirements/dr438/
3822         insert_neg.cc: Likewise.
3823         * testsuite/23_containers/list/requirements/dr438/
3824         constructor_1_neg.cc: Likewise.
3825         * testsuite/23_containers/list/requirements/dr438/
3826         constructor_2_neg.cc: Likewise.
3828 2012-03-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
3830         PR libstdc++/52433
3831         * include/debug/safe_iterator.h (_Safe_iterator): Add move
3832         constructor and move assignment operator.
3833         * testsuite/23_containers/vector/debug/52433.cc: New.
3835 2012-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
3837         * include/std/limits (numeric_limits): Fix returns per C++11.
3838         * testsuite/18_support/numeric_limits/primary.cc: New.
3840 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
3842         * include/c_global/cstdio: Remove extraneous extern.
3843         * include/c_std/cstdio: Same.
3845 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3847         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
3848         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
3849         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
3850         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3851         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3853 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3854             Ramana Radhakrishnan <ramana@gcc.gnu.org>
3856         PR libstdc++/51785
3857         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
3858         * configure.ac: Call it.
3859         * configure: Regenerate.
3860         * config.h.in: Same.
3861         * config/os/gnu-linux/os_defines.h: Conditionally undefine
3862         _GLIBCXX_HAVE_GETS.
3863         * include/c_global/cstdio: Conditionally declare deprecated gets.
3864         * include/c_std/cstdio: Same.
3866 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
3868         * include/tr2/type_traits (typelist): To __reflection_typelist.
3869         (first, rest, empty): Remove.
3871 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
3873         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
3874         * testsuite/Makefile.in: Regenerate.
3876 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
3878         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
3880 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
3882         PR libstdc++/52191
3883         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
3884         symbols added into the latest version. Mark tls entities as
3885         undesignated.
3887 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
3889         PR bootstrap/52414
3890         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
3891         if they are at the beginning of lines (with optional whitespace before
3892         #).
3893         * src/Makefile.in: Regenerated.
3895 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
3897         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3898         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3899         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3900         Likewise.
3901         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3902         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3903         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3904         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3905         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3906         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3908 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3910         PR libstdc++/52188
3911         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
3912         Remove ENABLE_SYMVERS_SOL2.
3913         * configure: Regenerate.
3914         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
3915         Postprocess mapfile.
3916         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
3917         * src/Makefile.in: Regenerate.
3919         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
3920         Don't export
3921         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
3923 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3925         PR testsuite/52201
3926         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
3927         Require atomic builtins.
3928         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
3930 2012-02-23  Jason Merrill  <jason@redhat.com>
3932         * include/bits/locale_facets.h (class num_get): Undo reordering of
3933         do_get virtual functions.
3935 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
3937         * testsuite/26_numerics/random/
3938         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
3939         * testsuite/26_numerics/random/
3940         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
3941         * testsuite/26_numerics/random/
3942         chi_squared_distribution/requirements/typedefs.cc: Ditto.
3943         * testsuite/26_numerics/random/
3944         normal_distribution/requirements/typedefs.cc: Ditto.
3945         * testsuite/26_numerics/random/
3946         uniform_int_distribution/requirements/typedefs.cc: Ditto.
3947         * testsuite/26_numerics/random/
3948         poisson_distribution/requirements/typedefs.cc: Ditto.
3949         * testsuite/26_numerics/random/
3950         bernoulli_distribution/requirements/typedefs.cc: Ditto.
3951         * testsuite/26_numerics/random/
3952         discrete_distribution/requirements/typedefs.cc: Ditto.
3953         * testsuite/26_numerics/random/
3954         weibull_distribution/requirements/typedefs.cc: Ditto.
3955         * testsuite/26_numerics/random/
3956         cauchy_distribution/requirements/typedefs.cc: Ditto.
3957         * testsuite/26_numerics/random/
3958         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
3959         * testsuite/26_numerics/random/
3960         gamma_distribution/requirements/typedefs.cc: Ditto.
3961         * testsuite/26_numerics/random/
3962         fisher_f_distribution/requirements/typedefs.cc: Ditto.
3963         * testsuite/26_numerics/random/
3964         exponential_distribution/requirements/typedefs.cc: Ditto.
3965         * testsuite/26_numerics/random/
3966         binomial_distribution/requirements/typedefs.cc: Ditto.
3967         * testsuite/26_numerics/random/
3968         lognormal_distribution/requirements/typedefs.cc: Ditto.
3969         * testsuite/26_numerics/random/
3970         extreme_value_distribution/requirements/typedefs.cc: Ditto.
3971         * testsuite/26_numerics/random/
3972         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
3973         * testsuite/26_numerics/random/
3974         student_t_distribution/requirements/typedefs.cc: Ditto.
3975         * testsuite/26_numerics/random/
3976         geometric_distribution/requirements/typedefs.cc: Ditto.
3978 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
3980         PR libstdc++/50349
3981         * config/abi/pre/gnu.ver: Only one local.
3982         * config/abi/pre/gnu-versioned-namespace.ver: Same.
3984 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
3986         PR libstdc++/52317 (cont)
3987         * include/profile/unordered_map: Ad Library Exception comment.
3988         * include/profile/set: Likewise.
3989         * include/profile/base.h: Likewise.
3990         * include/profile/impl/profiler_list_to_slist.h: Likewise.
3991         * include/profile/impl/profiler_container_size.h: Likewise.
3992         * include/profile/impl/profiler_vector_size.h: Likewise.
3993         * include/profile/impl/profiler_hash_func.h: Likewise.
3994         * include/profile/impl/profiler_trace.h: Likewise.
3995         * include/profile/impl/profiler_list_to_vector.h: Likewise.
3996         * include/profile/impl/profiler_vector_to_list.h: Likewise.
3997         * include/profile/impl/profiler.h: Likewise.
3998         * include/profile/impl/profiler_state.h: Likewise.
3999         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
4000         * include/profile/impl/profiler_algos.h: Likewise.
4001         * include/profile/impl/profiler_hashtable_size.h: Likewise.
4002         * include/profile/impl/profiler_node.h: Likewise.
4003         * include/profile/vector: Likewise.
4004         * include/profile/unordered_set: Likewise.
4005         * include/profile/map.h: Likewise.
4006         * include/profile/map: Likewise.
4008 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
4010         PR libstdc++/52317
4011         * python/Makefile.am: Update boilerplate license text to GPLv3.
4012         * include/profile/unordered_map: Likewise.
4013         * include/profile/set: Likewise.
4014         * include/profile/base.h: Likewise.
4015         * include/profile/impl/profiler_list_to_slist.h: Likewise.
4016         * include/profile/impl/profiler_container_size.h: Likewise.
4017         * include/profile/impl/profiler_vector_size.h: Likewise.
4018         * include/profile/impl/profiler_hash_func.h: Likewise.
4019         * include/profile/impl/profiler_trace.h: Likewise.
4020         * include/profile/impl/profiler_list_to_vector.h: Likewise.
4021         * include/profile/impl/profiler_vector_to_list.h: Likewise.
4022         * include/profile/impl/profiler.h: Likewise.
4023         * include/profile/impl/profiler_state.h: Likewise.
4024         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
4025         * include/profile/impl/profiler_algos.h: Likewise.
4026         * include/profile/impl/profiler_hashtable_size.h: Likewise.
4027         * include/profile/impl/profiler_node.h: Likewise.
4028         * include/profile/vector: Likewise.
4029         * include/profile/unordered_set: Likewise.
4030         * include/profile/map.h: Likewise.
4031         * include/profile/map: Likewise.
4032         * testsuite/21_strings/basic_string/numeric_conversions/
4033         wchar_t/dr1261.cc: Likewise.
4034         * testsuite/21_strings/basic_string/numeric_conversions/
4035         char/dr1261.cc: Likewise.
4036         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
4038 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
4040         PR libstdc++/52241
4041         * src/c++98/tree.cc (local_Rb_tree_increment,
4042         local_Rb_tree_decrement): Add.
4043         (_Rb_tree_increment(const _Rb_tree_node_base*),
4044         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
4045         (_Rb_tree_increment(_Rb_tree_node_base*),
4046         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
4048 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
4050         PR libstdc++/52309
4051         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
4052         _M_equal(const _Hashtable&)): Compare values with operator==.
4053         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
4055 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
4057         PR libstdc++/51798 continued.
4058         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
4059         __atomic_, not __sync.
4060         * configure: Regenerated.
4062 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
4064         PR libstdc++/47058
4065         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
4066         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
4067         * configure.ac: Use it.
4068         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
4069         * configure: Regenerate.
4070         * python/Makefile.in: Same.
4071         * Makefile.in: Same.
4072         * doc/Makefile.in: Same.
4073         * include/Makefile.in: Same.
4074         * po/Makefile.in: Same.
4075         * python/Makefile.in: Same.
4076         * src/Makefile.in: Same.
4077         * src/c++11/Makefile.in: Same.
4078         * src/c++98/Makefile.in: Same.
4079         * testsuite/Makefile.in: Same.
4081 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4083         PR libstdc++/52189
4084         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
4085         --enable-libstdcxx-threads.
4086         Disable on Solaris 8/9 with symbol versioning.
4087         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
4088         GLIBCXX_ENABLE_SYMVERS.
4089         * configure: Regenerate.
4090         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
4092 2012-02-15  DJ Delorie  <dj@redhat.com>
4094         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
4096 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4098         PR libstdc++/51368
4099         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
4100         * configure.ac: Use it.
4101         * python/Makefile.am: Same.
4102         * configure: Regenerate.
4103         * python/Makefile.in: Regenerate.
4104         * Makefile.in: Same.
4105         * doc/Makefile.in: Same.
4106         * include/Makefile.in: Same.
4107         * po/Makefile.in: Same.
4108         * src/Makefile.in: Same.
4109         * src/c++11/Makefile.in: Same.
4110         * src/c++98/Makefile.in: Same.
4111         * testsuite/Makefile.in: Same.
4113 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
4115         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
4117 2012-02-14  Tom Tromey  <tromey@redhat.com>
4119         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
4120         tests.
4121         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
4122         Rewrite.
4123         (Tr1HashtableIterator.update): Remove.
4124         (Tr1HashtableIterator.next): Rewrite.
4126 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
4128         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
4129         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
4131 2012-02-13  Richard Henderson  <rth@redhat.com>
4133         PR libstdc++/51798 continued.
4134         * include/bits/shared_ptr_base.h
4135         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
4136         outside compare_exchange loop.
4137         * include/tr1/shared_ptr.h: Same.
4138         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
4139         version of compare_exchange.
4140         (__compare_and_swap_64): Same.
4141         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
4142         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
4144 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
4145             Jonathan Wakely  <jwakely.gcc@gmail.com>
4147         PR libstdc++/51798 continued.
4148         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
4149         builtins instead of __sync_* builtins for atomic functionality.
4150         * include/bits/shared_ptr_base.h: Same.
4151         * include/parallel/compatibility.h: Same.
4152         * include/profile/impl/profiler_state.h: Same.
4153         * include/tr1/shared_ptr.h: Same.
4154         * libsupc++/eh_ptr.cc: Same.
4155         * libsupc++/eh_throw.cc: Same.
4156         * libsupc++/eh_tm.cc: Same.
4157         * libsupc++/guard.cc: Same.
4158         * configure: Regenerated.
4159         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
4160         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
4162 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4164         PR libstdc++/51296
4165         * config/os/osf/ctype_base.h,
4166         config/os/osf/ctype_configure_char.cc,
4167         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
4168         Copy from config/os/generic.
4169         * config/os/osf/os_defines.h: Likewise.
4170         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
4171         Define.
4172         * configure.host <osf*>: Use os/osf for os_include_dir.
4174 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
4176         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
4178 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
4180         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
4182 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4184         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
4186 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
4188         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
4189         * doc/xml/manual/documentation_hacking.xml: Update.
4191 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
4193         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
4194         selector.
4195         * testsuite/30_threads/call_once/49668.cc: Likewise.
4196         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
4197         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
4198         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
4199         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
4200         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
4201         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
4202         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
4203         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
4204         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
4205         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
4206         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
4207         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
4208         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
4209         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
4210         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
4211         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
4212         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
4213         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
4214         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
4215         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
4216         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
4217         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
4219 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
4221         PR libstdc++/51296
4222         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
4223         * src/c++11/condition_variable.cc (condition_variable): Use macro for
4224         initializer function.
4226         PR libstdc++/51906
4227         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
4228         recursive mutexes.
4230 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4232         PR libstdc++/52128
4233         * src/c++11/future.cc: Add explicit instantiation.
4235 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
4237         * include/debug/safe_iterator.h
4238         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
4239         creation of a _Safe_iterator instance to do the check.
4241 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
4243         PR libstdc++/52104
4244         * include/std/future (__future_base::_Async_state_common): Define
4245         destructor inline for targets without TLS.
4246         * src/c++11/future.cc (__future_base::_Async_state_common): Only
4247         define destructor for TLS targets.
4249 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
4251         PR libstdc++/51956
4252         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
4253         (SharedPointerPrinter): This. Also show weak count.
4254         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
4256 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
4258         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
4259         PASS instead of XFAIL.
4261 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
4262             Paolo Carlini  <paolo.carlini@oracle.com>
4264         PR libstdc++/52119
4265         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
4267 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
4269         PR libstdc++/49445
4270         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
4272 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
4274         PR libstdc++/51811
4275         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
4276         * testsuite/29_atomics/atomic/operators/51811.cc: New.
4277         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
4279 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
4281         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4282         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4283         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4284         Likewise.
4285         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4286         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4287         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
4288         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
4289         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
4290         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4292 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
4294         PR libstdc++/52068
4295         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
4296         libc__11_la_SOURCES): Remove.
4297         * src/c++11/Makefile.in: Regenerate.
4298         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
4299         libc__98_la_SOURCES): Remove.
4300         * src/c++98/Makefile.in: Regenerate.
4302 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
4304         PR libstdc++/49204
4305         * include/std/future (__future_base::_State_base::wait()): Use lambda
4306         expression for predicate and remove redundant test.
4307         (__future_base::_State_base::wait_for()): Return future_status and
4308         use lambda expression for predicate.
4309         (__future_base::_State_base::wait_until()): Likewise.
4310         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
4311         (__future_base::_Async_state): Replace with _Async_state_common
4312         class for non-dependent functionality and _Async_state_impl class
4313         template for dependent functionality.
4314         (__future_base::_Async_state_common::_M_join): Serialize attempts to
4315         join thread.
4316         (__future_base::_Async_state_common::_M_run_deferred): Join.
4317         (__future_base::_Async_state::_M_do_run): Replace with lambda.
4318         * src/c++11/future.cc (__future_base::_Async_state_common): Define
4319         destructor, so key function is in the library.
4320         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
4321         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
4322         future_status return instead of bool.
4323         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
4324         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
4325         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
4326         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
4327         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
4328         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
4329         * testsuite/30_threads/promise/members/swap.cc: Likewise.
4331 2012-01-30  Tom Tromey  <tromey@redhat.com>
4333         PR libstdc++/51649:
4334         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
4335         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
4336         (note-test): Update.
4337         (gdb-test): Handle regexp tests.  Add some logging.
4338         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
4339         (placeholder, use): Remove.
4340         (main): Add tests for deque, list, map, and set iterators.  Add
4341         tests for slist and slist iterator.
4342         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
4343         namespace.
4344         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
4345         the type's _Node typedef.
4346         (StdListIteratorPrinter.to_string): Change how node type is
4347         computed.
4348         (StdSlistPrinter.children): Use the type's _Node typedef.
4349         (StdSlistIteratorPrinter.to_string): Likewise.
4350         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
4351         typedef.
4352         (StdMapPrinter.children): Change how the node's type is computed.
4353         (StdSetPrinter.children): Likewise.
4354         (StdForwardListPrinter.children): Use the type's _Node typedef.
4355         (Printer.add_version): New method.
4356         (Printer.add_container): New method.
4357         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
4358         namespaces.
4359         (find_type): New function.
4361 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
4363         PR libstdc++/51795
4364         * include/bits/random.h (linear_congruential_generator): Add
4365         static_assert preventing instantiation for values of 'a' and 'm'
4366         currently handled incorrectly by _Mod::__calc.
4367         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
4368         uses of _Mod::__calc.
4370 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
4372         PR libstdc++/51798
4373         * config/cpu/generic/atomicity_builtins/atomicity.h
4374         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
4375         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
4376         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
4377         Likewise.
4379 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
4381         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
4382         pop with #pragma GCC visibility push.
4384 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
4385             Matthias Klose  <doko@ubuntu.com>
4387         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
4388         * configure.in: Regenerated.
4389         * src/Makefile.am (all-once, install-data-once): New rules.
4390         (all-local, install-data-local): Use them.
4391         (build-debug, install-debug): Tweak.
4392         * src/Makefile.in: Regenerate.
4394 2012-01-27  Richard Henderson  <rth@redhat.com>
4396         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
4397         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
4398         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
4399         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
4401 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
4403         PR bootstrap/51985
4404         * src/c++98/Makefile.am (libc__98_la_SOURCES,
4405         libc__98convenience_la_SOURCES): Remove $(inst_sources).
4406         * src/c++98/Makefile.in: Regenerated.
4408 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
4410         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
4411         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
4412         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
4413         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
4414         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
4415         dg-require-fileio.
4416         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
4417         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
4418         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
4419         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
4420         Likewise.
4421         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
4423 2012-01-25  Matthias Klose  <doko@ubuntu.com>
4425         * testsuite/30_threads/condition_variable_any/requirements: Remove
4426         empty directory.
4428 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
4430         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
4431         * src/Makefile.in: Regenerate.
4433 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
4435         PR libstdc++/49829
4436         Add libc++98convenience.la, libc++11convenience.la.
4437         * src/c++98: New directory.
4438         * src/c++11: New directory.
4439         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
4440         * configure: Regenerated.
4441         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
4442         * Makefile.in: Regenerate.
4443         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
4444         -fno-implicit-templates.
4445         * libsupc++/Makefile.in: Regenerate.
4446         * src/Makefile.am (inst_sources): Move... C++11 files into
4447         separate directory for libstdc++11convenience.la. Files are:
4448         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
4449         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
4450         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
4451         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
4452         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
4453         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
4454         (libstdc++convenience.la): Add new target.
4455         (SUBDIRS): Add c++11, c++98.
4456         * src/Makefile.in: Regenerate.
4457         * src/c++11/Makefile.am: New.
4458         * src/c++11/Makefile.in: Generate.
4459         * src/c++98/Makefile.am: New, C++98 files.
4460         * src/c++98/Makefile.in: Generate.
4462 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4464         libstdc++-v3:
4465         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
4466         32-bit Solaris 10/x86.
4467         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
4469 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
4471         PR libstdc++/50982
4472         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
4474 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
4476         PR libstdc++/51845
4477         * include/bits/hashtable.h
4478         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
4479         _M_buckets[__n_bkt] if __is_bucket_begin.
4480         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
4481         New test.
4483 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4485         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
4487 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4489         * configure.ac: Move epub checks...
4490         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
4491         test -f instead of AC_CHECK_FILES.
4493 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
4494             Roman Kononov  <roman@binarylife.net>
4496         PR libstdc++/51866
4497         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
4498         Do not keep a reference to a potentially moved instance.
4499         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
4500         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
4502 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
4504         * doc/html/*: Regenerate.
4506 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
4508         * configure.ac (BUILD_EPUB): Adjust for epub3.
4509         * configure: Regenerate.
4510         * Makefile.in: Same.
4511         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
4512         * doc/Makefile.in: Regenerate.
4513         * include/Makefile.in: Same.
4514         * libsupc++/Makefile.in: Same.
4515         * po/Makefile.in: Same.
4516         * python/Makefile.in: Same.
4517         * src/Makefile.in: Same.
4518         * testsuite/Makefile.in: Same.
4520         * doc/xml/manual/documentation_hacking.xml: Update.
4522 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
4524         PR target/47852
4525         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
4527 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
4529         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
4531 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
4533         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
4534         base class of ...
4535         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
4536         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
4537         by _M_before_begin. Review implementation so that we do not need to
4538         look for previous non-empty bucket when inserting nodes.
4540 2012-01-09  Kai Tietz  <ktietz@redhat.com>
4542         PR libstc++/51673 part 2
4543         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
4544         operators signature for LLP64 size_t, and adjusted signatures for
4545         mt-allocator using size_t.
4547 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
4549         PR libstc++/51673 part 1
4550         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
4551         with gnu.ver.
4553 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
4555         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
4556         * Makefile.in: Regenerate.
4557         * doc/Makefile.in: Same.
4558         * include/Makefile.in: Same.
4559         * libsupc++/Makefile.in: Same.
4560         * src/Makefile.in: Same.
4561         * testsuite/Makefile.in: Same.
4562         * po/Makefile.in: Same.
4563         * python/Makefile.in: Same.
4565 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
4567         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
4568         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
4570 2012-01-06  Jason Merrill  <jason@redhat.com>
4572         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
4573         expected demangling.
4575 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
4577         PR libstdc++/51504
4578         * doc/xml/manual/debug.xml: Suggest using symbol interposition
4579         to override symbols using annotation macros.
4581 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
4583         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
4584         protected rather than private, use it...
4585         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
4586         * testsuite/23_containers/unordered_set/observers.cc: New.
4587         * testsuite/23_containers/unordered_multiset/observers.cc: New.
4588         * testsuite/23_containers/unordered_map/observers.cc: New.
4589         * testsuite/23_containers/unordered_multimap/observers.cc: New.
4591 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
4593         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
4594         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
4595         to private inheritance.
4597 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
4599         PR c++/51738
4600         * testsuite/23_containers/map/element_access/39901.cc: New.