Implement the K-distribution as an extension.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob42576bf29b415d9306b601561196355594fdbc2c
1 2012-09-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
3         * include/ext/random: Add __gnu_cxx::k_distribution<> class.
4         * include/ext/random.tcc: Add out-of-line functions for
5         __gnu_cxx::k_distribution<>.
6         * testsuite/ext/random/k_distribution/operators/equal.cc: New file.
7         * testsuite/ext/random/k_distribution/operators/serialize.cc: New file.
8         * testsuite/ext/random/k_distribution/operators/inequal.cc: New file.
9         * testsuite/ext/random/k_distribution/cons/parms.cc: New file.
10         * testsuite/ext/random/k_distribution/cons/default.cc: New file.
11         * testsuite/ext/random/k_distribution/requirements/typedefs.cc:
12         New file.
13         * testsuite/ext/random/k_distribution/requirements/
14         explicit_instantiation/1.cc: New file.
16 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
18         PR libstdc++/44436
19         * include/bits/stl_tree.h
20         (_Rb_tree<>::_M_insert_): Take _Base_ptr rather than
21         _Const_Base_ptr.
22         (_Rb_tree<>::_M_insert_node): New.
23         (_Rb_tree<>::_M_get_insert_unique_pos): New, search code of
24         _M_insert_unique method.
25         (_Rb_tree<>::_M_insert_unique): Use latter.
26         (_Rb_tree<>::_M_emplace_unique): New, likewise.
27         (_Rb_tree<>::_M_get_insert_equal_pos): New, search code of
28         _M_insert_equal method.
29         (_Rb_tree<>::_M_insert_equal): Use latter.
30         (_Rb_tree<>::_M_emplace_equal): New, likewise.
31         (_Rb_tree<>::_M_get_insert_hint_unique_pos): New, search code of
32         _M_insert_unique_ method.
33         (_Rb_tree<>::_M_insert_unique_): Use latter.
34         (_Rb_tree<>::_M_emplace_hint_unique): New, likewise.
35         (_Rb_tree<>::_M_get_insert_hint_equal_pos): New, search code of
36         _M_insert_equal_ method.
37         (_Rb_tree<>::_M_insert_equal_): Use latter.
38         (_Rb_tree<>::_M_emplace_hint_equal): New, likewise.
39         (_Rb_tree<>::_M_insert_lower): Remove first _Base_ptr parameter,
40         useless as always null.
41         * include/bits/stl_map.h: Include <tuple> in C++11.
42         (map<>::operator[](const key_type&)): Use
43         _Rb_tree<>::_M_emplace_hint_unique in C++11.
44         (map<>::operator[](key_type&&)): Likewise.
45         (map<>::emplace): New.
46         (map<>::emplace_hint): New.
47         * include/bits/stl_multimap.h (multimap<>::emplace): New.
48         (multimap<>::emplace_hint): New.
49         * include/bits/stl_set.h (set<>::emplace): New.
50         (set<>::emplace_hint): New.
51         * include/bits/stl_multiset.h (multiset<>::emplace): New.
52         (multiset<>::emplace_hint): New.
53         * include/debug/map.h (std::__debug::map<>::emplace): New.
54         (std::__debug::map<>::emplace_hint): New.
55         * include/debug/multimap.h (std::__debug::multimap<>::emplace):
56         New.
57         (std::__debug::multimap<>::emplace_hint): New.
58         * include/debug/set.h (std::__debug::set<>::emplace): New.
59         (std::__debug::set<>::emplace_hint): New.
60         * include/debug/multiset.h (std::__debug::multiset<>::emplace):
61         New.
62         (std::__debug::multiset<>::emplace_hint): New.
63         * include/profile/map.h (std::__profile::map<>::emplace): New.
64         (std::__profile::map<>::emplace_hint): New.
65         * include/profile/multimap.h (std::__profile::multimap<>::emplace):
66         New.
67         (std::__profile::multimap<>::emplace_hint): New.
68         * include/profile/set.h (std::__profile::set<>::emplace): New.
69         (std::__profile::set<>::emplace_hint): New.
70         * include/profile/multiset.h (std::__profile::multiset<>::emplace):
71         New.
72         (std::__profile::multiset<>::emplace_hint): New.
73         * testsuite/util/testsuite_container_traits.h: Signal that emplace
74         and emplace_hint are available on std::map, std::multimap,
75         std::set and std::multiset in C++11.
76         * testsuite/23_containers/map/operators/2.cc: New.
77         * testsuite/23_containers/map/modifiers/emplace/1.cc: New.
78         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: New.
79         * testsuite/23_containers/set/modifiers/emplace/1.cc: New.
80         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: New.
82 2012-09-24  François Dumont  <fdumont@gcc.gnu.org>
84         * testsuite/performance/23_containers/insert_erase/41975.cc: Use
85         __uset_hashtable rather than removed __unordered_set.
87 2012-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
89         Revert:
90         2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
92         * include/bits/stl_algobase.h (max, min): Use conditional operator.
94 2012-09-23  Uros Bizjak  <ubizjak@gmail.com>
96         PR libstdc++/54675
97         * include/ext/random: Avoid the badname __alpha (and, for
98         consistency, __mu, __nu, __sigma and __omega too).
99         * include/bits/random.tcc: Likewise.
101 2012-09-21  Edward Smith-Rowland  <3dw4rd@verizon.net>
103         * include/ext/random: Add __gnu_cxx::pareto_distribution<> class.
104         * include/ext/random.tcc: Add out-of-line functions for
105         __gnu_cxx::pareto_distribution<>.
106         * testsuite/ext/random/pareto_distribution/operators/equal.cc: New file.
107         * testsuite/ext/random/pareto_distribution/operators/serialize.cc:
108         New file.
109         * testsuite/ext/random/pareto_distribution/operators/inequal.cc:
110         New file.
111         * testsuite/ext/random/pareto_distribution/cons/parms.cc: New file.
112         * testsuite/ext/random/pareto_distribution/cons/default.cc: New file.
113         * testsuite/ext/random/pareto_distribution/requirements/typedefs.cc:
114         New file.
115         * testsuite/ext/random/pareto_distribution/requirements/
116         explicit_instantiation/1.cc: New file.
118 2012-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
120         * include/bits/stl_algobase.h (max, min): Use conditional operator.
122 2012-09-18  Benjamin Kosnik  <bkoz@redhat.com>
124         PR libstdc++/28811
125         PR libstdc++/54482
126         * configure.ac (glibcxx_lt_pic_flag,
127         glibcxx_compiler_pic_flag,
128         glibcxx_compiler_shared_flag): New. Use them.
129         (lt_prog_compiler_pic_CXX): Set via glibcxx_*_flag(s) above.
130         (pic_mode): Set to default.
131         (PIC_CXXFLAGS): Remove.
132         * Makefile.am (PICFLAG, PICFLAG_FOR_TARGET): Remove. Comment.
133         * libsupc++/Makefile.am: Use glibcxx_ld_pic_flag and
134         glibcxx_compiler_shared_flag. Comment.
135         * src/c++11/Makefile.am: Same.
136         * src/c++98/Makefile.am: Same.
137         * src/Makefile.am: Use glibcxx_compiler_pic_flag.
139         * Makefile.in: Regenerated.
140         * aclocal.m4: Same.
141         * configure: Same.
142         * doc/Makefile.in: Same.
143         * include/Makefile.in: Same.
144         * libsupc++/Makefile.in: Same.
145         * po/Makefile.in: Same.
146         * python/Makefile.in: Same.
147         * src/Makefile.in: Same.
148         * src/c++11/Makefile.in: Same.
149         * src/c++98/Makefile.in: Same.
150         * testsuite/Makefile.in: Same.
152         * src/c++11/compatibility-atomic-c++0x.cc: Use
153         _GLIBCXX_SHARED instead of PIC to designate shared-only
154         code blocks.
155         * src/c++11/compatibility-c++0x.cc: Same.
156         * src/c++11/compatibility-thread-c++0x.cc: Same.
157         * src/c++98/compatibility-list-2.cc: Same.
158         * src/c++98/compatibility.cc: : Same.
160         * testsuite/17_intro/shared_with_static_deps.cc: New.
162         * doc/xml/manual/build_hacking.xml: Separate configure from
163         make/build issues, add build details.
165 2012-09-18  Edward Smith-Rowland  <3dw4rd@verizon.net>
167         * include/ext/random: Add __gnu_cxx::nakagami_distribution<> class.
168         * include/ext/random.tcc: Add out-of-line functions for
169         __gnu_cxx::nakagami_distribution<>.
170         * testsuite/ext/random/nakagami_distribution/operators/equal.cc:
171         New file.
172         * testsuite/ext/random/nakagami_distribution/operators/serialize.cc:
173         New file.
174         * testsuite/ext/random/nakagami_distribution/operators/inequal.cc:
175         New file.
176         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: New file.
177         * testsuite/ext/random/nakagami_distribution/cons/default.cc: New file.
178         * testsuite/ext/random/nakagami_distribution/requirements/typedefs.cc:
179         New file.
180         * testsuite/ext/random/nakagami_distribution/requirements/
181         explicit_instantiation/1.cc: New file.
183 2012-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
185         PR libstdc++/54612
186         * include/ext/random.tcc (operator==
187         (const __gnu_cxx::simd_fast_mersenne_twister_engine<>&,
188         const __gnu_cxx::simd_fast_mersenne_twister_engine<>&)): Fix
189         state_size use.
190         * config/cpu/i486/opt/ext/opt_random.h: Guard with __SSE2__.
192 2012-09-17  Ulrich Drepper  <drepper@gmail.com>
194         * configure.ac: Substitute CPU_OPT_EXT_RANDOM.
195         * configure.host: Define cpu_opt_ext_random to location of the
196         optimized version of <ext/random>.
197         * include/Makefile.am (ext_headers): Add ${ext_host_headers}.
198         (ext_host_headers): Define.
199         * include/ext/random (simd_fast_mersenne_twister_engine<>
200         ::operator==): Don't define function here.
201         * include/ext/random.tcc (simd_fast_mersenne_twister_engine): Don't
202         define code using SSE2 here.  Define generic code only if
203         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_GEN_READ is not defined.
204         (simd_fast_mersenne_twister_engine<>
205         ::operator==): Define here if
206         _GLIBCXX_OPT_HAVE_RANDOM_SFMT_OPERATOREQUAL is not defined.
207         * config/cpu/generic/opt/ext/opt_random.h: New file.
208         * config/cpu/i486/opt/ext/opt_random.h: New file.
209         * libsupc++/Makefile.in: Regenerated.
210         * testsuite/Makefile.in: Regenerated.
211         * po/Makefile.in: Regenerated.
212         * configure: Regenerated.
213         * Makefile.in: Regenerated.
214         * doc/Makefile.in: Regenerated.
215         * aclocal.m4: Regenerated.
216         * python/Makefile.in: Regenerated.
217         * include/Makefile.in: Regenerated.
218         * src/c++98/Makefile.in: Regenerated.
219         * src/c++11/Makefile.in: Regenerated.
220         * src/Makefile.in: Regenerated.
222 2012-09-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
224         * include/ext/random.tcc (__gnu_cxx::rice_distribution<>
225         ::__generate_impl): Remove bogus _Adaptor usage.
227 2012-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
229         * include/ext/random (rice_distribution<>::operator==): Change
230         inline friend definition to non-template.
231         * testsuite/ext/random/rice_distribution/requirements/
232         explicit_instantiation/1.cc: New.
234         * testsuite/26_numerics/random/normal_mv_distribution: Move...
235         * testsuite/ext/random/normal_mv_distribution: ... here.
236         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine:
237         Move...
238         * testsuite/ext/random/simd_fast_mersenne_twister_engine: ... here.
239         * testsuite/26_numerics/random/beta_distribution: Move...
240         * testsuite/ext/random/beta_distribution: ... here.
241         * testsuite/26_numerics/random/rice_distribution: Move...
242         * testsuite/ext/random/rice_distribution: ... here.
244 2012-09-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
246         * include/ext/random: Add __gnu_cxx::rice_distribution<> class.
247         * include/ext/random.tcc: Add out-of-line functions for
248         __gnu_cxx::rice_distribution<>.
249         * testsuite/26_numerics/random/rice_distribution/
250         operators/equal.cc: New file.
251         * testsuite/26_numerics/random/rice_distribution/
252         operators/serialize.cc: New file.
253         * testsuite/26_numerics/random/rice_distribution/
254         operators/inequal.cc: New file.
255         * testsuite/26_numerics/random/rice_distribution/
256         cons/parms.cc: New file.
257         * testsuite/26_numerics/random/rice_distribution/
258         cons/default.cc: New file.
259         * testsuite/26_numerics/random/rice_distribution/
260         requirements/typedefs.cc: New file.
262 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
264         * configure: Regenerated.
266 2012-09-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
267             H.J. Lu  <hongjiu.lu@intel.com>
269         PR libstdc++/54576
270         * src/c++11/random.cc: Check if _GLIBCXX_USE_C99_STDINT_TR1 is defined.
272 2012-09-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
274         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Define.
275         * configure.ac: Call GLIBCXX_CHECK_ASSEMBLER_HWCAP.
276         * fragment.am (CONFIG_CXXFLAGS): Add $(HWCAP_FLAGS).
277         * configure: Regenerate.
278         * Makefile.in: Regenerate.
279         * doc/Makefile.in: Regenerate.
280         * include/Makefile.in: Regenerate.
281         * libsupc++/Makefile.in: Regenerate.
282         * po/Makefile.in: Regenerate.
283         * python/Makefile.in: Regenerate.
284         * src/Makefile.in: Regenerate.
285         * src/c++11/Makefile.in: Regenerate.
286         * src/c++98/Makefile.in: Regenerate.
287         * testsuite/Makefile.in: Regenerate.
289 2012-09-11  Jakub Jelinek  <jakub@redhat.com>
291         PR libstdc++/54172
292         * libsupc++/guard.cc (__cxa_guard_acquire): Fix up the last
293         argument of the first __atomic_compare_exchange_n.
295 2012-09-10  Sebastian Huber  <sebastian.huber@embedded-brains.de>
296             Jonathan Wakely  <jwakely.gcc@gmail.com>
298         PR libstdc++/43852
299         * acinclude.m4 (GLIBCXX_ENABLE_VERBOSE): Define.
300         * configure.ac (GLIBCXX_ENABLE_VERBOSE): Use it.
301         * config.h.in: Regenerate.
302         * configure: Likewise.
303         * libsupc++/eh_term_handler.cc (_GLIBCXX_VERBOSE): Check new macro.
304         * libsupc++/pure.cc (_GLIBCXX_VERBOSE): Likewise.
305         * doc/xml/manual/configure.xml (--disable-libstdcxx-verbose): Document.
306         * doc/html/manual/configure.html: Regenerate.
308 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
310         PR bootstrap/54419
311         * acinclude.m4 (GLIBCXX_CHECK_X86_RDRAND): Remove stray character.
312         * configure: Regenerated.
314 2012-09-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
316         PR libstdc++/54388
317         * include/std/array (array::at() const): Ensure lvalue result.
318         * testsuite/23_containers/array/element_access/54388.cc: New.
319         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
320         dg-error line numbers.
321         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
322         Likewise.
324 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
325             Dominique d'Humieres  <dominiq@lps.ens.fr>
326             Jack Howarth  <howarth@bromo.med.uc.edu>
328         PR bootstrap/54419
329         * acinclude.m4: Define GLIBCXX_CHECK_X86_RDRAND.
330         * configure.ac: Use GLIBCXX_CHECK_X86_RDRAND to test for rdrand
331         support in assembler.
332         * src/c++11/random.cc (__x86_rdrand): Depend on _GLIBCXX_X86_RDRAND.
333         (random_device::_M_init): Likewise.
334         (random_device::_M_getval): Likewise.
335         * configure: Regenerated.
336         * config.h.in: Regenerated.
338 2012-09-09  Ulrich Drepper  <drepper@gmail.com>
340         * src/c++11/random.cc (random_device::_M_init): Use new macro
341         signature_INTEL_ebx to check for Intel processors.
343 2012-09-06  Thiago Macieira  <thiago.macieira@intel.com>
345         PR libstdc++/54172
346         * libsupc++/guard.cc (__cxa_guard_acquire): Exit the loop earlier if
347         we detect that another thread has had success. Don't compare_exchange
348         from a finished state back to a waiting state. Comment.
350 2012-09-05  François Dumont  <fdumont@gcc.gnu.org>
352         PR libstdc++/54296
353         * include/bits/hashtable.h (_M_erase(size_type, __node_base*,
354         __node_type*)): New.
355         (erase(const_iterator)): Use latter.
356         (_M_erase(std::true_type, const key_type&)): New, likewise.
357         (_M_erase(std::false_type, const key_type&)): New. Find all nodes
358         matching the key before deallocating them so that the key doesn't
359         get invalidated.
360         (erase(const key_type&)): Use the new member functions.
361         * testsuite/23_containers/unordered_map/erase/54296.cc: New.
362         * testsuite/23_containers/unordered_multimap/erase/54296.cc: New.
364 2012-09-05  Ulrich Drepper  <drepper@gmail.com>
366         * src/c++11/random.cc (random_device::_M_init): Check whether cpuid
367         instruction is available by using __get_cpuid_max.
369         * include/ext/random.tcc (__gnu_cxx:normal_mv_distribution<>)
370         (operator()): Use __generate() function of _M_nd.
372         * include/ext/random: Add __gnu_cxx:normal_mv_distribution<> class.
373         * include/ext/random.tccAdd out-of-line functions for
374         __gnu_cxx::normal_mv_distribution<>.
375         * testsuite/26_numerics/random/normal_mv_distribution/
376         operators/equal.cc: New file.
377         * testsuite/26_numerics/random/normal_mv_distribution/
378         operators/serialize.cc: New file.
379         * testsuite/26_numerics/random/normal_mv_distribution/
380         operators/inequal.cc: New file.
381         * testsuite/26_numerics/random/normal_mv_distribution/
382         cons/default.cc: New file.
383         * testsuite/26_numerics/random/normal_mv_distribution/
384         cons/parms.cc: New file.
385         * testsuite/26_numerics/random/normal_mv_distribution/
386         requirements/explicit_instantiation/1.cc: New file.
387         * testsuite/26_numerics/random/normal_mv_distribution/
388         requirements/typedefs.cc: New file.
390 2012-09-04  Ulrich Drepper  <drepper@gmail.com>
392         * include/ext/random: Add __gnu_cxx::beta_distribution<> class.
393         * include/ext/random.tcc: Add out-of-line functions for
394         __gnu_cxx::beta_distribution<>.
395         * testsuite/26_numerics/random/beta_distribution/
396         operators/equal.cc: New file.
397         * testsuite/26_numerics/random/beta_distribution/
398         operators/serialize.cc: New file.
399         * testsuite/26_numerics/random/beta_distribution/
400         operators/inequal.cc: New file.
401         * testsuite/26_numerics/random/beta_distribution/
402         cons/parms.cc: New file.
403         * testsuite/26_numerics/random/beta_distribution/
404         cons/default.cc: New file.
405         * testsuite/26_numerics/random/beta_distribution/
406         requirements/typedefs.cc: New file.
407         * testsuite/26_numerics/random/beta_distribution/
408         requirements/explicit_instantiation/1.cc: New file.
410 2012-09-04  Steven Bosscher  <steven@gcc.gnu.org>
412         PR bootstrap/54453
413         * include/Makefile.am: Fix regex.
414         * include/Makefile.in: Regenerate.
416 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
418         PR libstdc++/54005 continued
419         * include/std/atomic: Use __atomic_lock_free with NULL.
420         * include/bits/atomic_base.h: Same.
422 2012-08-30  Ulrich Drepper  <drepper@gmail.com>
424         * include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
425         Remove 'return' from constructor.
427 2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>
429         * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
431 2012-08-29  Ulrich Drepper  <drepper@gmail.com>
433         * include/bits/random.h (random_device): Move implementation to...
434         * src/c++11/random.cc: ...here.  New file.
435         * config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
436         std::random_device::* symbols.
437         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
438         * src/c++11/Makefile.am (sources): Add random.cc.
439         * src/c++11/Makefile.in: Regenerated.
441         Add simd_fast_mersenne_twister_engine class.
442         * include/ext/random: New file.
443         * include/ext/random.tcc: New file.
444         * include/Makefile.am (ext_headers): Add random and random.tcc.
445         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
446         operators/inequal.cc: New file.
447         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
448         operators/equal.cc: New file.
449         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
450         operators/serialize.cc: New file.
451         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
452         cons/seed2.cc: New file.
453         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
454         cons/default.cc: New file.
455         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
456         cons/seed_seq.cc: New file.
457         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
458         cons/copy.cc: New file.
459         * testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
460         cons/seed1.cc: New file.
462 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
464         PR libstdc++/54102, part 2
465         * doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
466         * doc/Makefile.in: Regenerate.
467         * doc/html/*: Same.
469 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
471         * doc/html/*: Regenerate.
473 2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
475         PR libstdc++/54102
476         * doc/xsl/customization.xsl.in: New.
477         * configure.ac: Output local copy of customization xsl.
478         * doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
479         (stamp-html-docbook): Set stringparam to UTF-8.
480         * Makefile.in: Regenerated.
481         * configure: Same.
482         * doc/Makefile.in: Same.
484 2012-08-27  Ulrich Drepper  <drepper@gmail.com>
486         Add interfaces to retrieve random numbers in bulk.
487         * include/bits/random.h (uniform_int_distribution<>): Add __generate
488         and __generate_impl functions.
489         (uniform_real_distribution<>): Likewise.
490         (bernoulli_distribution): Likewise.
491         (geometric_distribution<>): Likewise.
492         (negative_binomial_distribution<>): Likewise.
493         (poisson_distribution<>): Likewise.
494         (exponential_distribution<>): Likewise.
495         (normal_distribution<>): Likewise.
496         (lognormal_distribution<>): Likewise.
497         (chi_squared_distribution<>): Likewise.
498         (cauchy_distribution<>): Likewise.
499         (fisher_f_distribution<>): Likewise.
500         (student_t_distribution<>): Likewise.
501         (gamma_distribution<>): Likewise.
502         (weibull_distribution<>): Likewise.
503         (extreme_value_distribution<>): Likewise.
504         (discrete_distribution<>): Likewise.
505         (piecewise_constant_distribution<>): Likewise.
506         (piecewise_linear_distribution<>): Likewise.
507         * include/bits/random.tcc (__detail::_Power_of_2): New function.
508         (uniform_int_distribution<>::__generate_impl): New function.
509         (uniform_real_distribution<>::__generate_impl): New function.
510         (bernoulli_distribution::__generate_impl): New function.
511         (geometric_distribution<>::__generate_impl): New function.
512         (negative_binomial_distribution<>::__generate_impl): New function.
513         (poisson_distribution<>::__generate_impl): New function.
514         (exponential_distribution<>::__generate_impl): New function.
515         (normal_distribution<>::__generate_impl): New function.
516         (lognormal_distribution<>::__generate_impl): New function.
517         (chi_squared_distribution<>::__generate_impl): New function.
518         (cauchy_distribution<>::__generate_impl): New function.
519         (fisher_f_distribution<>::__generate_impl): New function.
520         (student_t_distribution<>::__generate_impl): New function.
521         (gamma_distribution<>::__generate_impl): New function.
522         (weibull_distribution<>::__generate_impl): New function.
523         (extreme_value_distribution<>::__generate_impl): New function.
524         (discrete_distribution<>::__generate_impl): New function.
525         (piecewise_constant_distribution<>::__generate_impl): New function.
526         (piecewise_linear_distribution<>::__generate_impl): New function.
528 2012-08-22  Ulrich Drepper  <drepper@gmail.com>
530         * include/bits/random.h (mersenne_twister_engine): Don't inline
531         discard here.  New member function _M_gen_rand.
532         * include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
533         New function.  Extracted from operator().
534         (mersenne_twister_engine<>::discard): New implementation which
535         skips in large steps.
536         (mersenne_twister_engine<>::operator()): Use _M_gen_rand.
538 2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
539             Paolo Carlini  <paolo.carlini@oracle.com>
541         PR libstdc++/54376
542         * include/bits/random.h (lognormal_distribution<>::operator==,
543         gamma_distribution<>::operator==,
544         chi_squared_distribution<>::operator==,
545         fisher_f_distribution<>::operator==,
546         student_t_distribution<>::operator==,
547         binomial_distribution<>::operator==,
548         negative_binomial_distribution<>::operator==,
549         poisson_distribution<>::operator==): Change inline friend definition
550         to non-template.
551         * testsuite/26_numerics/random/binomial_distribution/requirements/
552         explicit_instantiation/1.cc: New.
553         * testsuite/26_numerics/random/cauchy_distribution/requirements/
554         explicit_instantiation/1.cc: Likewise.
555         * testsuite/26_numerics/random/chi_squared_distribution/
556         requirements/explicit_instantiation/1.cc: Likewise.
557         * testsuite/26_numerics/random/discrete_distribution/requirements/
558         explicit_instantiation/1.cc: Likewise.
559         * testsuite/26_numerics/random/exponential_distribution/
560         requirements/explicit_instantiation/1.cc: Likewise.
561         * testsuite/26_numerics/random/extreme_value_distribution/
562         requirements/explicit_instantiation/1.cc: Likewise.
563         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
564         explicit_instantiation/1.cc: Likewise.
565         * testsuite/26_numerics/random/gamma_distribution/requirements/
566         explicit_instantiation/1.cc: Likewise.
567         * testsuite/26_numerics/random/geometric_distribution/requirements/
568         explicit_instantiation/1.cc: Likewise.
569         * testsuite/26_numerics/random/lognormal_distribution/requirements/
570         explicit_instantiation/1.cc: Likewise.
571         * testsuite/26_numerics/random/negative_binomial_distribution/
572         requirements/explicit_instantiation/1.cc: Likewise.
573         * testsuite/26_numerics/random/normal_distribution/requirements/
574         explicit_instantiation/1.cc: Likewise.
575         * testsuite/26_numerics/random/piecewise_constant_distribution/
576         requirements/explicit_instantiation/1.cc: Likewise.
577         * testsuite/26_numerics/random/piecewise_linear_distribution/
578         requirements/explicit_instantiation/1.cc: Likewise.
579         * testsuite/26_numerics/random/poisson_distribution/requirements/
580         explicit_instantiation/1.cc: Likewise.
581         * testsuite/26_numerics/random/student_t_distribution/requirements/
582         explicit_instantiation/1.cc: Likewise.
583         * testsuite/26_numerics/random/uniform_int_distribution/
584         requirements/explicit_instantiation/1.cc: Likewise.
585         * testsuite/26_numerics/random/uniform_real_distribution/
586         requirements/explicit_instantiation/1.cc: Likewise.
587         * testsuite/26_numerics/random/weibull_distribution/requirements/
588         explicit_instantiation/1.cc: Likewise.
590 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
592         * testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
594 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
596         PR libstdc++/54297
597         * src/c++11/future.cc (~_Async_state_common): Move to...
598         * src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
599         Here.
600         (_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
601         * include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.
603 2012-08-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
604             Geoff Romer  <gromer@google.com>
606         PR libstdc++/54351
607         * include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
608         reset().
609         (unique_ptr<T[]>::~unique_ptr()): Likewise.
610         * testsuite/20_util/unique_ptr/54351.cc: New.
611         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
612         line numbers.
614 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
616         PR libstdc++/54297
617         * include/std/future (~_Async_state_impl): Join thread before
618         derived class members are destroyed.
619         (~_Async_state_common): Only define non-trivial destructor when
620         included from future.cc for ABI compatibility reasons.
621         * src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
622         * testsuite/30_threads/async/54297.cc: New.
624 2012-08-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
626         PR libstdc++/54248
627         * include/bits/concept_check.h: Replace references to boost
628         namespace.
630 2012-08-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
632         PR libstdc++/54354
633         * doc/xml/manual/status_cxx2011.xml: Note missing manipulators.
634         * doc/html/*: Regenerate.
636 2012-08-15  Tom Tromey  <tromey@redhat.com>
638         * testsuite/libstdc++-prettyprinters/cxx11.cc (struct datum):
639         New.
640         (global): New global.
641         (main): Add test for unique_ptr.
642         * python/libstdcxx/v6/printers.py
643         (UniquePointerPrinter.to_string): Extract the pointer and also
644         print its type.
646 2012-08-13  David Adler  <d.adler.s@gmail.com>
648         PR libstdc++/54185
649         * src/c++11/condition_variable.cc (condition_variable): Always
650         destroy native type in destructor.
651         * testsuite/30_threads/condition_variable/54185.cc: New.
653 2012-08-13  François Dumont  <fdumont@gcc.gnu.org>
654             Ollie Wild  <aaw@google.com>
656         * include/bits/hashtable.h
657         (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New.
658         (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter.
659         (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise.
660         (_Hashtable<>::_M_insert_bucket): Replace by ...
661         (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)):
662         ... this, new.
663         (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter.
664         (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
665         * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use
666         latter, emplace the value_type rather than insert.
667         * include/std/unordered_map: Include tuple.
668         * include/std/unordered_set: Likewise.
669         * testsuite/util/testsuite_counter_type.h: New.
670         * testsuite/23_containers/unordered_map/operators/2.cc: New.
672 2012-08-13  Marc Glisse  <marc.glisse@inria.fr>
674         PR libstdc++/54112
675         * include/c_compatibility/complex.h: Undefine complex, always
676         include system's complex.h if present.
677         * testsuite/26_numerics/complex/c99.cc: New testcase.
678         * testsuite/17_intro/headers/c++1998/complex.cc: Likewise.
679         * doc/xml/manual/numerics.xml: Document it.
681 2012-08-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
683         PR libstdc++/52681
684         * src/c++11/thread.cc (thread::_M_start_thread): Improve error text
685         when threads are not enabled.
687 2012-08-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
689         * acinclude.m4: Update references to final C++11 standard.
690         * include/bits/shared_ptr.h: Likewise.
691         * include/bits/shared_ptr_base.h: Likewise.
692         * include/bits/unique_ptr.h: Likewise.
693         * include/std/chrono: Likewise.
694         * include/std/thread: Likewise.
696 2012-08-07  Benjamin Kosnik  <bkoz@redhat.com>
698         PR libstdc++/54005
699         * include/std/atomic: Use __atomic_always_lock_free.
700         * include/bits/atomic_base.h: Same.
702 2012-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
704         * testsuite/decimal/mixed-mode-cmp_neg.cc: Add test variable; minor
705         tweaks.
706         * testsuite/decimal/unary-arith.cc: Likewise.
707         * testsuite/decimal/ctor.cc: Likewise.
708         * testsuite/decimal/conversion-to-integral.cc: Likewise.
709         * testsuite/decimal/make-decimal.cc: Likewise.
710         * testsuite/decimal/comparison.cc: Likewise.
711         * testsuite/decimal/incdec-memfunc.cc: Likewise.
712         * testsuite/decimal/conversion-to-generic-float.cc: Likewise.
713         * testsuite/decimal/compound-assignment-memfunc.cc: Likewise.
714         * testsuite/decimal/cast_neg.cc: Likewise.
715         * testsuite/decimal/incdec.cc: Likewise.
716         * testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
717         * testsuite/decimal/binary-arith.cc: Likewise.
718         * testsuite/decimal/conversion-from-float.cc: Likewise.
719         * testsuite/decimal/conversion-from-integral.cc: Likewise.
720         * testsuite/decimal/compound-assignment.cc: Likewise.
722 2012-08-06  Peter Bergner  <bergner@vnet.ibm.com>
724         PR libstdc++/54036
725         * include/decimal/decimal.h (_DEFINE_DECIMAL_UNARY_OP): Use _Op as
726         a unary operator.
727         * testsuite/decimal/pr54036-1.cc: New test.
728         * testsuite/decimal/pr54036-2.cc: Likewise.
729         * testsuite/decimal/pr54036-3.cc: Likewise.
731 2012-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
733         Revert:
734         2012-08-03  Ollie Wild  <aaw@google.com>
735                     Richard Smith  <richardsmith@google.com>
737         * include/bits/stl_map.h (operator[](key_type&&)): Replace
738         std::make_pair with value_type.
739         * testsuite/23_containers/map/operators/2.cc: New test.
741 2012-08-03  François Dumont  <fdumont@gcc.gnu.org>
743         * include/debug/functions.h (__check_partition_lower_aux): Remove
744         redundant comparison with pivot value.
745         (__check_partition_upper_aux): Likewise.
747 2012-08-03  Ollie Wild  <aaw@google.com>
748             Richard Smith  <richardsmith@google.com>
750         * include/bits/stl_map.h (operator[](key_type&&)): Replace
751         std::make_pair with value_type.
752         * testsuite/23_containers/map/operators/2.cc: New test.
754 2012-08-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
756         * include/std/memory: Include auto_ptr.h later.
757         * include/bits/shared_ptr.h (shared_ptr(auto_ptr<_Up>&&): Remove
758         definition.
759         * include/bits/shared_ptr_base.h (__shared_ptr(auto_ptr<_Up>&&):
760         Likewise.
761         * include/bits/unique_ptr.h (unique_ptr(auto_ptr<_Up>&&): Likewise.
762         * include/backward/auto_ptr.h (unique_ptr(auto_ptr<_Up>&&): Define.
763         (shared_ptr(auto_ptr<_Up>&&, __shared_ptr(auto_ptr<_Up>&&): Likewise.
764         * include/std/future: Reduce header dependencies.
765         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
766         numbers.
767         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
768         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
770 2012-07-30  François Dumont  <fdumont@gcc.gnu.org>
772         * include/bits/c++config (_GLIBCXX_END_NAMESPACE_CONTAINER): Fix
773         order of closures.
774         (_GLIBCXX_END_NAMESPACE_ALGO): Likewise.
776 2012-07-29  François Dumont  <fdumont@gcc.gnu.org>
778         PR libstdc++/54075
779         * include/bits/hashtable_policy.h
780         (_Prime_rehash_policy::_M_next_bkt): Add a growth factor set to 2
781         to boost growth in the number of buckets.
782         * testsuite/performance/23_containers/insert/unordered_set.cc: New.
784 2012-07-25  François Dumont  <fdumont@gcc.gnu.org>
786         PR libstdc++/54075
787         * include/bits/hashtable.h
788         (_Hashtable<>::_Hashtable(_InputIterator, _InputIterator,
789         size_type, ...): Remove std::max usage to guarantee that hashtable
790         state is consistent with hash policy state.
791         (_Hashtable<>::rehash): Likewise. Set _M_prev_resize to 0 to avoid
792         the hashtable shrinking on next insertion.
793         * testsuite/23_containers/unordered_set/modifiers/reserve.cc: New.
794         * testsuite/23_containers/unordered_multiset/modifiers/reserve.cc: New.
795         * testsuite/23_containers/unordered_map/modifiers/reserve.cc: New.
796         * testsuite/23_containers/unordered_multimap/modifiers/reserve.cc: New.
798 2012-07-20  Chip Salzenberg  <chip@pobox.com>
799             Jonathan Wakely  <jwakely.gcc@gmail.com>
801         PR libstdc++/54025
802         * include/std/chrono (duration<>::duration): Fix per C++11.
803         * testsuite/20_util/duration/cons/54025.cc: New.
804         * testsuite/20_util/duration/cons/constexpr.cc: Adjust.
806 2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>
808         * testsuite/30_threads/thread/adl.cc: Add missing dg-requires.
810 2012-07-19  Tristan Gingold  <gingold@adacore.com>
811             Richard Henderson  <rth@redhat.com>
813         * libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
814         Adjust for SEH.
815         * config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
817 2012-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
819         PR c++/51213
820         * testsuite/20_util/pair/noncopyable.cc: New.
822 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
824         PR libstdc++/53270
825         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
826         NSDMI in C++98 mode too.
827         * include/ext/rope: Add system_header pragma.
828         (_Refcount_Base, _Rope_RopeRep): Use NSDMI.
829         (_Rope_RopeRep::~_Rope_RopeRep): Destroy mutex.
831 2012-07-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
833         PR libstdc++/53978
834         * include/bits/alloc_traits.h (allocator_traits): Define static
835         constants.
836         * include/bits/ptr_traits.h (pointer_traits): Likewise.
837         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
838         Likewise.
840 2012-07-13  Paolo Carlini  <paolo.carlini@oracle.com>
842         PR libstdc++/53657
843         * include/bits/stl_pair.h (pair<>::pair(pair&&)): Declare defaulted,
844         per C++11.
845         * include/bits/stl_map.h (map<>::insert(_Pair&&), map<>::insert
846         (const_iterator, _Pair&&)): Constrain with std::is_constructible,
847         per LWG2005.
848         * include/bits/stl_multimap.h (multimap<>::insert(_Pair&&),
849         multimap<>::insert(const_iterator, _Pair&&)): Likewise.
850         * include/bits/hashtable_policy.h (_Insert<>::insert(_Pair&&),
851         _Insert<>::insert(const_iterator, _Pair&&)): Likewise.
852         * include/debug/unordered_map: Adjust.
853         * include/debug/map.h: Likewise.
854         * include/debug/multimap.h: Likewise.
855         * include/profile/unordered_map: Likewise.
856         * include/profile/map.h: Likewise.
857         * include/profile/multimap.h: Likewise.
859 2012-07-06  Paolo Carlini  <paolo.carlini@oracle.com>
861         PR libstdc++/53872
862         * include/std/thread (thread::_M_make_routine): Qualify make_shared
863         to prevent ADL.
864         * testsuite/30_threads/thread/adl.cc: New.
866 2012-07-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
868         * include/std/condition_variable: Update copyright years.
870 2012-07-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
872         PR libstdc++/53830
873         * include/std/condition_variable (condition_variable_any::wait):
874         Move _Unlock type to class scope.
875         (condition_variable_any::wait_until): Reuse it.
876         * testsuite/30_threads/condition_variable_any/53830.cc: New.
878 2012-07-04  Matthias Klose  <doko@ubuntu.com>
880         * testsuite/28_regex/headers/04_header: Remove empty directory.
881         * testsuite/28_regex/algorithms/02_match: Likewise.
883 2012-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
885         PR libstdc++/53840
886         * include/std/ratio (ratio_multiply, ratio_divide, ratio_add,
887         ratio_subtract): Use template aliases.
888         * include/std/chrono (duration<>::duration(const duration<>&),
889         duration_cast): Adjust.
890         * testsuite/20_util/ratio/operations/53840.cc: New.
891         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
892         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
893         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
894         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
896 2012-07-02  Paolo Carlini  <paolo.carlini@oracle.com>
898         Revert:
899         2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
901         PR libstdc++/49561
902         * include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
903         Add in C++0x mode.
904         (_List_base<>::_List_impl, _List_base<>::_M_get_node,
905         _List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
906         list<>::size, list<>::swap, list<>::splice): Use it.
907         (operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
908         * include/bits/list.tcc (list<>::erase): Likewise.
909         (list<>::merge): Adjust in C++0x mode.
910         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
911         Adjust dg-error line number.
912         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
913         Likewise.
914         * testsuite/23_containers/list/requirements/dr438/
915         constructor_1_neg.cc: Likewise.
916         * testsuite/23_containers/list/requirements/dr438/
917         constructor_2_neg.cc: Likewise.
919 2012-06-27  Benjamin Kosnik  <bkoz@redhat.com>
921         * include/bits/c++config: Remove __regex nested namespace.
922         * include/bits/regex_compiler.h: Change __regex to
923         __detail. Adjust doxygen markup, add regex-details group.
924         * include/bits/regex_constants.h: Same.
925         * include/bits/regex_cursor.h: Same.
926         * include/bits/regex_error.h: Same.
927         * include/bits/regex_grep_matcher.h: Same.
928         * include/bits/regex_grep_matcher.tcc: Same.
929         * include/bits/regex_nfa.h: Same.
930         * include/bits/regex_nfa.tcc: Same.
931         * include/bits/regex.h: Same. Remove static from global constants.
933         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
935         * include/bits/locale_classes.tcc: Add use_facet, has_facet to
936         locales group.
938 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
940         * include/tr2/bool_set (count, size, num_blocks, empty, max_size):
941         Add noexcept.
943 2012-06-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
945         * include/tr2/dynamic_bitset (count, size, num_blocks, empty, max_size):
946         Add noexcept.
948 2012-06-25  Benjamin Kosnik  <bkoz@redhat.com>
950         * doc/doxygen/user.cfg.in: Change COMPACT_LATEX to NO.
952 2012-06-24  Benjamin Kosnik  <bkoz@redhat.com>
954         * testsuite/28_regex/algorithms/02_match: To...
955         * testsuite/28_regex/algorithms/match: ...this.
956         * testsuite/28_regex/headers/04_header/regex/std_c++0x_neg.cc: Remove
957         duplicate.
959 2012-06-18  Jörg Sonnenberger <joerg@britannica.bec.de>
960             Jonathan Wakely  <jwakely.gcc@gmail.com>
962         PR libstdc++/53678
963         * config/os/bsd/netbsd/ctype_base.h: Check for _CTYPE_U.
964         * testsuite/22_locale/ctype_base/53678.cc: New.
966 2012-06-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
968         PR libstdc++/53578
969         * include/ext/concurrence.h (__recursive_mutex::_S_destroy): Fix
970         narrowing conversion.
971         * include/std/mutex (__recursive_mutex_base::_S_destroy): Likewise.
973 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
975         PR libstdc++/53270
976         * include/ext/concurrence.h (__mutex, __recursive_mutex, __cond): Use
977         NSDMI in C++11 mode.
978         * include/ext/rope (_Refcount_Base): Likewise. Destroy mutex in
979         destructor when initialized by function.
981 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
983         PR libstdc++/53648
984         * include/std/tuple (__empty_not_final): Do not use EBO for tuples.
985         * testsuite/20_util/tuple/53648.cc: New.
986         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line
987         number.
989 2012-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
991         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
993 2012-06-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
995         * doc/xml/manual/status_cxx2011.xml: Correct C++11 status table.
997 2012-05-31  Benjamin Kosnik  <bkoz@redhat.com>
999         PR libstdc++/53543
1000         * include/bits/hashtable_policy.h (_Insert::__is_convertible):
1001         Rename to __is_conv to avoid clash with clang built-in.
1003 2012-05-29  François Dumont  <fdumont@gcc.gnu.org>
1005         * include/bits/stl_tempbuf.h (__uninitialized_construct_buf)
1006         (__uninitialized_construct_buf_dispatch<>::__ucr): Fix to work
1007         with iterator returning rvalue.
1008         * testsuite/25_algorithms/stable_sort/3.cc: New.
1010 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
1012         PR c++/53503
1013         * testsuite/26_numerics/headers/cmath/53503.cc: New.
1015 2012-05-22  Dodji Seketeli  <dodji@redhat.com>
1017         PR c++/53322
1018         * include/bits/stl_algobase.h (lower_bound)
1019         (lexicographical_compare): Do not declare unused local typedefs
1020         here when Concepts are turned off.
1022 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
1024         * testsuite/22_locale/num_put/put/char/9780-2.cc: Avoid -Wall warnings.
1025         * testsuite/29_atomics/atomic/cons/49445.cc: Likewise.
1026         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
1027         * Likewise.
1028         * testsuite/23_containers/unordered_map/observers.cc: Likewise.
1029         * testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
1030         * testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
1031         * testsuite/23_containers/unordered_multimap/erase/2.cc: Likewise.
1032         * testsuite/23_containers/unordered_multimap/insert/53115.cc: Likewise.
1033         * testsuite/23_containers/unordered_multimap/observers.cc: Likewise.
1034         * testsuite/23_containers/vector/debug/alloc_prop.cc: Likewise.
1035         * testsuite/23_containers/unordered_set/observers.cc: Likewise.
1036         * testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
1037         * testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
1038         * testsuite/23_containers/unordered_multiset/erase/2.cc: Likewise.
1039         * testsuite/23_containers/unordered_multiset/insert/53115.cc: Likewise.
1040         * testsuite/23_containers/unordered_multiset/insert/multiset_range.cc:
1041         * Likewise.
1042         * testsuite/23_containers/unordered_multiset/observers.cc: Likewise.
1044 2012-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
1046         PR c++/53361
1047         * testsuite/23_containers/array/cons/53361.cc: New.
1049 2012-05-17  Paolo Carlini  <paolo.carlini@oracle.com>
1051         PR c++/44516
1052         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
1053         dg-error line number.
1055 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1057         * configure: Regenerated.
1059 2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>
1061         PR libstdc++/53339
1062         * include/bits/hashtable_policy.h (__detail::_Identity,
1063         __detail::_Select1st): Add.
1064         (_Map_base, _Hashtable_base): Use the latter, adjust parameters.
1065         * include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
1066         * include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
1067         Likewise.
1068         * include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
1069         Likewise.
1070         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
1071         Unconditionally derive from unary_function.
1072         * include/ext/functional (identity, select1st, select2nd): Remove
1073         #ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
1074         * testsuite/23_containers/unordered_map/requirements/53339.cc: New.
1075         * testsuite/23_containers/unordered_multimap/requirements/
1076         53339.cc: Likewise.
1078 2012-05-11  François Dumont  <fdumont@gcc.gnu.org>
1080         PR libstdc++/53263
1081         * include/debug/safe_iterator.h (__gnu_debug::__base): Move...
1082         * include/debug/functions.h: ... Here.
1083         (__check_sorted_aux): Add overload for random access safe
1084         iterators.
1085         (__check_partition_lower_aux): New.
1086         (__check_partition_lower): Use latter.
1087         (__check_partition_upper_aux): New.
1088         (__check_partition_upper): Use latter.
1089         * include/debug/macros.h (__glibcxx_check_heap)
1090         (__glibcxx_check_heap_pred): Use __gnu_debug::__base on iterator range.
1092 2012-05-10  DJ Delorie  <dj@redhat.com>
1094         * include/bits/random.tcc (seed_seq::generate): Cast max()
1095         operands to size_t to ensure a template match.
1096         * include/std/bitset (_M_copy_from_ptr): Cast min() operands to
1097         size_t to ensure a template match.
1099 2012-05-03  Benjamin Kosnik  <bkoz@redhat.com>
1101         * scripts/testsuite_flags.in (cxxflags): Remove
1102         -ftrack-macro-expansion=0.
1104 2012-05-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1106         * doc/xml/faq.xml: Update outdated allocator documentation.
1107         * doc/xml/manual/allocator.xml: Likewise.
1108         * doc/xml/manual/debug.xml: Likewise.
1109         * doc/xml/manual/evolution.xml: Likewise.
1110         * doc/xml/manual/using.xml: Likewise.
1112 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
1114         PR libstdc++/44015
1115         * include/bits/basic_ios.h: Add tparam markup for
1116         * doxygen.  include/bits/basic_string.h: Same.
1117         * include/bits/forward_list.h: Same.
1118         * include/bits/stl_bvector.h: Same.
1119         * include/bits/stl_deque.h: Same.
1120         * include/bits/stl_list.h: Same.  include/bits/stl_map.h:
1121         * Same.  include/bits/stl_multimap.h: Same.
1122         * include/bits/stl_multiset.h: Same.
1123         * include/bits/stl_pair.h: Same.
1124         * include/bits/stl_queue.h: Same.
1125         * include/bits/stl_set.h: Same.
1126         * include/bits/stl_stack.h: Same.
1127         * include/bits/stl_vector.h: Same.
1128         * include/bits/unordered_map.h: Same.
1129         * include/bits/unordered_set.h: Same.  include/std/array:
1130         * Same.  include/std/atomic: Same.  include/std/fstream:
1131         * Same.  include/std/istream: Same.  include/std/ostream:
1132         * Same.  include/std/sstream: Same.
1133         * include/std/streambuf: Same.
1134         * testsuite/23_containers/deque/requirements/dr438/*:
1135         Adjust line numbers.
1136         * testsuite/23_containers/list/requirements/dr438/*: Same.
1137         * testsuite/23_containers/vector/requirements/dr438/*: Same.
1139 2012-05-02  DJ Delorie  <dj@redhat.com>
1141         * crossconfig.m4: Since we know that all TPF builds are cross-
1142         builds and cannot run configuration-time link tests, do not
1143         allow it; just go with known supported linker options.
1144         * configure: Regenerate (called as GLIBCXX_CROSSCONFIG).
1146 2012-05-02  Benjamin Kosnik  <bkoz@redhat.com>
1148         * include/bits/hashtable_policy.h: Correct namepace nesting for
1149         _Hashtable forward declaration.
1151 2012-05-01  François Dumont  <fdumont@gcc.gnu.org>
1153         PR libstdc++/53115
1154         * include/bits/hashtable.h
1155         (_Hashtable<>::_M_rehash_aux(size_type, false_type)): Fix buckets
1156         after insertion of several equivalent elements.
1157         * testsuite/23_containers/unordered_multiset/insert/53115.cc: New.
1158         * testsuite/23_containers/unordered_multimap/insert/53115.cc: New.
1160 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
1161             Paolo Carlini  <paolo.carlini@oracle.com>
1163         PR libstdc++/51795
1164         * include/bits/stl_algobase.h (__lg<>(_Size)): Remove.
1165         (__lg(int), __lg(unsigned), __lg(long), __lg(unsigned long),
1166         __lg(long long), __lg(unsigned long long)): Define constexpr.
1167         * include/bits/random.h (_Mod<>): Overcome Schrage's algorithm
1168         limitations.
1169         (__mod): Adjust.
1170         (linear_congruential): Remove FIXME static_assert.
1171         * include/bits/random.tcc (_Mod<>): Adjust.
1172         * testsuite/26_numerics/random/linear_congruential_engine/operators/
1173         51795.cc: New.
1175 2012-04-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1177         * include/std/functional (function::function(F)): LWG 2132: Disable
1178         constructor if argument isn't callable.
1179         * testsuite/20_util/function/cons/callable.cc: New.
1181 2012-04-29  Marc Glisse  <marc.glisse@inria.fr>
1183         PR libstdc++/22200
1184         * include/std/limits (numeric_limits<>::is_modulo): False for
1185         signed types.
1187 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
1189         * include/bits/hashtable.h: Adjust doxygen markup for base
1190         classes.
1191         * include/bits/hashtable_policy.h: Same.
1193 2012-04-25  Benjamin Kosnik  <bkoz@redhat.com>
1195         PR libstdc++/52689
1196         * testsuite/17_intro/static.cc: Fix.
1197         * testsuite/lib/dg-options.exp (dg-require-static-libstdcxx): New.
1198         * testsuite/lib/libstdc++.exp (check_v3_target_static_libstdcxx): New.
1200 2012-04-25  Jonathan Wakely  <jwakely.gcc@gmail.com>
1202         * include/std/scoped_allocator (scoped_allocator::__outermost): Do
1203         not pass non-POD to varargs function.
1204         * testsuite/20_util/scoped_allocator/1.cc: Fix test.
1206 2012-04-24  Benjamin Kosnik  <bkoz@redhat.com>
1208         PR libstdc++/52689
1209         * testsuite/17_intro/static.cc: New.
1211 2012-04-23  Daniel Krugler  <daniel.kruegler@googlemail.com>
1213         * include/std/type_traits (is_nothrow_destructible): Implement.
1214         (is_destructible): Implement LWG 2049.
1215         * testsuite/util/testsuite_tr1.h: Add tests.
1216         * testsuite/20_util/is_nothrow_destructible/value.cc: New.
1217         * testsuite/20_util/is_nothrow_destructible/requirements/typedefs.cc:
1218         * testsuite/20_util/is_nothrow_destructible/requirements/
1219         explicit_instantiation.cc: Likewise.
1220         * testsuite/20_util/is_destructible/value.cc: Adjust and extend.
1221         * testsuite/20_util/is_default_constructible/value.cc: Tweak.
1222         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1223         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1224         dg-error line numbers.
1225         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1226         Likewise.
1227         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1229 2012-04-23  Paolo Carlini  <paolo.carlini@oracle.com>
1231         PR libstdc++/53080
1232         * include/std/array (tuple_element, get): static_assert I < N.
1233         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1234         New.
1235         * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
1236         * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Fix.
1238 2012-04-23  Chris Jefferson  <chris@bubblescope.net>
1240         PR testsuite/53046
1241         * testsuite/25_algorithms/stable_partition/mem_check.cc: Fix size
1242         of array A.
1243         * testsuite/25_algorithms/stable_sort/mem_check.cc: Likewise.
1245 2012-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1247         PR libstdc++/53067
1248         * include/bits/hashtable_policy.h: Change inheritances to public.
1249         * testsuite/23_containers/unordered_map/requirements/53067.cc: New.
1250         * testsuite/23_containers/unordered_set/requirements/53067.cc: Likewise.
1252 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1254         * include/ext/alloc_traits.h (__alloc_traits::difference_type):
1255         Define.
1257 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1259         PR libstdc++/53027
1260         * include/bits/ptr_traits.h (pointer_traits::rebind): Make public.
1261         * testsuite/20_util/pointer_traits/requirements/typedefs.cc: Check
1262         rebind works.
1264 2012-04-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1266         * include/debug/forward_list (forward_list::splice_after): Check
1267         allocators are equal.
1268         * src/c++11/debug.cc: Fix spelling.
1269         * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc:
1270         New.
1271         * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc:
1272         Likewise.
1273         * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc:
1274         Likewise.
1276 2012-04-20  Paolo Carlini  <paolo.carlini@oracle.com>
1278         PR libstdc++/53052
1279         * include/std/type_traits (is_explicitly_convertible): Remove.
1280         * testsuite/20_util/is_explicitly_convertible: Likewise.
1281         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1282         Adjust dg-error line numbers.
1283         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1284         Likewise.
1285         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1287 2012-04-17  Benjamin Kosnik  <bkoz@redhat.com>
1289         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
1290         808590.cc: New.
1292 2012-04-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1294         * testsuite/util/testsuite_abi.cc (compare_symbols): Change
1295         summary header to avoid confusion with DejaGnu header.
1297 2012-04-15  Paolo Carlini  <paolo.carlini@oracle.com>
1299         PR libstdc++/52702
1300         * include/std/type_traits (is_trivially_destructible): Add.
1301         (has_trivial_destructor): Remove.
1302         * testsuite/util/testsuite_common_types.h: Adjust.
1303         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1304         * testsuite/20_util/pair/requirements/dr801.cc: Likewise.
1305         * testsuite/20_util/is_trivially_destructible/value.cc: New.
1306         * testsuite/20_util/is_trivially_destructible/requirements/
1307         typedefs.cc: Likewise.
1308         * testsuite/20_util/is_trivially_destructible/requirements/
1309         explicit_instantiation.cc: Likewise.
1310         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1311         Adjust dg-error line numbers.
1312         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1313         Likewise.
1314         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1316 2012-04-14  Paolo Carlini  <paolo.carlini@oracle.com>
1318         PR libstdc++/52699
1319         * include/bits/random.tcc (independent_bits_engine<>::operator()())
1320         Avoid various overflows; use common_type on result_type and
1321         _RandomNumberEngine::result_type; avoid floating point computations;
1322         other smaller tweaks.
1324         * include/bits/random.tcc (uniform_int_distribution<>::operator())
1325         Use common_type; assume _UniformRandomNumberGenerator::result_type
1326         unsigned; tidy.
1328         * include/bits/stl_algobase.h (__lg(unsigned), __lg(unsigned long),
1329         __lg(unsigned long long)): Add.
1331 2012-04-14  Alan Modra  <amodra@gmail.com>
1333         PR libstdc++/52839
1334         * acinclude.m4 (_GLIBCXX_ATOMIC_BUILTINS): Do not depend on
1335         glibcxx_cv_atomic_long_long.
1336         * configure: Regenerate.
1338 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
1340         * testsuite/26_numerics/cmath/51083.cc: Move...
1341         * testsuite/26_numerics/headers/cmath/51083.cc: ... here.
1343 2012-04-13  Laurent Alfonsi  <laurent.alfonsi@st.com>
1345         PR libstdc++/52604
1346         * src/c++98/mt_allocator.cc: (__freelist::~__freelist): Reset pointer.
1348 2012-04-13  Paolo Carlini  <paolo.carlini@oracle.com>
1350         * include/debug/safe_iterator.h (_BeforeBeginHelper<>::
1351         _S_Is_Beginnest): Add.
1352         * include/debug/forward_list (_BeforeBeginHelper<>::
1353         _S_Is_Beginnest): Likewise.
1354         (_Safe_iterator<>::_M_is_beginnest): Add.
1355         * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range):
1356         Use the latter.
1357         * testsuite/23_containers/forward_list/debug/splice_after.cc:
1358         Add test.
1360 2012-04-12  Benjamin Kosnik  <bkoz@redhat.com>
1362         * include/bits/unordered_map.h (__unordered_map): Remove.
1363         (__unordered_multimap): Remove.
1364         Add aliases for __umap_traits, __umap_hashtable, __ummap_traits,
1365         __ummap_hashtable.
1366         (unordered_map): Derive from __umap_hashtable.
1367         (unordered_multimap): Derive from __ummap_hashtable.
1368         * include/bits/unordered_set.h (__unordered_set): Remove.
1369         (__unordered_multiset): Remove.
1370         Add aliases for __uset_traits, __uset_hashtable, __umset_traits,
1371         __umset_hashtable.
1372         (unordered_set): Derive from __uset_hashtable.
1373         (unordered_multiset): Derive from __umset_hashtable.
1374         * include/bits/hashtable.h (__cache_default): New, consolidated
1375         cache defaults for _Hashtable. Adjust comments for doxygen.
1376         (_Hashtable): Consolidate bool template parameters into new,
1377         _Traits class. Inherited base classes synthesize _Hashtable in
1378         CRTP via original 10 parameters. Prefer using declarations to
1379         typedefs, add __node_type, __bucket_type, etc. Push many nested
1380         types down hierarchy to _Hashtable_base. Add constructors
1381         necessary for top-level unordered_containers. Consolidate insert
1382         member functions and logic in new base class, __detail::_Insert
1383         and __detail::_Insert_base.
1384         (_Hashtable::operator=(initializer_list)): Add.
1385         * include/bits/hashtable_policy.h: Convert to doxygen markup.
1386         (_Hashtable_traits) New. Consolidate bool template parameters here.
1387         (_Insert, _Insert_base): New, consolidated insert member functions.
1388         (_Map_base, _Equality, _Rehash_base): Adjust template parameters,
1389         use base types.
1390         (_Hashtable_base): Move type declarations useful to other base
1391         classes into this class.
1392         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Update.
1393         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1394         Adjust traits, line numbers.
1396 2012-04-12   Jeffrey Yasskin  <jyasskin@google.com>
1398         PR libstdc++/52822
1399         * include/bits/stl_algo.h (__find_if_not): Expose in C++98 mode.
1400         (__find_if_not_n): Like __find_if_not, but works on and updates a
1401         counted range instead of a bounded range.
1402         (stable_partition): Guarantee !__pred(*__first) in call to
1403         __stable_partition_adaptive() or __inplace_stable_partition().
1404         (__stable_partition_adaptive): Use new precondition to avoid
1405         moving/copying objects onto themselves.  Guarantee new
1406         precondition to recursive calls.
1407         (__inplace_stable_partition): Use new precondition to simplify
1408         base case, remove __last parameter.  Guarantee new precondition to
1409         recursive calls.
1410         * testsuite/25_algorithms/stable_partition/moveable.cc (test02):
1411         Test a sequence that starts with a value matching the predicate.
1412         * testsuite/25_algorithms/stable_partition/pr52822.cc: Test
1413         vectors, which have a destructive self-move-assignment.
1415 2012-04-12  Andreas Schwab  <schwab@linux-m68k.org>
1417         * testsuite/Makefile.am (check_DEJAGNUnormal0): Run
1418         prettyprinters.exp.
1419         * testsuite/Makefile.in: Regenerated.
1421 2012-04-12  Paolo Carlini  <paolo.carlini@oracle.com>
1423         PR libstdc++/52942
1424         * include/bits/stl_function.h (_Identity, _Select1st, _Select2nd):
1425         In C++11 mode do not derive from std::unary_function.
1426         * include/ext/functional (identity, select1st, select2nd): Adjust.
1427         * testsuite/23_containers/unordered_map/requirements/52942.cc: New.
1428         * testsuite/23_containers/unordered_set/requirements/52942.cc: Likewise.
1430 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1432         PR libstdc++/52924
1433         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Add
1434         user-defined destructor.
1435         (_Sp_counted_inplace): Likewise.
1436         * testsuite/20_util/shared_ptr/cons/52924.cc: New.
1437         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1438         line numbers.
1440 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1442         * doc/xml/manual/debug.xml (Debug Versions of Library Binary Files):
1443         Re-arrange text slightly.
1445 2012-04-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1447         * testsuite/performance/30_threads/future/polling.cc: Adjust.
1449 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
1451         * include/bits/forward_list.h (splice_after(const_iterator,
1452         forward_list&), splice_after(const_iterator, forward_list&,
1453         const_iterator), splice_after(const_iterator, forward_list&,
1454         const_iterator, const_iterator), merge(forward_list&),
1455         merge(forward_list&, _Comp)): Add per C++11 as published (and
1456         LWG 1310).
1457         * include/debug/forward_list: Adjust.
1459         * include/bits/forward_list.h (splice_after(const_iterator,
1460         forward_list&&, const_iterator)): Only declare.
1461         (_M_transfer_after): Remove.
1462         (_M_splice_after(const_iterator, forward_list&&)): Change signature.
1463         (splice_after(const_iterator, forward_list&&, const_iterator,
1464         const_iterator)): Use the latter.
1465         * include/bits/forward_list.tcc (splice_after(const_iterator,
1466         forward_list&&, const_iterator)): Define here.
1467         (_M_splice_after): Define, use throughout.
1469         * include/bits/forward_list.h (insert_after(const_iterator,
1470         std::initializer_list<_Tp>)): Forward to insert_after(const_iterator,
1471         _InputIterator, _InputIterator).
1472         * include/bits/forward_list.tcc: Remove definition.
1474         * testsuite/23_containers/forward_list/modifiers/6.cc: New.
1475         * testsuite/23_containers/forward_list/operations/1.cc: Adjust.
1477 2012-04-11  Paolo Carlini  <paolo.carlini@oracle.com>
1479         PR libstdc++/52931
1480         * include/bits/functional_hash.h (struct hash): Remove definition.
1481         * testsuite/20_util/hash/52931.cc: New.
1483 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1485         PR 24985
1486         * testsuite/lib/prune.exp: Handle caret.
1488 2012-04-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1490         Partially revert:
1491         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
1493         PR libstdc++/52689
1494         * src/c++98/compatibility-list.cc: Same.
1496 2012-04-05  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
1498         PR bootstrap/52840
1499         * src/Makefile.am (build-debug): Do not adjust vpath dir, remove
1500         Makefile.tmp
1501         * src/Makefile.in: Adjust as per above.
1503 2012-04-04  Uros Bizjak  <ubizjak@gmail.com>
1505         Partially revert:
1506         2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
1508         PR libstdc++/52689
1509         * src/c++98/compatibility-ldbl.cc: Guard with PIC
1511 2012-04-02  Tristan Gingold  <gingold@adacore.com>
1513         * crossconfig.m4 (*-*-*vms*): Add.
1514         * configure: Regenerate.
1516 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1518         PR libstdc++/52591
1519         * include/bits/stl_vector.h (vector::operator=(vector&&)): Dispatch
1520         to _M_move_assign depending on whether allocator is moved.
1521         (vector::_M_move_assign): Add overloaded functions.
1522         * testsuite/23_containers/vector/52591.cc: New.
1523         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1524         Adjust dg-error line number.
1525         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
1526         Likewise.
1527         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
1528         Likewise.
1529         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1530         Likewise.
1532 2012-04-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1534         * include/std/functional (__callable_functor): Overload for
1535         volatile-qualified pointers.
1536         * testsuite/20_util/function/10.cc: New.
1538 2012-03-30  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
1539             Paolo Carlini  <paolo.carlini@oracle.com>
1541         PR libstdc++/52799
1542         * include/bits/deque.tcc (emplace): Fix thinko, replace push_front
1543         -> emplace_front, and likewise for *_back.
1544         * testsuite/23_containers/deque/modifiers/emplace/52799.cc: New.
1545         * testsuite/23_containers/list/modifiers/emplace/52799.cc: Likewise.
1546         * testsuite/23_containers/vector/modifiers/emplace/52799.cc: Likewise.
1548 2012-03-28  Benjamin Kosnik  <bkoz@redhat.com>
1550         PR libstdc++/52689
1551         * libsupc++/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
1552         * libsupc++/Makefile.in: Regenerated.
1553         * src/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
1554         (libstdc___la_SOURCES): Add in compatiblity files, with content
1555         that varies with -DPIC.
1556         * src/Makefile.in: Regenerated.
1557         * src/c++11/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
1558         * src/c++11/Makefile.in: Regenerated.
1559         * src/c++11/compatibility-atomic-c++0x.cc: Guard with PIC.
1560         * src/c++11/compatibility-c++0x.cc: Same.
1561         * src/c++11/future.cc: Consolidate compatibility bits into..
1562         * src/c++11/mutex.cc: Consolidate compatibility bits into..
1563         * src/c++11/compatibility-thread-cxx0x.cc: ...here. New.
1564         * src/c++98/Makefile.am (LTCXXCOMPILE, CXXLINK): Tweak.
1565         * src/c++98/Makefile.in: Regenerated.
1566         * src/c++98/compatibility-ldbl.cc: Guard with PIC
1567         * src/c++98/compatibility-list-2.cc: Same.
1568         * src/c++98/compatibility-list.cc: Same.
1569         * src/c++98/compatibility.cc: Tweak comments.
1571 2012-03-28  Terry Guo  <terry.guo@arm.com>
1573         * testsuite/Makefile.am (TEST_GCC_EXEC_PREFIX): New.
1574         * testsuite/Makefile.in: Regenerated.
1576 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1578         * include/std/functional (mem_fn): Qualify to prevent ADL.
1579         * testsuite/20_util/function_objects/mem_fn/adl.cc: New.
1581 2012-03-27  Jonathan Wakely  <jwakely.gcc@gmail.com>
1583         * include/std/type_traits (result_of): Fix handling of cv-quals.
1584         * testsuite/20_util/result_of/1.cc: New.
1585         * testsuite/20_util/result_of/2.cc: New.
1586         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1587         line numbers.
1588         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1589         Likewise.
1590         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1591         Likewise.
1593 2012-03-23  David S. Miller  <davem@davemloft.net>
1595         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Update.
1597 2012-03-23  Benjamin Kosnik  <bkoz@redhat.com>
1599         * scripts/testsuite_flags.in (--cxxflags): Let CXXFLAGS set -g -O2.
1600         * testsuite/lib/libstdc++.exp: Same.
1602 2012-03-23  Paolo Carlini  <paolo.carlini@oracle.com>
1604         * include/bits/forward_list.h: Slightly tweak two comments.
1606 2012-03-22  Benjamin Kosnik  <bkoz@redhat.com>
1608         * doc/Makefile.am: XML output names have only .xml suffix.
1609         * doc/Makefile.in: Regenerate.
1611 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1613         * include/std/array (array<>::at(size_type) const): Fix version
1614         for undefined __EXCEPTIONS.
1616 2013-03-21  Andreas Tobler  <andreast@fgznet.ch>
1618         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
1619         Skip this test on powerpc64-*-freebsd*.
1621 2012-03-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1623         * include/bits/stl_list.h (list::_M_size): Use NSDMI.
1624         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1625         Adjust line numbers.
1626         * testsuite/23_containers/list/requirements/dr438/
1627         constructor_1_neg.cc: Likewise.
1628         * testsuite/23_containers/list/requirements/dr438/
1629         constructor_2_neg.cc: Likewise.
1630         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1631         Likewise.
1633 2012-03-19  Paweł Sikora  <pawel.sikora@agmk.net>
1635         PR libstdc++/52540
1636         * include/Makefile.am (c++config.h): Fix sed rule to not break
1637         the _GLIBCXX_EXTERN_TEMPLATE redefinition.
1638         * include/Makefile.in: Regenerate.
1640 2012-03-19  Paolo Carlini  <paolo.carlini@oracle.com>
1642         * testsuite/Makefile.in: Regenerate.
1644 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
1646         * include/bits/allocator.h (std::allocator): Base class is
1647         __allocator_base.
1648         (uses_allocator): Add to sub-grouping.
1649         * include/ext/new_allocator.h: Doxygen markup for tparm.
1651         * config/allocator/bitmap_allocator_base.h: Use __allocator_base
1652         template alias in C++11.
1653         * config/allocator/malloc_allocator_base.h: Same.
1654         * config/allocator/mt_allocator_base.h: Same.
1655         * config/allocator/new_allocator_base.h: Same.
1656         * config/allocator/pool_allocator_base.h: Same.
1658 2012-03-19  Benjamin Kosnik  <bkoz@redhat.com>
1660         * include/ext/pb_ds/detail/pat_trie_/
1661         constructors_destructor_fn_imps.hpp: Increment after recursion.
1662         * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Convert
1663         node_type markup from brief.
1665 2012-03-16  François Dumont  <fdumont@gcc.gnu.org>
1667         PR libstdc++/52476
1668         * include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Add.
1669         (_Hashtable<>::_M_rehash): Use the latter.
1670         * testsuite/23_containers/unordered_multimap/insert/52476.cc: New.
1671         * testsuite/23_containers/unordered_multiset/insert/52476.cc: New.
1673 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1675         * config/os/solaris/solaris2.8: Rename to ...
1676         * config/os/solaris/solaris2.9: ... this.
1677         * config/abi/post/solaris2.8: Rename to ...
1678         * config/abi/post/solaris2.9: ... this.
1679         * configure.host (os_include_dir): Remove solaris2.8.
1680         Reflect renaming.
1681         (abi_baseline_pair): Remove *-*-solaris2.8.
1682         Reflect renaming.
1684         * configure.ac (GLIBCXX_CHECK_MATH_PROTO): Remove
1685         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
1686         * acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO): Remove
1687         (GLIBCXX_CHECK_STDLIB_PROTO): Remove.
1688         (GLIBCXX_CHECK_GTHREADS): Remove Solaris 8 handling.
1689         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Remove *-solaris2.8
1690         handling.
1691         * configure: Regenerate.
1692         * config.h.in: Regenerate.
1694         * config/os/solaris/solaris2.9/os_defines.h
1695         (__CORRECT_ISO_CPP_MATH_H_PROTO): Define.
1696         (__CORRECT_ISO_CPP_STDLIB_H_PROTO): Define.
1697         * include/c_global/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1
1698         to __CORRECT_ISO_CPP_MATH_H_PROTO.
1699         [!__CORRECT_ISO_CPP_MATH_H_PROTO2]: Remove.
1700         * include/tr1/cmath: Rename __CORRECT_ISO_CPP_MATH_H_PROTO1 to
1701         __CORRECT_ISO_CPP_MATH_H_PROTO.
1703         * doc/xml/manual/configure.xml (Configure, --enable-libstdcxx-threads):
1704         Remove Solaris 8 reference.
1706         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1707         Don't xfail on *-*-solaris2.8.
1708         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1709         Likewise.
1710         * testsuite/ext/enc_filebuf/char/13598.cc: Don't xfail on
1711         *-*-solaris2.8.
1713 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1715         * configure.host (irix6.5*): Remove.
1716         * config/os/irix: Remove.
1717         * config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc())
1718         [_GLIBCXX_FIONREAD_TAKES_OFF_T]: Remove.
1720         * doc/xml/faq.xml: Remove IRIX reference.
1721         * doc/xml/manual/using.xml (Finding Dynamic or Shared Libraries):
1722         Remove IRIX example.
1724         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1725         Remove mips-sgi-irix6* handling.
1726         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1727         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1728         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1729         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1730         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1731         * testsuite/23_containers/list/pthread1.cc: Likewise.
1732         * testsuite/23_containers/list/pthread5.cc: Likewise.
1733         * testsuite/23_containers/map/pthread6.cc: Likewise.
1734         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
1735         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1736         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1737         * testsuite/30_threads/async/42819.cc: Likewise.
1738         * testsuite/30_threads/async/49668.cc: Likewise.
1739         * testsuite/30_threads/async/any.cc: Likewise.
1740         * testsuite/30_threads/async/async.cc: Likewise.
1741         * testsuite/30_threads/async/launch.cc: Likewise.
1742         * testsuite/30_threads/async/sync.cc: Likewise.
1743         * testsuite/30_threads/call_once/39909.cc: Likewise.
1744         * testsuite/30_threads/call_once/49668.cc: Likewise.
1745         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1746         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1747         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1748         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1749         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1750         Likewise.
1751         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1752         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1753         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
1754         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
1755         * testsuite/30_threads/future/cons/move.cc: Likewise.
1756         * testsuite/30_threads/future/members/45133.cc: Likewise.
1757         * testsuite/30_threads/future/members/get.cc: Likewise.
1758         * testsuite/30_threads/future/members/get2.cc: Likewise.
1759         * testsuite/30_threads/future/members/share.cc: Likewise.
1760         * testsuite/30_threads/future/members/valid.cc: Likewise.
1761         * testsuite/30_threads/future/members/wait.cc: Likewise.
1762         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1763         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1764         * testsuite/30_threads/lock/1.cc: Likewise.
1765         * testsuite/30_threads/lock/2.cc: Likewise.
1766         * testsuite/30_threads/lock/3.cc: Likewise.
1767         * testsuite/30_threads/lock/4.cc: Likewise.
1768         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
1769         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1770         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1771         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1772         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1773         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1774         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1775         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1776         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1777         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1778         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1779         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1780         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1781         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1782         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1783         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
1784         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
1785         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1786         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1787         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1788         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1789         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1790         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1791         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1792         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1793         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1794         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1795         * testsuite/30_threads/promise/cons/1.cc: Likewise.
1796         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1797         * testsuite/30_threads/promise/cons/move.cc: Likewise.
1798         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1799         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1800         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1801         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1802         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1803         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1804         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1805         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1806         * testsuite/30_threads/promise/members/swap.cc: Likewise.
1807         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1808         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1809         Likewise.
1810         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1811         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
1812         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1813         Likewise.
1814         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1815         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1816         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1817         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1818         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1819         Likewise.
1820         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1821         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1822         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1823         Likewise.
1824         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1825         Likewise.
1826         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1827         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1828         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1829         Likewise.
1830         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1831         Likewise.
1832         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1833         Likewise.
1834         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1835         Likewise.
1836         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1837         Likewise.
1838         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1839         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1840         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1841         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1842         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1843         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1844         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1845         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
1846         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
1847         * testsuite/30_threads/this_thread/1.cc: Likewise.
1848         * testsuite/30_threads/this_thread/2.cc: Likewise.
1849         * testsuite/30_threads/this_thread/3.cc: Likewise.
1850         * testsuite/30_threads/this_thread/4.cc: Likewise.
1851         * testsuite/30_threads/thread/cons/1.cc: Likewise.
1852         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1853         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1854         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1855         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1856         * testsuite/30_threads/thread/cons/5.cc: Likewise.
1857         * testsuite/30_threads/thread/cons/6.cc: Likewise.
1858         * testsuite/30_threads/thread/cons/7.cc: Likewise.
1859         * testsuite/30_threads/thread/cons/8.cc: Likewise.
1860         * testsuite/30_threads/thread/cons/9.cc: Likewise.
1861         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1862         * testsuite/30_threads/thread/members/1.cc: Likewise.
1863         * testsuite/30_threads/thread/members/2.cc: Likewise.
1864         * testsuite/30_threads/thread/members/3.cc: Likewise.
1865         * testsuite/30_threads/thread/members/4.cc: Likewise.
1866         * testsuite/30_threads/thread/members/5.cc: Likewise.
1867         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
1868         * testsuite/30_threads/thread/native_handle/typesizes.cc: Likewise.
1869         * testsuite/30_threads/thread/swap/1.cc: Likewise.
1870         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1871         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1872         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1873         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1874         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
1875         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1876         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1877         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1878         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1879         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1880         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1881         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1882         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1883         * testsuite/30_threads/try_lock/1.cc: Likewise.
1884         * testsuite/30_threads/try_lock/2.cc: Likewise.
1885         * testsuite/30_threads/try_lock/3.cc: Likewise.
1886         * testsuite/30_threads/try_lock/4.cc: Likewise.
1887         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1888         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1889         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1890         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1891         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1892         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1893         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1894         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1895         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1896         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1897         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1898         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1899         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1900         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1901         default_weaktoshared.cc: Likewise.
1902         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
1903         mutex_weaktoshared.cc: Likewise.
1905         * testsuite/23_containers/vector/capacity/resize/1.cc: Remove
1906         dg-options for mips*-*-irix6*.
1908         * testsuite/27_io/ios_base/storage/1.cc: Likewise.
1909         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
1910         * testsuite/27_io/ios_base/storage/3.cc: Likewise.
1912         * testsuite/lib/libstdc++.exp (v3-build_support): Remove IRIX 6
1913         workaround.
1915 2012-03-14  Paolo Carlini  <paolo.carlini@oracle.com>
1917         * include/bits/forward_list.h: Fix comments.
1919 2012-03-13  Terry Guo  <terry.guo@arm.com>
1921         * testsuite/Makefile.in (TEST_GCC_EXEC_PREFIX): New.
1923 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1925         * configure.host: Remove osf* handling.
1926         * config/os/osf: Remove.
1927         * doc/xml/manual/using.xml: Remove OSF reference.
1929         * testsuite/18_support/pthread_guard.cc: Remove alpha*-*-osf* handling.
1930         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
1931         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1932         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1933         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1934         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1935         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1936         * testsuite/23_containers/list/pthread1.cc: Likewise.
1937         * testsuite/23_containers/list/pthread5.cc: Likewise.
1938         * testsuite/23_containers/map/pthread6.cc: Likewise.
1939         * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
1940         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1941         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1942         * testsuite/30_threads/async/42819.cc: Likewise.
1943         * testsuite/30_threads/async/49668.cc: Likewise.
1944         * testsuite/30_threads/async/any.cc: Likewise.
1945         * testsuite/30_threads/async/async.cc: Likewise.
1946         * testsuite/30_threads/async/launch.cc: Likewise.
1947         * testsuite/30_threads/async/sync.cc: Likewise.
1948         * testsuite/30_threads/call_once/39909.cc: Likewise.
1949         * testsuite/30_threads/call_once/49668.cc: Likewise.
1950         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1951         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1952         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1953         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1954         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1955         Likewise.
1956         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1957         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1958         * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
1959         * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
1960         * testsuite/30_threads/future/cons/move.cc: Likewise.
1961         * testsuite/30_threads/future/members/45133.cc: Likewise.
1962         * testsuite/30_threads/future/members/get.cc: Likewise.
1963         * testsuite/30_threads/future/members/get2.cc: Likewise.
1964         * testsuite/30_threads/future/members/share.cc: Likewise.
1965         * testsuite/30_threads/future/members/valid.cc: Likewise.
1966         * testsuite/30_threads/future/members/wait.cc: Likewise.
1967         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1968         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1969         * testsuite/30_threads/lock/1.cc: Likewise.
1970         * testsuite/30_threads/lock/2.cc: Likewise.
1971         * testsuite/30_threads/lock/3.cc: Likewise.
1972         * testsuite/30_threads/lock/4.cc: Likewise.
1973         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
1974         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1975         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1976         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1977         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1978         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1979         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1980         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1981         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1982         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1983         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1984         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1985         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1986         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1987         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1988         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
1989         * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
1990         * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1991         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1992         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1993         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1994         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1995         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1996         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1997         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1998         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1999         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
2000         * testsuite/30_threads/promise/cons/1.cc: Likewise.
2001         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
2002         * testsuite/30_threads/promise/cons/move.cc: Likewise.
2003         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
2004         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
2005         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
2006         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
2007         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
2008         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
2009         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2010         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2011         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2012         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2013         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2014         Likewise.
2015         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2016         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2017         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
2018         Likewise.
2019         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2020         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2021         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2022         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2023         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2024         Likewise.
2025         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2026         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2027         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2028         Likewise.
2029         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
2030         Likewise.
2031         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2032         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2033         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2034         Likewise.
2035         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2036         Likewise.
2037         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2038         Likewise.
2039         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2040         Likewise.
2041         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2042         Likewise.
2043         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2044         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
2045         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
2046         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
2047         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
2048         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
2049         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
2050         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2051         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2052         * testsuite/30_threads/this_thread/1.cc: Likewise.
2053         * testsuite/30_threads/this_thread/2.cc: Likewise.
2054         * testsuite/30_threads/this_thread/3.cc: Likewise.
2055         * testsuite/30_threads/this_thread/4.cc: Likewise.
2056         * testsuite/30_threads/thread/cons/1.cc: Likewise.
2057         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2058         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2059         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2060         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
2061         * testsuite/30_threads/thread/cons/5.cc: Likewise.
2062         * testsuite/30_threads/thread/cons/6.cc: Likewise.
2063         * testsuite/30_threads/thread/cons/7.cc: Likewise.
2064         * testsuite/30_threads/thread/cons/8.cc: Likewise.
2065         * testsuite/30_threads/thread/cons/9.cc: Likewise.
2066         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
2067         * testsuite/30_threads/thread/members/1.cc: Likewise.
2068         * testsuite/30_threads/thread/members/2.cc: Likewise.
2069         * testsuite/30_threads/thread/members/3.cc: Likewise.
2070         * testsuite/30_threads/thread/members/4.cc: Likewise.
2071         * testsuite/30_threads/thread/members/5.cc: Likewise.
2072         * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
2073         * testsuite/30_threads/thread/swap/1.cc: Likewise.
2074         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2075         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2076         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2077         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2078         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
2079         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2080         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2081         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2082         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2083         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2084         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2085         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2086         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2087         * testsuite/30_threads/try_lock/1.cc: Likewise.
2088         * testsuite/30_threads/try_lock/2.cc: Likewise.
2089         * testsuite/30_threads/try_lock/3.cc: Likewise.
2090         * testsuite/30_threads/try_lock/4.cc: Likewise.
2091         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2092         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2093         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2094         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2095         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2096         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2097         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2098         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2099         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2100         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2101         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2102         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2103         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
2104         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2105         default_weaktoshared.cc: Likewise.
2106         * testsuite/tr1/2_general_utilities/shared_ptr/thread/
2107         mutex_weaktoshared.cc: Likewise.
2109 2012-03-12  Paolo Carlini  <paolo.carlini@oracle.com>
2111         PR libstdc++/52562
2112         * libsupc++/typeinfo (type_info::name, before, operator==,
2113         operator!=): Mark noexcept in C++11 mode.
2114         * libsupc++/tinfo.cc (type_info::operator==): Adjust.
2115         * libsupc++/tinfo2.cc (type_info::before): Likewise.
2116         * testsuite/18_support/type_info/52562.cc: New.
2118 2012-03-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2120         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2121         symbols added in last change.
2123         PR libstdc++/52456
2124         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2126 2012-03-09  Andreas Schwab  <schwab@linux-m68k.org>
2128         * config/locale/gnu/monetary_members.cc
2129         (moneypunct<char,true>::_M_initialize_moneypunct): Throw caught
2130         exception again.
2131         (moneypunct<char,false>::_M_initialize_moneypunct): Likewise.
2132         * testsuite/22_locale/locale/cons/12352.cc: Also test en_US
2133         locale.
2135 2012-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2137         * include/debug/formatter.h (enum _Debug_msg_id): Add
2138         __msg_self_move_assign.
2139         * include/debug/macros.h (__glibcxx_check_self_move_assign): Add.
2140         * src/c++11/debug.cc (_S_debug_messages): Update.
2141         * include/debug/safe_iterator.h (_Safe_iterator<>::operator=
2142         (_Safe_iterator&&)): Add check for self move assignment.
2143         * include/debug/set.h: Likewise.
2144         * include/debug/unordered_map: Likewise.
2145         * include/debug/multiset.h: Likewise.
2146         * include/debug/forward_list: Likewise.
2147         * include/debug/unordered_set: Likewise.
2148         * include/debug/vector: Likewise.
2149         * include/debug/map.h: Likewise.
2150         * include/debug/deque: Likewise.
2151         * include/debug/string: Likewise.
2152         * include/debug/list: Likewise.
2153         * include/debug/multimap.h: Likewise.
2154         * testsuite/21_strings/debug/self_move_assign_neg.cc: New.
2155         * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Likewise.
2156         * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc:
2157         Likewise.
2158         * testsuite/23_containers/unordered_map/debug/
2159         iterator_self_move_assign_neg.cc: Likewise.
2160         * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc:
2161         Likewise.
2162         * testsuite/23_containers/multimap/debug/
2163         iterator_self_move_assign_neg.cc: Likewise.
2164         * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise.
2165         * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc:
2166         Likewise.
2167         * testsuite/23_containers/unordered_multimap/debug/
2168         self_move_assign_neg.cc: Likewise.
2169         * testsuite/23_containers/unordered_multimap/debug/
2170         iterator_self_move_assign_neg.cc: Likewise.
2171         * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc:
2172         Likewise.
2173         * testsuite/23_containers/forward_list/debug/
2174         iterator_self_move_assign_neg.cc: Likewise.
2175         * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc:
2176         Likewise.
2177         * testsuite/23_containers/unordered_set/debug/
2178         iterator_self_move_assign_neg.cc: Likewise.
2179         * testsuite/23_containers/vector/debug/self_move_assign_neg.cc:
2180         Likewise.
2181         * testsuite/23_containers/vector/debug/
2182         iterator_self_move_assign_neg.cc: Likewise.
2183         * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise.
2184         * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc:
2185         Likewise.
2186         * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc:
2187         Likewise.
2188         * testsuite/23_containers/multiset/debug/
2189         iterator_self_move_assign_neg.cc: Likewise.
2190         * testsuite/23_containers/list/debug/self_move_assign_neg.cc:
2191         Likewise.
2192         * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc:
2193         Likewise.
2194         * testsuite/23_containers/unordered_multiset/debug/
2195         self_move_assign_neg.cc: Likewise.
2196         * testsuite/23_containers/unordered_multiset/debug/
2197         iterator_self_move_assign_neg.cc: Likewise.
2198         * testsuite/23_containers/map/debug/self_move_assign_neg.cc:
2199         Likewise.
2200         * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc:
2201         Likewise.
2203 2012-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2205         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.0.
2206         * include/bits/locale_facets.h: Adjust markup to avoid warnings.
2207         * include/ext/pb_ds/assoc_container.hpp: Same.
2208         * include/ext/pb_ds/priority_queue.hpp: Same.
2209         * include/std/fstream: Same.
2210         * include/std/ratio: Same.
2211         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust line
2212         numbers.
2213         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
2215 2012-03-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2217         PR libstdc++/52433
2218         * include/debug/safe_iterator.h (_Safe_iterator): Add debug checks
2219         to move constructor and move assignment operator.
2221 2012-03-05  Paolo Carlini  <paolo.carlini@oracle.com>
2223         * include/bits/stl_algobase.h (iter_swap): In C++11 mode simply
2224         call swap.
2225         * include/bits/stl_bvector.h (swap(_Bit_reference,
2226         _Bit_reference), swap(_Bit_reference, bool&),
2227         swap(bool&, _Bit_reference)): Add.
2228         * testsuite/23_containers/vector/bool/swap.cc: New.
2230 2012-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
2231             Jonathan Wakely  <jwakely.gcc@gmail.com>
2233         PR libstdc++/43813
2234         * include/bits/stl_iterator_base_types.h (_RequireInputIter): New.
2235         * include/ext/vstring.h (__versa_string<>::__versa_string
2236         (_InputIterator, _InputIterator, const _Alloc&),
2237         __versa_string<>::append(_InputIterator, _InputIterator),
2238         __versa_string<>::assign(_InputIterator, _InputIterator),
2239         __versa_string<>::insert(iterator, _InputIterator,
2240         _InputIterator), __versa_string<>::replace(iterator, iterator,
2241         _InputIterator, _InputIterator)): Use it.
2242         * include/bits/stl_list.h (list<>::list(_InputIterator,
2243         _InputIterator, const allocator_type&), list<>::assign(_InputIterator,
2244         _InputIterator), list<>::insert(iterator, _InputIterator,
2245         _InputIterator)): Likewise.
2246         * include/bits/stl_vector.h (vector<>::vector(_InputIterator,
2247         _InputIterator, const allocator_type&), vector<>::assign(_InputIterator,
2248         _InputIterator), vectort<>::insert(iterator, _InputIterator,
2249         _InputIterator)): Likewise.
2250         * include/bits/stl_deque.h (deque<>::deque(_InputIterator,
2251         _InputIterator, const allocator_type&), deque<>::deque(_InputIterator,
2252         _InputIterator), deque<>::insert(iterator, _InputIterator,
2253         _InputIterator)): Likewise.
2254         * include/bits/stl_bvector.h (vector<>::vector(_InputIterator,
2255         _InputIterator, const allocator_type&), vector<>::deque(_InputIterator,
2256         _InputIterator), vector<>::insert(iterator, _InputIterator,
2257         _InputIterator)): Likewise.
2258         * include/bits/forward_list.h (forward_list<>::forward_list
2259         (_InputIterator, _InputIterator, const allocator_type&),
2260         forward_list<>::assign(_InputIterator, _InputIterator),
2261         forward_list<>::insert_after(const_iterator, _InputIterator,
2262         _InputIterator)): Likewise.
2263         (forward_list<>::_M_initialize_dispatch(,, __true_type): Remove.
2264         (forward_list<>::_M_range_initialize): Add, adjust everywhere.
2265         * include/bits/forward_list.tcc: Adjust.
2266         * include/debug/forward_list: Adjust.
2267         * include/debug/vector: Likewise.
2268         * include/debug/deque: Likewise.
2269         * include/debug/list: Likewise.
2270         * testsuite/ext/vstring/requirements/do_the_right_thing.cc: New.
2271         * testsuite/23_containers/forward_list/requirements/
2272         do_the_right_thing.cc: Likewise.
2273         * testsuite/23_containers/vector/requirements/
2274         do_the_right_thing.cc: Likewise.
2275         * testsuite/23_containers/deque/requirements/
2276         do_the_right_thing.cc: Likewise.
2277         * testsuite/23_containers/list/requirements/
2278         do_the_right_thing.cc: Likewise.
2279         * testsuite/23_containers/forward_list/requirements/dr438/
2280         assign_neg.cc: Adjust dg-error line number.
2281         * testsuite/23_containers/forward_list/requirements/dr438/
2282         insert_neg.cc: Likewise.
2283         * testsuite/23_containers/forward_list/requirements/dr438/
2284         constructor_1_neg.cc: Likewise.
2285         * testsuite/23_containers/forward_list/requirements/dr438/
2286         constructor_2_neg.cc: Likewise.
2287         * testsuite/23_containers/vector/requirements/dr438/
2288         assign_neg.cc: Likewise.
2289         * testsuite/23_containers/vector/requirements/dr438/
2290         insert_neg.cc: Likewise.
2291         * testsuite/23_containers/vector/requirements/dr438/
2292         constructor_1_neg.cc: Likewise.
2293         * testsuite/23_containers/vector/requirements/dr438/
2294         constructor_2_neg.cc: Likewise.
2295         * testsuite/23_containers/deque/requirements/dr438/
2296         assign_neg.cc: Likewise.
2297         * testsuite/23_containers/deque/requirements/dr438/
2298         insert_neg.cc: Likewise.
2299         * testsuite/23_containers/deque/requirements/dr438/
2300         constructor_1_neg.cc: Likewise.
2301         * testsuite/23_containers/deque/requirements/dr438/
2302         constructor_2_neg.cc: Likewise.
2303         * testsuite/23_containers/list/requirements/dr438/
2304         assign_neg.cc: Likewise.
2305         * testsuite/23_containers/list/requirements/dr438/
2306         insert_neg.cc: Likewise.
2307         * testsuite/23_containers/list/requirements/dr438/
2308         constructor_1_neg.cc: Likewise.
2309         * testsuite/23_containers/list/requirements/dr438/
2310         constructor_2_neg.cc: Likewise.
2312 2012-03-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2314         PR libstdc++/52433
2315         * include/debug/safe_iterator.h (_Safe_iterator): Add move
2316         constructor and move assignment operator.
2317         * testsuite/23_containers/vector/debug/52433.cc: New.
2319 2012-03-02  Paolo Carlini  <paolo.carlini@oracle.com>
2321         * include/std/limits (numeric_limits): Fix returns per C++11.
2322         * testsuite/18_support/numeric_limits/primary.cc: New.
2324 2012-03-02  Benjamin Kosnik  <bkoz@redhat.com>
2326         * include/c_global/cstdio: Remove extraneous extern.
2327         * include/c_std/cstdio: Same.
2329 2012-03-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2331         * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
2332         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
2333         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2334         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2335         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2337 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2338             Ramana Radhakrishnan <ramana@gcc.gnu.org>
2340         PR libstdc++/51785
2341         * acinclude.m4 (GLIBCXX_CHECK_STDIO_PROTO): New.
2342         * configure.ac: Call it.
2343         * configure: Regenerate.
2344         * config.h.in: Same.
2345         * config/os/gnu-linux/os_defines.h: Conditionally undefine
2346         _GLIBCXX_HAVE_GETS.
2347         * include/c_global/cstdio: Conditionally declare deprecated gets.
2348         * include/c_std/cstdio: Same.
2350 2012-03-01  Michael Spertus  <mike_spertus@symantec.com>
2352         * include/tr2/type_traits (typelist): To __reflection_typelist.
2353         (first, rest, empty): Remove.
2355 2012-03-01  Benjamin Kosnik  <bkoz@redhat.com>
2357         * testsuite/Makefile.am (CLEANFILES): Add *.gdb.
2358         * testsuite/Makefile.in: Regenerate.
2360 2012-02-29  H.J. Lu  <hongjiu.lu@intel.com>
2362         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
2364 2012-02-28  Benjamin Kosnik  <bkoz@redhat.com>
2366         PR libstdc++/52191
2367         * testsuite/util/testsuite_abi.cc (compare_symbols): Check new
2368         symbols added into the latest version. Mark tls entities as
2369         undesignated.
2371 2012-02-28  Jakub Jelinek  <jakub@redhat.com>
2373         PR bootstrap/52414
2374         * src/Makefile.am (libstdc++-symbols.ver): Only remove comment lines
2375         if they are at the beginning of lines (with optional whitespace before
2376         #).
2377         * src/Makefile.in: Regenerated.
2379 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
2381         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2382         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2383         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2384         Likewise.
2385         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2386         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2387         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2388         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2389         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2390         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2392 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2394         PR libstdc++/52188
2395         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Remove symvers_renaming.
2396         Remove ENABLE_SYMVERS_SOL2.
2397         * configure: Regenerate.
2398         * src/Makefile.am [ENABLE_SYMVERS] (libstdc++-symbols.ver):
2399         Postprocess mapfile.
2400         [ENABLE_SYMVERS_GNU]: Remove ENABLE_SYMVERS_SOL2 handling.
2401         * src/Makefile.in: Regenerate.
2403         * config/abi/pre/gnu.ver (GLIBCXX_3.4.5) [!__sun__ && !__svr4__]:
2404         Don't export
2405         _ZNSt19istreambuf_iteratorI[cw]St11char_traitsI[cw]EEppEv.
2407 2012-02-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2409         PR testsuite/52201
2410         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
2411         Require atomic builtins.
2412         * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
2414 2012-02-23  Jason Merrill  <jason@redhat.com>
2416         * include/bits/locale_facets.h (class num_get): Undo reordering of
2417         do_get virtual functions.
2419 2012-02-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
2421         * testsuite/26_numerics/random/
2422         uniform_real_distribution/requirements/typedefs.cc: Check param_type.
2423         * testsuite/26_numerics/random/
2424         piecewise_constant_distribution/requirements/typedefs.cc: Ditto.
2425         * testsuite/26_numerics/random/
2426         chi_squared_distribution/requirements/typedefs.cc: Ditto.
2427         * testsuite/26_numerics/random/
2428         normal_distribution/requirements/typedefs.cc: Ditto.
2429         * testsuite/26_numerics/random/
2430         uniform_int_distribution/requirements/typedefs.cc: Ditto.
2431         * testsuite/26_numerics/random/
2432         poisson_distribution/requirements/typedefs.cc: Ditto.
2433         * testsuite/26_numerics/random/
2434         bernoulli_distribution/requirements/typedefs.cc: Ditto.
2435         * testsuite/26_numerics/random/
2436         discrete_distribution/requirements/typedefs.cc: Ditto.
2437         * testsuite/26_numerics/random/
2438         weibull_distribution/requirements/typedefs.cc: Ditto.
2439         * testsuite/26_numerics/random/
2440         cauchy_distribution/requirements/typedefs.cc: Ditto.
2441         * testsuite/26_numerics/random/
2442         negative_binomial_distribution/requirements/typedefs.cc: Ditto.
2443         * testsuite/26_numerics/random/
2444         gamma_distribution/requirements/typedefs.cc: Ditto.
2445         * testsuite/26_numerics/random/
2446         fisher_f_distribution/requirements/typedefs.cc: Ditto.
2447         * testsuite/26_numerics/random/
2448         exponential_distribution/requirements/typedefs.cc: Ditto.
2449         * testsuite/26_numerics/random/
2450         binomial_distribution/requirements/typedefs.cc: Ditto.
2451         * testsuite/26_numerics/random/
2452         lognormal_distribution/requirements/typedefs.cc: Ditto.
2453         * testsuite/26_numerics/random/
2454         extreme_value_distribution/requirements/typedefs.cc: Ditto.
2455         * testsuite/26_numerics/random/
2456         piecewise_linear_distribution/requirements/typedefs.cc: Ditto.
2457         * testsuite/26_numerics/random/
2458         student_t_distribution/requirements/typedefs.cc: Ditto.
2459         * testsuite/26_numerics/random/
2460         geometric_distribution/requirements/typedefs.cc: Ditto.
2462 2012-02-21  Benjamin Kosnik  <bkoz@redhat.com>
2464         PR libstdc++/50349
2465         * config/abi/pre/gnu.ver: Only one local.
2466         * config/abi/pre/gnu-versioned-namespace.ver: Same.
2468 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
2470         PR libstdc++/52317 (cont)
2471         * include/profile/unordered_map: Ad Library Exception comment.
2472         * include/profile/set: Likewise.
2473         * include/profile/base.h: Likewise.
2474         * include/profile/impl/profiler_list_to_slist.h: Likewise.
2475         * include/profile/impl/profiler_container_size.h: Likewise.
2476         * include/profile/impl/profiler_vector_size.h: Likewise.
2477         * include/profile/impl/profiler_hash_func.h: Likewise.
2478         * include/profile/impl/profiler_trace.h: Likewise.
2479         * include/profile/impl/profiler_list_to_vector.h: Likewise.
2480         * include/profile/impl/profiler_vector_to_list.h: Likewise.
2481         * include/profile/impl/profiler.h: Likewise.
2482         * include/profile/impl/profiler_state.h: Likewise.
2483         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
2484         * include/profile/impl/profiler_algos.h: Likewise.
2485         * include/profile/impl/profiler_hashtable_size.h: Likewise.
2486         * include/profile/impl/profiler_node.h: Likewise.
2487         * include/profile/vector: Likewise.
2488         * include/profile/unordered_set: Likewise.
2489         * include/profile/map.h: Likewise.
2490         * include/profile/map: Likewise.
2492 2012-02-21  Paolo Carlini  <paolo.carlini@oracle.com>
2494         PR libstdc++/52317
2495         * python/Makefile.am: Update boilerplate license text to GPLv3.
2496         * include/profile/unordered_map: Likewise.
2497         * include/profile/set: Likewise.
2498         * include/profile/base.h: Likewise.
2499         * include/profile/impl/profiler_list_to_slist.h: Likewise.
2500         * include/profile/impl/profiler_container_size.h: Likewise.
2501         * include/profile/impl/profiler_vector_size.h: Likewise.
2502         * include/profile/impl/profiler_hash_func.h: Likewise.
2503         * include/profile/impl/profiler_trace.h: Likewise.
2504         * include/profile/impl/profiler_list_to_vector.h: Likewise.
2505         * include/profile/impl/profiler_vector_to_list.h: Likewise.
2506         * include/profile/impl/profiler.h: Likewise.
2507         * include/profile/impl/profiler_state.h: Likewise.
2508         * include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
2509         * include/profile/impl/profiler_algos.h: Likewise.
2510         * include/profile/impl/profiler_hashtable_size.h: Likewise.
2511         * include/profile/impl/profiler_node.h: Likewise.
2512         * include/profile/vector: Likewise.
2513         * include/profile/unordered_set: Likewise.
2514         * include/profile/map.h: Likewise.
2515         * include/profile/map: Likewise.
2516         * testsuite/21_strings/basic_string/numeric_conversions/
2517         wchar_t/dr1261.cc: Likewise.
2518         * testsuite/21_strings/basic_string/numeric_conversions/
2519         char/dr1261.cc: Likewise.
2520         * testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
2522 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
2524         PR libstdc++/52241
2525         * src/c++98/tree.cc (local_Rb_tree_increment,
2526         local_Rb_tree_decrement): Add.
2527         (_Rb_tree_increment(const _Rb_tree_node_base*),
2528         _Rb_tree_decrement(const _Rb_tree_node_base*)): Use the latter.
2529         (_Rb_tree_increment(_Rb_tree_node_base*),
2530         _Rb_tree_decrement(_Rb_tree_node_base*)): New.
2532 2012-02-20  Paolo Carlini  <paolo.carlini@oracle.com>
2534         PR libstdc++/52309
2535         * include/bits/hashtable_policy.h (_Equality_base<, true,>::
2536         _M_equal(const _Hashtable&)): Compare values with operator==.
2537         * testsuite/23_containers/unordered_set/operators/52309.cc: New.
2539 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
2541         PR libstdc++/51798 continued.
2542         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Grep for
2543         __atomic_, not __sync.
2544         * configure: Regenerated.
2546 2012-02-17  Benjamin Kosnik  <bkoz@redhat.com>
2548         PR libstdc++/47058
2549         * acinclude.m4 (GLIBCXX_ENABLE_WERROR): New.
2550         (GLIBCXX_EXPORT_FLAGS): Add -Wabi to WARN_FLAGS
2551         * configure.ac: Use it.
2552         * fragment.am: Set WERROR_FLAG conditionally on --disable-werror.
2553         * configure: Regenerate.
2554         * python/Makefile.in: Same.
2555         * Makefile.in: Same.
2556         * doc/Makefile.in: Same.
2557         * include/Makefile.in: Same.
2558         * po/Makefile.in: Same.
2559         * python/Makefile.in: Same.
2560         * src/Makefile.in: Same.
2561         * src/c++11/Makefile.in: Same.
2562         * src/c++98/Makefile.in: Same.
2563         * testsuite/Makefile.in: Same.
2565 2012-02-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2567         PR libstdc++/52189
2568         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Handle
2569         --enable-libstdcxx-threads.
2570         Disable on Solaris 8/9 with symbol versioning.
2571         * configure.ac (GLIBCXX_CHECK_GTHREADS): Move after
2572         GLIBCXX_ENABLE_SYMVERS.
2573         * configure: Regenerate.
2574         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads): Explain.
2576 2012-02-15  DJ Delorie  <dj@redhat.com>
2578         * src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
2580 2012-02-15  Benjamin Kosnik  <bkoz@redhat.com>
2582         PR libstdc++/51368
2583         * acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
2584         * configure.ac: Use it.
2585         * python/Makefile.am: Same.
2586         * configure: Regenerate.
2587         * python/Makefile.in: Regenerate.
2588         * Makefile.in: Same.
2589         * doc/Makefile.in: Same.
2590         * include/Makefile.in: Same.
2591         * po/Makefile.in: Same.
2592         * src/Makefile.in: Same.
2593         * src/c++11/Makefile.in: Same.
2594         * src/c++98/Makefile.in: Same.
2595         * testsuite/Makefile.in: Same.
2597 2012-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2599         * 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
2601 2012-02-14  Tom Tromey  <tromey@redhat.com>
2603         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
2604         tests.
2605         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
2606         Rewrite.
2607         (Tr1HashtableIterator.update): Remove.
2608         (Tr1HashtableIterator.next): Rewrite.
2610 2012-02-13  Benjamin Kosnik  <bkoz@redhat.com>
2612         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
2613         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
2615 2012-02-13  Richard Henderson  <rth@redhat.com>
2617         PR libstdc++/51798 continued.
2618         * include/bits/shared_ptr_base.h
2619         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
2620         outside compare_exchange loop.
2621         * include/tr1/shared_ptr.h: Same.
2622         * include/parallel/compatibility.h (__compare_and_swap_32): Use strong
2623         version of compare_exchange.
2624         (__compare_and_swap_64): Same.
2625         * include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
2626         * libsupc++/guard.cc (__cxa_guard_acquire): Same.
2628 2012-02-10  Benjamin Kosnik  <bkoz@redhat.com>
2629             Jonathan Wakely  <jwakely.gcc@gmail.com>
2631         PR libstdc++/51798 continued.
2632         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
2633         builtins instead of __sync_* builtins for atomic functionality.
2634         * include/bits/shared_ptr_base.h: Same.
2635         * include/parallel/compatibility.h: Same.
2636         * include/profile/impl/profiler_state.h: Same.
2637         * include/tr1/shared_ptr.h: Same.
2638         * libsupc++/eh_ptr.cc: Same.
2639         * libsupc++/eh_throw.cc: Same.
2640         * libsupc++/eh_tm.cc: Same.
2641         * libsupc++/guard.cc: Same.
2642         * configure: Regenerated.
2643         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
2644         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
2646 2012-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2648         PR libstdc++/51296
2649         * config/os/osf/ctype_base.h,
2650         config/os/osf/ctype_configure_char.cc,
2651         config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
2652         Copy from config/os/generic.
2653         * config/os/osf/os_defines.h: Likewise.
2654         (_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
2655         Define.
2656         * configure.host <osf*>: Use os/osf for os_include_dir.
2658 2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
2660         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
2662 2012-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
2664         * doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
2666 2012-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2668         * doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
2670 2012-02-07  Benjamin Kosnik  <bkoz@redhat.com>
2672         * doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
2673         * doc/xml/manual/documentation_hacking.xml: Update.
2675 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2677         * testsuite/30_threads/call_once/39909.cc: Remove duplicate target
2678         selector.
2679         * testsuite/30_threads/call_once/49668.cc: Likewise.
2680         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2681         * testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
2682         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2683         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2684         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2685         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2686         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
2687         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2688         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2689         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2690         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2691         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2692         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2693         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2694         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2695         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2696         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2697         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2698         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2699         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2700         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2701         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2703 2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2705         PR libstdc++/51296
2706         * include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
2707         * src/c++11/condition_variable.cc (condition_variable): Use macro for
2708         initializer function.
2710         PR libstdc++/51906
2711         * config/os/bsd/darwin/os_defines.h: Disable static initializer for
2712         recursive mutexes.
2714 2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2716         PR libstdc++/52128
2717         * src/c++11/future.cc: Add explicit instantiation.
2719 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
2721         * include/debug/safe_iterator.h
2722         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
2723         creation of a _Safe_iterator instance to do the check.
2725 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2727         PR libstdc++/52104
2728         * include/std/future (__future_base::_Async_state_common): Define
2729         destructor inline for targets without TLS.
2730         * src/c++11/future.cc (__future_base::_Async_state_common): Only
2731         define destructor for TLS targets.
2733 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2735         PR libstdc++/51956
2736         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
2737         (SharedPointerPrinter): This. Also show weak count.
2738         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
2740 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2742         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
2743         PASS instead of XFAIL.
2745 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
2746             Paolo Carlini  <paolo.carlini@oracle.com>
2748         PR libstdc++/52119
2749         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
2751 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
2753         PR libstdc++/49445
2754         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
2756 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
2758         PR libstdc++/51811
2759         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
2760         * testsuite/29_atomics/atomic/operators/51811.cc: New.
2761         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
2763 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
2765         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2766         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2767         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2768         Likewise.
2769         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2770         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2771         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2772         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2773         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2774         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2776 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
2778         PR libstdc++/52068
2779         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
2780         libc__11_la_SOURCES): Remove.
2781         * src/c++11/Makefile.in: Regenerate.
2782         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
2783         libc__98_la_SOURCES): Remove.
2784         * src/c++98/Makefile.in: Regenerate.
2786 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2788         PR libstdc++/49204
2789         * include/std/future (__future_base::_State_base::wait()): Use lambda
2790         expression for predicate and remove redundant test.
2791         (__future_base::_State_base::wait_for()): Return future_status and
2792         use lambda expression for predicate.
2793         (__future_base::_State_base::wait_until()): Likewise.
2794         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
2795         (__future_base::_Async_state): Replace with _Async_state_common
2796         class for non-dependent functionality and _Async_state_impl class
2797         template for dependent functionality.
2798         (__future_base::_Async_state_common::_M_join): Serialize attempts to
2799         join thread.
2800         (__future_base::_Async_state_common::_M_run_deferred): Join.
2801         (__future_base::_Async_state::_M_do_run): Replace with lambda.
2802         * src/c++11/future.cc (__future_base::_Async_state_common): Define
2803         destructor, so key function is in the library.
2804         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
2805         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
2806         future_status return instead of bool.
2807         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
2808         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
2809         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
2810         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
2811         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
2812         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
2813         * testsuite/30_threads/promise/members/swap.cc: Likewise.
2815 2012-01-30  Tom Tromey  <tromey@redhat.com>
2817         PR libstdc++/51649:
2818         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
2819         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
2820         (note-test): Update.
2821         (gdb-test): Handle regexp tests.  Add some logging.
2822         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
2823         (placeholder, use): Remove.
2824         (main): Add tests for deque, list, map, and set iterators.  Add
2825         tests for slist and slist iterator.
2826         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
2827         namespace.
2828         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
2829         the type's _Node typedef.
2830         (StdListIteratorPrinter.to_string): Change how node type is
2831         computed.
2832         (StdSlistPrinter.children): Use the type's _Node typedef.
2833         (StdSlistIteratorPrinter.to_string): Likewise.
2834         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
2835         typedef.
2836         (StdMapPrinter.children): Change how the node's type is computed.
2837         (StdSetPrinter.children): Likewise.
2838         (StdForwardListPrinter.children): Use the type's _Node typedef.
2839         (Printer.add_version): New method.
2840         (Printer.add_container): New method.
2841         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
2842         namespaces.
2843         (find_type): New function.
2845 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
2847         PR libstdc++/51795
2848         * include/bits/random.h (linear_congruential_generator): Add
2849         static_assert preventing instantiation for values of 'a' and 'm'
2850         currently handled incorrectly by _Mod::__calc.
2851         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
2852         uses of _Mod::__calc.
2854 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
2856         PR libstdc++/51798
2857         * config/cpu/generic/atomicity_builtins/atomicity.h
2858         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
2859         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
2860         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
2861         Likewise.
2863 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
2865         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
2866         pop with #pragma GCC visibility push.
2868 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
2869             Matthias Klose  <doko@ubuntu.com>
2871         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
2872         * configure.in: Regenerated.
2873         * src/Makefile.am (all-once, install-data-once): New rules.
2874         (all-local, install-data-local): Use them.
2875         (build-debug, install-debug): Tweak.
2876         * src/Makefile.in: Regenerate.
2878 2012-01-27  Richard Henderson  <rth@redhat.com>
2880         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
2881         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
2882         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
2883         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
2885 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
2887         PR bootstrap/51985
2888         * src/c++98/Makefile.am (libc__98_la_SOURCES,
2889         libc__98convenience_la_SOURCES): Remove $(inst_sources).
2890         * src/c++98/Makefile.in: Regenerated.
2892 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
2894         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
2895         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
2896         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
2897         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
2898         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
2899         dg-require-fileio.
2900         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
2901         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
2902         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
2903         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
2904         Likewise.
2905         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
2907 2012-01-25  Matthias Klose  <doko@ubuntu.com>
2909         * testsuite/30_threads/condition_variable_any/requirements: Remove
2910         empty directory.
2912 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
2914         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
2915         * src/Makefile.in: Regenerate.
2917 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
2919         PR libstdc++/49829
2920         Add libc++98convenience.la, libc++11convenience.la.
2921         * src/c++98: New directory.
2922         * src/c++11: New directory.
2923         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
2924         * configure: Regenerated.
2925         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
2926         * Makefile.in: Regenerate.
2927         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
2928         -fno-implicit-templates.
2929         * libsupc++/Makefile.in: Regenerate.
2930         * src/Makefile.am (inst_sources): Move... C++11 files into
2931         separate directory for libstdc++11convenience.la. Files are:
2932         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
2933         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
2934         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
2935         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
2936         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
2937         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
2938         (libstdc++convenience.la): Add new target.
2939         (SUBDIRS): Add c++11, c++98.
2940         * src/Makefile.in: Regenerate.
2941         * src/c++11/Makefile.am: New.
2942         * src/c++11/Makefile.in: Generate.
2943         * src/c++98/Makefile.am: New, C++98 files.
2944         * src/c++98/Makefile.in: Generate.
2946 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2948         libstdc++-v3:
2949         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
2950         32-bit Solaris 10/x86.
2951         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2953 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2955         PR libstdc++/50982
2956         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
2958 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
2960         PR libstdc++/51845
2961         * include/bits/hashtable.h
2962         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
2963         _M_buckets[__n_bkt] if __is_bucket_begin.
2964         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
2965         New test.
2967 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
2969         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
2971 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
2973         * configure.ac: Move epub checks...
2974         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
2975         test -f instead of AC_CHECK_FILES.
2977 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
2978             Roman Kononov  <roman@binarylife.net>
2980         PR libstdc++/51866
2981         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
2982         Do not keep a reference to a potentially moved instance.
2983         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
2984         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
2986 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
2988         * doc/html/*: Regenerate.
2990 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
2992         * configure.ac (BUILD_EPUB): Adjust for epub3.
2993         * configure: Regenerate.
2994         * Makefile.in: Same.
2995         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
2996         * doc/Makefile.in: Regenerate.
2997         * include/Makefile.in: Same.
2998         * libsupc++/Makefile.in: Same.
2999         * po/Makefile.in: Same.
3000         * python/Makefile.in: Same.
3001         * src/Makefile.in: Same.
3002         * testsuite/Makefile.in: Same.
3004         * doc/xml/manual/documentation_hacking.xml: Update.
3006 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3008         PR target/47852
3009         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
3011 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
3013         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
3015 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
3017         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
3018         base class of ...
3019         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
3020         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
3021         by _M_before_begin. Review implementation so that we do not need to
3022         look for previous non-empty bucket when inserting nodes.
3024 2012-01-09  Kai Tietz  <ktietz@redhat.com>
3026         PR libstc++/51673 part 2
3027         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
3028         operators signature for LLP64 size_t, and adjusted signatures for
3029         mt-allocator using size_t.
3031 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
3033         PR libstc++/51673 part 1
3034         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
3035         with gnu.ver.
3037 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
3039         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
3040         * Makefile.in: Regenerate.
3041         * doc/Makefile.in: Same.
3042         * include/Makefile.in: Same.
3043         * libsupc++/Makefile.in: Same.
3044         * src/Makefile.in: Same.
3045         * testsuite/Makefile.in: Same.
3046         * po/Makefile.in: Same.
3047         * python/Makefile.in: Same.
3049 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
3051         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
3052         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
3054 2012-01-06  Jason Merrill  <jason@redhat.com>
3056         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
3057         expected demangling.
3059 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
3061         PR libstdc++/51504
3062         * doc/xml/manual/debug.xml: Suggest using symbol interposition
3063         to override symbols using annotation macros.
3065 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
3067         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
3068         protected rather than private, use it...
3069         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
3070         * testsuite/23_containers/unordered_set/observers.cc: New.
3071         * testsuite/23_containers/unordered_multiset/observers.cc: New.
3072         * testsuite/23_containers/unordered_map/observers.cc: New.
3073         * testsuite/23_containers/unordered_multimap/observers.cc: New.
3075 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
3077         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
3078         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
3079         to private inheritance.
3081 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
3083         PR c++/51738
3084         * testsuite/23_containers/map/element_access/39901.cc: New.