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