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