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