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