2012-10-21 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob2267a26aed82533027708dbe8cc6731e8480854d
1 2012-10-21  François Dumont  <fdumont@gcc.gnu.org>
3         * include/profile/map.h (map::emplace_hint): Remove invalid
4         parenthesis.
6 2012-10-21  Hans-Peter Nilsson  <hp@bitrange.com>
8         * testsuite/23_containers/bitset/45713.cc: Skip for mmix-*-*.
9         Tweak sizetype-related comment.
11 2012-10-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
13         * include/std/scoped_allocator: Avoid badname.
15 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
17         * doc/xml/manual/status_cxx2011.xml: Update.
19 2012-10-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
21         * include/std/scoped_allocator (__outermost_alloc_traits): Define.
22         (scoped_allocator_adaptor::destroy): Use it.
23         (scoped_allocator_adaptor::construct): Likewise. Overload for
24         piecewise construction of std::pair objects.
25         * testsuite/20_util/scoped_allocator/2.cc: New.
26         * doc/xml/manual/status_cxx2011.xml: Update.
28 2012-10-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
30         * include/bits/forward_list.h: Add C++11 allocator support.
31         * include/bits/forward_list.tcc: Likewise.
32         * doc/xml/manual/status_cxx2011.xml: Update.
33         * testsuite/23_containers/forward_list/allocator/copy.cc: New.
34         * testsuite/23_containers/forward_list/allocator/copy_assign.cc: New.
35         * testsuite/23_containers/forward_list/allocator/minimal.cc: New.
36         * testsuite/23_containers/forward_list/allocator/move_assign.cc: New.
37         * testsuite/23_containers/forward_list/allocator/noexcept.cc: New.
38         * testsuite/23_containers/forward_list/allocator/swap.cc: New.
40 2012-10-18  François Dumont  <fdumont@gcc.gnu.org>
42         * include/debug/formatter.h (_Debug_msg_id): Add
43         __msg_valid_load_factor.
44         * include/debug/macros.h (__glibcxx_check_max_load_factor): New.
45         * include/debug/unordered_set
46         (unordered_set<>::max_load_factor(float)): Check max load factor
47         is positive.
48         (unordered_multiset<>::max_load_factor(float)): Likewise.
49         * include/debug/unordered_map
50         (unordered_map<>::max_load_factor(float)): Likewise.
51         (unordered_multimap<>::max_load_factor(float)): Likewise.
52         * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc:
53         New.
54         * testsuite/23_containers/unordered_multimap/debug/
55         max_load_factor_neg.cc: New.
56         * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc:
57         New.
58         * testsuite/23_containers/unordered_multiset/debug/
59         max_load_factor_neg.cc: New.
61 2012-10-17  Benjamin Kosnik  <bkoz@redhat.com>
63         * include/bits/move.h (move_if_noexcept): Mark constexpr.
64         * include/std/array (front, back): Same.
65         * include/std/chrono: Add comment.
66         * include/std/tuple (__tuple_compare): Mark __eq, __less constexpr.
67         (operator ==, <, >, !=, <=, >=): Same.
68         * testsuite/20_util/forward/c_neg.cc: Adjust line numbers.
69         * testsuite/20_util/forward/f_neg.cc: Same.
70         * testsuite/20_util/move_if_noexcept/constexpr.cc: New.
71         * testsuite/20_util/tuple/comparison_operators/constexpr.cc: New.
72         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Add.
73         * testsuite/23_containers/array/element_access/
74         constexpr_element_access.cc: Same.
75         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
76         line numbers.
77         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
78         Same.
80         * testsuite/20_util/tuple/comparison_operators/35480_neg.cc:
81           Temporarily add dg-excess-errors.
83 2012-10-16  François Dumont  <fdumont@gcc.gnu.org>
85         * include/debug/formatter.h (_Debug_msg_id): Add
86         __msg_bucket_index_oob.
87         * include/debug/macros.h (__glibcxx_check_bucket_index): New.
88         * include/debug/unordered_set (unordered_set<>::begin(size_type)):
89         Add check on bucket index.
90         (unordered_set<>::begin(size_type) const): Likewise.
91         (unordered_set<>::cbegin(size_type) const): Likewise.
92         (unordered_set<>::end(size_type)): Likewise.
93         (unordered_set<>::end(size_type) const): Likewise.
94         (unordered_set<>::cend(size_type) const): Likewise.
95         (unordered_set<>::bucket_size(size_type)): Likewise.
96         (unordered_multiset<>::begin(size_type)): Likewise.
97         (unordered_multiset<>::begin(size_type) const): Likewise.
98         (unordered_multiset<>::cbegin(size_type) const): Likewise.
99         (unordered_multiset<>::end(size_type)): Likewise.
100         (unordered_multiset<>::end(size_type) const): Likewise.
101         (unordered_multiset<>::cend(size_type) const): Likewise.
102         (unordered_multiset<>::bucket_size(size_type)): Likewise.
103         * include/debug/unordered_map (unordered_map<>::begin(size_type)):
104         Likewise.
105         (unordered_map<>::begin(size_type) const): Likewise.
106         (unordered_map<>::cbegin(size_type) const): Likewise.
107         (unordered_map<>::end(size_type)): Likewise.
108         (unordered_map<>::end(size_type) const): Likewise.
109         (unordered_map<>::cend(size_type) const): Likewise.
110         (unordered_map<>::bucket_size(size_type)): Likewise.
111         (unordered_multimap<>::begin(size_type)): Likewise.
112         (unordered_multimap<>::begin(size_type) const): Likewise.
113         (unordered_multimap<>::cbegin(size_type) const): Likewise.
114         (unordered_multimap<>::end(size_type)): Likewise.
115         (unordered_multimap<>::end(size_type) const): Likewise.
116         (unordered_multimap<>::cend(size_type) const): Likewise.
117         (unordered_multimap<>::bucket_size(size_type)): Likewise.
118         * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc:
119         New.
120         * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: New.
121         * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: New.
122         * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: New.
123         * testsuite/23_containers/unordered_map/debug/end1_neg.cc: New.
124         * testsuite/23_containers/unordered_map/debug/end2_neg.cc: New.
125         * testsuite/23_containers/unordered_map/debug/cend_neg.cc: New.
126         * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc:
127         New.
128         * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: New.
129         * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: New.
130         * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: New.
131         * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: New.
132         * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: New.
133         * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: New.
134         * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc:
135         New.
136         * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: New.
137         * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: New.
138         * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: New.
139         * testsuite/23_containers/unordered_set/debug/end1_neg.cc: New.
140         * testsuite/23_containers/unordered_set/debug/end2_neg.cc: New.
141         * testsuite/23_containers/unordered_set/debug/cend_neg.cc: New.
142         * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc:
143         New.
144         * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: New.
145         * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: New.
146         * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: New.
147         * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: New.
148         * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: New.
149         * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: New.
151 2012-10-15  Matthias Klose  <doko@ubuntu.com>
153         * configure.host: Match arm*-*-linux-* for ARM Linux/GNU.
154         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
155         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
157 2012-10-15  Pavel Chupin  <pavel.v.chupin@intel.com>
159         * Makefile.in: Regenerate.
160         * acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use.
161         * configure: Regenerate.
162         * doc/Makefile.in: Regenerate.
163         * include/Makefile.am: Regenerate.
164         * include/Makefile.in: Rename variable.
165         * libsupc++/Makefile.in: Regenerate.
166         * po/Makefile.in: Regenerate.
167         * python/Makefile.in: Regenerate.
168         * src/Makefile.in: Regenerate.
169         * src/c++11/Makefile.in: Regenerate.
170         * src/c++98/Makefile.in: Regenerate.
171         * testsuite/Makefile.in: Regenerate.
173 2012-10-14  Jason Merrill  <jason@redhat.com>
175         PR target/54908
176         * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list
177         with get/setspecific.  Destroy the key on dlclose.
179 2012-10-12  Edward Smith-Rowland  <3dw4rd@verizon.net>
181         * include/ext/random: Add __gnu_cxx::arcsine_distribution<>
182         and __gnu_cxx::hoyt_distribution<> classes.
183         * include/ext/random.tcc: Add out-of-line functions for
184         __gnu_cxx::arcsine_distribution<> and __gnu_cxx::hoyt_distribution<>.
185         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: New file.
186         * testsuite/ext/random/hoyt_distribution/cons/default.cc: New file.
187         * testsuite/ext/random/hoyt_distribution/requirements/
188         explicit_instantiation/1.cc: New file.
189         * testsuite/ext/random/hoyt_distribution/requirements/typedefs.cc:
190         New file.
191         * testsuite/ext/random/hoyt_distribution/operators/inequal.cc: New file.
192         * testsuite/ext/random/hoyt_distribution/operators/equal.cc: New file.
193         * testsuite/ext/random/hoyt_distribution/operators/serialize.cc:
194         New file.
195         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: New file.
196         * testsuite/ext/random/arcsine_distribution/cons/default.cc: New file.
197         * testsuite/ext/random/arcsine_distribution/requirements/
198         explicit_instantiation/1.cc: New file.
199         * testsuite/ext/random/arcsine_distribution/requirements/typedefs.cc:
200         New file.
201         * testsuite/ext/random/arcsine_distribution/operators/inequal.cc:
202         New file.
203         * testsuite/ext/random/arcsine_distribution/operators/equal.cc:
204         New file.
205         * testsuite/ext/random/arcsine_distribution/operators/serialize.cc:
206         New file.
208 2012-10-12  Paolo Carlini  <paolo.carlini@oracle.com>
210         * include/bits/hashtable_policy.h: Revert libstdc++/53067 quick
211         hacks thanks to the resolution of c++/51213.
213 2012-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
215         * testsuite/23_containers/bitset/45713.cc: Tweak.
217 2012-10-11  Hans-Peter Nilsson  <hp@axis.com>
219         PR testsuite/54897
220         * testsuite/23_containers/bitset/45713.cc: Skip for avr*-*-*
221         cris*-*-* h8300*-*-* mcore*-*-* moxie*-*-*.
223 2012-10-11  Daniel Krugler  <daniel.kruegler@googlemail.com>
225         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
226         Update / extend.
227         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
228         Likewise.
229         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
230         Likewise.
232 2012-10-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
234         PR libstdc++/54872
235         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11) [!__sun__ && !__svr4__]:
236         Don't export _ZNSt12system_errorC*.
238 2012-10-10  Jack Howarth  <howarth@bromo.med.uc.edu>
239             Jonathan Wakely  <jwakely.gcc@gmail.com>
241         PR libstdc++/54847
242         * config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
243         and _GLIBCXX_USE_SCHED_YIELD.
244         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
246 2012-10-10  Mark Kettenis  <kettenis@openbsd.org>
248         * configure.host (*-*-openbsd*) Set cpu_include_dir.
249         * config/os/bsd/openbsd/ctype_base.h: New file.
250         * config/os/bsd/openbsd/ctype_configure_char.cc: New file.
251         * config/os/bsd/openbsd/ctype_inline.h: New file.
252         * config/os/bsd/openbsd/os_defines.h: New file.
253         * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Use newlib locale model
254         for OpenBSD.
255         * configure: Regenerated.
257 2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
259         * include/std/type_traits (__do_common_type_impl): Revert for now
260         LWG 2141-related change.
261         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
262         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
263         Adjust.
265 2012-10-09  Daniel Krugler  <daniel.kruegler@googlemail.com>
267         * include/std/type_traits (common_time): Provide "SFINAE-friendly"
268         implementation.
269         (__success_type, __failure_type): Fix.
270         * include/std/chrono (common_type): Likewise for the chrono::time_point
271         specialization.
272         * testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
273         * testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
274         Likewise.
275         * testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
276         Likewise.
277         * testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
278         LWG 2141.
279         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
280         dg-error line numbers.
281         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
282         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
283         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
284         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
285         Likewise.
286         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
288         * testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
289         tweaks.
290         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
292 2012-10-09  Andrew MacLeod  <amacleod@redhat.com>
294         PR libstdc++/54861
295         * include/bits/atomic_base.h (atomic_signal_fence): Call
296         __atomic_signal_fence instead of __atomic_thread_fence.
298 2012-10-09  Benjamin Kosnik  <bkoz@redhat.com>
300         * testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
301         Fix constant value.
303 2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>
305         PR libstdc++/54869
306         * include/ext/random (simd_fast_mersenne_twister_engine): Provide
307         only for little endian targets.
308         * include/ext/random.tcc: Likewise.
309         * config/cpu/i486/opt/ext/opt_random.h: Likewise.
310         * testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
311         * testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
312         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
313         operators/equal.cc: Use the latter.
314         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
315         operators/serialize.cc: Likewise.
316         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
317         operators/inequal.cc: Likewise.
318         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
319         cons/copy.cc: Likewise.
320         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
321         cons/seed1.cc: Likewise.
322         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
323         cons/seed2.cc: Likewise.
324         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
325         cons/default.cc: Likewise.
326         * testsuite/ext/random/simd_fast_mersenne_twister_engine/
327         cons/seed_seq.cc: Likewise.
329 2012-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
331         PR libstdc++/54754
332         * include/parallel/compatibility.h: Use atomic built-ins when they are
333         lock-free.
335 2012-10-09  Uros Bizjak  <ubizjak@gmail.com>
337         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.
339 2012-10-08  Jason Merrill  <jason@redhat.com>
341         * libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
342         * libsupc++/atexit_thread.cc: New.
343         * libsupc++/Makefile.am (nested_exception.lo): Add it.
344         * config/abi/pre/gnu.ver: Add __cxa_thread_atexit.
346 2012-10-07  Matthias Klose  <doko@ubuntu.com>
348         * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
349         * testsuite/28_regex/algorithms/match/extended: Likewise.
350         * testsuite/28_regex/algorithms/match: Likewise.
352 2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>
354         PR c++/52764
355         * include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
356         __STDC_CONSTANT_MACROS related macros.
358 2012-10-06  Joe Seymour  <jseymour@codesourcery.com>
360         * include/tr2/dynamic_bitset: Fix cxxabi_forced.h include path.
362 2012-10-05  Benjamin Kosnik  <bkoz@redhat.com>
364         * testsuite/28_regex/algorithms/match: Rename to...
365         * testsuite/28_regex/algorithms/regex_match: ...this.
366         * testsuite/28_regex/basic_regex/regex.cc: Rename to...
367         * testsuite/28_regex/basic_regex/ctors/basic/default.cc: ...this.
368         * testsuite/util/testsuite_regex.h: New.
369         * testsuite/28_regex/basic_regex/ctors/basic/raw_string.cc: New.
371 2012-10-05  Jakub Jelinek  <jakub@redhat.com>
373         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line
374         numbers.
376 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
378         PR libstdc++/54686
379         * include/c_global/cstdlib (abs(long long)): Define with
380         __builtin_llabs when we have long long.
381         (abs(long)): Use __builtin_labs.
382         (abs(__int128)): Define when we have __int128.
384 2012-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
386         * include/c_global/cstdlib: Remove redundant pasto code protected
387         by __GXX_EXPERIMENTAL_CXX0X__.
388         * include/c_global/cwctype: Likewise.
389         * include/c_global/ccomplex: Remove uses of obsolete macro
390         _GLIBCXX_INCLUDE_AS_TR1.
391         * include/c_global/cfloat: Likewise.
393 2012-10-05  Marc Glisse  <marc.glisse@inria.fr>
395         PR libstdc++/54686
396         * include/c_std/cstdlib (abs(long long)): Define with
397         __builtin_llabs when we have long long.
398         (abs(long)): Use __builtin_labs.
399         (abs(__int128)): Define when we have __int128.
400         * testsuite/26_numerics/headers/cstdlib/54686.c: New file.
402 2012-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
404         PR libstdc++/53248
405         * include/std/array (__array_traits<>): Add.
406         (array<>): Allow for zero-size arrays of non default-constructible
407         elements.
408         * testsuite/23_containers/array/requirements/
409         non_default_constructible.cc: New.
410         * testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
411         Adjust.
412         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
413         dg-error line numbers.
414         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
415         Likewise.
417 2012-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
419         PR other/53889
420         * include/std/mutex (__recursive_mutex_base::~__recursive_mutex_base):
421         Use __gthread_recursive_mutex_destroy.
422         (__recursive_mutex_base::_S_destroy): Remove.
423         (__recursive_mutex_base::_S_destroy_win32): Likewise.
424         * include/ext/concurrence.h (__recursive_mutex::~__recursive_mutex):
425         Use __gthread_recursive_mutex_destroy.
426         (__recursive_mutex::_S_destroy): Remove.
427         (__recursive_mutex::_S_destroy_win32): Likewise.
429 2012-10-01  Benjamin Kosnik  <bkoz@redhat.com>
431         * config/abi/pre/gnu-versioned-namespace.ver: Add more
432         typeinfo/vtable exports.
434 2012-10-01  Paolo Carlini  <paolo.carlini@oracle.com>
436         PR libstdc++/54757
437         * include/ext/random (rice_distribution<>::operator()): Use std::hypot
438         only if _GLIBCXX_USE_C99_MATH_TR1.
439         * include/ext/random.tcc (rice_distribution<>::__generate_impl):
440         Likewise.
442 2012-10-01  Daniel Krugler  <daniel.kruegler@googlemail.com>
444         * include/std/type_traits (result_of): Provide "SFINAE-friendly"
445         (see N3436) implementation.
446         * testsuite/20_util/result_of/sfinae_friendly_1.cc: New.
447         * testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.
448         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Tweak
449         dg-error line numbers.
450         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
451         Likewise.
452         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
454 2012-09-30  Benjamin Kosnik  <bkoz@redhat.com>
456         * doc/doxygen/user.cfg.in: Update to doxygen 1.8.2.
458 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
460         * include/ext/ropeimpl.h (__uninitialized_fill_n_a): Fix using
461         declaration.
462         * testsuite/ext/rope/5.cc: New.
464 2012-09-30  Jonathan Wakely  <jwakely.gcc@gmail.com>
466         PR libstdc++/54577
467         * doc/xml/manual/status_cxx2011.xml: N2350 changes are missing from
468         sequence containers.
469         * doc/html/*: Regenerate.
471 2012-09-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
473         PR libstdc++/34106
474         * include/parallel/compatibility.h: Remove non-GCC code.
476 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
478         * fragment.am (CONFIG_CXXFLAGS): Remove EXTRA_CXX_FLAGS.
479         * libsupc++/Makefile.am (LTCXXCOMPILE): Add EXTRA_CXX_FLAGS here.
480         * src/Makefile.am: Same.
481         * src/c++98/Makefile.am: Same.
482         * src/c++11/Makefile.am: Same.
483         * Makefile.in: Regenerated.
484         * src/Makefile.am: Same.
485         * src/c++11/Makefile.in: Same.
486         * src/c++98/Makefile.in: Same.
487         * include/Makefile.in: Same.
488         * po/Makefile.in: Same.
489         * python/Makefile.in: Same.
490         * testsuite/Makefile.in: Same.
492 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
494         * src/c++98/Makefile.am: Fixup PARALLEL_FLAGS.
496 2012-09-28  Benjamin Kosnik  <bkoz@redhat.com>
498         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Remove ENABLE_PARALLEL.
499         * include/Makefile.am: Same.
500         * src/c++98/Makefile.am: Same.
501         * src/Makefile.am: Same.
502         * Makefile.in: Regenerated.
503         * aclocal.m4: Same.
504         * configure: Same.
505         * doc/Makefile.in: Same.
506         * include/Makefile.in: Same.
507         * libsupc++/Makefile.in: Same.
508         * po/Makefile.in: Same.
509         * python/Makefile.in: Same.
510         * src/Makefile.in: Same.
511         * testsuite/Makefile.in: Same.
512         * src/c++11/Makefile.in: Same.
513         * src/c++98/Makefile.in: Same.
515         * src/c++98/compatibility-debug_list-2.cc: Update comments.
516         * src/c++98/compatibility-debug_list.cc: Same.
517         * src/c++98/compatibility-list-2.cc: Renamed to src/c++98/list-aux-2.cc
518         * src/c++98/compatibility-list.cc: Renamed to src/c++98/list-aux.cc
519         * src/c++98/compatibility-parallel_list-2.cc: Renamed to
520         src/c++98/list_associated-2.cc.
521         * src/c++98/compatibility-parallel_list.cc: Renamed to
522         src/c++98/list_associated.cc.
524 2012-09-27  Paolo Carlini  <paolo.carlini@oracle.com>
526         PR libstdc++/54727
527         * config/cpu/i486/opt/bits/opt_random.h: Avoid UINT64_C.
529 2012-09-26  Paolo Carlini  <paolo.carlini@oracle.com>
531         * include/ext/random: Add include checks for c++11 and <cstdint>.
533 2012-09-26  Benjamin Kosnik  <bkoz@redhat.com>
535        PR libstdc++/54314
536        * config/abi/pre/gnu.ver: Add vtable exports.
537        * config/abi/pre/gnu-versioned-namespace.ver: Same.
539 2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>
541         PR libstdc++/53515
542         * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
543         _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
545 2012-09-26  Ulrich Drepper  <drepper@gmail.com>
547         Optimize bulk mode for normal_distribution<double> for SSE3.
548         * configure.host: Define cpu_opt_bits_random.
549         * configure.ac: Substitute CPU_OPT_BITS_RANDOM.
550         * include/Makefile.am (bits_headers): Add ${bits_host_headers}.
551         (bits_host_headers): Define.
552         * include/bits/random.tcc: Move __details::_Power_of_2 to...
553         * include/bits/random.h: ...here.
554         * include/std/random: Include <bits/opt_random.h>.
555         * config/cpu/i486/opt/bits/opt_random.h: New file.
556         * config/cpu/generic/opt/bits/opt_random.h: New file.
557         * configure: Regenerated.
558         * Makefile.in: Regenerated.
559         * aclocal.m4: Regenerated.
560         * doc/Makefile.in: Regenerated.
561         * include/Makefile.in: Regenerated.
562         * libsupc++/Makefile.in: Regenerated.
563         * po/Makefile.in: Regenerated.
564         * python/Makefile.in: Regenerated.
565         * src/Makefile.in: Regenerated.
566         * src/c++11/Makefile.in: Regenerated.
567         * src/c++98/Makefile.in: Regenerated.
568         * testsuite/Makefile.in: Regenerated.
570         * config/cpu/generic/opt/ext/opt_random.h: Fix comment.
572 2012-09-25  Paolo Carlini  <paolo.carlini@oracle.com>
574         * doc/xml/manual/status_cxx2011.xml: Update vs PR 44436.
576 2012-09-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
578         * include/ext/random: Add __gnu_cxx::k_distribution<> class.
579         * include/ext/random.tcc: Add out-of-line functions for
580         __gnu_cxx::k_distribution<>.
581         * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
582         * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
583         * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
584         * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
585         * testsuite/ext/random/k_distribution/cons/default.cc: New file.
586         * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
587         New file.
588         * testsuite/ext/random/k_distribution/requirements/
589         explicit_instantiation/1.cc: New file.
591 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
593         PR libstdc++/44436
594         * include/bits/stl_tree.h
595         (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
596         _Const_Base_ptr.
597         (_Rb_tree<>::_M_insert_node): New.
598         (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
599         _M_insert_unique method.
600         (_Rb_tree<>::_M_insert_unique): Use latter.
601         (_Rb_tree<>::_M_emplace_unique): New, likewise.
602         (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
603         _M_insert_equal method.
604         (_Rb_tree<>::_M_insert_equal): Use latter.
605         (_Rb_tree<>::_M_emplace_equal): New, likewise.
606         (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
607         _M_insert_unique_ method.
608         (_Rb_tree<>::_M_insert_unique_): Use latter.
609         (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
610         (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
611         _M_insert_equal_ method.
612         (_Rb_tree<>::_M_insert_equal_): Use latter.
613         (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
614         (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
615         useless as always null.
616         * include/bits/stl_map.h: Include <tuple> in C++11.
617         (map<>::operator[](const key_type&)): Use
618         _Rb_tree<>::_M_emplace_hint_unique in C++11.
619         (map<>::operator[](key_type&&)): Likewise.
620         (map<>::emplace): New.
621         (map<>::emplace_hint): New.
622         * include/bits/stl_multimap.h (multimap<>::emplace): New.
623         (multimap<>::emplace_hint): New.
624         * include/bits/stl_set.h (set<>::emplace): New.
625         (set<>::emplace_hint): New.
626         * include/bits/stl_multiset.h (multiset<>::emplace): New.
627         (multiset<>::emplace_hint): New.
628         * include/debug/map.h (std::__debug::map<>::emplace): New.
629         (std::__debug::map<>::emplace_hint): New.
630         * include/debug/multimap.h (std::__debug::multimap<>::emplace):
631         New.
632         (std::__debug::multimap<>::emplace_hint): New.
633         * include/debug/set.h (std::__debug::set<>::emplace): New.
634         (std::__debug::set<>::emplace_hint): New.
635         * include/debug/multiset.h (std::__debug::multiset<>::emplace):
636         New.
637         (std::__debug::multiset<>::emplace_hint): New.
638         * include/profile/map.h (std::__profile::map<>::emplace): New.
639         (std::__profile::map<>::emplace_hint): New.
640         * include/profile/multimap.h (std::__profile::multimap<>::emplace):
641         New.
642         (std::__profile::multimap<>::emplace_hint): New.
643         * include/profile/set.h (std::__profile::set<>::emplace): New.
644         (std::__profile::set<>::emplace_hint): New.
645         * include/profile/multiset.h (std::__profile::multiset<>::emplace):
646         New.
647         (std::__profile::multiset<>::emplace_hint): New.
648         * testsuite/util/testsuite_container_traits.h: Signal that emplace
649         and emplace_hint are available on std::map, std::multimap,
650         std::set and std::multiset in C++11.
651         * testsuite/23_containers/map/operators/2.cc: New.
652         * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
653         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
654         * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
655         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
657 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
659         * testsuite/performance/23_containers/insert_erase/41975.cc: Use
660         __uset_hashtable rather than removed __unordered_set.
662 2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
664         Revert:
665         2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
667         * include/bits/stl_algobase.h (max, min): Use conditional operator.
669 2012-09-23  Uros Bizjak  <ubizjak@gmail.com>
671         PR libstdc++/54675
672         * include/ext/random: Avoid the badname __alpha (and, for
673         consistency, __mu, __nu, __sigma and __omega too).
674         * include/bits/random.tcc: Likewise.
676 2012-09-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
678         * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
679         * include/ext/random.tcc: Add out-of-line functions for
680         __gnu_cxx::pareto_distribution<>.
681         * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
682         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
683         New file.
684         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
685         New file.
686         * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
687         * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
688         * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
689         New file.
690         * testsuite/ext/random/pareto_distribution/requirements/
691         explicit_instantiation/1.cc: New file.
693 2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
695         * include/bits/stl_algobase.h (max, min): Use conditional operator.
697 2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>
699         PR libstdc++/28811
700         PR libstdc++/54482
701         * configure.ac (glibcxx_lt_pic_flag,
702         glibcxx_compiler_pic_flag,
703         glibcxx_compiler_shared_flag): New. Use them.
704         (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
705         (pic_mode): Set to default.
706         (PIC_CXXFLAGS): Remove.
707         * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
708         * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
709         glibcxx_compiler_shared_flag. Comment.
710         * src/c++11/Makefile.am: Same.
711         * src/c++98/Makefile.am: Same.
712         * src/Makefile.am: Use glibcxx_compiler_pic_flag.
714         * Makefile.in: Regenerated.
715         * aclocal.m4: Same.
716         * configure: Same.
717         * doc/Makefile.in: Same.
718         * include/Makefile.in: Same.
719         * libsupc++/Makefile.in: Same.
720         * po/Makefile.in: Same.
721         * python/Makefile.in: Same.
722         * src/Makefile.in: Same.
723         * src/c++11/Makefile.in: Same.
724         * src/c++98/Makefile.in: Same.
725         * testsuite/Makefile.in: Same.
727         * src/c++11/compatibility-atomic-c++0x.cc: Use
728         _GLIBCXX_SHARED instead of PIC to designate shared-only
729         code blocks.
730         * src/c++11/compatibility-c++0x.cc: Same.
731         * src/c++11/compatibility-thread-c++0x.cc: Same.
732         * src/c++98/compatibility-list-2.cc: Same.
733         * src/c++98/compatibility.cc: : Same.
735         * testsuite/17_intro/shared_with_static_deps.cc: New.
737         * doc/xml/manual/build_hacking.xml: Separate configure from
738         make/build issues, add build details.
740 2012-09-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
742         * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
743         * include/ext/random.tcc: Add out-of-line functions for
744         __gnu_cxx::nakagami_distribution<>.
745         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
746         New file.
747         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
748         New file.
749         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
750         New file.
751         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
752         * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
753         * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
754         New file.
755         * testsuite/ext/random/nakagami_distribution/requirements/
756         explicit_instantiation/1.cc: New file.
758 2012-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
760         PR libstdc++/54612
761         * include/ext/random.tcc (operator==
762         (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
763         const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
764         state_size use.
765         * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
767 2012-09-17  Ulrich Drepper  <drepper@gmail.com>
769         * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
770         * configure.host: Define cpu_opt_ext_random to location of the
771         optimized version of <ext/random>.
772         * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
773         (ext_host_headers): Define.
774         * include/ext/random (simd_fast_mersenne_twister_engine<>
775         ::operator==): Don't define function here.
776         * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
777         define code using SSE2 here.  Define generic code only if
778         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
779         (simd_fast_mersenne_twister_engine<>
780         ::operator==): Define here if
781         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
782         * config/cpu/generic/opt/ext/opt_random.h: New file.
783         * config/cpu/i486/opt/ext/opt_random.h: New file.
784         * libsupc++/Makefile.in: Regenerated.
785         * testsuite/Makefile.in: Regenerated.
786         * po/Makefile.in: Regenerated.
787         * configure: Regenerated.
788         * Makefile.in: Regenerated.
789         * doc/Makefile.in: Regenerated.
790         * aclocal.m4: Regenerated.
791         * python/Makefile.in: Regenerated.
792         * include/Makefile.in: Regenerated.
793         * src/c++98/Makefile.in: Regenerated.
794         * src/c++11/Makefile.in: Regenerated.
795         * src/Makefile.in: Regenerated.
797 2012-09-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
799         * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
800         ::__generate_impl): Remove bogus _Adaptor usage.
802 2012-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
804         * include/ext/random (rice_distribution<>::operator==): Change
805         inline friend definition to non-template.
806         * testsuite/ext/random/rice_distribution/requirements/
807         explicit_instantiation/1.cc: New.
809         * testsuite/26_numerics/random/normal_mv_distribution: Move...
810         * testsuite/ext/random/normal_mv_distribution: ... here.
811         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
812         Move...
813         * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
814         * testsuite/26_numerics/random/beta_distribution: Move...
815         * testsuite/ext/random/beta_distribution: ... here.
816         * testsuite/26_numerics/random/rice_distribution: Move...
817         * testsuite/ext/random/rice_distribution: ... here.
819 2012-09-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
821         * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
822         * include/ext/random.tcc: Add out-of-line functions for
823         __gnu_cxx::rice_distribution<>.
824         * testsuite/26_numerics/random/rice_distribution/
825         operators/equal.cc: New file.
826         * testsuite/26_numerics/random/rice_distribution/
827         operators/serialize.cc: New file.
828         * testsuite/26_numerics/random/rice_distribution/
829         operators/inequal.cc: New file.
830         * testsuite/26_numerics/random/rice_distribution/
831         cons/parms.cc: New file.
832         * testsuite/26_numerics/random/rice_distribution/
833         cons/default.cc: New file.
834         * testsuite/26_numerics/random/rice_distribution/
835         requirements/typedefs.cc: New file.
837 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
839         * configure: Regenerated.
841 2012-09-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
842             H.J. Lu  <hongjiu.lu@intel.com>
844         PR libstdc++/54576
845         * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
847 2012-09-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
849         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
850         * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
851         * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
852         * configure: Regenerate.
853         * Makefile.in: Regenerate.
854         * doc/Makefile.in: Regenerate.
855         * include/Makefile.in: Regenerate.
856         * libsupc++/Makefile.in: Regenerate.
857         * po/Makefile.in: Regenerate.
858         * python/Makefile.in: Regenerate.
859         * src/Makefile.in: Regenerate.
860         * src/c++11/Makefile.in: Regenerate.
861         * src/c++98/Makefile.in: Regenerate.
862         * testsuite/Makefile.in: Regenerate.
864 2012-09-11  Jakub Jelinek  <jakub@redhat.com>
866         PR libstdc++/54172
867         * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
868         argument of the first __atomic_compare_exchange_n.
870 2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
871             Jonathan Wakely  <jwakely.gcc@gmail.com>
873         PR libstdc++/43852
874         * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
875         * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
876         * config.h.in: Regenerate.
877         * configure: Likewise.
878         * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
879         * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
880         * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
881         * doc/html/manual/configure.html: Regenerate.
883 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
885         PR bootstrap/54419
886         * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
887         * configure: Regenerated.
889 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
891         PR libstdc++/54388
892         * include/std/array (array::at() const): Ensure lvalue result.
893         * testsuite/23_containers/array/element_access/54388.cc: New.
894         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
895         dg-error line numbers.
896         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
897         Likewise.
899 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
900             Dominique d'Humieres  <dominiq@lps.ens.fr>
901             Jack Howarth  <howarth@bromo.med.uc.edu>
903         PR bootstrap/54419
904         * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
905         * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
906         support in assembler.
907         * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
908         (random_device::_M_init): Likewise.
909         (random_device::_M_getval): Likewise.
910         * configure: Regenerated.
911         * config.h.in: Regenerated.
913 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
915         * src/c++11/random.cc (random_device::_M_init): Use new macro
916         signature_INTEL_ebx to check for Intel processors.
918 2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>
920         PR libstdc++/54172
921         * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
922         we detect that another thread has had success. Don't compare_exchange
923         from a finished state back to a waiting state. Comment.
925 2012-09-05  François Dumont  <fdumont@gcc.gnu.org>
927         PR libstdc++/54296
928         * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
929         __node_type*)): New.
930         (erase(const_iterator)): Use latter.
931         (_M_erase(std::true_type, const key_type&)): New, likewise.
932         (_M_erase(std::false_type, const key_type&)): New. Find all nodes
933         matching the key before deallocating them so that the key doesn't
934         get invalidated.
935         (erase(const key_type&)): Use the new member functions.
936         * testsuite/23_containers/unordered_map/erase/54296.cc: New.
937         * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
939 2012-09-05  Ulrich Drepper  <drepper@gmail.com>
941         * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
942         instruction is available by using __get_cpuid_max.
944         * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
945         (operator()): Use __generate() function of _M_nd.
947         * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
948         * include/ext/random.tccAdd out-of-line functions for
949         __gnu_cxx::normal_mv_distribution<>.
950         * testsuite/26_numerics/random/normal_mv_distribution/
951         operators/equal.cc: New file.
952         * testsuite/26_numerics/random/normal_mv_distribution/
953         operators/serialize.cc: New file.
954         * testsuite/26_numerics/random/normal_mv_distribution/
955         operators/inequal.cc: New file.
956         * testsuite/26_numerics/random/normal_mv_distribution/
957         cons/default.cc: New file.
958         * testsuite/26_numerics/random/normal_mv_distribution/
959         cons/parms.cc: New file.
960         * testsuite/26_numerics/random/normal_mv_distribution/
961         requirements/explicit_instantiation/1.cc: New file.
962         * testsuite/26_numerics/random/normal_mv_distribution/
963         requirements/typedefs.cc: New file.
965 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
967         * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
968         * include/ext/random.tcc: Add out-of-line functions for
969         __gnu_cxx::beta_distribution<>.
970         * testsuite/26_numerics/random/beta_distribution/
971         operators/equal.cc: New file.
972         * testsuite/26_numerics/random/beta_distribution/
973         operators/serialize.cc: New file.
974         * testsuite/26_numerics/random/beta_distribution/
975         operators/inequal.cc: New file.
976         * testsuite/26_numerics/random/beta_distribution/
977         cons/parms.cc: New file.
978         * testsuite/26_numerics/random/beta_distribution/
979         cons/default.cc: New file.
980         * testsuite/26_numerics/random/beta_distribution/
981         requirements/typedefs.cc: New file.
982         * testsuite/26_numerics/random/beta_distribution/
983         requirements/explicit_instantiation/1.cc: New file.
985 2012-09-04  Steven Bosscher  <steven@gcc.gnu.org>
987         PR bootstrap/54453
988         * include/Makefile.am: Fix regex.
989         * include/Makefile.in: Regenerate.
991 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
993         PR libstdc++/54005 continued
994         * include/std/atomic: Use __atomic_lock_free with NULL.
995         * include/bits/atomic_base.h: Same.
997 2012-08-30  Ulrich Drepper  <drepper@gmail.com>
999         * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
1000         Remove 'return' from constructor.
1002 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
1004         * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
1006 2012-08-29  Ulrich Drepper  <drepper@gmail.com>
1008         * include/bits/random.h (random_device): Move implementation to...
1009         * src/c++11/random.cc: ...here.  New file.
1010         * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
1011         std::random_device::* symbols.
1012         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
1013         * src/c++11/Makefile.am (sources): Add random.cc.
1014         * src/c++11/Makefile.in: Regenerated.
1016         Add simd_fast_mersenne_twister_engine class.
1017         * include/ext/random: New file.
1018         * include/ext/random.tcc: New file.
1019         * include/Makefile.am (ext_headers): Add random and random.tcc.
1020         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1021         operators/inequal.cc: New file.
1022         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1023         operators/equal.cc: New file.
1024         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1025         operators/serialize.cc: New file.
1026         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1027         cons/seed2.cc: New file.
1028         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1029         cons/default.cc: New file.
1030         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1031         cons/seed_seq.cc: New file.
1032         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1033         cons/copy.cc: New file.
1034         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
1035         cons/seed1.cc: New file.
1037 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1039         PR libstdc++/54102, part 2
1040         * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
1041         * doc/Makefile.in: Regenerate.
1042         * doc/html/*: Same.
1044 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1046         * doc/html/*: Regenerate.
1048 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
1050         PR libstdc++/54102
1051         * doc/xsl/customization.xsl.in: New.
1052         * configure.ac: Output local copy of customization xsl.
1053         * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
1054         (stamp-html-docbook): Set stringparam to UTF-8.
1055         * Makefile.in: Regenerated.
1056         * configure: Same.
1057         * doc/Makefile.in: Same.
1059 2012-08-27  Ulrich Drepper  <drepper@gmail.com>
1061         Add interfaces to retrieve random numbers in bulk.
1062         * include/bits/random.h (uniform_int_distribution<>): Add __generate
1063         and __generate_impl functions.
1064         (uniform_real_distribution<>): Likewise.
1065         (bernoulli_distribution): Likewise.
1066         (geometric_distribution<>): Likewise.
1067         (negative_binomial_distribution<>): Likewise.
1068         (poisson_distribution<>): Likewise.
1069         (exponential_distribution<>): Likewise.
1070         (normal_distribution<>): Likewise.
1071         (lognormal_distribution<>): Likewise.
1072         (chi_squared_distribution<>): Likewise.
1073         (cauchy_distribution<>): Likewise.
1074         (fisher_f_distribution<>): Likewise.
1075         (student_t_distribution<>): Likewise.
1076         (gamma_distribution<>): Likewise.
1077         (weibull_distribution<>): Likewise.
1078         (extreme_value_distribution<>): Likewise.
1079         (discrete_distribution<>): Likewise.
1080         (piecewise_constant_distribution<>): Likewise.
1081         (piecewise_linear_distribution<>): Likewise.
1082         * include/bits/random.tcc (__detail::_Power_of_2): New function.
1083         (uniform_int_distribution<>::__generate_impl): New function.
1084         (uniform_real_distribution<>::__generate_impl): New function.
1085         (bernoulli_distribution::__generate_impl): New function.
1086         (geometric_distribution<>::__generate_impl): New function.
1087         (negative_binomial_distribution<>::__generate_impl): New function.
1088         (poisson_distribution<>::__generate_impl): New function.
1089         (exponential_distribution<>::__generate_impl): New function.
1090         (normal_distribution<>::__generate_impl): New function.
1091         (lognormal_distribution<>::__generate_impl): New function.
1092         (chi_squared_distribution<>::__generate_impl): New function.
1093         (cauchy_distribution<>::__generate_impl): New function.
1094         (fisher_f_distribution<>::__generate_impl): New function.
1095         (student_t_distribution<>::__generate_impl): New function.
1096         (gamma_distribution<>::__generate_impl): New function.
1097         (weibull_distribution<>::__generate_impl): New function.
1098         (extreme_value_distribution<>::__generate_impl): New function.
1099         (discrete_distribution<>::__generate_impl): New function.
1100         (piecewise_constant_distribution<>::__generate_impl): New function.
1101         (piecewise_linear_distribution<>::__generate_impl): New function.
1103 2012-08-22  Ulrich Drepper  <drepper@gmail.com>
1105         * include/bits/random.h (mersenne_twister_engine): Don't inline
1106         discard here.  New member function _M_gen_rand.
1107         * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
1108         New function.  Extracted from operator().
1109         (mersenne_twister_engine<>::discard): New implementation which
1110         skips in large steps.
1111         (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
1113 2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
1114             Paolo Carlini  <paolo.carlini@oracle.com>
1116         PR libstdc++/54376
1117         * include/bits/random.h (lognormal_distribution<>::operator==,
1118         gamma_distribution<>::operator==,
1119         chi_squared_distribution<>::operator==,
1120         fisher_f_distribution<>::operator==,
1121         student_t_distribution<>::operator==,
1122         binomial_distribution<>::operator==,
1123         negative_binomial_distribution<>::operator==,
1124         poisson_distribution<>::operator==): Change inline friend definition
1125         to non-template.
1126         * testsuite/26_numerics/random/binomial_distribution/requirements/
1127         explicit_instantiation/1.cc: New.
1128         * testsuite/26_numerics/random/cauchy_distribution/requirements/
1129         explicit_instantiation/1.cc: Likewise.
1130         * testsuite/26_numerics/random/chi_squared_distribution/
1131         requirements/explicit_instantiation/1.cc: Likewise.
1132         * testsuite/26_numerics/random/discrete_distribution/requirements/
1133         explicit_instantiation/1.cc: Likewise.
1134         * testsuite/26_numerics/random/exponential_distribution/
1135         requirements/explicit_instantiation/1.cc: Likewise.
1136         * testsuite/26_numerics/random/extreme_value_distribution/
1137         requirements/explicit_instantiation/1.cc: Likewise.
1138         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
1139         explicit_instantiation/1.cc: Likewise.
1140         * testsuite/26_numerics/random/gamma_distribution/requirements/
1141         explicit_instantiation/1.cc: Likewise.
1142         * testsuite/26_numerics/random/geometric_distribution/requirements/
1143         explicit_instantiation/1.cc: Likewise.
1144         * testsuite/26_numerics/random/lognormal_distribution/requirements/
1145         explicit_instantiation/1.cc: Likewise.
1146         * testsuite/26_numerics/random/negative_binomial_distribution/
1147         requirements/explicit_instantiation/1.cc: Likewise.
1148         * testsuite/26_numerics/random/normal_distribution/requirements/
1149         explicit_instantiation/1.cc: Likewise.
1150         * testsuite/26_numerics/random/piecewise_constant_distribution/
1151         requirements/explicit_instantiation/1.cc: Likewise.
1152         * testsuite/26_numerics/random/piecewise_linear_distribution/
1153         requirements/explicit_instantiation/1.cc: Likewise.
1154         * testsuite/26_numerics/random/poisson_distribution/requirements/
1155         explicit_instantiation/1.cc: Likewise.
1156         * testsuite/26_numerics/random/student_t_distribution/requirements/
1157         explicit_instantiation/1.cc: Likewise.
1158         * testsuite/26_numerics/random/uniform_int_distribution/
1159         requirements/explicit_instantiation/1.cc: Likewise.
1160         * testsuite/26_numerics/random/uniform_real_distribution/
1161         requirements/explicit_instantiation/1.cc: Likewise.
1162         * testsuite/26_numerics/random/weibull_distribution/requirements/
1163         explicit_instantiation/1.cc: Likewise.
1165 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1167         * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
1169 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1171         PR libstdc++/54297
1172         * src/c++11/future.cc (~_Async_state_common): Move to...
1173         * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
1174         Here.
1175         (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
1176         * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
1178 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1179             Geoff Romer  <gromer@google.com>
1181         PR libstdc++/54351
1182         * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
1183         reset().
1184         (unique_ptr<T[]>::~unique_ptr()): Likewise.
1185         * testsuite/20_util/unique_ptr/54351.cc: New.
1186         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
1187         line numbers.
1189 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1191         PR libstdc++/54297
1192         * include/std/future (~_Async_state_impl): Join thread before
1193         derived class members are destroyed.
1194         (~_Async_state_common): Only define non-trivial destructor when
1195         included from future.cc for ABI compatibility reasons.
1196         * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
1197         * testsuite/30_threads/async/54297.cc: New.
1199 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1201         PR libstdc++/54248
1202         * include/bits/concept_check.h: Replace references to boost
1203         namespace.
1205 2012-08-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
1207         PR libstdc++/54354
1208         * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
1209         * doc/html/*: Regenerate.
1211 2012-08-15  Tom Tromey  <tromey@redhat.com>
1213         * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
1214         New.
1215         (global): New global.
1216         (main): Add test for unique_ptr.
1217         * python/libstdcxx/v6/printers.py
1218         (UniquePointerPrinter.to_string): Extract the pointer and also
1219         print its type.
1221 2012-08-13  David Adler  <d.adler.s@gmail.com>
1223         PR libstdc++/54185
1224         * src/c++11/condition_variable.cc (condition_variable): Always
1225         destroy native type in destructor.
1226         * testsuite/30_threads/condition_variable/54185.cc: New.
1228 2012-08-13  François Dumont  <fdumont@gcc.gnu.org>
1229             Ollie Wild  <aaw@google.com>
1231         * include/bits/hashtable.h
1232         (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
1233         (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
1234         (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
1235         (_Hashtable<>::_M_insert_bucket): Replace by ...
1236         (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
1237         ... this, new.
1238         (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
1239         (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
1240         * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
1241         latter, emplace the value_type rather than insert.
1242         * include/std/unordered_map: Include tuple.
1243         * include/std/unordered_set: Likewise.
1244         * testsuite/util/testsuite_counter_type.h: New.
1245         * testsuite/23_containers/unordered_map/operators/2.cc: New.
1247 2012-08-13  Marc Glisse  <marc.glisse@inria.fr>
1249         PR libstdc++/54112
1250         * include/c_compatibility/complex.h: Undefine complex, always
1251         include system's complex.h if present.
1252         * testsuite/26_numerics/complex/c99.cc: New testcase.
1253         * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
1254         * doc/xml/manual/numerics.xml: Document it.
1256 2012-08-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
1258         PR libstdc++/52681
1259         * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
1260         when threads are not enabled.
1262 2012-08-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1264         * acinclude.m4: Update references to final C++11 standard.
1265         * include/bits/shared_ptr.h: Likewise.
1266         * include/bits/shared_ptr_base.h: Likewise.
1267         * include/bits/unique_ptr.h: Likewise.
1268         * include/std/chrono: Likewise.
1269         * include/std/thread: Likewise.
1271 2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>
1273         PR libstdc++/54005
1274         * include/std/atomic: Use __atomic_always_lock_free.
1275         * include/bits/atomic_base.h: Same.
1277 2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1279         * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
1280         tweaks.
1281         * testsuite/decimal/unary-arith.cc: Likewise.
1282         * testsuite/decimal/ctor.cc: Likewise.
1283         * testsuite/decimal/conversion-to-integral.cc: Likewise.
1284         * testsuite/decimal/make-decimal.cc: Likewise.
1285         * testsuite/decimal/comparison.cc: Likewise.
1286         * testsuite/decimal/incdec-memfunc.cc: Likewise.
1287         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
1288         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
1289         * testsuite/decimal/cast_neg.cc: Likewise.
1290         * testsuite/decimal/incdec.cc: Likewise.
1291         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
1292         * testsuite/decimal/binary-arith.cc: Likewise.
1293         * testsuite/decimal/conversion-from-float.cc: Likewise.
1294         * testsuite/decimal/conversion-from-integral.cc: Likewise.
1295         * testsuite/decimal/compound-assignment.cc: Likewise.
1297 2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
1299         PR libstdc++/54036
1300         * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
1301         a unary operator.
1302         * testsuite/decimal/pr54036-1.cc: New test.
1303         * testsuite/decimal/pr54036-2.cc: Likewise.
1304         * testsuite/decimal/pr54036-3.cc: Likewise.
1306 2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
1308         Revert:
1309         2012-08-03  Ollie Wild  <aaw@google.com>
1310                     Richard Smith  <richardsmith@google.com>
1312         * include/bits/stl_map.h (operator[](key_type&&)): Replace
1313         std::make_pair with value_type.
1314         * testsuite/23_containers/map/operators/2.cc: New test.
1316 2012-08-03  François Dumont  <fdumont@gcc.gnu.org>
1318         * include/debug/functions.h (__check_partition_lower_aux): Remove
1319         redundant comparison with pivot value.
1320         (__check_partition_upper_aux): Likewise.
1322 2012-08-03  Ollie Wild  <aaw@google.com>
1323             Richard Smith  <richardsmith@google.com>
1325         * include/bits/stl_map.h (operator[](key_type&&)): Replace
1326         std::make_pair with value_type.
1327         * testsuite/23_containers/map/operators/2.cc: New test.
1329 2012-08-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1331         * include/std/memory: Include auto_ptr.h later.
1332         * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
1333         definition.
1334         * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
1335         Likewise.
1336         * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
1337         * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
1338         (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
1339         * include/std/future: Reduce header dependencies.
1340         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1341         numbers.
1342         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
1343         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1345 2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
1347         * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
1348         order of closures.
1349         (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
1351 2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
1353         PR libstdc++/54075
1354         * include/bits/hashtable_policy.h
1355         (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
1356         to boost growth in the number of buckets.
1357         * testsuite/performance/23_containers/insert/unordered_set.cc: New.
1359 2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
1361         PR libstdc++/54075
1362         * include/bits/hashtable.h
1363         (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
1364         size_type, ...): Remove std::max usage to guarantee that hashtable
1365         state is consistent with hash policy state.
1366         (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
1367         the hashtable shrinking on next insertion.
1368         * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
1369         * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
1370         * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
1371         * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
1373 2012-07-20  Chip Salzenberg  <chip@pobox.com>
1374             Jonathan Wakely  <jwakely.gcc@gmail.com>
1376         PR libstdc++/54025
1377         * include/std/chrono (duration<>::duration): Fix per C++11.
1378         * testsuite/20_util/duration/cons/54025.cc: New.
1379         * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
1381 2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
1383         * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
1385 2012-07-19  Tristan Gingold  <gingold@adacore.com>
1386             Richard Henderson  <rth@redhat.com>
1388         * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
1389         Adjust for SEH.
1390         * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
1392 2012-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
1394         PR c++/51213
1395         * testsuite/20_util/pair/noncopyable.cc: New.
1397 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1399         PR libstdc++/53270
1400         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
1401         NSDMI in C++98 mode too.
1402         * include/ext/rope: Add system_header pragma.
1403         (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
1404         (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
1406 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1408         PR libstdc++/53978
1409         * include/bits/alloc_traits.h (allocator_traits): Define static
1410         constants.
1411         * include/bits/ptr_traits.h (pointer_traits): Likewise.
1412         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1413         Likewise.
1415 2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
1417         PR libstdc++/53657
1418         * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
1419         per C++11.
1420         * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
1421         (const_iterator, _Pair&&)): Constrain with std::is_constructible,
1422         per LWG2005.
1423         * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
1424         multimap<>::insert(const_iterator, _Pair&&)): Likewise.
1425         * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
1426         _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
1427         * include/debug/unordered_map: Adjust.
1428         * include/debug/map.h: Likewise.
1429         * include/debug/multimap.h: Likewise.
1430         * include/profile/unordered_map: Likewise.
1431         * include/profile/map.h: Likewise.
1432         * include/profile/multimap.h: Likewise.
1434 2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
1436         PR libstdc++/53872
1437         * include/std/thread (thread::_M_make_routine): Qualify make_shared
1438         to prevent ADL.
1439         * testsuite/30_threads/thread/adl.cc: New.
1441 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1443         * include/std/condition_variable: Update copyright years.
1445 2012-07-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1447         PR libstdc++/53830
1448         * include/std/condition_variable (condition_variable_any::wait):
1449         Move _Unlock type to class scope.
1450         (condition_variable_any::wait_until): Reuse it.
1451         * testsuite/30_threads/condition_variable_any/53830.cc: New.
1453 2012-07-04  Matthias Klose  <doko@ubuntu.com>
1455         * testsuite/28_regex/headers/04_header: Remove empty directory.
1456         * testsuite/28_regex/algorithms/02_match: Likewise.
1458 2012-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
1460         PR libstdc++/53840
1461         * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
1462         ratio_subtract): Use template aliases.
1463         * include/std/chrono (duration<>::duration(const duration<>&),
1464         duration_cast): Adjust.
1465         * testsuite/20_util/ratio/operations/53840.cc: New.
1466         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1467         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
1468         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
1469         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1471 2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
1473         Revert:
1474         2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
1476         PR libstdc++/49561
1477         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
1478         Add in C++0x mode.
1479         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
1480         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
1481         list<>::size, list<>::swap, list<>::splice): Use it.
1482         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
1483         * include/bits/list.tcc (list<>::erase): Likewise.
1484         (list<>::merge): Adjust in C++0x mode.
1485         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1486         Adjust dg-error line number.
1487         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1488         Likewise.
1489         * testsuite/23_containers/list/requirements/dr438/
1490         constructor_1_neg.cc: Likewise.
1491         * testsuite/23_containers/list/requirements/dr438/
1492         constructor_2_neg.cc: Likewise.
1494 2012-06-27  Benjamin Kosnik  <bkoz@redhat.com>
1496         * include/bits/c++config: Remove __regex nested namespace.
1497         * include/bits/regex_compiler.h: Change __regex to
1498         __detail. Adjust doxygen markup, add regex-details group.
1499         * include/bits/regex_constants.h: Same.
1500         * include/bits/regex_cursor.h: Same.
1501         * include/bits/regex_error.h: Same.
1502         * include/bits/regex_grep_matcher.h: Same.
1503         * include/bits/regex_grep_matcher.tcc: Same.
1504         * include/bits/regex_nfa.h: Same.
1505         * include/bits/regex_nfa.tcc: Same.
1506         * include/bits/regex.h: Same. Remove static from global constants.
1508         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
1510         * include/bits/locale_classes.tcc: Add use_facet, has_facet to
1511         locales group.
1513 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
1515         * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
1516         Add noexcept.
1518 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
1520         * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
1521         Add noexcept.
1523 2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>
1525         * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
1527 2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>
1529         * testsuite/28_regex/algorithms/02_match: To...
1530         * testsuite/28_regex/algorithms/match: ...this.
1531         * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
1532         duplicate.
1534 2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
1535             Jonathan Wakely  <jwakely.gcc@gmail.com>
1537         PR libstdc++/53678
1538         * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
1539         * testsuite/22_locale/ctype_base/53678.cc: New.
1541 2012-06-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1543         PR libstdc++/53578
1544         * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
1545         narrowing conversion.
1546         * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
1548 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1550         PR libstdc++/53270
1551         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
1552         NSDMI in C++11 mode.
1553         * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
1554         destructor when initialized by function.
1556 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1558         PR libstdc++/53648
1559         * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
1560         * testsuite/20_util/tuple/53648.cc: New.
1561         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
1562         number.
1564 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1566         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
1568 2012-06-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1570         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
1572 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
1574         PR libstdc++/53543
1575         * include/bits/hashtable_policy.h (_Insert::__is_convertible):
1576         Rename to __is_conv to avoid clash with clang built-in.
1578 2012-05-29  François Dumont  <fdumont@gcc.gnu.org>
1580         * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
1581         (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
1582         with iterator returning rvalue.
1583         * testsuite/25_algorithms/stable_sort/3.cc: New.
1585 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1587         PR c++/53503
1588         * testsuite/26_numerics/headers/cmath/53503.cc: New.
1590 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1592         PR c++/53322
1593         * include/bits/stl_algobase.h (lower_bound)
1594         (lexicographical_compare): Do not declare unused local typedefs
1595         here when Concepts are turned off.
1597 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
1599         * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
1600         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
1601         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
1602         * Likewise.
1603         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
1604         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
1605         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
1606         * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
1607         * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
1608         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
1609         * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
1610         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
1611         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
1612         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
1613         * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
1614         * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
1615         * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
1616         * Likewise.
1617         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
1619 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
1621         PR c++/53361
1622         * testsuite/23_containers/array/cons/53361.cc: New.
1624 2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
1626         PR c++/44516
1627         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
1628         dg-error line number.
1630 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1632         * configure: Regenerated.
1634 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1636         PR libstdc++/53339
1637         * include/bits/hashtable_policy.h (__detail::_Identity,
1638         __detail::_Select1st): Add.
1639         (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
1640         * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
1641         * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
1642         Likewise.
1643         * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
1644         Likewise.
1645         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
1646         Unconditionally derive from unary_function.
1647         * include/ext/functional (identity, select1st, select2nd): Remove
1648         #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
1649         * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
1650         * testsuite/23_containers/unordered_multimap/requirements/
1651         53339.cc: Likewise.
1653 2012-05-11  François Dumont  <fdumont@gcc.gnu.org>
1655         PR libstdc++/53263
1656         * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
1657         * include/debug/functions.h: ... Here.
1658         (__check_sorted_aux): Add overload for random access safe
1659         iterators.
1660         (__check_partition_lower_aux): New.
1661         (__check_partition_lower): Use latter.
1662         (__check_partition_upper_aux): New.
1663         (__check_partition_upper): Use latter.
1664         * include/debug/macros.h (__glibcxx_check_heap)
1665         (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
1667 2012-05-10  DJ Delorie  <dj@redhat.com>
1669         * include/bits/random.tcc (seed_seq::generate): Cast max()
1670         operands to size_t to ensure a template match.
1671         * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
1672         size_t to ensure a template match.
1674 2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>
1676         * scripts/testsuite_flags.in (cxxflags): Remove
1677         -ftrack-macro-expansion=0.
1679 2012-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1681         * doc/xml/faq.xml: Update outdated allocator documentation.
1682         * doc/xml/manual/allocator.xml: Likewise.
1683         * doc/xml/manual/debug.xml: Likewise.
1684         * doc/xml/manual/evolution.xml: Likewise.
1685         * doc/xml/manual/using.xml: Likewise.
1687 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
1689         PR libstdc++/44015
1690         * include/bits/basic_ios.h: Add tparam markup for
1691         * doxygen.  include/bits/basic_string.h: Same.
1692         * include/bits/forward_list.h: Same.
1693         * include/bits/stl_bvector.h: Same.
1694         * include/bits/stl_deque.h: Same.
1695         * include/bits/stl_list.h: Same.  include/bits/stl_map.h:
1696         * Same.  include/bits/stl_multimap.h: Same.
1697         * include/bits/stl_multiset.h: Same.
1698         * include/bits/stl_pair.h: Same.
1699         * include/bits/stl_queue.h: Same.
1700         * include/bits/stl_set.h: Same.
1701         * include/bits/stl_stack.h: Same.
1702         * include/bits/stl_vector.h: Same.
1703         * include/bits/unordered_map.h: Same.
1704         * include/bits/unordered_set.h: Same.  include/std/array:
1705         * Same.  include/std/atomic: Same.  include/std/fstream:
1706         * Same.  include/std/istream: Same.  include/std/ostream:
1707         * Same.  include/std/sstream: Same.
1708         * include/std/streambuf: Same.
1709         * testsuite/23_containers/deque/requirements/dr438/*:
1710         Adjust line numbers.
1711         * testsuite/23_containers/list/requirements/dr438/*: Same.
1712         * testsuite/23_containers/vector/requirements/dr438/*: Same.
1714 2012-05-02  DJ Delorie  <dj@redhat.com>
1716         * crossconfig.m4: Since we know that all TPF builds are cross-
1717         builds and cannot run configuration-time link tests, do not
1718         allow it; just go with known supported linker options.
1719         * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
1721 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
1723         * include/bits/hashtable_policy.h: Correct namepace nesting for
1724         _Hashtable forward declaration.
1726 2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
1728         PR libstdc++/53115
1729         * include/bits/hashtable.h
1730         (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
1731         after insertion of several equivalent elements.
1732         * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
1733         * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
1735 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
1736             Paolo Carlini  <paolo.carlini@oracle.com>
1738         PR libstdc++/51795
1739         * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
1740         (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
1741         __lg(long long), __lg(unsigned long long)): Define constexpr.
1742         * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
1743         limitations.
1744         (__mod): Adjust.
1745         (linear_congruential): Remove FIXME static_assert.
1746         * include/bits/random.tcc (_Mod<>): Adjust.
1747         * testsuite/26_numerics/random/linear_congruential_engine/operators/
1748         51795.cc: New.
1750 2012-04-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1752         * include/std/functional (function::function(F)): LWG 2132: Disable
1753         constructor if argument isn't callable.
1754         * testsuite/20_util/function/cons/callable.cc: New.
1756 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
1758         PR libstdc++/22200
1759         * include/std/limits (numeric_limits<>::is_modulo): False for
1760         signed types.
1762 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
1764         * include/bits/hashtable.h: Adjust doxygen markup for base
1765         classes.
1766         * include/bits/hashtable_policy.h: Same.
1768 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
1770         PR libstdc++/52689
1771         * testsuite/17_intro/static.cc: Fix.
1772         * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
1773         * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
1775 2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1777         * include/std/scoped_allocator (scoped_allocator::__outermost): Do
1778         not pass non-POD to varargs function.
1779         * testsuite/20_util/scoped_allocator/1.cc: Fix test.
1781 2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>
1783         PR libstdc++/52689
1784         * testsuite/17_intro/static.cc: New.
1786 2012-04-23  Daniel Krugler  <daniel.kruegler@googlemail.com>
1788         * include/std/type_traits (is_nothrow_destructible): Implement.
1789         (is_destructible): Implement LWG 2049.
1790         * testsuite/util/testsuite_tr1.h: Add tests.
1791         * testsuite/20_util/is_nothrow_destructible/value.cc: New.
1792         * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
1793         * testsuite/20_util/is_nothrow_destructible/requirements/
1794         explicit_instantiation.cc: Likewise.
1795         * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
1796         * testsuite/20_util/is_default_constructible/value.cc: Tweak.
1797         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1798         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1799         dg-error line numbers.
1800         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1801         Likewise.
1802         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1804 2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>
1806         PR libstdc++/53080
1807         * include/std/array (tuple_element, get): static_assert I < N.
1808         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1809         New.
1810         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1811         * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
1813 2012-04-23  Chris Jefferson  <chris@bubblescope.net>
1815         PR testsuite/53046
1816         * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
1817         of array A.
1818         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
1820 2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1822         PR libstdc++/53067
1823         * include/bits/hashtable_policy.h: Change inheritances to public.
1824         * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
1825         * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
1827 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1829         * include/ext/alloc_traits.h (__alloc_traits::difference_type):
1830         Define.
1832 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1834         PR libstdc++/53027
1835         * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
1836         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
1837         rebind works.
1839 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1841         * include/debug/forward_list (forward_list::splice_after): Check
1842         allocators are equal.
1843         * src/c++11/debug.cc: Fix spelling.
1844         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
1845         New.
1846         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
1847         Likewise.
1848         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
1849         Likewise.
1851 2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
1853         PR libstdc++/53052
1854         * include/std/type_traits (is_explicitly_convertible): Remove.
1855         * testsuite/20_util/is_explicitly_convertible: Likewise.
1856         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1857         Adjust dg-error line numbers.
1858         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1859         Likewise.
1860         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1862 2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1864         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1865         808590.cc: New.
1867 2012-04-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1869         * testsuite/util/testsuite_abi.cc (compare_symbols): Change
1870         summary header to avoid confusion with DejaGnu header.
1872 2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
1874         PR libstdc++/52702
1875         * include/std/type_traits (is_trivially_destructible): Add.
1876         (has_trivial_destructor): Remove.
1877         * testsuite/util/testsuite_common_types.h: Adjust.
1878         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1879         * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
1880         * testsuite/20_util/is_trivially_destructible/value.cc: New.
1881         * testsuite/20_util/is_trivially_destructible/requirements/
1882         typedefs.cc: Likewise.
1883         * testsuite/20_util/is_trivially_destructible/requirements/
1884         explicit_instantiation.cc: Likewise.
1885         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1886         Adjust dg-error line numbers.
1887         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1888         Likewise.
1889         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1891 2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
1893         PR libstdc++/52699
1894         * include/bits/random.tcc (independent_bits_engine<>::operator()())
1895         Avoid various overflows; use common_type on result_type and
1896         _RandomNumberEngine::result_type; avoid floating point computations;
1897         other smaller tweaks.
1899         * include/bits/random.tcc (uniform_int_distribution<>::operator())
1900         Use common_type; assume _UniformRandomNumberGenerator::result_type
1901         unsigned; tidy.
1903         * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
1904         __lg(unsigned long long)): Add.
1906 2012-04-14  Alan Modra  <amodra@gmail.com>
1908         PR libstdc++/52839
1909         * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
1910         glibcxx_cv_atomic_long_long.
1911         * configure: Regenerate.
1913 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
1915         * testsuite/26_numerics/cmath/51083.cc: Move...
1916         * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
1918 2012-04-13  Laurent Alfonsi  <laurent.alfonsi@st.com>
1920         PR libstdc++/52604
1921         * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
1923 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
1925         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
1926         _S_Is_Beginnest): Add.
1927         * include/debug/forward_list (_BeforeBeginHelper<>::
1928         _S_Is_Beginnest): Likewise.
1929         (_Safe_iterator<>::_M_is_beginnest): Add.
1930         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
1931         Use the latter.
1932         * testsuite/23_containers/forward_list/debug/splice_after.cc:
1933         Add test.
1935 2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>
1937         * include/bits/unordered_map.h (__unordered_map): Remove.
1938         (__unordered_multimap): Remove.
1939         Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
1940         __ummap_hashtable.
1941         (unordered_map): Derive from __umap_hashtable.
1942         (unordered_multimap): Derive from __ummap_hashtable.
1943         * include/bits/unordered_set.h (__unordered_set): Remove.
1944         (__unordered_multiset): Remove.
1945         Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
1946         __umset_hashtable.
1947         (unordered_set): Derive from __uset_hashtable.
1948         (unordered_multiset): Derive from __umset_hashtable.
1949         * include/bits/hashtable.h (__cache_default): New, consolidated
1950         cache defaults for _Hashtable. Adjust comments for doxygen.
1951         (_Hashtable): Consolidate bool template parameters into new,
1952         _Traits class. Inherited base classes synthesize _Hashtable in
1953         CRTP via original 10 parameters. Prefer using declarations to
1954         typedefs, add __node_type, __bucket_type, etc. Push many nested
1955         types down hierarchy to _Hashtable_base. Add constructors
1956         necessary for top-level unordered_containers. Consolidate insert
1957         member functions and logic in new base class, __detail::_Insert
1958         and __detail::_Insert_base.
1959         (_Hashtable::operator=(initializer_list)): Add.
1960         * include/bits/hashtable_policy.h: Convert to doxygen markup.
1961         (_Hashtable_traits) New. Consolidate bool template parameters here.
1962         (_Insert, _Insert_base): New, consolidated insert member functions.
1963         (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
1964         use base types.
1965         (_Hashtable_base): Move type declarations useful to other base
1966         classes into this class.
1967         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
1968         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1969         Adjust traits, line numbers.
1971 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
1973         PR libstdc++/52822
1974         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
1975         (__find_if_not_n): Like __find_if_not, but works on and updates a
1976         counted range instead of a bounded range.
1977         (stable_partition): Guarantee !__pred(*__first) in call to
1978         __stable_partition_adaptive() or __inplace_stable_partition().
1979         (__stable_partition_adaptive): Use new precondition to avoid
1980         moving/copying objects onto themselves.  Guarantee new
1981         precondition to recursive calls.
1982         (__inplace_stable_partition): Use new precondition to simplify
1983         base case, remove __last parameter.  Guarantee new precondition to
1984         recursive calls.
1985         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
1986         Test a sequence that starts with a value matching the predicate.
1987         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
1988         vectors, which have a destructive self-move-assignment.
1990 2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
1992         * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
1993         prettyprinters.exp.
1994         * testsuite/Makefile.in: Regenerated.
1996 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
1998         PR libstdc++/52942
1999         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
2000         In C++11 mode do not derive from std::unary_function.
2001         * include/ext/functional (identity, select1st, select2nd): Adjust.
2002         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
2003         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
2005 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2007         PR libstdc++/52924
2008         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
2009         user-defined destructor.
2010         (_Sp_counted_inplace): Likewise.
2011         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
2012         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
2013         line numbers.
2015 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2017         * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
2018         Re-arrange text slightly.
2020 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
2022         * testsuite/performance/30_threads/future/polling.cc: Adjust.
2024 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2026         * include/bits/forward_list.h (splice_after(const_iterator,
2027         forward_list&), splice_after(const_iterator, forward_list&,
2028         const_iterator), splice_after(const_iterator, forward_list&,
2029         const_iterator, const_iterator), merge(forward_list&),
2030         merge(forward_list&, _Comp)): Add per C++11 as published (and
2031         LWG 1310).
2032         * include/debug/forward_list: Adjust.
2034         * include/bits/forward_list.h (splice_after(const_iterator,
2035         forward_list&&, const_iterator)): Only declare.
2036         (_M_transfer_after): Remove.
2037         (_M_splice_after(const_iterator, forward_list&&)): Change signature.
2038         (splice_after(const_iterator, forward_list&&, const_iterator,
2039         const_iterator)): Use the latter.
2040         * include/bits/forward_list.tcc (splice_after(const_iterator,
2041         forward_list&&, const_iterator)): Define here.
2042         (_M_splice_after): Define, use throughout.
2044         * include/bits/forward_list.h (insert_after(const_iterator,
2045         std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
2046         _InputIterator, _InputIterator).
2047         * include/bits/forward_list.tcc: Remove definition.
2049         * testsuite/23_containers/forward_list/modifiers/6.cc: New.
2050         * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
2052 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
2054         PR libstdc++/52931
2055         * include/bits/functional_hash.h (struct hash): Remove definition.
2056         * testsuite/20_util/hash/52931.cc: New.
2058 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2060         PR 24985
2061         * testsuite/lib/prune.exp: Handle caret.
2063 2012-04-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2065         Partially revert:
2066         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2068         PR libstdc++/52689
2069         * src/c++98/compatibility-list.cc: Same.
2071 2012-04-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2073         PR bootstrap/52840
2074         * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
2075         Makefile.tmp
2076         * src/Makefile.in: Adjust as per above.
2078 2012-04-04  Uros Bizjak  <ubizjak@gmail.com>
2080         Partially revert:
2081         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2083         PR libstdc++/52689
2084         * src/c++98/compatibility-ldbl.cc: Guard with PIC
2086 2012-04-02  Tristan Gingold  <gingold@adacore.com>
2088         * crossconfig.m4 (*-*-*vms*): Add.
2089         * configure: Regenerate.
2091 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2093         PR libstdc++/52591
2094         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
2095         to _M_move_assign depending on whether allocator is moved.
2096         (vector::_M_move_assign): Add overloaded functions.
2097         * testsuite/23_containers/vector/52591.cc: New.
2098         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2099         Adjust dg-error line number.
2100         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
2101         Likewise.
2102         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
2103         Likewise.
2104         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2105         Likewise.
2107 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2109         * include/std/functional (__callable_functor): Overload for
2110         volatile-qualified pointers.
2111         * testsuite/20_util/function/10.cc: New.
2113 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
2114             Paolo Carlini  <paolo.carlini@oracle.com>
2116         PR libstdc++/52799
2117         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
2118         -> emplace_front, and likewise for *_back.
2119         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
2120         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
2121         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
2123 2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
2125         PR libstdc++/52689
2126         * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2127         * libsupc++/Makefile.in: Regenerated.
2128         * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2129         (libstdc___la_SOURCES): Add in compatiblity files, with content
2130         that varies with -DPIC.
2131         * src/Makefile.in: Regenerated.
2132         * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2133         * src/c++11/Makefile.in: Regenerated.
2134         * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
2135         * src/c++11/compatibility-c++0x.cc: Same.
2136         * src/c++11/future.cc: Consolidate compatibility bits into..
2137         * src/c++11/mutex.cc: Consolidate compatibility bits into..
2138         * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
2139         * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
2140         * src/c++98/Makefile.in: Regenerated.
2141         * src/c++98/compatibility-ldbl.cc: Guard with PIC
2142         * src/c++98/compatibility-list-2.cc: Same.
2143         * src/c++98/compatibility-list.cc: Same.
2144         * src/c++98/compatibility.cc: Tweak comments.
2146 2012-03-28  Terry Guo  <terry.guo@arm.com>
2148         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
2149         * testsuite/Makefile.in: Regenerated.
2151 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2153         * include/std/functional (mem_fn): Qualify to prevent ADL.
2154         * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
2156 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
2158         * include/std/type_traits (result_of): Fix handling of cv-quals.
2159         * testsuite/20_util/result_of/1.cc: New.
2160         * testsuite/20_util/result_of/2.cc: New.
2161         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
2162         line numbers.
2163         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2164         Likewise.
2165         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2166         Likewise.
2168 2012-03-23  David S. Miller  <davem@davemloft.net>
2170         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
2172 2012-03-23  Benjamin Kosnik  <bkoz@redhat.com>
2174         * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
2175         * testsuite/lib/libstdc++.exp: Same.
2177 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
2179         * include/bits/forward_list.h: Slightly tweak two comments.
2181 2012-03-22  Benjamin Kosnik  <bkoz@redhat.com>
2183         * doc/Makefile.am: XML output names have only .xml suffix.
2184         * doc/Makefile.in: Regenerate.
2186 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2188         * include/std/array (array<>::at(size_type) const): Fix version
2189         for undefined __EXCEPTIONS.
2191 2013-03-21  Andreas Tobler  <andreast@fgznet.ch>
2193         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
2194         Skip this test on powerpc64-*-freebsd*.
2196 2012-03-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2198         * include/bits/stl_list.h (list::_M_size): Use NSDMI.
2199         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2200         Adjust line numbers.
2201         * testsuite/23_containers/list/requirements/dr438/
2202         constructor_1_neg.cc: Likewise.
2203         * testsuite/23_containers/list/requirements/dr438/
2204         constructor_2_neg.cc: Likewise.
2205         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2206         Likewise.
2208 2012-03-19  Paweł Sikora  <pawel.sikora@agmk.net>
2210         PR libstdc++/52540
2211         * include/Makefile.am (c++config.h): Fix sed rule to not break
2212         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
2213         * include/Makefile.in: Regenerate.
2215 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
2217         * testsuite/Makefile.in: Regenerate.
2219 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
2221         * include/bits/allocator.h (std::allocator): Base class is
2222         __allocator_base.
2223         (uses_allocator): Add to sub-grouping.
2224         * include/ext/new_allocator.h: Doxygen markup for tparm.
2226         * config/allocator/bitmap_allocator_base.h: Use __allocator_base
2227         template alias in C++11.
2228         * config/allocator/malloc_allocator_base.h: Same.
2229         * config/allocator/mt_allocator_base.h: Same.
2230         * config/allocator/new_allocator_base.h: Same.
2231         * config/allocator/pool_allocator_base.h: Same.
2233 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
2235         * include/ext/pb_ds/detail/pat_trie_/
2236         constructors_destructor_fn_imps.hpp: Increment after recursion.
2237         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
2238         node_type markup from brief.
2240 2012-03-16  François Dumont  <fdumont@gcc.gnu.org>
2242         PR libstdc++/52476
2243         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
2244         (_Hashtable<>::_M_rehash): Use the latter.
2245         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
2246         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
2248 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2250         * config/os/solaris/solaris2.8: Rename to ...
2251         * config/os/solaris/solaris2.9: ... this.
2252         * config/abi/post/solaris2.8: Rename to ...
2253         * config/abi/post/solaris2.9: ... this.
2254         * configure.host (os_include_dir): Remove solaris2.8.
2255         Reflect renaming.
2256         (abi_baseline_pair): Remove *-*-solaris2.8.
2257         Reflect renaming.
2259         * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
2260         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
2261         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
2262         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
2263         (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
2264         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
2265         handling.
2266         * configure: Regenerate.
2267         * config.h.in: Regenerate.
2269         * config/os/solaris/solaris2.9/os_defines.h
2270         (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
2271         (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
2272         * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
2273         to __CORRECT_ISO_CPP_MATH_H_PROTO.
2274         [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
2275         * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
2276         __CORRECT_ISO_CPP_MATH_H_PROTO.
2278         * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
2279         Remove Solaris 8 reference.
2281         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2282         Don't xfail on *-*-solaris2.8.
2283         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
2284         Likewise.
2285         * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
2286         *-*-solaris2.8.
2288 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2290         * configure.host (irix6.5*): Remove.
2291         * config/os/irix: Remove.
2292         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
2293         [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
2295         * doc/xml/faq.xml: Remove IRIX reference.
2296         * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
2297         Remove IRIX example.
2299         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2300         Remove mips-sgi-irix6* handling.
2301         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2302         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2303         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2304         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2305         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2306         * testsuite/23_containers/list/pthread1.cc: Likewise.
2307         * testsuite/23_containers/list/pthread5.cc: Likewise.
2308         * testsuite/23_containers/map/pthread6.cc: Likewise.
2309         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
2310         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2311         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2312         * testsuite/30_threads/async/42819.cc: Likewise.
2313         * testsuite/30_threads/async/49668.cc: Likewise.
2314         * testsuite/30_threads/async/any.cc: Likewise.
2315         * testsuite/30_threads/async/async.cc: Likewise.
2316         * testsuite/30_threads/async/launch.cc: Likewise.
2317         * testsuite/30_threads/async/sync.cc: Likewise.
2318         * testsuite/30_threads/call_once/39909.cc: Likewise.
2319         * testsuite/30_threads/call_once/49668.cc: Likewise.
2320         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2321         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2322         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2323         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2324         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2325         Likewise.
2326         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2327         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2328         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2329         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2330         * testsuite/30_threads/future/cons/move.cc: Likewise.
2331         * testsuite/30_threads/future/members/45133.cc: Likewise.
2332         * testsuite/30_threads/future/members/get.cc: Likewise.
2333         * testsuite/30_threads/future/members/get2.cc: Likewise.
2334         * testsuite/30_threads/future/members/share.cc: Likewise.
2335         * testsuite/30_threads/future/members/valid.cc: Likewise.
2336         * testsuite/30_threads/future/members/wait.cc: Likewise.
2337         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2338         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2339         * testsuite/30_threads/lock/1.cc: Likewise.
2340         * testsuite/30_threads/lock/2.cc: Likewise.
2341         * testsuite/30_threads/lock/3.cc: Likewise.
2342         * testsuite/30_threads/lock/4.cc: Likewise.
2343         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2344         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2345         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2346         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2347         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2348         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2349         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2350         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2351         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2352         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2353         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2354         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2355         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2356         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2357         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2358         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2359         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2360         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
2361         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2362         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2363         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2364         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2365         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2366         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2367         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2368         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2369         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2370         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2371         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2372         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2373         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2374         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2375         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2376         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2377         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2378         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2379         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2380         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2381         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2382         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2383         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2384         Likewise.
2385         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2386         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2387         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2388         Likewise.
2389         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2390         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2391         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2392         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2393         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2394         Likewise.
2395         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2396         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2397         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2398         Likewise.
2399         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2400         Likewise.
2401         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2402         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2403         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2404         Likewise.
2405         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2406         Likewise.
2407         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2408         Likewise.
2409         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2410         Likewise.
2411         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2412         Likewise.
2413         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2414         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2415         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2416         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2417         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2418         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2419         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2420         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2421         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2422         * testsuite/30_threads/this_thread/1.cc: Likewise.
2423         * testsuite/30_threads/this_thread/2.cc: Likewise.
2424         * testsuite/30_threads/this_thread/3.cc: Likewise.
2425         * testsuite/30_threads/this_thread/4.cc: Likewise.
2426         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2427         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2428         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2429         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2430         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2431         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2432         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2433         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2434         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2435         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2436         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2437         * testsuite/30_threads/thread/members/1.cc: Likewise.
2438         * testsuite/30_threads/thread/members/2.cc: Likewise.
2439         * testsuite/30_threads/thread/members/3.cc: Likewise.
2440         * testsuite/30_threads/thread/members/4.cc: Likewise.
2441         * testsuite/30_threads/thread/members/5.cc: Likewise.
2442         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2443         * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
2444         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2445         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2446         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2447         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2448         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2449         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
2450         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2451         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2452         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2453         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2454         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2455         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2456         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2457         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2458         * testsuite/30_threads/try_lock/1.cc: Likewise.
2459         * testsuite/30_threads/try_lock/2.cc: Likewise.
2460         * testsuite/30_threads/try_lock/3.cc: Likewise.
2461         * testsuite/30_threads/try_lock/4.cc: Likewise.
2462         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2463         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2464         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2465         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2466         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2467         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2468         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2469         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2470         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2471         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2472         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2473         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2474         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2475         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2476         default_weaktoshared.cc: Likewise.
2477         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2478         mutex_weaktoshared.cc: Likewise.
2480         * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
2481         dg-options for mips*-*-irix6*.
2483         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
2484         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
2485         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
2487         * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
2488         workaround.
2490 2012-03-14  Paolo Carlini  <paolo.carlini@oracle.com>
2492         * include/bits/forward_list.h: Fix comments.
2494 2012-03-13  Terry Guo  <terry.guo@arm.com>
2496         * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
2498 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2500         * configure.host: Remove osf* handling.
2501         * config/os/osf: Remove.
2502         * doc/xml/manual/using.xml: Remove OSF reference.
2504         * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
2505         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
2506         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
2507         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
2508         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
2509         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
2510         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
2511         * testsuite/23_containers/list/pthread1.cc: Likewise.
2512         * testsuite/23_containers/list/pthread5.cc: Likewise.
2513         * testsuite/23_containers/map/pthread6.cc: Likewise.
2514         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
2515         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
2516         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
2517         * testsuite/30_threads/async/42819.cc: Likewise.
2518         * testsuite/30_threads/async/49668.cc: Likewise.
2519         * testsuite/30_threads/async/any.cc: Likewise.
2520         * testsuite/30_threads/async/async.cc: Likewise.
2521         * testsuite/30_threads/async/launch.cc: Likewise.
2522         * testsuite/30_threads/async/sync.cc: Likewise.
2523         * testsuite/30_threads/call_once/39909.cc: Likewise.
2524         * testsuite/30_threads/call_once/49668.cc: Likewise.
2525         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2526         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2527         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
2528         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
2529         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
2530         Likewise.
2531         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
2532         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2533         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
2534         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
2535         * testsuite/30_threads/future/cons/move.cc: Likewise.
2536         * testsuite/30_threads/future/members/45133.cc: Likewise.
2537         * testsuite/30_threads/future/members/get.cc: Likewise.
2538         * testsuite/30_threads/future/members/get2.cc: Likewise.
2539         * testsuite/30_threads/future/members/share.cc: Likewise.
2540         * testsuite/30_threads/future/members/valid.cc: Likewise.
2541         * testsuite/30_threads/future/members/wait.cc: Likewise.
2542         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2543         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2544         * testsuite/30_threads/lock/1.cc: Likewise.
2545         * testsuite/30_threads/lock/2.cc: Likewise.
2546         * testsuite/30_threads/lock/3.cc: Likewise.
2547         * testsuite/30_threads/lock/4.cc: Likewise.
2548         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2549         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2550         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2551         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2552         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2553         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2554         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2555         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2556         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2557         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
2558         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
2559         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
2560         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
2561         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
2562         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
2563         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
2564         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
2565         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
2566         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
2567         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
2568         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
2569         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
2570         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
2571         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
2572         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
2573         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
2574         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2575         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2576         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2577         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2578         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2579         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2580         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2581         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2582         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2583         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2584         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2585         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2586         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2587         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2588         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2589         Likewise.
2590         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2591         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2592         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2593         Likewise.
2594         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2595         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2596         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2597         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2598         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2599         Likewise.
2600         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2601         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2602         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2603         Likewise.
2604         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2605         Likewise.
2606         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2607         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2608         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2609         Likewise.
2610         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2611         Likewise.
2612         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2613         Likewise.
2614         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2615         Likewise.
2616         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2617         Likewise.
2618         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2619         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2620         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2621         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2622         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2623         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2624         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2625         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2626         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2627         * testsuite/30_threads/this_thread/1.cc: Likewise.
2628         * testsuite/30_threads/this_thread/2.cc: Likewise.
2629         * testsuite/30_threads/this_thread/3.cc: Likewise.
2630         * testsuite/30_threads/this_thread/4.cc: Likewise.
2631         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2632         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2633         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2634         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2635         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2636         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2637         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2638         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2639         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2640         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2641         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2642         * testsuite/30_threads/thread/members/1.cc: Likewise.
2643         * testsuite/30_threads/thread/members/2.cc: Likewise.
2644         * testsuite/30_threads/thread/members/3.cc: Likewise.
2645         * testsuite/30_threads/thread/members/4.cc: Likewise.
2646         * testsuite/30_threads/thread/members/5.cc: Likewise.
2647         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2648         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2649         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2650         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2651         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2652         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2653         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
2654         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2655         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2656         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2657         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2658         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2659         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2660         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2661         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2662         * testsuite/30_threads/try_lock/1.cc: Likewise.
2663         * testsuite/30_threads/try_lock/2.cc: Likewise.
2664         * testsuite/30_threads/try_lock/3.cc: Likewise.
2665         * testsuite/30_threads/try_lock/4.cc: Likewise.
2666         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2667         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2668         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2669         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2670         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2671         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2672         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2673         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2674         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2675         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2676         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2677         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2678         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2679         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2680         default_weaktoshared.cc: Likewise.
2681         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2682         mutex_weaktoshared.cc: Likewise.
2684 2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
2686         PR libstdc++/52562
2687         * libsupc++/typeinfo (type_info::name, before, operator==,
2688         operator!=): Mark noexcept in C++11 mode.
2689         * libsupc++/tinfo.cc (type_info::operator==): Adjust.
2690         * libsupc++/tinfo2.cc (type_info::before): Likewise.
2691         * testsuite/18_support/type_info/52562.cc: New.
2693 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2695         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2696         symbols added in last change.
2698         PR libstdc++/52456
2699         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2701 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2703         * config/locale/gnu/monetary_members.cc
2704         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
2705         exception again.
2706         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
2707         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
2708         locale.
2710 2012-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2712         * include/debug/formatter.h (enum _Debug_msg_id): Add
2713         __msg_self_move_assign.
2714         * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
2715         * src/c++11/debug.cc (_S_debug_messages): Update.
2716         * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
2717         (_Safe_iterator&&)): Add check for self move assignment.
2718         * include/debug/set.h: Likewise.
2719         * include/debug/unordered_map: Likewise.
2720         * include/debug/multiset.h: Likewise.
2721         * include/debug/forward_list: Likewise.
2722         * include/debug/unordered_set: Likewise.
2723         * include/debug/vector: Likewise.
2724         * include/debug/map.h: Likewise.
2725         * include/debug/deque: Likewise.
2726         * include/debug/string: Likewise.
2727         * include/debug/list: Likewise.
2728         * include/debug/multimap.h: Likewise.
2729         * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
2730         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
2731         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2732         Likewise.
2733         * testsuite/23_containers/unordered_map/debug/
2734         iterator_self_move_assign_neg.cc: Likewise.
2735         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
2736         Likewise.
2737         * testsuite/23_containers/multimap/debug/
2738         iterator_self_move_assign_neg.cc: Likewise.
2739         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
2740         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
2741         Likewise.
2742         * testsuite/23_containers/unordered_multimap/debug/
2743         self_move_assign_neg.cc: Likewise.
2744         * testsuite/23_containers/unordered_multimap/debug/
2745         iterator_self_move_assign_neg.cc: Likewise.
2746         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
2747         Likewise.
2748         * testsuite/23_containers/forward_list/debug/
2749         iterator_self_move_assign_neg.cc: Likewise.
2750         * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
2751         Likewise.
2752         * testsuite/23_containers/unordered_set/debug/
2753         iterator_self_move_assign_neg.cc: Likewise.
2754         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
2755         Likewise.
2756         * testsuite/23_containers/vector/debug/
2757         iterator_self_move_assign_neg.cc: Likewise.
2758         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
2759         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
2760         Likewise.
2761         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
2762         Likewise.
2763         * testsuite/23_containers/multiset/debug/
2764         iterator_self_move_assign_neg.cc: Likewise.
2765         * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
2766         Likewise.
2767         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
2768         Likewise.
2769         * testsuite/23_containers/unordered_multiset/debug/
2770         self_move_assign_neg.cc: Likewise.
2771         * testsuite/23_containers/unordered_multiset/debug/
2772         iterator_self_move_assign_neg.cc: Likewise.
2773         * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
2774         Likewise.
2775         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
2776         Likewise.
2778 2012-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2780         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
2781         * include/bits/locale_facets.h: Adjust markup to avoid warnings.
2782         * include/ext/pb_ds/assoc_container.hpp: Same.
2783         * include/ext/pb_ds/priority_queue.hpp: Same.
2784         * include/std/fstream: Same.
2785         * include/std/ratio: Same.
2786         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
2787         numbers.
2788         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
2790 2012-03-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2792         PR libstdc++/52433
2793         * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
2794         to move constructor and move assignment operator.
2796 2012-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
2798         * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
2799         call swap.
2800         * include/bits/stl_bvector.h (swap(_Bit_reference,
2801         _Bit_reference), swap(_Bit_reference, bool&),
2802         swap(bool&, _Bit_reference)): Add.
2803         * testsuite/23_containers/vector/bool/swap.cc: New.
2805 2012-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
2806             Jonathan Wakely  <jwakely.gcc@gmail.com>
2808         PR libstdc++/43813
2809         * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
2810         * include/ext/vstring.h (__versa_string<>::__versa_string
2811         (_InputIterator, _InputIterator, const _Alloc&),
2812         __versa_string<>::append(_InputIterator, _InputIterator),
2813         __versa_string<>::assign(_InputIterator, _InputIterator),
2814         __versa_string<>::insert(iterator, _InputIterator,
2815         _InputIterator), __versa_string<>::replace(iterator, iterator,
2816         _InputIterator, _InputIterator)): Use it.
2817         * include/bits/stl_list.h (list<>::list(_InputIterator,
2818         _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
2819         _InputIterator), list<>::insert(iterator, _InputIterator,
2820         _InputIterator)): Likewise.
2821         * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
2822         _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
2823         _InputIterator), vectort<>::insert(iterator, _InputIterator,
2824         _InputIterator)): Likewise.
2825         * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
2826         _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
2827         _InputIterator), deque<>::insert(iterator, _InputIterator,
2828         _InputIterator)): Likewise.
2829         * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
2830         _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
2831         _InputIterator), vector<>::insert(iterator, _InputIterator,
2832         _InputIterator)): Likewise.
2833         * include/bits/forward_list.h (forward_list<>::forward_list
2834         (_InputIterator, _InputIterator, const allocator_type&),
2835         forward_list<>::assign(_InputIterator, _InputIterator),
2836         forward_list<>::insert_after(const_iterator, _InputIterator,
2837         _InputIterator)): Likewise.
2838         (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
2839         (forward_list<>::_M_range_initialize): Add, adjust everywhere.
2840         * include/bits/forward_list.tcc: Adjust.
2841         * include/debug/forward_list: Adjust.
2842         * include/debug/vector: Likewise.
2843         * include/debug/deque: Likewise.
2844         * include/debug/list: Likewise.
2845         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
2846         * testsuite/23_containers/forward_list/requirements/
2847         do_the_right_thing.cc: Likewise.
2848         * testsuite/23_containers/vector/requirements/
2849         do_the_right_thing.cc: Likewise.
2850         * testsuite/23_containers/deque/requirements/
2851         do_the_right_thing.cc: Likewise.
2852         * testsuite/23_containers/list/requirements/
2853         do_the_right_thing.cc: Likewise.
2854         * testsuite/23_containers/forward_list/requirements/dr438/
2855         assign_neg.cc: Adjust dg-error line number.
2856         * testsuite/23_containers/forward_list/requirements/dr438/
2857         insert_neg.cc: Likewise.
2858         * testsuite/23_containers/forward_list/requirements/dr438/
2859         constructor_1_neg.cc: Likewise.
2860         * testsuite/23_containers/forward_list/requirements/dr438/
2861         constructor_2_neg.cc: Likewise.
2862         * testsuite/23_containers/vector/requirements/dr438/
2863         assign_neg.cc: Likewise.
2864         * testsuite/23_containers/vector/requirements/dr438/
2865         insert_neg.cc: Likewise.
2866         * testsuite/23_containers/vector/requirements/dr438/
2867         constructor_1_neg.cc: Likewise.
2868         * testsuite/23_containers/vector/requirements/dr438/
2869         constructor_2_neg.cc: Likewise.
2870         * testsuite/23_containers/deque/requirements/dr438/
2871         assign_neg.cc: Likewise.
2872         * testsuite/23_containers/deque/requirements/dr438/
2873         insert_neg.cc: Likewise.
2874         * testsuite/23_containers/deque/requirements/dr438/
2875         constructor_1_neg.cc: Likewise.
2876         * testsuite/23_containers/deque/requirements/dr438/
2877         constructor_2_neg.cc: Likewise.
2878         * testsuite/23_containers/list/requirements/dr438/
2879         assign_neg.cc: Likewise.
2880         * testsuite/23_containers/list/requirements/dr438/
2881         insert_neg.cc: Likewise.
2882         * testsuite/23_containers/list/requirements/dr438/
2883         constructor_1_neg.cc: Likewise.
2884         * testsuite/23_containers/list/requirements/dr438/
2885         constructor_2_neg.cc: Likewise.
2887 2012-03-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2889         PR libstdc++/52433
2890         * include/debug/safe_iterator.h (_Safe_iterator): Add move
2891         constructor and move assignment operator.
2892         * testsuite/23_containers/vector/debug/52433.cc: New.
2894 2012-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
2896         * include/std/limits (numeric_limits): Fix returns per C++11.
2897         * testsuite/18_support/numeric_limits/primary.cc: New.
2899 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
2901         * include/c_global/cstdio: Remove extraneous extern.
2902         * include/c_std/cstdio: Same.
2904 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2906         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
2907         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
2908         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2909         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2910         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2912 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2913             Ramana Radhakrishnan <ramana@gcc.gnu.org>
2915         PR libstdc++/51785
2916         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
2917         * configure.ac: Call it.
2918         * configure: Regenerate.
2919         * config.h.in: Same.
2920         * config/os/gnu-linux/os_defines.h: Conditionally undefine
2921         _GLIBCXX_HAVE_GETS.
2922         * include/c_global/cstdio: Conditionally declare deprecated gets.
2923         * include/c_std/cstdio: Same.
2925 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
2927         * include/tr2/type_traits (typelist): To __reflection_typelist.
2928         (first, rest, empty): Remove.
2930 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2932         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
2933         * testsuite/Makefile.in: Regenerate.
2935 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
2937         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
2939 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
2941         PR libstdc++/52191
2942         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
2943         symbols added into the latest version. Mark tls entities as
2944         undesignated.
2946 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
2948         PR bootstrap/52414
2949         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
2950         if they are at the beginning of lines (with optional whitespace before
2951         #).
2952         * src/Makefile.in: Regenerated.
2954 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
2956         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2957         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2958         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2959         Likewise.
2960         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2961         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2962         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2963         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2964         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2965         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2967 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2969         PR libstdc++/52188
2970         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
2971         Remove ENABLE_SYMVERS_SOL2.
2972         * configure: Regenerate.
2973         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
2974         Postprocess mapfile.
2975         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
2976         * src/Makefile.in: Regenerate.
2978         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
2979         Don't export
2980         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
2982 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2984         PR testsuite/52201
2985         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2986         Require atomic builtins.
2987         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
2989 2012-02-23  Jason Merrill  <jason@redhat.com>
2991         * include/bits/locale_facets.h (class num_get): Undo reordering of
2992         do_get virtual functions.
2994 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
2996         * testsuite/26_numerics/random/
2997         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
2998         * testsuite/26_numerics/random/
2999         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
3000         * testsuite/26_numerics/random/
3001         chi_squared_distribution/requirements/typedefs.cc: Ditto.
3002         * testsuite/26_numerics/random/
3003         normal_distribution/requirements/typedefs.cc: Ditto.
3004         * testsuite/26_numerics/random/
3005         uniform_int_distribution/requirements/typedefs.cc: Ditto.
3006         * testsuite/26_numerics/random/
3007         poisson_distribution/requirements/typedefs.cc: Ditto.
3008         * testsuite/26_numerics/random/
3009         bernoulli_distribution/requirements/typedefs.cc: Ditto.
3010         * testsuite/26_numerics/random/
3011         discrete_distribution/requirements/typedefs.cc: Ditto.
3012         * testsuite/26_numerics/random/
3013         weibull_distribution/requirements/typedefs.cc: Ditto.
3014         * testsuite/26_numerics/random/
3015         cauchy_distribution/requirements/typedefs.cc: Ditto.
3016         * testsuite/26_numerics/random/
3017         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
3018         * testsuite/26_numerics/random/
3019         gamma_distribution/requirements/typedefs.cc: Ditto.
3020         * testsuite/26_numerics/random/
3021         fisher_f_distribution/requirements/typedefs.cc: Ditto.
3022         * testsuite/26_numerics/random/
3023         exponential_distribution/requirements/typedefs.cc: Ditto.
3024         * testsuite/26_numerics/random/
3025         binomial_distribution/requirements/typedefs.cc: Ditto.
3026         * testsuite/26_numerics/random/
3027         lognormal_distribution/requirements/typedefs.cc: Ditto.
3028         * testsuite/26_numerics/random/
3029         extreme_value_distribution/requirements/typedefs.cc: Ditto.
3030         * testsuite/26_numerics/random/
3031         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
3032         * testsuite/26_numerics/random/
3033         student_t_distribution/requirements/typedefs.cc: Ditto.
3034         * testsuite/26_numerics/random/
3035         geometric_distribution/requirements/typedefs.cc: Ditto.
3037 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
3039         PR libstdc++/50349
3040         * config/abi/pre/gnu.ver: Only one local.
3041         * config/abi/pre/gnu-versioned-namespace.ver: Same.
3043 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
3045         PR libstdc++/52317 (cont)
3046         * include/profile/unordered_map: Ad Library Exception comment.
3047         * include/profile/set: Likewise.
3048         * include/profile/base.h: Likewise.
3049         * include/profile/impl/profiler_list_to_slist.h: Likewise.
3050         * include/profile/impl/profiler_container_size.h: Likewise.
3051         * include/profile/impl/profiler_vector_size.h: Likewise.
3052         * include/profile/impl/profiler_hash_func.h: Likewise.
3053         * include/profile/impl/profiler_trace.h: Likewise.
3054         * include/profile/impl/profiler_list_to_vector.h: Likewise.
3055         * include/profile/impl/profiler_vector_to_list.h: Likewise.
3056         * include/profile/impl/profiler.h: Likewise.
3057         * include/profile/impl/profiler_state.h: Likewise.
3058         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
3059         * include/profile/impl/profiler_algos.h: Likewise.
3060         * include/profile/impl/profiler_hashtable_size.h: Likewise.
3061         * include/profile/impl/profiler_node.h: Likewise.
3062         * include/profile/vector: Likewise.
3063         * include/profile/unordered_set: Likewise.
3064         * include/profile/map.h: Likewise.
3065         * include/profile/map: Likewise.
3067 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
3069         PR libstdc++/52317
3070         * python/Makefile.am: Update boilerplate license text to GPLv3.
3071         * include/profile/unordered_map: Likewise.
3072         * include/profile/set: Likewise.
3073         * include/profile/base.h: Likewise.
3074         * include/profile/impl/profiler_list_to_slist.h: Likewise.
3075         * include/profile/impl/profiler_container_size.h: Likewise.
3076         * include/profile/impl/profiler_vector_size.h: Likewise.
3077         * include/profile/impl/profiler_hash_func.h: Likewise.
3078         * include/profile/impl/profiler_trace.h: Likewise.
3079         * include/profile/impl/profiler_list_to_vector.h: Likewise.
3080         * include/profile/impl/profiler_vector_to_list.h: Likewise.
3081         * include/profile/impl/profiler.h: Likewise.
3082         * include/profile/impl/profiler_state.h: Likewise.
3083         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
3084         * include/profile/impl/profiler_algos.h: Likewise.
3085         * include/profile/impl/profiler_hashtable_size.h: Likewise.
3086         * include/profile/impl/profiler_node.h: Likewise.
3087         * include/profile/vector: Likewise.
3088         * include/profile/unordered_set: Likewise.
3089         * include/profile/map.h: Likewise.
3090         * include/profile/map: Likewise.
3091         * testsuite/21_strings/basic_string/numeric_conversions/
3092         wchar_t/dr1261.cc: Likewise.
3093         * testsuite/21_strings/basic_string/numeric_conversions/
3094         char/dr1261.cc: Likewise.
3095         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
3097 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
3099         PR libstdc++/52241
3100         * src/c++98/tree.cc (local_Rb_tree_increment,
3101         local_Rb_tree_decrement): Add.
3102         (_Rb_tree_increment(const _Rb_tree_node_base*),
3103         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
3104         (_Rb_tree_increment(_Rb_tree_node_base*),
3105         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
3107 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
3109         PR libstdc++/52309
3110         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
3111         _M_equal(const _Hashtable&)): Compare values with operator==.
3112         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
3114 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
3116         PR libstdc++/51798 continued.
3117         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
3118         __atomic_, not __sync.
3119         * configure: Regenerated.
3121 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
3123         PR libstdc++/47058
3124         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
3125         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
3126         * configure.ac: Use it.
3127         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
3128         * configure: Regenerate.
3129         * python/Makefile.in: Same.
3130         * Makefile.in: Same.
3131         * doc/Makefile.in: Same.
3132         * include/Makefile.in: Same.
3133         * po/Makefile.in: Same.
3134         * python/Makefile.in: Same.
3135         * src/Makefile.in: Same.
3136         * src/c++11/Makefile.in: Same.
3137         * src/c++98/Makefile.in: Same.
3138         * testsuite/Makefile.in: Same.
3140 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3142         PR libstdc++/52189
3143         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
3144         --enable-libstdcxx-threads.
3145         Disable on Solaris 8/9 with symbol versioning.
3146         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
3147         GLIBCXX_ENABLE_SYMVERS.
3148         * configure: Regenerate.
3149         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
3151 2012-02-15  DJ Delorie  <dj@redhat.com>
3153         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
3155 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
3157         PR libstdc++/51368
3158         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
3159         * configure.ac: Use it.
3160         * python/Makefile.am: Same.
3161         * configure: Regenerate.
3162         * python/Makefile.in: Regenerate.
3163         * Makefile.in: Same.
3164         * doc/Makefile.in: Same.
3165         * include/Makefile.in: Same.
3166         * po/Makefile.in: Same.
3167         * src/Makefile.in: Same.
3168         * src/c++11/Makefile.in: Same.
3169         * src/c++98/Makefile.in: Same.
3170         * testsuite/Makefile.in: Same.
3172 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3174         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
3176 2012-02-14  Tom Tromey  <tromey@redhat.com>
3178         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
3179         tests.
3180         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
3181         Rewrite.
3182         (Tr1HashtableIterator.update): Remove.
3183         (Tr1HashtableIterator.next): Rewrite.
3185 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
3187         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
3188         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
3190 2012-02-13  Richard Henderson  <rth@redhat.com>
3192         PR libstdc++/51798 continued.
3193         * include/bits/shared_ptr_base.h
3194         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
3195         outside compare_exchange loop.
3196         * include/tr1/shared_ptr.h: Same.
3197         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
3198         version of compare_exchange.
3199         (__compare_and_swap_64): Same.
3200         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
3201         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
3203 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
3204             Jonathan Wakely  <jwakely.gcc@gmail.com>
3206         PR libstdc++/51798 continued.
3207         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
3208         builtins instead of __sync_* builtins for atomic functionality.
3209         * include/bits/shared_ptr_base.h: Same.
3210         * include/parallel/compatibility.h: Same.
3211         * include/profile/impl/profiler_state.h: Same.
3212         * include/tr1/shared_ptr.h: Same.
3213         * libsupc++/eh_ptr.cc: Same.
3214         * libsupc++/eh_throw.cc: Same.
3215         * libsupc++/eh_tm.cc: Same.
3216         * libsupc++/guard.cc: Same.
3217         * configure: Regenerated.
3218         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
3219         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
3221 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3223         PR libstdc++/51296
3224         * config/os/osf/ctype_base.h,
3225         config/os/osf/ctype_configure_char.cc,
3226         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
3227         Copy from config/os/generic.
3228         * config/os/osf/os_defines.h: Likewise.
3229         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
3230         Define.
3231         * configure.host <osf*>: Use os/osf for os_include_dir.
3233 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
3235         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
3237 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
3239         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
3241 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3243         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
3245 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
3247         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
3248         * doc/xml/manual/documentation_hacking.xml: Update.
3250 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3252         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
3253         selector.
3254         * testsuite/30_threads/call_once/49668.cc: Likewise.
3255         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
3256         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
3257         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
3258         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
3259         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
3260         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
3261         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
3262         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
3263         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
3264         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
3265         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
3266         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
3267         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
3268         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
3269         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
3270         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
3271         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
3272         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
3273         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
3274         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
3275         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
3276         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
3278 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
3280         PR libstdc++/51296
3281         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
3282         * src/c++11/condition_variable.cc (condition_variable): Use macro for
3283         initializer function.
3285         PR libstdc++/51906
3286         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
3287         recursive mutexes.
3289 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3291         PR libstdc++/52128
3292         * src/c++11/future.cc: Add explicit instantiation.
3294 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
3296         * include/debug/safe_iterator.h
3297         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
3298         creation of a _Safe_iterator instance to do the check.
3300 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3302         PR libstdc++/52104
3303         * include/std/future (__future_base::_Async_state_common): Define
3304         destructor inline for targets without TLS.
3305         * src/c++11/future.cc (__future_base::_Async_state_common): Only
3306         define destructor for TLS targets.
3308 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3310         PR libstdc++/51956
3311         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
3312         (SharedPointerPrinter): This. Also show weak count.
3313         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
3315 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
3317         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
3318         PASS instead of XFAIL.
3320 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
3321             Paolo Carlini  <paolo.carlini@oracle.com>
3323         PR libstdc++/52119
3324         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
3326 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
3328         PR libstdc++/49445
3329         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
3331 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
3333         PR libstdc++/51811
3334         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
3335         * testsuite/29_atomics/atomic/operators/51811.cc: New.
3336         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
3338 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
3340         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3341         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
3342         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3343         Likewise.
3344         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
3345         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
3346         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
3347         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
3348         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
3349         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
3351 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
3353         PR libstdc++/52068
3354         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
3355         libc__11_la_SOURCES): Remove.
3356         * src/c++11/Makefile.in: Regenerate.
3357         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
3358         libc__98_la_SOURCES): Remove.
3359         * src/c++98/Makefile.in: Regenerate.
3361 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
3363         PR libstdc++/49204
3364         * include/std/future (__future_base::_State_base::wait()): Use lambda
3365         expression for predicate and remove redundant test.
3366         (__future_base::_State_base::wait_for()): Return future_status and
3367         use lambda expression for predicate.
3368         (__future_base::_State_base::wait_until()): Likewise.
3369         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
3370         (__future_base::_Async_state): Replace with _Async_state_common
3371         class for non-dependent functionality and _Async_state_impl class
3372         template for dependent functionality.
3373         (__future_base::_Async_state_common::_M_join): Serialize attempts to
3374         join thread.
3375         (__future_base::_Async_state_common::_M_run_deferred): Join.
3376         (__future_base::_Async_state::_M_do_run): Replace with lambda.
3377         * src/c++11/future.cc (__future_base::_Async_state_common): Define
3378         destructor, so key function is in the library.
3379         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
3380         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
3381         future_status return instead of bool.
3382         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
3383         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
3384         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
3385         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
3386         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
3387         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
3388         * testsuite/30_threads/promise/members/swap.cc: Likewise.
3390 2012-01-30  Tom Tromey  <tromey@redhat.com>
3392         PR libstdc++/51649:
3393         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
3394         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
3395         (note-test): Update.
3396         (gdb-test): Handle regexp tests.  Add some logging.
3397         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
3398         (placeholder, use): Remove.
3399         (main): Add tests for deque, list, map, and set iterators.  Add
3400         tests for slist and slist iterator.
3401         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
3402         namespace.
3403         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
3404         the type's _Node typedef.
3405         (StdListIteratorPrinter.to_string): Change how node type is
3406         computed.
3407         (StdSlistPrinter.children): Use the type's _Node typedef.
3408         (StdSlistIteratorPrinter.to_string): Likewise.
3409         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
3410         typedef.
3411         (StdMapPrinter.children): Change how the node's type is computed.
3412         (StdSetPrinter.children): Likewise.
3413         (StdForwardListPrinter.children): Use the type's _Node typedef.
3414         (Printer.add_version): New method.
3415         (Printer.add_container): New method.
3416         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
3417         namespaces.
3418         (find_type): New function.
3420 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
3422         PR libstdc++/51795
3423         * include/bits/random.h (linear_congruential_generator): Add
3424         static_assert preventing instantiation for values of 'a' and 'm'
3425         currently handled incorrectly by _Mod::__calc.
3426         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
3427         uses of _Mod::__calc.
3429 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
3431         PR libstdc++/51798
3432         * config/cpu/generic/atomicity_builtins/atomicity.h
3433         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
3434         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
3435         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
3436         Likewise.
3438 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
3440         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
3441         pop with #pragma GCC visibility push.
3443 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
3444             Matthias Klose  <doko@ubuntu.com>
3446         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
3447         * configure.in: Regenerated.
3448         * src/Makefile.am (all-once, install-data-once): New rules.
3449         (all-local, install-data-local): Use them.
3450         (build-debug, install-debug): Tweak.
3451         * src/Makefile.in: Regenerate.
3453 2012-01-27  Richard Henderson  <rth@redhat.com>
3455         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
3456         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
3457         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
3458         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
3460 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
3462         PR bootstrap/51985
3463         * src/c++98/Makefile.am (libc__98_la_SOURCES,
3464         libc__98convenience_la_SOURCES): Remove $(inst_sources).
3465         * src/c++98/Makefile.in: Regenerated.
3467 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
3469         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
3470         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
3471         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
3472         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
3473         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
3474         dg-require-fileio.
3475         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
3476         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
3477         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
3478         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
3479         Likewise.
3480         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
3482 2012-01-25  Matthias Klose  <doko@ubuntu.com>
3484         * testsuite/30_threads/condition_variable_any/requirements: Remove
3485         empty directory.
3487 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
3489         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
3490         * src/Makefile.in: Regenerate.
3492 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
3494         PR libstdc++/49829
3495         Add libc++98convenience.la, libc++11convenience.la.
3496         * src/c++98: New directory.
3497         * src/c++11: New directory.
3498         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
3499         * configure: Regenerated.
3500         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
3501         * Makefile.in: Regenerate.
3502         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
3503         -fno-implicit-templates.
3504         * libsupc++/Makefile.in: Regenerate.
3505         * src/Makefile.am (inst_sources): Move... C++11 files into
3506         separate directory for libstdc++11convenience.la. Files are:
3507         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
3508         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
3509         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
3510         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
3511         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
3512         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
3513         (libstdc++convenience.la): Add new target.
3514         (SUBDIRS): Add c++11, c++98.
3515         * src/Makefile.in: Regenerate.
3516         * src/c++11/Makefile.am: New.
3517         * src/c++11/Makefile.in: Generate.
3518         * src/c++98/Makefile.am: New, C++98 files.
3519         * src/c++98/Makefile.in: Generate.
3521 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3523         libstdc++-v3:
3524         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
3525         32-bit Solaris 10/x86.
3526         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
3528 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
3530         PR libstdc++/50982
3531         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
3533 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
3535         PR libstdc++/51845
3536         * include/bits/hashtable.h
3537         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
3538         _M_buckets[__n_bkt] if __is_bucket_begin.
3539         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
3540         New test.
3542 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
3544         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
3546 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
3548         * configure.ac: Move epub checks...
3549         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
3550         test -f instead of AC_CHECK_FILES.
3552 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
3553             Roman Kononov  <roman@binarylife.net>
3555         PR libstdc++/51866
3556         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
3557         Do not keep a reference to a potentially moved instance.
3558         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
3559         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
3561 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
3563         * doc/html/*: Regenerate.
3565 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
3567         * configure.ac (BUILD_EPUB): Adjust for epub3.
3568         * configure: Regenerate.
3569         * Makefile.in: Same.
3570         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
3571         * doc/Makefile.in: Regenerate.
3572         * include/Makefile.in: Same.
3573         * libsupc++/Makefile.in: Same.
3574         * po/Makefile.in: Same.
3575         * python/Makefile.in: Same.
3576         * src/Makefile.in: Same.
3577         * testsuite/Makefile.in: Same.
3579         * doc/xml/manual/documentation_hacking.xml: Update.
3581 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3583         PR target/47852
3584         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
3586 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3588         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
3590 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
3592         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
3593         base class of ...
3594         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
3595         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
3596         by _M_before_begin. Review implementation so that we do not need to
3597         look for previous non-empty bucket when inserting nodes.
3599 2012-01-09  Kai Tietz  <ktietz@redhat.com>
3601         PR libstc++/51673 part 2
3602         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
3603         operators signature for LLP64 size_t, and adjusted signatures for
3604         mt-allocator using size_t.
3606 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
3608         PR libstc++/51673 part 1
3609         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
3610         with gnu.ver.
3612 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
3614         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
3615         * Makefile.in: Regenerate.
3616         * doc/Makefile.in: Same.
3617         * include/Makefile.in: Same.
3618         * libsupc++/Makefile.in: Same.
3619         * src/Makefile.in: Same.
3620         * testsuite/Makefile.in: Same.
3621         * po/Makefile.in: Same.
3622         * python/Makefile.in: Same.
3624 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3626         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
3627         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
3629 2012-01-06  Jason Merrill  <jason@redhat.com>
3631         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
3632         expected demangling.
3634 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3636         PR libstdc++/51504
3637         * doc/xml/manual/debug.xml: Suggest using symbol interposition
3638         to override symbols using annotation macros.
3640 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
3642         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
3643         protected rather than private, use it...
3644         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
3645         * testsuite/23_containers/unordered_set/observers.cc: New.
3646         * testsuite/23_containers/unordered_multiset/observers.cc: New.
3647         * testsuite/23_containers/unordered_map/observers.cc: New.
3648         * testsuite/23_containers/unordered_multimap/observers.cc: New.
3650 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
3652         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
3653         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
3654         to private inheritance.
3656 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
3658         PR c++/51738
3659         * testsuite/23_containers/map/element_access/39901.cc: New.