PR go/63560
[official-gcc.git] / libstdc++-v3 / ChangeLog-2008
blob056ae6c84e17bd6306e5f079a7228ac66cb58e3a
1 2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>
3         * include/ext/concurrence.h: Fix __gthread_cond_t initialisation
4         function macro name.
6 2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>
8         * doc/doxygen/stdheader.cc: Add cstdlib.
9         * doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.
11 2008-12-21  Andrew Pinski  <pinskia@gmail.com>
13         PR target/38300
14         * configure: Regenerate.
16 2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>
18         PR libstdc++/38596
19         * include/tr1_impl/functional (function<>::target,
20         function<>::target_type): Provide only when __GXX_RTTI is defined.
21         (_Function_base::_M_manager, _Ref_manager<>::_M_manager,
22         _Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
23         Adjust.
25 2008-12-19  Ben Elliston  <bje@au.ibm.com>
27         * acinclude.m4: Guard a variable test against an empty string.
28         * configure: Regenerate.
30 2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>
32         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
33         Add xfail on all targets except darwin.
34         * libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
35         1674.cc: Same.
36         * libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
37         for xfailing on all targets except linux.
39 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41         * configure: Regenerate.
43 2008-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
45         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
46         Don't xfail test on darwin8 or later.
48 2008-12-16  Jack Howarth  <howarth@bromo.med.uc.edu>
50         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
51         Don't xfail excessive errors on darwin8 or later.
53 2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>
55         * include/c_global/cstdatomic: Remove assert include.
56         * include/debug/debug.h: Consolidate __replacement_assert...
57         * include/parallel/base.h: Consolidate __replacement_assert...
58         * include/bits/c++config: ...here.
59         * include/bits/atomic_0.h: Use it.
60         * include/bits/atomic_2.h: Same.
61         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
62         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
64 2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>
66         * src/atomic.cc: Revert last change.
67         * include/bits/atomic_2.h: Move cassert include to...
68         * include/c_global/cstdatomic: ...here.
69         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
70         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
72 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
74         * src/Makefile.am: Remove -x c++ for atomic build rules.
75         * src/Makefile.in: Regenerate.
76         * src/atomic.cc: Move mutex include before cstdatomic.
78 2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
80         PR libstdc++/37144
81         * testsuite/util/regression/trait/assoc/type_trait.hpp
82         (regression_test_type_traits): Add const to pair_type_rebind.
84 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
86         * src/atomic.cc: Correct guards to match mutex.cc.
88 2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
89             Richard Henderson  <rth@redhat.com>
91         * include/c_global/cstdatomic: Update to N2798.
92         (atomic): Remove explicit constructors as per DR 845.
93         * include/bits/atomic_0.h: New. Switchable implementation.
94         * include/bits/atomic_2.h: New. Lock-free implementation.
95         * include/c_compatibility/stdatomic.h: Use foward headers.
96         * include/bits/atomicfwd_cxx.h: New.
97         * include/bits/atomicfwd_c.h: New.
98         * src/atomic.cc: Adjust.
99         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
100         unconditionally use default/deleted syntax.
101         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
102         * include/Makefile.am (bits_headers): Add atomicfwd_c.h,
103         atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
104         * include/Makefile.in: Regenerate.
105         * configure: Regenerate.
106         * config.h.in: Regenerate.
107         * config/abi/pre/gnu.ver: Adjust exports.
109         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
110         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
111         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
112         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
113         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
114         * testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
115         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc
116         * testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
117         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
118         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
119         * testsuite/29_atomics/atomic_integral/cons/default.cc: New.
120         * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
121         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
122         * testsuite/29_atomics/atomic_integral/requirements/
123         standard_layout.cc: New.
124         * testsuite/29_atomics/atomic_integral/operators/
125         integral_assignment.cc: New.
126         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
127         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
128         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
129         * testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
130         * testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
131         * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
132         * testsuite/29_atomics/atomic_integral/operators/
133         integral_conversion.cc: New.
134         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
135         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
136         * testsuite/29_atomics/atomic_flag/requirements/
137         standard_layout.cc: Same.
138         * testsuite/29_atomics/atomic_flag/
139         atomic_global_fence_compatibility.cc: Kill.
140         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
141         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
142         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
143         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
144         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
145         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
146         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
147         * testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
148         * testsuite/29_atomics/atomic/cons/copy_neg.cc
149         * testsuite/29_atomics/atomic/cons/direct_list.cc: New.
150         * testsuite/29_atomics/atomic/cons/copy_list.cc: New.
151         * testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
152         * testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
153         * testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
154         * testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
155         * testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
156         * testsuite/util/testsuite_common_types.h: ...here.
157         (atomic_integrals_no_bool): New.
158         (atomic_integrals): New.
159         (has_increment_operators, has_decrement_operators)
160         (direct_list_initializable, single_value_constructible)
161         (standard_layout, has_bitwise_operators, integral_convertable)
162         (integral_assignable): Add.
164 2008-12-11  Jakub Jelinek  <jakub@redhat.com>
166         PR c++/37582
167         * testsuite/26_numerics/headers/cmath/37582.cc: New.
169 2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
171         * include/tr1_impl/cmath: Undef remquof / remquol too; add using
172         declarations.
173         * acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
174         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
175         * configure: Regenerate.
177 2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
179         * include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
181 2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
183         PR libstdc++/38421
184         * include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
185         * doc/xml/manual/appendix_contributing.xml: Add __ea to the list
186         of badnames.
188 2008-12-05  Tom Tromey  <tromey@redhat.com>
190         * include/tr1_impl/functional (_Mu): Fix typo.
192 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
194         PR libstdc++/38399
195         * include/bits/locale_facets_nonio.tcc (money_get<>::
196         _M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
197         string&)): Fix, reject decimal point when frac_digits <= 0.
198         * testsuite/22_locale/money_get/get/char/38399.cc: New.
199         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
200         * testsuite/22_locale/money_get/get/char/5.cc: Adjust.
201         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
203 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
205         PR libstdc++/38411
206         * testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
207         of fr_FR.
208         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
209         * testsuite/22_locale/locale/cons/7.cc: Likewise.
211 2008-12-04  Paolo Carlini  <paolo.carlini@oracle.com>
213         PR libstdc++/38368
214         * config/locale/gnu/numeric_members.cc (numpunct<char>::
215         _M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
216         Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
217         * config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
218         _M_initialize_moneypunct, moneypunct<char, false>::
219         _M_initialize_moneypunct, moneypunct<wchar_t, true>::
220         _M_initialize_moneypunct, moneypunct<wchar_t, false>::
221         _M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
222         __MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
223         * testsuite/22_locale/locale/cons/38368.cc: New.
225 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
227         PR libstdc++/38365 (cont)
228         * src/localename.cc (locale::locale(const locale&, const locale&,
229         category)): Revert last changes.
230         (locale::_Impl::_M_replace_categories(const _Impl*, category)):
231         Fix here instead; rework.
233 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
235         PR libstdc++/38365
236         * src/localename.cc (locale::locale(const locale&, const locale&,
237         category)): Fix.
238         * testsuite/22_locale/locale/cons/38365.cc: New.
240 2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>
242         PR libstdc++/38080
243         * include/std/iostream: Correct URL.
244         * include/std/streambuf: Same.
245         * include/std/bitset: Same.
246         * include/std/iosfwd: Same.
247         * include/std/fstream: Same.
248         * include/std/istream: Same.
249         * include/std/ostream: Same.
250         * include/std/sstream: Same.
251         * include/bits/basic_ios.h: Same.
252         * include/bits/stl_map.h: Same.
253         * include/bits/stl_set.h: Same.
254         * include/bits/stl_multimap.h: Same.
255         * include/bits/ios_base.h: Same.
256         * include/bits/stl_multiset.h: Same.
257         * include/bits/char_traits.h: Same.
258         * include/bits/stl_relops.h: Same.
259         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
260         * testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
262 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
264         PR testsuite/28870
265         * testsuite/lib/libstdc++.exp: Include new timeout library files.
266         (libstdc++_init): Define tool_timeout.
267         (dg-test): Override DejaGnu proc.
268         (v3_target_compile): Set timeout value from new proc.
269         (v3_target_compile_as_c): Ditto.
271 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
273         PR libstdc++/38244 (cont, debug bits)
274         * include/debug/bitset (bitset<>::bitset(const char*, char, char)):
275         Remove, do not implement DR 778.
277 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
279         PR libstdc++/38244
280         * include/std/bitset (bitset<>::bitset(const char*, char, char)):
281         Remove, do not implement DR 778.
282         * doc/xml/manual/intro.xml: Remove entry for DR 778.
283         * testsuite/23_containers/bitset/cons/2.cc: Remove.
284         * testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
285         * testsuite/23_containers/bitset/cons/38244.cc: Add.
287 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
289         * testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
290         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
292 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
294         PR libstdc++/38210
295         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
296         ios_base&, char_type, const void*)): Fix.
297         * testsuite/22_locale/num_put/put/char/38210.cc: New.
298         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
300 2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
302         PR libstdc++/38196
303         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
304         ios_base&, char_type, bool)): Fix.
305         * testsuite/22_locale/num_put/put/char/38196.cc: New.
306         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
308 2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
310         * include/tr1_impl/cinttypes: Remove redundant pragma system_header.
311         * include/tr1_impl/cfenv: Likewise.
312         * include/tr1_impl/cstdint: Likewise.
314 2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
316         PR libstdc++/38000
317         * include/c_global/csignal: Do not use include_next.
318         * include/c_global/cstdlib: Likewise.
319         * include/c_global/cstdio: Likewise.
320         * include/c_global/cstdarg: Likewise.
321         * include/c_global/cctype: Likewise.
322         * include/c_global/cerrno: Likewise.
323         * include/c_global/cmath: Likewise.
324         * include/c_global/clocale: Likewise.
325         * include/c_global/climits: Likewise.
326         * include/c_global/cassert: Likewise.
327         * include/c_global/csetjmp: Likewise.
328         * include/c_global/cwchar: Likewise.
329         * include/c_global/cfloat: Likewise.
330         * include/c_global/cstdbool: Likewise.
331         * include/c_global/cstring: Likewise.
332         * include/c_global/cstddef: Likewise.
333         * include/c_global/cwctype: Likewise.
334         * include/tr1/cstdbool: Likewise.
335         * include/tr1_impl/cinttypes: Do not include <inttypes.h>.
336         * include/c_global/cinttypes: Do it here.
337         * include/tr1/cinttypes: Likewise.
338         * include/tr1_impl/cfenv: Do not include <fenv.h>.
339         * include/c_global/cfenv: Do it here.
340         * include/tr1/cfenv: Likewise.
341         * include/tr1_impl/cstdint: Do not include <stdint.h>.
342         * include/c_global/cstdint: Do it here.
343         * include/tr1/cstdint: Likewise.
344         * include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
345         * include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
346         * include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
348         * include/c_compatibility/math.h: Minor tweak, add comment.
350 2008-11-12  Steve Ellcey  <sje@cup.hp.com>
352         * configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
353         * configure: Regenerate to get new GCC_CHECK_UNWIND_GETIPINFO.
355 2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>
357         PR libstdc++/37986 (cont)
358         * include/tr1_impl/random (struct _Adaptor): Use only remove_reference
359         on _Engine.
360         (struct _Adaptor<_Engine*, _Distribution>): Add.
361         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
362         37986.cc: Extend.
364 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
366         PR libstdc++/37986
367         * include/tr1_impl/random (struct _Adaptor): Use remove_pointer
368         and remove_reference on _Engine.
369         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
370         37986.cc: New.
372 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
374         * testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.
376 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
378         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
379         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
380         Likewise.
382 2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
384         * include/bits/forward_list.h: Support non-standard pointer types
385         (_Fwd_list_node_base): Add _Alloc template parameter.
386         (_Fwd_list_node<>): Likewise.
387         (_Fwd_list_iterator<>): Likewise.
388         (_Fwd_list_const_iterator<>): Likewise.
389         (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
390         Use _Alloc<_Tp>::pointer.
391         (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
392         (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
393         _M_insert_after, _M_put_node, _M_erase_after): Likewise.
394         (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
395         (forward_list<>): Use __static_pointer_cast in place of static_cast,
396         and __const_pointer_cast in place of const_cast.
397         * include/bits/forward_list.tcc
398         (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
399         of standard pointers, __static_pointer_cast in place of static_cast.
400         (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
401         Likewise.
402         (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
403         splice_after, remove, remove_if, merge): Likewise.
404         * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
405         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
406         Likewise.
407         * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
408         Likewise.
409         * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
410         Likewise.
411         * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
412         Likewise.
413         * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
414         Likewise.
415         * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
416         Likewise.
417         * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
418         Likewise.
419         * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
420         Likewise.
421         * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
422         Likewise.
423         * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
424         Likewise.
425         * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
426         Likewise.
427         * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
428         Likewise.
429         * testsuite/23_containers/forward_list/ext_pointer/requirements/
430         explicit_instantiation/1.cc: Likewise.
431         * testsuite/23_containers/forward_list/ext_pointer/requirements/
432         explicit_instantiation/3.cc: Likewise.
433         * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
435 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
437         * include/ext/extptr_allocator.h: Minor tweaks.
438         * include/ext/pointer.h: Likewise.
439         * include/ext/cast.h: Likewise.
441 2008-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
443         PR libstdc++/38067
444         * config/locale/gnu/monetary_members.cc (moneypunct<>::
445         _M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
446         delete for __wcs_ps and __wcs_ns.
448 2008-11-07  Bob Walters  <bob.s.walters@gmail.com>
450         * include/ext/pointer.h: New, add experimental support for non-standard
451         pointer types in containers via the allocator::pointer typedef.
452         (Currently only supported/working with std::vector)
453         * include/ext/cast.h: New, add overload-able pointer casting functions
454         for use in containers supporting non-standard pointer types.
455         * include/ext/extptr_allocator.h: New, add _ExtPtr_allocator.
456         * include/Makefile.am: Update.
457         * include/precompiled/extc++.h: Likewise.
458         * include/Makefile.in: Regenerate.
459         * testsuite/ext/ext_pointer/1.cc: New.
460         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
461         * testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
462         * testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
463         * testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
464         * testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
465         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
466         Likewise.
467         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
468         Likewise.
469         * testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
470         Likewise.
471         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
472         1.cc: Likewise.
473         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
474         3.cc: Likewise.
476 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
478         PR libstdc++/38017
479         Revert:
480         * include/tr1_impl/functional (result_of,reference_wrapper): Update
481         to use C++0x features.
482         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
483         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
484         New.
485         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
486         New.
487         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
489 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
491         PR libstdc++/24803
492         PR libstdc++/37351
493         * include/tr1_impl/functional (result_of,reference_wrapper): Update
494         to use C++0x features.
495         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
496         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
497         New.
498         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
499         New.
500         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
502 2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
504         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
505         iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
506         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
507         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
509 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
511         PR libstdc++/37958 (cont again)
512         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
513         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
514         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
515         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
517 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
519         * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
520         num_get<>::do_get(, unsigned short&),
521         num_get<>::do_get(, unsigned int&),
522         num_get<>::do_get(, unsigned long&),
523         num_get<>::do_get(, long long&),
524         num_get<>::do_get(, unsigned long long&),
525         num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
526         num_put<>::do_put(, long long),
527         num_put<>::do_put(, unsigned long long)): Move inline...
528         * include/bits/locale_facets.h: ... here.
530 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
532         PR libstdc++/37958 (cont)
533         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
534         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
536 2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
538         * include/bits/shared_ptr.h: Update comparisons to match WP.
539         (_Sp_counted_ptr): Make copy and assignment members deleted.
540         (_Sp_counted_deleter): Remove private copy and assignment members.
541         (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
542         friend operator< with overloaded _M_less member functions to allow
543         comparison with either shared_count or weak_count.
544         (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
545         (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
546         for ownership-based ordering.
547         (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
548         make non-friend.
549         (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
550         (operator!=(__shared_ptr,__shared_ptr)): Likewise.
551         (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
552         pointer specialization.
553         (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
554         weak_ptr::operator>=): Remove operator< and delete all comparisons.
555         (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
556         (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
557         (operator==(shared_ptr,shared_ptr): Likewise.
558         (operator!=(shared_ptr,shared_ptr): Likewise.
559         (swap(shared_ptr,shared_ptr)): Fix parameter types.
560         (swap(weak_ptr,weak_ptr)): Add missing overload.
561         * testsuite/20_util/owner_less/cmp.cc: New.
562         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
563         * testsuite/20_util/shared_ptr/comparison/less.cc: New.
564         * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
565         * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
566         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
568 2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
570         PR libstdc++/37958
571         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
572         iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
573         * testsuite/22_locale/num_get/get/char/37958.cc: New.
574         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
576 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
578         PR libstdc++/37919
579         Revert:
580         2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
582         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
583         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
584         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
585         Remove the old variadic constructor, and instead provide several
586         variadic constructors that avoid failing when attempting to
587         initialize a pointer from a null pointer constant.
588         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
589         initialization of pointers from the null pointer constant.
591 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
593         PR libstdc++/37522
594         * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
595         * include/bits/basic_string.h: Guard string conversions with
596         !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
597         * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
598         New.
599         * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
600         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
601         Use the latter.
602         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
603         Likewise.
604         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
605         Likewise.
606         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
607         Likewise.
608         * testsuite/21_strings/basic_string/numeric_conversions/char/
609         stoull.cc: Likewise.
610         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
611         Likewise.
612         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
613         Likewise.
614         * testsuite/21_strings/basic_string/numeric_conversions/char/
615         to_string.cc: Likewise.
616         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
617         Likewise.
619 2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
621         * config/os/generic/error_constants.h (enum errc): Remove
622         no_posix_equivalent.
623         * config/os/mingw32/error_constants.h (enum errc): Likewise.
624         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
625         Adjust.
627 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
629         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
630         (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
631         variables.
632         (%/site.exp, check-DEJAGNU%): New targets.
633         (check-am): Run $(MAKE) check-DEJAGNU.
634         * testsuite/Makefile.in: Regenerated.
636 2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>
638         * config/os/generic/error_constants.h (errc): Use long type.
639         * config/os/mingw32/error_constants.h (errc): Likewise.
641 2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>
643         * include/std/system_error (is_error_code_enum): Specialize for errc.
644         (error_category::error_category): Defaulted and protected.
645         (error_category::~error_category): New, virtual.
646         (error_category::error_category(const error_category&),
647         error_category::operator=(const error_category&)): Deleted.
648         (get_system_category, get_posix_category): Remove (DR 890).
649         (system_category): External linkage (DR 890).
650         (posix_category): Remove.
651         (generic_category): Add. External linkage (DR 890).
652         (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
653         (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
654         error_code::assign, use generic_category.
655         (error_condition::error_condition,
656         error_condition::error_condition<>(_ErrorConditionEnum)): Use
657         generic_category.
658         (error_condition::clear,
659         error_condition::operator=<>(_ErrorConditionEnum)): Forward to
660         error_code::assign, use generic_category.
661         (make_error_code, make_error_condition): Define in namespace std.
662         * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
663         unique_lock<>::try_lock_until<>(duration),
664         unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
665         * src/system_error.cc (system_error_category, generic_error_category):
666         New.
667         (gnu_error_category): Remove.
668         (get_system_category, get_posix_category): Remove (DR 890).
669         (system_category, generic_category): Define.
670         * src/functexcept.cc (__throw_system_error): Use generic_category.
671         * config/abi/pre/gnu.ver: Export system_category and generic_category,
672         remove get_system_category and get_generic_category (DR 890).
673         * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
674         enum class type. Fix spelling.
675         * config/os/mingw32/error_constants.h (posix_errno): Likewise.
676         * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
677         generic_category.
678         * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
679         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
680         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
681         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
682         dg-error line numbers.
683         * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
684         generic_category.
685         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
686         * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
687         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
688         Likewise.
689         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
690         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
691         Remove using tests since errc is not a namespace.
692         * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
693         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
694         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
695         Likewise.
696         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
697         Likewise.
698         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
700 2008-10-20  Paolo Carlini  <paolo.carlini@oracle.com>
702         * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
703         (_Args&&...)): Add in C++0x mode.
704         * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
705         _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
706         C++0x mode.
708         * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
709         Node_allocator for improved accuracy.
710         * testsuite/tr1/6_containers/unordered_multimap/capacity/
711         29134-multimap.cc: Adjust.
712         * testsuite/tr1/6_containers/unordered_multimap/capacity/
713         29134-map.cc: Likewise.
714         * testsuite/tr1/6_containers/unordered_multimap/capacity/
715         29134-multiset.cc: Adjust.
716         * testsuite/tr1/6_containers/unordered_multimap/capacity/
717         29134-set.cc: Likewise.
719 2008-10-19  Paolo Carlini  <paolo.carlini@oracle.com>
721         * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
722         (_Args&&...)): Add in C++0x mode.
723         (_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
724         use _M_get_Node_allocator.
725         (_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
726         in C++0x mode.
727         * testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
728         line numbers.
729         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
731 2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
733         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
734         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
735         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
736         Remove the old variadic constructor, and instead provide several
737         variadic constructors that avoid failing when attempting to
738         initialize a pointer from a null pointer constant.
739         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
740         initialization of pointers from the null pointer constant.
742 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
744         * include/bits/forward_list.tcc (forward_list<>::
745         _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
746         Simplify.
748 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
750         * include/bits/forward_list.h (forward_list<>::
751         forward_list(size_type)): Tweak, use _Base default constructor.
753 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
755         * include/bits/forward_list.h (forward_list<>::insert_after): Minor
756         cosmetic changes.
758 2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
760         * include/bits/forward_list.h: Factor list construction to dispatch
761         routines.
762         * include/bits/forward_list.tcc: Likewise.
763         * testsuite/23_containers/forward_list/modifiers/2.cc:
765 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
767         * include/bits/forward_list.tcc (operator==): Use auto.
769 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
771         * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
772         Move out of line, tweak to return _Fwd_list_node_base*.
773         (forward_list<>::insert_after(const_iterator, const _Tp&),
774         forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
775         * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
776         Define.
778         * include/bits/forward_list.h (forward_list<>): Consistently qualify
779         calls of base class functions with this->.
780         * include/bits/forward_list.tcc (forward_list<>): Likewise.
782         * include/bits/forward_list.h: Move some functions out of line...
783         * include/bits/forward_list.tcc: ... here.
785         * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
787 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
789         * include/bits/forward_list.h: Remove pointless const qualifiers in
790         const_casts.
791         * include/bits/forward_list.tcc: Likewise.
793         * include/bits/forward_list.h (forward_list<>::pointer,
794         const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
795         * testsuite/23_containers/forward_list/requirements/
796         explicit_instantiation/1.cc: New.
797         * testsuite/23_containers/forward_list/requirements/
798         explicit_instantiation/1.cc: Likewise.
800 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
802         * include/bits/forward_list.h (forward_list<>::max_size): Use
803         Node_allocator; minor cosmetic changes.
804         * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
806 2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
808         * include/std/forward_list: New.
809         * include/bits/forward_list.h: Likewise.
810         * include/bits/forward_list.tcc: Likewise.
811         * include/precompiled/stdc++.h: Modified to include forward_list.
812         * include/Makefile.am: Add forward_list, forward_list.h, and
813         forward_list.tcc.
814         * include/Makefile.in: Regenerate.
815         * testsuite/23_containers/forward_list/modifiers/1.cc: New.
816         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
817         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
818         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
819         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
820         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
821         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
822         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
823         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
824         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
825         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
826         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
827         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
828         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
829         * testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
830         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
831         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
832         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
833         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
834         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
835         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
836         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
837         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
838         * testsuite/23_containers/forward_list/comparable.cc: Likewise.
839         * testsuite/23_containers/forward_list/moveable.cc: Likewise.
840         * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
841         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
842         * testsuite/17_intro/headers/c++200x/all: Likewise.
844 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
846         * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
847         Add in C++0x mode.
848         (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
849         (list<>::_M_erase(iterator): Likewise, in C++0x mode.
850         * include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
851         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
852         Adjust dg-error line number.
853         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
854         Likewise.
855         * testsuite/23_containers/list/requirements/dr438/
856         constructor_1_neg.cc: Likewise.
857         * testsuite/23_containers/list/requirements/dr438/
858         constructor_2_neg.cc: Likewise.
860 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
862         * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
863         for improved accuracy.
864         * include/bits/stl_list.h (list<>::max_size): Likewise.
865         * testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
866         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
867         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
868         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
869         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
871 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
873         * testsuite/20_util/reference_wrapper/24803.cc: Avoid uninitialized
874         warnings.
876 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
878         * include/std/system_error (native_category): Remove.
879         (posix_category): Add.
880         (error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
881         Fix _M_cat initialization.
882         (error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
883         (error_condition::_M_cat, error_condtion::operator=
884         (_ErrorConditionEnum)): Implement resolution of DR 804.
885         (error_condition::error_condition(_ErrorConditionEnum, typename
886         enable_if<>:type*): Fix.
887         (error_condition::clear, error_condition::assign): Implement.
888         (operator==, operator!=): Fix uglification of parameters.
889         (make_error_code, make_error_condition): Define in namespace
890         posix_error.
891         (operator<<(basic_ostream<>&, const error_code&)): Define here.
892         * include/std/ostream (operator<<(basic_ostream<>&,
893         const error_code&)): Do not define here.
894         * testsuite/19_diagnostics/error_condition/cons/1.cc: New.
895         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
896         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
897         Likewise.
898         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
899         Likewise.
900         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
901         Likewise.
902         * testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
903         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
904         dg-error line numbers.
905         * testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
907         * testsuite/util/testsuite_error.h: Minor tweaks.
908         * testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
910 2008-10-10  Chris Fairles  <cfairles@gcc.gnu.org>
912         * testsuite/20_util/duration/cons/1.cc: Remove invalid check of
913         uninitialized duration.
915 2008-10-08  Bob Walters  <bob.s.walters@gmail.com>
917         * include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
918         _M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
919         _M_deallocate): Use _Tp_alloc_type::pointer.
921 2008-10-07  Jason Merrill  <jason@redhat.com>
923         PR libstdc++/37761
924         * testsuite/abi/demangle/abi_examples/20.cc: Adjust expected spacing.
925         * testsuite/abi/demangle/abi_text/02.cc: Likewise.
926         * testsuite/abi/demangle/regression/cw-16.cc: Likewise.
928 2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
930         * include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
931         const reverse_iterator<>&), operator-(const __normal_iterator<>&,
932         const __normal_iterator<>&), operator-(const move_iterator<>&,
933         const move_iterator<>&)): Use the auto -> return type syntax,
934         implement DR 685.
936 2008-10-06  Jason Merrill  <jason@redhat.com>
938         * config/abi/pre/gnu.ver: Update char16/32_t manglings.
940 2008-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
942         * testsuite/20_util/reference_wrapper/invoke.cc: New.
943         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
944         * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
946 2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
948         * config/locale/generic/c_locale.cc (__convert_to_v): Fix
949         !__FLT_HAS_INFINITY__ case.
951 2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>
953         * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
954         DR 522 [Ready].
955         * testsuite/20_util/tuple/swap.cc: New.
957 2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
959         PR libstdc++/30085 (again)
960         * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
961         Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
962         unordered_map / unordered_multimap; add missing member functions.
963         * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
964         Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
965         * include/debug/safe_association.h: Remove.
966         * include/Makefile.am: Adjust.
967         * include/Makefile.in: Regenerate.
968         * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
969         xfail.
971 2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>
973         * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
974         void reset(U)): Add as deleted function, per DR 821 [Ready].
975         * include/bits/unique_ptr.h: Prefer everywhere deleted to private
976         member function declarations; minor formatting tweaks.
977         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
978         * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
979         directives.
981 2008-09-28  Chris Fairles  <cfairles@gcc.gnu.org>
983         * include/std/mutex (try_lock): Implement generic try_lock.
984         * testsuite/30_threads/try_lock/1.cc: New.
985         * testsuite/30_threads/try_lock/2.cc: Likewise.
986         * testsuite/30_threads/try_lock/3.cc: Likewise.
987         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
988         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
989         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
990         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
991         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
992         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
993         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
994         Likewise.
995         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
997 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
998             Steve Ellcey  <sje@cup.hp.com>
1000         * configure: Regenerate for new libtool.
1001         * aclocal.m4: Ditto.
1002         * Makefile.in: Ditto.
1003         * src/Makefile.in: Ditto.
1004         * doc/Makefile.in: Ditto.
1005         * po/Makefile.in: Ditto.
1006         * libmath/Makefile.in: Ditto.
1007         * include/Makefile.in: Ditto.
1008         * libsupc++/Makefile.in: Ditto.
1009         * testsuite/Makefile.in: Ditto.
1011 2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
1013         * include/std/bitset: Adjust comment to reflect DR 853.
1014         * include/debug/bitset: Likewise.
1015         * doc/xml/manual/intro.xml: Add an entry for DR 853.
1017 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1019         Implement DR 396 [Ready].
1020         * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
1021         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1022         char, char), bitset<>::to_string(_CharT, _CharT),
1023         bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
1024         size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
1025         (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
1026         const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
1027         (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
1028         std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
1029         * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
1030         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1031         char, char), bitset<>::to_string(_CharT, _CharT)): Add.
1032         * doc/xml/manual/intro.xml: Add an entry for DR 396.
1033         * testsuite/23_containers/bitset/cons/dr396.cc: Add.
1034         * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
1036 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1038         * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
1039         * testsuite/25_algorithms/max/37547.cc: Likewise.
1040         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
1042 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1044         * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
1045         typedef monotonic_clock to system_clock and instead declare new class.
1046         * src/chrono.cc: Conditionally define monotonic_clock::now().
1047         * include/std/condition_variable (wait_until): Throw exception if
1048         __gthread_cond_timedwait returns with error other than timed_out. Use
1049         system_clock as known clock type (__clock_t) and add overloads for known
1050         and unknown clocks. In the unknown case, sync to the known clock.
1051         Implement overload taking a predicate.
1052         (wait_for): Implement overload taking a predicate.
1053         * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
1054         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
1055         line numbers.
1056         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1057         Likewise.
1058         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
1059         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
1060         * testsuite/30_threads/condition_variable/member/1.cc: New.
1061         * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
1063 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1065         PR libstdc++/37624
1066         * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
1067         when strtold is not available.
1068         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
1070 2008-09-23  Benjamin Kosnik  <bkoz@redhat.com>
1072         PR libstdc++/37391 continued.
1073         * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
1074         specify full path for source file links.
1075         * doc/html/ext/pb_ds/pq_examples.html: Same.
1077 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1079         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
1080         by value parameters.
1081         * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
1083 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
1085         PR libstdc++/32422, DR 23 [Ready in R60]
1086         * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
1087         ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
1088         double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1089         char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
1090         DR 23 and deal correctly with broken exponents.
1091         * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
1092         float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1093         char*, double&, ios_base::iostate&, const __c_locale&),
1094         __convert_to_v(const char*, long double&, ios_base::iostate&, const
1095         __c_locale&)): Likewise.
1096         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
1097         _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
1098         (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
1099         ios_base::iostate&, string&): Change grouping check to set instead of
1100         OR failbit; do not check for eofbit here...
1101         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1102         ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
1103         ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
1104         iter_type, ios_base&, ios_base::iostate&, long double&),
1105         num_get<>::__do_get(iter_type, iter_type, ios_base&,
1106         ios_base::iostate&, double&)): ... do it here instead.
1107         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1108         ios_base::iostate&, bool&)): Implement DR 23.
1109         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1110         ios_base::iostate&, void*&)): Adjust.
1111         * doc/xml/manual/intro.xml: Add and entry for DR 23.
1112         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
1113         Adjust.
1114         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
1115         Likewise.
1116         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
1117         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
1118         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
1119         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
1120         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
1121         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
1122         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
1123         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
1124         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
1125         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
1127 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
1129         PR libstdc++/37391
1130         * doc/html/ext/pb_ds/*.html: Fix external links.
1132 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
1134         * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
1135         condition_variable, and thread output.
1137 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
1139         * doc/html/ext/lwg-closed.html: Update to Revision R59.
1140         * doc/html/ext/lwg-active.html: Likewise.
1141         * doc/html/ext/lwg-defects.html: Likewise.
1142         * doc/xml/manual/intro.xml: Adjust.
1144 2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
1146         * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
1147         consistently with the other overload for initializer_list.
1149 2008-09-19  Johannes Singler  <singler@ira.uka.de>
1151         PR libstdc++/37470
1152         * include/parallel/base.h: Rename log2 to __log2.
1153           (__log2) Avoid infinite loop for n <= 0, return 0.
1154         * include/parallel/losertree.h: Rename log2 to __log2.
1155         * include/parallel/multiseq_selection.h: Likewise.
1156         * include/parallel/random_shuffle.h: Likewise.
1158 2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
1160         * include/bits/shared_ptr.h (__shared_count<>::
1161         __shared_count(_Ptr, _Deleter), __shared_count<>::
1162         __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
1163         __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
1164         Qualify new with ::.
1166 2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
1168         PR libstdc++/37547
1169         * include/bits/stl_algo.h (min(initializer_list<>),
1170         min(initializer_list<>, Compare), max(initializer_list<>),
1171         max(initializer_list<>, Compare), minmax(initializer_list<>),
1172         minmax(initializer_list<>, Compare)): Fix return type.
1173         * include/bits/algorithmfwd.h: Adjust.
1174         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
1175         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
1176         Likewise.
1177         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
1178         pod2.cc: Likewise.
1179         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
1180         Likewise.
1181         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
1182         pod2.cc: Likewise.
1183         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1184         3.cc: Likewise.
1185         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1186         pod2.cc: Likewise.
1187         * testsuite/25_algorithms/max/37547.cc: New.
1188         * testsuite/25_algorithms/min/37547.cc: Likewise.
1189         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
1191 2008-09-16  Chris Fairles  <chris.fairles@gmail.com>
1193         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
1194         New.
1195         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
1196         pod2.cc: Likewise.
1197         * testsuite/25_algorithms/min/3.cc: Likewise.
1198         * testsuite/25_algorithms/min/4.cc: Likewise.
1199         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
1200         Likewise.
1201         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
1202         pod2.cc: Likewise.
1203         * testsuite/25_algorithms/max/3.cc: Likewise.
1204         * testsuite/25_algorithms/max/4.cc: Likewise.
1205         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1206         3.cc: Likewise.
1207         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
1208         pod2.cc: Likewise.
1209         * testsuite/25_algorithms/minmax/2.cc: Likewise.
1210         * testsuite/25_algorithms/minmax/3.cc: Likewise.
1212 2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
1214         * include/bits/stl_algo.h (min(initializer_list<>),
1215         min(initializer_list<>, Compare), max(initializer_list<>),
1216         max(initializer_list<>, Compare), minmax(initializer_list<>),
1217         minmax(initializer_list<>, Compare)): Add in C++0x mode.
1218         * include/bits/algorithmfwd.h: Add.
1219         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
1221 2008-09-13  Chris Fairles  <chris.fairles@gmail.com>
1223         * testsuite/30_threads/thread/algorithm/1.cc: Join thread before
1224         program exits.
1225         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
1226         * testsuite/30_threads/thread/this_thread/3.cc: Define test variable.
1227         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
1229 2008-09-12  Chris Fairles  <chris.fairles@gmail.com>
1230             Benjamin Kosnik  <bkoz@redhat.com>
1232         * include/std/thread: New.
1233         * include/Makefile.am: Update.
1234         * include/Makefile.in: Regenerate.
1235         * src/thread.cc: New.
1236         * src/Makefile.am: Update.
1237         * src/Makefile.in: Regenerate.
1238         * acinclude.m4: Add check for nanosleep.
1239         * configure.ac: Call it.
1240         * configure: Regenerate.
1241         * config.h.in: Likewise.
1242         * config/abi/pre/gnu.ver: Add exports.
1243         * doc/doxygen/user.cfg.in: Add thread header.
1244         * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
1245         * testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
1246         * testsuite/30_threads/thread/cons/1.cc: New.
1247         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1248         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1249         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1250         * testsuite/30_threads/thread/algorithm/1.cc: Likewise.
1251         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
1252         * testsuite/30_threads/thread/member/1.cc: Likewise.
1253         * testsuite/30_threads/thread/member/2.cc: Likewise.
1254         * testsuite/30_threads/thread/member/3.cc: Likewise.
1255         * testsuite/30_threads/thread/this_thread/1.cc: Likewise.
1256         * testsuite/30_threads/thread/this_thread/2.cc: Likewise.
1257         * testsuite/30_threads/thread/this_thread/3.cc: Likewise.
1258         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
1259         * testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
1260         * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
1261         * testsuite/17_intro/headers/c++200x/all.cc: Add thread.
1262         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
1263         Add thread, condition_variable and mutex.
1265 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1267         * src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
1268         Remove specializations.
1269         * src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
1270         * include/bits/locale_facets.tcc (use_facet<ctype<char> >,
1271         use_facet<ctype<wchar_t>): Declare as extern template.
1272         * include/bits/locale_facets.h (use_facet<ctype<char> >,
1273         use_facet<ctype<wchar_t>): Do not declare as specializations.
1275 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1277         * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
1278         ctype<char>::_M_widen_init): Don't define here.
1279         * config/locale/gnu/ctype_members.cc: Likewise.
1280         * config/locale/generic/ctype_members.cc: Likewise.
1281         * src/ctype.cc: Define here.
1283 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
1285         PR libstdc++/37455
1286         * include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
1287         ctype<char>::_M_widen_init): Don't define inline.
1288         * config/locale/darwin/ctype_members.cc: ... define here.
1289         * config/locale/gnu/ctype_members.cc: ... likewise.
1290         * config/locale/generic/ctype_members.cc: ... likewise.
1291         * config/abi/pre/gnu.ver: Export.
1293 2008-09-09  Benjamin Kosnik  <bkoz@redhat.com>
1295         * doc/xml/manual/abi.xml: Update for new releases.
1296         * doc/doxygen/user.cfg.in: Include C compatibility headers.
1297         * doc/html/*: Regenerate.
1299 2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
1301         * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACROS after
1302         inclusion of <inttypes.h>.
1303         * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
1304         __STDC_CONSTANT_MACROS after <stdint.h>.
1305         * include/bits/postypes.h: Likewise.
1307 2008-09-09  Andreas Schwab  <schwab@suse.de>
1309         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check
1310         not to redefine main.
1312 2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
1314         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
1315         wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
1316         * include/tr1_impl/cinttypes: Use the latter.
1317         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
1318         * configure: Regenerate.
1319         * config.h.in: Likewise.
1321 2008-09-05  Peter Dimov  <pdimov@mmltd.net>
1323         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New.
1325 2008-09-05  Paolo Carlini  <paolo.carlini@oracle.com>
1327         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename
1328         to...
1329         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ...
1330         this.
1332 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1334         PR libstdc++/36962
1335         * include/Makefile.am: Update headers.
1336         * include/Makefile.in: Regenerate.
1337         * include/std/memory: Update headers.
1338         * include/tr1/memory: Likewise.
1339         * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
1340         separate implementations for std and tr1.
1341         * include/bits/boost_sp_shared_count.h: Remove.
1342         * include/tr1/boost_sp_shared_count.h: Remove.
1343         * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
1344         and boost_shared_ptr.h into one file.
1345         (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
1346         and rvalue-reference support as per current WP.
1347         * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
1348         and boost_shared_ptr.h into one file.
1349         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
1350         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
1351         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
1352         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
1353         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
1354         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
1355         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
1356         * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
1357         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
1359 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1361         * doc/xml/manual/locale.xml: Fix typo.
1363 2008-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
1365         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
1366         POSIX threads.
1367         * configure: Regenerate.
1369 2008-09-04  Chris Fairles  <chris.fairles@gmail.com>
1371         * include/std/mutex (once_flag): Construct __gthread_once_t in a
1372         temporary variable before assigning to _M_once to avoid initialization
1373         errors.
1375 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1377         * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
1378         GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
1380         * Makefile.in: Regenerate.
1381         * src/Makefile.in: Likewise.
1382         * doc/Makefile.in: Likewise.
1383         * po/Makefile.in: Likewise.
1384         * libmath/Makefile.in: Likewise.
1385         * include/Makefile.in: Likewise.
1386         * libsupc++/Makefile.in: Likewise.
1387         * testsuite/Makefile.in: Likewise.
1389 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1391         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
1392         check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
1393         * configure: Regenerate.
1395 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
1397         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
1398         * configure: Regenerate.
1400 2008-09-03  Chris Fairles  <chris.fairles@gmail.com>
1402         * include/std/condition_variable: Use new deleted ctors.
1403         * include/std/mutex: Likewise plus implement timed_mutex,
1404         recursive_timed_mutex and call_once.
1405         * src/condition_variable.cc: Implement wait(). Use gthread types.
1406         Remove _GTHREADS_HAS_COND checks in favor of global
1407         _GLIBCXX_HAS_GTHREADS.
1408         * src/mutex.cc (call_once): Implementation using TLS with mutex
1409         fallback.
1410         * config/abi/pre/gnu.ver: Add exported symbols.
1411         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
1412         * testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
1413         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
1414         dg-require-gthreads and dg-require-cstdint.
1415         * testsuite/30_threads/lock_guard/requirements/
1416         explicit_instantiation.cc: Likewise.
1417         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1418         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1419         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1420         * testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
1421         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1422         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1423         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1424         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1425         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1426         Likewise.
1427         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
1428         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1429         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
1430         Likewise.
1431         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1432         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1433         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1434         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1435         * testsuite/30_threads/unique_lock/requirements/
1436         explicit_instantiation.cc: Likewise.
1437         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
1438         * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
1439         lines for deleted members.
1440         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
1441         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
1442         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
1443         * testsuite/30_threads/call_once/once_flag.cc: New.
1444         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1445         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1446         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
1447         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
1448         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1449         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1450         Likewise.
1451         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
1452         Likewise.
1453         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1454         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1455         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1456         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1457         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1458         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1459         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1460         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
1461         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1462         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1463         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1464         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1465         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1466         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1467         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1468         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1469         Likewise.
1470         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1471         Likewise.
1472         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1473         Likewise.
1474         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1475         Likewise.
1476         * testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
1477         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1478         Likewise.
1479         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1480         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
1481         Likewise.
1482         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
1483         Likewise.
1484         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1485         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1486         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1487         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1488         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1489         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1490         Likewise.
1491         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1492         Likewise.
1493         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1494         Likewise.
1495         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1496         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1497         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1498         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1499         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1500         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1501         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1502         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1503         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1504         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1505         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1506         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1508 2008-09-01  Mark Mitchell  <mark@codesourcery.com>
1510         * include/std/type_traits (__make_unsigned_selector<>): Consider
1511         enums of size smaller than short.
1512         (__make_signed_selector<>): Likewise.
1513         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1514         Adjust line numbers.
1515         * testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
1516         Adjust line numbers.
1517         * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
1518         Ensure test_enum is the same size as short.
1519         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1520         Ensure test_enum is the same size as short.
1522 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
1524         * acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
1525         * configure: Regenerated.
1526         * Makefile.in: Regenerated.
1527         * src/Makefile.in: Regenerated.
1528         * doc/Makefile.in: Regenerated.
1529         * po/Makefile.in: Regenerated.
1530         * libmath/Makefile.in: Regenerated.
1531         * include/Makefile.in: Regenerated.
1532         * libsupc++/Makefile.in: Regenerated.
1533         * testsuite/Makefile.in: Regenerated.
1535 2008-08-29  Mark Mitchell  <mark@codesourcery.com>
1537         * testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
1538         when testing on a simultor.
1540 2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
1542         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
1543         Rename to .../typedefs.cc.
1544         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
1545         Likewise.
1546         * testsuite/tr1/6_containers/unordered_multiset/requirements/
1547         typedef.cc: Likewise.
1548         * testsuite/tr1/6_containers/unordered_multimap/requirements/
1549         typedef.cc: Likewise.
1550         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
1551         Likewise.
1552         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
1553         Likewise.
1554         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
1555         Likewise.
1556         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
1557         Likewise.
1559 2008-08-28  Chris Fairles  <chris.fairles@gmail.com>
1561         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
1562         support used by c++0x thread library.
1563         * configure.ac: Test unconditionally.
1564         * configure: Regenerate.
1565         * config.h.in: Regenerate.
1567 2008-08-27  Benjamin Kosnik  <bkoz@redhat.com>
1569         * doc/Makefile.am: Edit xml file list.
1570         * doc/Makefile.in: Regenerate.
1571         * configure: Regenerate.
1572         * doc/xml/manual/intro.xml: Edit, correct links, structure.
1573         * doc/xml/manual/configure.xml: Same.
1574         * doc/xml/manual/debug.xml: Same.
1575         * doc/xml/manual/test.xml: Same.
1576         * doc/xml/manual/build.xml: Remove.
1577         * doc/xml/manual/prerequisites.xml: Add.
1578         * doc/html/*: Regenerate.
1580 2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>
1582         * include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
1583         const_pointer typedefs.
1584         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
1585         Add.
1586         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
1587         Likewise.
1588         * testsuite/tr1/6_containers/unordered_multiset/requirements/
1589         typedef.cc: Likewise.
1590         * testsuite/tr1/6_containers/unordered_multimap/requirements/
1591         typedef.cc: Likewise.
1592         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
1593         Likewise.
1594         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
1595         Likewise.
1596         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
1597         Likewise.
1598         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
1599         Likewise.
1601 2008-08-27  Paul Brook  <paul@codesourcery.com>
1603         * libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
1604         __get_object_from_ambiguous_exception.
1606 2008-08-26  Ben Elliston  <bje@au.ibm.com>
1608         * src/mt_allocator.cc (__pool): Fix error in comment.
1610 2008-08-25  Paolo Carlini  <paolo.carlini@oracle.com>
1612         * linkage.m4 ([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1],
1613         [GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT]): Remove
1614         * configure.ac: Do not call the latter.
1615         * crossconfig.m4: Likewise.
1616         * libmath/mathconf.h: Adjust.
1617         * configure: Regenerate.
1618         * config.h.in: Likewise.
1620 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
1622         * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
1623         two test -r instead of an AC_TRY_RUN.
1624         * configure: Regenerate.
1625         * config.h.in: Likewise.
1627 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
1629         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
1630         * doc/xml/manual/configure.xml: Likewise.
1632 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
1634         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
1635         GLIBCXX_ENABLE.
1636         * configure: Regenerate.
1638 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
1640         * acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
1641         GCC_TRY_COMPILE_OR_LINK.
1642         ([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
1643         [GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
1644         [no] by default, since it includes TRY_LINK checks.  librt is also
1645         searched, if requested.
1646         * doc/xml/manual/configure.xml: Document the latter.
1647         * configure.ac: Move the above checks outside native-only.
1648         * configure: Regenerate.
1650 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
1652         * testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
1653         * testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
1654         * testsuite/18_support/exception_ptr/current_exception.cc: Use it.
1655         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1656         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
1658 2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>
1660         Add (again) exception propagation support as per N2179.  Feature is
1661         available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
1662         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
1663         copy_exception, rethrow_exception): New file, implement exception
1664         propagation.
1665         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
1666         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
1667         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
1668         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
1669         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
1670         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
1671         __gxx_dependent_exception_class, __get_object_from_ue,
1672         __get_object_from_ambiguous_exception): Add.
1673         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
1674         (__is_gxx_exception_class): Handle dependent exceptions.
1675         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
1676         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
1677         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
1678         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
1679         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
1680         __cxa_free_dependent_exception): Add.
1681         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
1682         counting.
1683         * libsupc++/exception: Conditionally include exception_ptr.h.
1684         * libsupc++/Makefile.am: Register new files.
1685         * libsupc++/Makefile.in: Regenerate.
1686         * config/abi/pre/gnu.ver: Add new symbols.
1687         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
1688         core functionality of current_exception().
1689         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
1690         core functionality of rethrow_exception().
1691         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
1692         exception objects during exception propagation.
1694 2008-08-22  Paolo Carlini  <paolo.carlini@oracle.com>
1696         Revert again the N2179 patch.
1698 2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>
1700         * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
1701         __cxa_free_dependent_exception.
1703 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
1705         * include/bits/char_traits.h (char_traits<char16_t>::
1706         assign(char_type*, size_t, char_type), char_traits<char32_t>::
1707         assign(char_type*, size_t, char_type)): For now, just open-code.
1709 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
1711         PR c++/33979 (partial)
1712         * include/bits/postypes.h (u16streampos, u32streampos): Add.
1713         * include/bits/char_traits.h (char_traits<char16_t>,
1714         char_traits<char32_t>): Add.
1715         * include/bits/stringfwd.h (u16string, u32string): Add.
1716         * include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
1717         * testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
1718         New.
1719         * testsuite/21_strings/char_traits/requirements/
1720         explicit_instantiation/short/1.cc: Likewise.
1721         * testsuite/21_strings/char_traits/requirements/
1722         explicit_instantiation/char32_t/1.cc: Likewise.
1723         * testsuite/21_strings/char_traits/requirements/
1724         explicit_instantiation/wchar_t/1.cc: Likewise.
1725         * testsuite/21_strings/char_traits/requirements/
1726         explicit_instantiation/char16_t/1.cc: Likewise.
1727         * testsuite/21_strings/char_traits/requirements/
1728         explicit_instantiation/char/1.cc: Likewise.
1729         * testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
1730         Likewise.
1731         * testsuite/21_strings/basic_string/requirements/
1732         explicit_instantiation/char32_t/1.cc: Likewise.
1733         * testsuite/21_strings/basic_string/requirements/
1734         explicit_instantiation/wchar_t/1.cc: Likewise.
1735         * testsuite/21_strings/basic_string/requirements/
1736         explicit_instantiation/char16_t/1.cc: Likewise.
1737         * testsuite/21_strings/basic_string/requirements/
1738         explicit_instantiation/char/1.cc: Likewise.
1739         * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
1740         * testsuite/ext/vstring/requirements/explicit_instantiation/
1741         char32_t/1.cc: Likewise.
1742         * testsuite/ext/vstring/requirements/explicit_instantiation/
1743         char16_t/1.cc: Likewise.
1745 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
1747         PR libstdc++/37149
1748         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
1749         <cstdio>.
1750         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1751         Likewise.
1752         * testsuite/27_io/objects/char/12048-1.cc: Likewise.
1753         * testsuite/27_io/objects/char/12048-3.cc: Likewise.
1754         * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
1755         * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
1756         * testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
1757         * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
1758         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
1759         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
1760         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
1761         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
1762         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
1763         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
1764         * testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
1765         * testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
1766         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
1767         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
1768         * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
1769         * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
1770         * testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
1771         * testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
1772         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
1773         * include/std/regex: Include <sstream>.
1774         * include/tr1/regex: Likewise.
1776 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
1778         * configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
1779         newlib.
1780         * configure: Regenerate.
1782 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
1784         PR libstdc++/37147
1785         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
1786         check the macros too.
1787         * configure: Regenerate.
1789 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
1791         * acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
1792         AC_TRY_LINK.
1793         * configure.ac: Run unconditionally AC_LC_MESSAGES.
1794         * crossconfig.m4: Adjust.
1795         * configure: Regenerate.
1797 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
1799         * acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
1800         [GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
1801         Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
1802         with -fno-exceptions as flags.
1803         * configure.ac: Run unconditionally GLIBCXX_CHECK_LFS,
1804         GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_S_ISREG_OR_S_IFREG,
1805         GLIBCXX_CHECK_WRITEV and commonized AC_CHECK_HEADERS.
1806         * crossconfig.m4: Adjust; remove AC_CHECK_HEADERS commonized
1807         in configure.ac.
1808         * configure: Regenerate.
1810 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
1812         Re-instate last patch, amended to use __exchange_and_add_dispatch
1813         and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
1815 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
1817         Revert the last patch.
1819 2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>
1821         Add exception propagation support as per N2179.
1822         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
1823         copy_exception, rethrow_exception): New file, implement exception
1824         propagation.
1825         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
1826         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
1827         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
1828         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
1829         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
1830         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
1831         __gxx_dependent_exception_class, __get_object_from_ue,
1832         __get_object_from_ambiguous_exception): Add.
1833         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
1834         (__is_gxx_exception_class): Handle dependent exceptions.
1835         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
1836         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
1837         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
1838         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
1839         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
1840         __cxa_free_dependent_exception): Add.
1841         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
1842         counting.
1843         * libsupc++/exception: Conditionally include exception_ptr.h.
1844         * libsupc++/Makefile.am: Register new files.
1845         * libsupc++/Makefile.in: Regenerate.
1846         * config/abi/pre/gnu.ver: Add new symbols.
1847         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
1848         core functionality of current_exception().
1849         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
1850         core functionality of rethrow_exception().
1851         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
1852         exception objects during exception propagation.
1854 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
1856         PR libstdc++/37100
1857         * include/bits/stl_pair.h: Fix documentation URL in comment.
1859 2008-08-12  Johannes Singler  <singler@ira.uka.de>
1861         * include/paralle/losertree.h
1862         (LoserTreePointerBase<>::~LoserTreePointerBase):
1863         Replace delete by appropriate delete[].
1865 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
1867         * configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
1868         GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
1869         * crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
1870         * configure: Regenerate.
1871         * config.h.in: Likewise.
1873         * acinclude.m4: Minor formatting fixes.
1875 2008-08-11  Stephen M. Webb  <stephenw@xandros.com>
1877         * include/tr1_impl/regex: Formatting fixes.
1878         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
1879           New test.
1880         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
1881           New test.
1883 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
1885         * config/locale/generic/c_locale.cc: Include <cstdio>.
1887 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
1889         * configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
1890         * configure: Regenerate.
1892 2008-08-10  Paolo Carlini  <paolo.carlini@oracle.com>
1894         * include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
1895         (_DEFINE_SPEC_BODY): Remove.
1896         (__is_void_helper, __is_integral_helper, __is_floating_point_helper,
1897         __is_member_object_pointer_helper, __is_member_function_pointer_helper,
1898         __remove_pointer_helper): Add.
1899         (is_void, is_integral, is_floating_point, is_member_object_pointer,
1900         is_member_function_pointer, remove_pointer): Use the latter.
1901         * include/tr1/type_traits (_DEFINE_SPEC): Simplify.
1902         (_DEFINE_SPEC_HELPER): Remove.
1903         (__is_signed_helper, __is_unsigned_helper): Add.
1904         (is_signed, is_unsigned): Use the latter.
1906 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
1908         Revert fix for libstdc++/35637, thanks to other/36901.
1909         * include/tr1_impl/type_traits (__is_function_helper): New, uses
1910         variadic templates.
1911         (is_function): Forward to the latter.
1912         (__in_array): Remove.
1914 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
1916         * config/locale/darwin/ctype_members.cc: Include <cstdio>.
1918 2008-08-08  Paolo Carlini  <paolo.carlini@oracle.com>
1920         * include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
1921         _IOS_BASE_SEEK_END at the end of the file.
1922         * include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.
1924 2008-08-07  Stephen M. Webb  <stephenw@xandros.com>
1926         * include/tr1_impl/regex (match_results<>::cbegin, cend): Add, per
1927         N2691 WD.
1929 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1931         * acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
1932         common values of EOF, SEEK_CUR, SEEK_END.
1933         * configure.ac: Use it.
1934         * include/bits/ios_base.h: Likewise.
1935         * include/bits/char_traits.h: Likewise.
1936         * config/locale/gnu/ctype_members.cc: Include <cstdio>.
1937         * config/locale/generic/ctype_members.cc: Likewise.
1938         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
1939         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
1940         * configure: Regenerate.
1941         * config.h.in: Likewise.
1943 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
1945         * acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
1946         is actually a typedef to long or long long.
1947         * include/bits/postypes.h: If int64_t is actually a typedef for
1948         long or long long don't include <stdint.h> unnecessarily.
1949         * configure: Regenerate.
1950         * config.h.in: Likewise.
1952 2008-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
1954         * testsuite/util/testsuite_api.h (diamond_derivation<>::test):
1955         Expect ambiguity together with the standard exception classes.
1956         * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove
1957         xfail.
1958         * testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc:
1959         Likewise.
1960         * testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc:
1961         Likewise.
1962         * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
1963         Likewise.
1964         * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise.
1965         * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise.
1966         * testsuite/18_support/bad_exception/cons_virtual_derivation.cc:
1967         Likewise.
1968         * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc:
1969         Likewise.
1970         * testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc:
1971         Likewise.
1972         * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
1973         Likewise.
1974         * testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc:
1975         Likewise.
1976         * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
1977         Likewise.
1979 2008-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
1981         * include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
1982         also define the __STDC_* macros.
1983         (streamoff): Adjust.
1985         * include/tr1_impl/cstdint: Check that the __STDC_* macros are
1986         not defined before defining.
1988 2008-08-01  Paolo Bonzini  <bonzini@gnu.org>
1989             Chris Fairles  <chris.fairles@gmail.com>
1991         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
1992         search, but only in libposix4, never link librt.
1993         * src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
1994         * configure: Regenerate.
1995         * configure.in: Likewise.
1996         * Makefile.in: Likewise.
1997         * src/Makefile.in: Likewise.
1998         * libsup++/Makefile.in: Likewise.
1999         * po/Makefile.in: Likewise.
2000         * doc/Makefile.in: Likewise.
2002 2008-07-31  Chris Fairles <chris.fairles@gmail.com>
2004         * include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
2005         dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3
2006         and 4 in WD. Other minor tweaks.
2007         * testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
2008         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
2009         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2010         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2012 2008-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2014         * testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
2015         (check_v3_target_parallel_mode): Robustify, just follow the
2016         structure of testsuite/Makefile.am.
2018 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2020         * include/debug/set.h: Minor formatting fixes.
2021         * include/debug/multiset.h: Likewise.
2022         * include/debug/safe_association.h: Likewise.
2023         * include/debug/vector: Likewise.
2024         * include/debug/map.h: Likewise.
2025         * include/debug/string: Likewise.
2026         * include/debug/multimap.h: Likewise.
2027         * include/bits/stl_list.h: Likewise.
2028         * include/bits/stl_map.h: Likewise.
2029         * include/bits/stl_set.h: Likewise.
2030         * include/bits/stl_multimap.h: Likewise.
2031         * include/bits/stl_vector.h: Likewise.
2032         * include/bits/stl_multiset.h: Likewise.
2033         * include/bits/stl_bvector.h: Likewise.
2035 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2037         * include/std/utility: Include <initializer_list>, per the current WP.
2039         * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
2040         don't use -std=gnu++0x unnecessarily.
2041         * testsuite/18_support/numeric_limits/char16_32_t.cc: Use
2042         dg-require-cstdint.
2043         * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
2044         * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
2046 2008-07-28  Paolo Carlini  <paolo.carlini@oracle.com>
2048         PR libstdc++/36949
2049         * include/tr1_impl/boost_shared_ptr.h
2050         (__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
2051         __enable_shared_from_this_helper.
2052         * testsuite/20_util/shared_ptr/creation/36949.cc: New.
2054 2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2056         PR libstdc++/36924
2057         Revert:
2058         2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2060         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2061         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2062         * src/Makefile.am: Use it.
2063         * configure: Regenerate.
2064         * configure.in: Likewise.
2065         * Makefile.in: Likewise.
2066         * src/Makefile.in: Likewise.
2067         * libsup++/Makefile.in: Likewise.
2068         * po/Makefile.in: Likewise.
2069         * doc/Makefile.in: Likewise.
2071 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2073         * include/std/condition_variable: Update to N2691 WD.
2074         * include/std/mutex: Likewise.
2075         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
2076         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2077         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2078         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2080 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2082         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2083         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2084         * src/Makefile.am: Use it.
2085         * configure: Regenerate.
2086         * configure.in: Likewise.
2087         * Makefile.in: Likewise.
2088         * src/Makefile.in: Likewise.
2089         * libsup++/Makefile.in: Likewise.
2090         * po/Makefile.in: Likewise.
2091         * doc/Makefile.in: Likewise.
2093 2008-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2095         * include/ext/sso_string_base.h
2096         (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
2097         const _Alloc&)): Remove.
2098         * include/ext/rc_string_base.h
2099         (__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
2100         const _Alloc&)): Likewise.
2101         * include/ext/vstring.h
2102         (__versa_string<>::__versa_string(std::initializer_list<_CharT>,
2103         const _Alloc&)): Adjust.
2105 2008-07-21  Jason Merrill  <jason@redhat.com>
2107         Add initializer_list support as per N2679.
2108         * include/debug/unordered_map: Add initializer_list support.
2109         * include/debug/safe_association.h: Likewise.
2110         * include/debug/unordered_set: Likewise.
2111         * include/debug/vector: Likewise.
2112         * include/debug/deque: Likewise.
2113         * include/debug/map.h: Likewise.
2114         * include/debug/set.h: Likewise.
2115         * include/debug/string: Likewise.
2116         * include/debug/list: Likewise.
2117         * include/debug/multimap.h: Likewise.
2118         * include/tr1_impl/unordered_map: Likewise.
2119         * include/tr1_impl/hashtable: Likewise.
2120         * include/tr1_impl/unordered_set: Likewise.
2121         * include/tr1_impl/regex: Likewise.
2122         * include/std/valarray: Likewise.
2123         * include/std/unordered_map: Likewise.
2124         * include/std/unordered_set: Likewise.
2125         * include/bits/stl_list.h: Likewise.
2126         * include/bits/stl_map.h: Likewise.
2127         * include/bits/stl_set.h: Likewise.
2128         * include/bits/basic_string.h: Likewise.
2129         * include/bits/basic_string.tcc: Likewise.
2130         * include/bits/stl_multimap.h: Likewise.
2131         * include/bits/stl_vector.h: Likewise.
2132         * include/bits/stl_deque.h: Likewise.
2133         * include/bits/stl_multiset.h: Likewise.
2134         * include/bits/stl_bvector.h: Likewise.
2135         * include/ext/vstring.h: Likewise.
2136         * include/ext/rc_string_base.h: Likewise.
2137         * include/ext/sso_string_base.h: Likewise.
2138         * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
2139         * src/Makefile.in: Likewise.
2140         * config/abi/pre/gnu.ver: Add new w?string exports.
2141         * testsuite/21_strings/basic_string/init-list.cc: New test.
2142         * testsuite/23_containers/vector/init-list.cc: New test.
2143         * testsuite/23_containers/deque/init-list.cc: New test.
2144         * testsuite/23_containers/list/init-list.cc: New test.
2145         * testsuite/23_containers/map/init-list.cc: New test.
2146         * testsuite/23_containers/multimap/init-list.cc: New test.
2147         * testsuite/23_containers/set/init-list.cc: New test.
2148         * testsuite/23_containers/multiset/init-list.cc: New test.
2149         * testsuite/23_containers/unordered_map/init-list.cc: New test.
2150         * testsuite/23_containers/unordered_multimap/init-list.cc: New test.
2151         * testsuite/23_containers/unordered_set/init-list.cc: New test.
2152         * testsuite/23_containers/unordered_multiset/init-list.cc: New test.
2153         * testsuite/26_numerics/valarray/init-list.cc: New test.
2154         * testsuite/28_regex/init-list.cc: New test.
2155         * testsuite/ext/vstring/init-list.cc: New test.
2156         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2157         Update error lineno.
2158         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2159         Update error lineno.
2160         * testsuite/23_containers/vector/requirements/dr438/
2161         constructor_1_neg.cc: Update error lineno.
2162         * testsuite/23_containers/vector/requirements/dr438/
2163         constructor_2_neg.cc: Update error lineno.
2164         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2165         Update error lineno.
2166         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2167         Update error lineno.
2168         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
2169         Update error lineno.
2170         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
2171         Update error lineno.
2172         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2173         Update error lineno.
2174         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2175         Update error lineno.
2176         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2177         Update error lineno.
2178         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2179         Update error lineno.
2181 2008-07-21  Mark Mitchell  <mark@codesourcery.com>
2183         * config/os/gnu-linux/arm-eabi-extra.ver: New file.
2184         * configure.host: Use it for arm*-*-linux-*eabi.
2186 2008-07-19  Paolo Carlini  <paolo.carlini@oracle.com>
2188         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
2189         (assert_node_consistent): Avoid ambiguous else warning.
2191         * include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.
2193         * include/bits/c++config: In debug-mode (and parallel-mode) set
2194         _GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
2195         templates only for basic_string (per libstdc++/21674).
2196         * include/bits/basic_string.tcc: Use extern templates when
2197         _GLIBCXX_EXTERN_TEMPLATE > 0.
2199 2008-07-18  Kris Van Hees  <kris.van.hees@oracle.com>
2200             Holger Hopp  <holger.hopp@sap.com>
2202         * config/abi/pre/gnu.ver: Support char16_t and char32_t.
2203         * testsuite/util/testsuite_abi.cc (check_version): Add
2204         CXXABI_1.3.3 to known_versions.
2206 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2208         * include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
2209         Enable only when _Tp != bool.
2211         * testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
2213 2008-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
2215         * testsuite/lib/libstdc++.exp (check_v3_target_c_std): Avoid unused
2216         variable warnings leading to spurious fails of the test.
2218 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2220         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Adjust
2221         dg-error lines.
2222         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2223         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
2225         * include/tr1_impl/type_traits: Fix comment typo.
2227 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
2229         * include/bits/unique_ptr.h: Remove stray character.
2231 2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>
2233         * doc/doxygen/user.cfg.in: Add complex, ratio,
2234         intializer_list.
2235         (PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
2236         * doc/doxygen/doxygroups.cc: Add std::chrono.
2237         * include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
2238         * libsupc++/initializer_list (initializer_list): Same.
2239         * include/std/ratio: Same.
2240         * include/std/chrono: Same.
2241         * include/std/complex: Disambiguate file markup.
2243 2008-07-15  Chris Fairles  <chris.fairles@gmail.com>
2245         * include/std/chrono: New, as per N2661.
2246         * src/chrono.cc: New.
2247         * include/Makefile.am: Update.
2248         * src/Makefile.am: Likewise.
2249         * include/Makefile.in: Regenerate.
2250         * src/Makefile.in: Likewise.
2251         * acinclude.m4: Add tests for clock_gettime and gettimeofday that
2252         define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
2253         * configure.ac: Use them.
2254         * configure: Regenerate.
2255         * config.h.in: Likewise.
2256         * config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
2257         system_clock::is_monotonic.
2258         * testsuite/20_util/duration/cons/1.cc: New.
2259         * testsuite/20_util/duration/cons/2.cc: Likewise.
2260         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
2261         * testsuite/20_util/duration/requirements/explicit_instantiation/
2262         explicit_instantiation.cc: Likewise.
2263         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
2264         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
2265         * testsuite/20_util/duration/comparisons/1.cc: Likewise.
2266         * testsuite/20_util/time_point/requirements/explicit_instantiation/
2267         explicit_instantiation.cc: Likewise.
2268         * testsuite/20_util/time_point/1.cc: Likewise.
2269         * testsuite/20_util/time_point/2.cc: Likewise.
2270         * testsuite/20_util/time_point/3.cc: Likewise.
2271         * testsuite/20_util/clocks/1.cc: Likewise.
2272         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
2273         missing headers.
2274         * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
2275         * include/precompiled/stdc++.h: Likewise and remove <date_time>.
2276         * doc/doxygen/user.cfg.in: Likewise.
2278 2008-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
2280         PR libstdc++/36832
2281         * include/ext/rope (_Destroy_const): Add.
2282         (rope<>::copy): Call it.
2283         * testsuite/ext/rope/36832.cc: New.
2285 2008-07-15  Johannes Singler  <singler@ira.uka.de>
2287         * include/parallel/find_selectors.h:
2288         Correct name for include guard #ifndef.
2289         * include/parallel/balanced_quicksort.h: Likewise.
2290         * include/parallel/unique_copy.h: Likewise.
2291         * include/parallel/multiway_mergesort.h: Likewise.
2292         * include/parallel/checkers.h: Likewise.
2293         * include/parallel/[various files]:
2294         Add/correct comment for #endif of include guard (at end of file)
2296 2008-07-12  Paolo Carlini  <paolo.carlini@oracle.com>
2298         * include/std/date_time: Remove, per N2549, in WP.
2299         * src/date_time.cc: Likewise.
2300         * config/abi/pre/gnu.ver: Remove <date_time> symbols.
2301         * include/Makefile.am: Remove date_time in std headers.
2302         * src/Makefile.am: Remove date_time.cc to source files.
2303         * include/Makefile.in: Regenerate.
2304         * src/Makefile.in: Likewise.
2305         * testsuite/31_date_time/headers/date_time/types_std.cc: Remove.
2306         * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
2307         * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
2308         * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
2309         * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
2310         * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
2311         * testsuite/31_date_time/system_time/requirements: Likewise.
2312         * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
2313         * testsuite/17_intro/headers/c++200x/all.cc: Adjust.
2314         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Adjust.
2316 2008-07-10  Johannes Singler  <singler@ira.uka.de>
2318         * include/parallel/balanced_quicksort.h:
2319         (qsb_divide) Replace "*end" by "*(end - 1)" in assertion.
2321 2008-07-09  Benjamin Kosnik  <bkoz@redhat.com>
2323         PR libstdc++/36451
2324         * doc/xml/manual/allocator.xml: Fix links.
2325         * doc/html/*: Regenerate.
2327 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
2329         * libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
2330         __GXX_INIT_FORCED_UNWIND_CLASS): Define for ARM EABI unwinder.
2331         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Call
2332         __GXX_INIT_FORCED_UNWIND_CLASS for forced unwind with ARM EABI
2333         unwinder.
2334         * libsupc++/eh_arm.cc (__cxa_type_match): Use
2335         __is_gxx_forced_unwind_class to check for forced unwind.
2337 2008-07-09  Andreas Beckmann  <gcc@abeckmann.de>
2339         PR libstdc++/36552
2340         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2341         null_metadata.hpp: Remove self-include.
2343 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
2345         * testsuite/20_util/make_signed/requirements/typedefs-2.cc,
2346         testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Use
2347         -Wl,--no-enum-size-warning for arm*-*-linux*eabi.
2349 2008-07-09  Johannes Singler  <singler@ira.uka.de>
2351         PR libstdc++/36729
2352         * include/parallel/random_shuffle.h:
2353         (sequential_random_shuffle) Copy data back.
2354         * testsuite/25_algorithms/random_shuffle/1.cc:
2355         New. Generic random_shuffle functionality test.
2357 2008-07-08  Chris Fairles  <chris.fairles@gmail.com>
2359         * include/std/type_traits: Add common_type.
2360         * testsuite/20_util/common_type/requirements/
2361         explicit_instantiation.cc: New.
2362         * testsuite/20_util/common_type/requirements/
2363         typedefs-1.cc: Likewise.
2365 2008-07-07  Paolo Carlini  <paolo.carlini@oracle.com>
2367         * testsuite/lib/libstdc++.exp (check_v3_target_stdint): New.
2368         * testsuite/lib/dg-options.exp (dg-require-cstdint): New.
2369         * testsuite/20_util/ratio/cons/cons1.cc: Use it.
2370         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
2371         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
2372         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
2373         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
2374         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
2375         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
2376         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
2378         * include/std/type_traits: Fix comment typo.
2380 2008-07-06  Roger Sayle  <roger@eyesopen.com>
2382         * include/std/system_error (is_error_code_enum): Use identifier
2383         _Tp instead of _T to avoid conflict with system macro on Darwin.
2384         (is_error_condition_enum): Likewise.
2386 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2388         * include/bits/postypes.h: Do not include <stdint.h>.
2390         * include/Makefile.am: Reorder.
2392 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
2394         * include/std/ratio: Prefer __INTMAX_MAX__ to INTMAX_MAX (INTMAX_MIN).
2396 2008-07-05  Chris Fairles  <chris.fairles@gmail.com>
2398         * include/std/ratio: Documentation for std::ratio class. Add conditions
2399         to ratio_less to prevent overflow.
2400         * testsuite/20_util/ratio/comparisons/comp2.cc: New.
2401         * testsuite/20_util/ratio/cons/cons_overflow.cc: Update dg-error line
2402         numbers.
2404 2008-07-04  Chris Fairles  <chris.fairles@gmail.com>
2406         * include/std/ratio: New, per N2661.
2407         * include/Makefile.am: Update.
2408         * include/Makefile.in: Regenerate.
2409         * testsuite/20_util/ratio/cons/cons1.cc: New.
2410         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
2411         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
2412         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
2413         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
2414         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
2415         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
2417 2008-07-04  Paolo Carlini  <paolo.carlini@oracle.com>
2419         PR libstdc++/36616
2420         * testsuite/22_locale/time_put/put/char/4.cc: Just use es_ES instead.
2421         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
2423 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2425         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2426         Improve check on long double limits.
2427         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2428         Likewise.
2429         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2430         stof.cc: Likewise.
2431         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2432         stod.cc: Likewise.
2434 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
2436         * libsupc++/Makefile.am: Add initializer_list to the headers.
2437         * libsupc++/Makefile.in: Regenerate.
2439         * libsupc++/initializer_list: Minor cosmetic changes.
2441 2008-07-02  Jason Merrill  <jason@redhat.com>
2443         * libsupc++/initializer_list: Uglify and wrap in
2444         __GXX_EXPERIMENTAL_CXX0X__.
2445         * include/bits/stl_map.h (insert(initializer_list)): Wrap.
2447 2008-07-02  Jason Merrill  <jason@redhat.com>
2449         * libsupc++/initializer_list: New file.
2450         * include/bits/stl_map.h (insert(initializer_list)): New method.
2452 2008-06-30  Alfred E. Heggestad  <aeh@db.org>
2454         * include/backward/backward_warning.h: Fix typo.
2456 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
2458         * src/string_conversions.cc: Remove.
2459         * config/abi/pre/gnu.ver: Delete exports.
2460         * src/Makefile.am: Update.
2461         * include/ext/string_conversions.h: Add.
2462         * include/Makefile.am: Update.
2463         * include/bits/basic_string.h: Include string_conversions.h,
2464         define numeric conversion functions.
2465         * include/ext/vstring.h: Likewise.
2466         * src/Makefile.in: Regenerate.
2467         * include/Makefile.in: Regenerate.
2469 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
2471         * include/bits/stl_algo.h (copy_n): Add in C++0x mode.
2472         * include/bits/algorithmfwd.h: Add.
2473         * include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
2474         in C++0x mode.
2475         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
2476         move_iterators/1.cc: New
2477         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
2478         * testsuite/25_algorithms/copy_n/1.cc: New.
2479         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
2480         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
2481         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
2482         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
2483         * testsuite/25_algorithms/copy_n/requirements/
2484         explicit_instantiation/2.cc: Likewise.
2485         * testsuite/25_algorithms/partition_point/requirements/
2486         explicit_instantiation/pod.cc: Likewise.
2488 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
2490         * include/bits/stl_algo.h (partition_point): Add in C++0x mode.
2491         * include/bits/algorithmfwd.h: Add.
2492         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
2493         * testsuite/25_algorithms/partition_point/1.cc: New.
2494         * testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
2495         * testsuite/25_algorithms/partition_point/requirements/
2496         explicit_instantiation/2.cc: Likewise.
2497         * testsuite/25_algorithms/partition_point/requirements/
2498         explicit_instantiation/pod.cc: Likewise.
2500 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
2502         PR libstdc++/36660
2503         * include/ext/pb_ds/detail/resize_policy/
2504         sample_resize_trigger.hpp: Remove spurious namespace end.
2506 2008-06-27  Mark Mitchell  <mark@codesourcery.com>
2508         * libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
2509         address.
2510         (__aeabi_vec_delete): Likewise.
2511         (__aeabi_vec_delete3): Likewise.
2512         (__aeabi_vec_delete3_nodtor): Likewise.
2514 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2516         * include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
2517         * include/bits/algorithmfwd.h: Add.
2518         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
2519         * testsuite/25_algorithms/is_partitioned/1.cc: New.
2520         * testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
2521         * testsuite/25_algorithms/is_partitioned/requirements/
2522         explicit_instantiation/2.cc: Likewise.
2523         * testsuite/25_algorithms/is_partitioned/requirements/
2524         explicit_instantiation/pod.cc: Likewise.
2526 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
2528         * include/bits/stl_numeric.h (iota): Add in C++0x mode.
2529         * testsuite/util/testsuite_character.h (pod_int): Add operator++
2530         in C++0x mode.
2531         * testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
2532         * testsuite/26_numerics/iota/1.cc: New.
2533         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
2534         2.cc: Likewise.
2535         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
2536         pod.cc: Likewise.
2538         * include/ext/algorithm: Do not fiddle with the legacy headers.
2540         * testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
2541         style.
2542         * testsuite/26_numerics/accumulate/1.cc: Likewise.
2543         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
2544         * testsuite/26_numerics/inner_product/1.cc: Likewise.
2546 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
2548         * include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
2549         * include/bits/algorithmfwd.h: Add.
2550         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
2551         * testsuite/25_algorithms/partition_copy/1.cc: New.
2552         * testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
2553         * testsuite/25_algorithms/partition_copy/requirements/
2554         explicit_instantiation/2.cc: Likewise.
2555         * testsuite/25_algorithms/partition_copy/requirements/
2556         explicit_instantiation/pod.cc: Likewise.
2558 2008-06-26  Chris Fairles  <chris.fairles@gmail.com>
2560         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: New.
2561         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
2562         * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc:
2563         Likewise.
2564         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
2565         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
2566         * testsuite/20_util/unique_ptr/specialized_algorithms/
2567         comparisons_array.cc: Likewise.
2568         * testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc:
2569         Likewise
2570         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
2571         Likewise.
2573 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
2575         * include/parallel/base.h (plus, multiplies): Use __typeof__,
2576         not typeof.
2578 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2580         * testsuite/29_atomics/atomic_flag/cons/default.cc: Avoid -Wall
2581         warnings.
2582         * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Likewise.
2583         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc:
2584         Likewise.
2585         * testsuite/29_atomics/headers/stdatomic.h/types.c: Likewise.
2586         * testsuite/util/testsuite_common_types.h (struct assignable,
2587         struct default_constructible, struct copy_constructible,
2588         struct explicit_value_constructible): Use a tad of simulated
2589         concept checking techniques to avoid spurious warnings.
2590         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
2591         markers.
2592         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
2594 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
2596         * include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
2597         any_of, none_of): Add in C++0x, per N2666.
2598         * include/bits/algorithmfwd.h: Update.
2599         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2600         * testsuite/25_algorithms/all_of/check_type.cc: New.
2601         * testsuite/25_algorithms/all_of/1.cc: Likewise.
2602         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
2603         2.cc: Likewise.
2604         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
2605         pod.cc: Likewise.
2606         * testsuite/25_algorithms/any_of/check_type.cc: Likewise.
2607         * testsuite/25_algorithms/any_of/1.cc: Likewise.
2608         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
2609         2.cc: Likewise.
2610         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
2611         pod.cc: Likewise.
2612         * testsuite/25_algorithms/none_of/check_type.cc: Likewise.
2613         * testsuite/25_algorithms/none_of/1.cc: Likewise.
2614         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
2615         2.cc: Likewise.
2616         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
2617         pod.cc: Likewise.
2618         * testsuite/25_algorithms/find_if_not/check_type.cc: Likewise.
2619         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
2620         * testsuite/25_algorithms/find_if_not/requirements/
2621         explicit_instantiation/2.cc: Likewise.
2622         * testsuite/25_algorithms/find_if_not/requirements/
2623         explicit_instantiation/pod.cc: Likewise.
2624         * testsuite/25_algorithms/copy_if/check_type.cc: Likewise.
2625         * testsuite/25_algorithms/remove_copy_if/check_type.cc: Likewise.
2626         * testsuite/25_algorithms/find_if/1.cc: Minor tweaks.
2628 2008-06-24  Benjamin Kosnik  <bkoz@redhat.com>
2630         * doc/xml/manual/parallel_mode.xml: Clarify use of explicit
2631         parallel algorithms.
2632         * doc/xml/manual/using.xml: Markup fixes caught by validation check.
2633         * doc/xml/manual/test.xml: Remove empty para tags.
2635         * doc/html/*: Regenerate.
2637 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
2639         * include/bits/stl_algo.h (remove_if): Cast __pred result to bool.
2640         (copy_if): Add, per N2666.
2641         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
2642         2.cc: New.
2643         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
2644         pod.cc: Likewise.
2645         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
2647 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
2648             Chalathip Thumkanon  <chalathip@gmail.com>
2650         PR libstdc++/36612
2651         * include/ext/pb_ds/exception.hpp (__throw_container_error,
2652         __throw_insert_error, __throw_join_error, __throw_resize_error):
2653         Mark inline.
2655 2008-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
2657         * include/bits/move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add,
2658         per DR 809.
2659         * include/bits/algorithmfwd.h: Add.
2660         * doc/xml/manual/intro.xml: Add an entry for DR 809.
2661         * testsuite/25_algorithms/swap/dr809.cc: New.
2663         * testsuite/25_algorithms/swap/requirements/explicit_instantiation/
2664         2.cc: Remove stray empty line.
2666 2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
2668         * include/bits/stl_move.h: Rename to move.h.
2669         * include/std/utility: Adjust.
2670         * include/ext/vstring_util.h: Likewise.
2671         * include/ext/throw_allocator.h: Likewise.
2672         * include/ext/pool_allocator.h: Likewise.
2673         * include/ext/bitmap_allocator.h: Likewise.
2674         * include/ext/new_allocator.h: Likewise.
2675         * include/ext/malloc_allocator.h: Likewise.
2676         * include/ext/array_allocator.h: Likewise.
2677         * include/ext/mt_allocator.h: Likewise.
2678         * include/bits/stl_algobase.h: Likewise.
2679         * include/bits/stl_heap.h: Likewise.
2680         * include/bits/stl_pair.h: Likewise.
2681         * include/bits/stl_iterator.h: Likewise.
2682         * testsuite/util/testsuite_allocator.h: Likewise.
2683         * testsuite/util/testsuite_iterators.h: Likewise.
2684         * include/Makefile.am: Likewise.
2685         * include/Makefile.in: Regenerate.
2687 2008-06-21  Chris Fairles  <chris.fairles@gmail.com>
2689         * include/bits/unique_ptr.h: New.
2690         * include/std/memory: Adjust.
2691         * include/Makefile.am: Add.
2692         * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
2693         explicit_instantiation.cc: New.
2694         * testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
2695         * include/Makefile.in: Regenerate.
2697 2008-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
2699         * include/c_global/climits, include/tr1/climits: Add parentheses.
2701 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2703         * configure: Regenerate.
2705 2008-06-17  Chris Fairles  <chris.fairles@gmail.com>
2707         * include/bits/stl_iterator_base_funcs.h (next, prev): Add in
2708         C++0x mode.
2709         * testsuite/24_iterators/operations/next.cc: New.
2710         * testsuite/24_iterators/operations/prev.cc: Likewise.
2712 2008-06-17  Paolo Carlini  <paolo.carlini@oracle.com>
2714         * src/string_conversions.cc (__to_xstring<>): New.
2715         (to_string, to_wstring): Use it.
2717 2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>
2719         * include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
2720         stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
2721         * src/string_conversions.cc: Add.
2722         * src/Makefile.am: Update.
2723         * config/abi/pre/gnu.ver: Adjust exports.
2724         * src/Makefile.in: Regenerate.
2725         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2726         New.
2727         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2728         Likewise.
2729         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2730         Likewise.
2731         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2732         Likewise.
2733         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2734         Likewise.
2735         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2736         Likewise.
2737         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2738         Likewise.
2739         * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
2740         Likewise.
2741         * testsuite/21_strings/basic_string/numeric_conversions/char/
2742         to_string.cc: Likewise.
2743         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2744         stod.cc: New.
2745         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2746         stof.cc: Likewise.
2747         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2748         stoi.cc: Likewise.
2749         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2750         stol.cc: Likewise.
2751         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2752         stold.cc: Likewise.
2753         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2754         stoll.cc: Likewise.
2755         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2756         stoul.cc: Likewise.
2757         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2758         stoull.cc: Likewise.
2759         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
2760         to_wstring.cc: Likewise.
2762 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2764         * include/Makefile.am: Remove trailing white space, fix typo.
2765         (parallel_headers): Remove duplicate file, sort entries.
2766         * include/Makefile.in: Regenerate.
2768 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2770         * src/condition_variable.cc (~condition_variable): Drop unused
2771         variable.
2773 2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
2775         * include/bits/stl_deque.h (deque<>::push_back(_Args&&...),
2776         deque<>::push_front(_Args&&...)): Remove.
2777         (deque<>::push_back(value_type&&),
2778         deque<>::push_front(value_type&&)): Add.
2779         (deque<>::push_back(const value_type&),
2780         deque<>::push_front(const value_type&)): Add back.
2781         (deque<>::emplace_back(_Args&&...),
2782         deque<>::emplace_front(_Args&&...)): Declare...
2783         * include/bits/deque.tcc: ... and define.
2784         * include/bits/stl_list.h (list<>::push_back(_Args&&...),
2785         list<>::push_front(_Args&&...)): Remove.
2786         (list<>::push_back(value_type&&), list<>::push_front(value_type&&),
2787         list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
2788         Add.
2789         (list<>::push_back(const value_type&),
2790         list<>::push_front(const value_type&)): Add back.
2791         * include/bits/stl_vector.h (vector<>::push_back(_Args&&...)): Remove.
2792         (vector<>::push_back(value_type&&)): Add.
2793         (vector<>::push_back(const value_type&)): Add back.
2794         (vector<>::emplace_back(_Args&&...)): Declare...
2795         * include/bits/vector.tcc: ... and define.
2796         * include/bits/stl_queue.h (queue<>::push(_Args&&...),
2797         priority_queue<>::push(_Args&&...)): Remove.
2798         (queue<>::push(value_type&&), queue<>::emplace(_Args&&...),
2799         priority_queue<>::push(value_type&&),
2800         priority_queue<>::emplace(_Args&&...)): Add.
2801         (queue<>::push(const value_type&),
2802         priority_queue<>::push(const value_type&)): Add back.
2803         * include/bits/stl_stack.h (stack<>::push(_Args&&...)): Remove.
2804         (stack<>::push(value_type&&), stack<>::emplace(_Args&&...)): Add.
2805         (stack<>::push(const value_type&)): Add back.
2806         * include/debug/deque (deque<>::push_back(_Args&&...),
2807         deque<>::push_front(_Args&&...)): Remove.
2808         (deque<>::push_back(value_type&&), deque<>::push_front(value_type&&),
2809         deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)):
2810         Add.
2811         (deque<>::push_back(const value_type&),
2812         deque<>::push_front(const value_type&)): Add back.
2813         * include/debug/list (list<>::push_back(_Args&&...),
2814         list<>::push_front(_Args&&...)): Remove.
2815         (list<>::push_back(value_type&&), list<>::push_front(value_type&&),
2816         list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
2817         Add.
2818         (list<>::push_back(const value_type&),
2819         list<>::push_front(const value_type&)): Add back.
2820         * include/debug/vector (vector<>::push_back(_Args&&...)): Remove.
2821         (vector<>::push_back(value_type&&),
2822         vector<>::emplace_back(_Args&&...)): Add.
2823         (vector<>::push_back(const value_type&)): Add back.
2824         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2825         Adjust dg-error line numbers.
2826         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2827         Likewise.
2828         * testsuite/23_containers/deque/requirements/dr438/
2829         constructor_1_neg.cc: Likewise.
2830         * testsuite/23_containers/deque/requirements/dr438/
2831         constructor_2_neg.cc: Likewise.
2832         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2833         Adjust dg-error line numbers.
2834         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2835         Likewise.
2836         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2837         Likewise.
2838         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2839         Likewise.
2840         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2841         Adjust dg-error line numbers.
2842         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2843         Likewise.
2844         * testsuite/23_containers/vector/requirements/dr438/
2845         constructor_1_neg.cc: Likewise.
2846         * testsuite/23_containers/vector/requirements/dr438/
2847         constructor_2_neg.cc: Likewise.
2849 2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
2851         * include/tr1_impl/array (array<>::assign): Do not define in
2852         C++0x mode, per DR 776...
2853         (array<>::fill): ... define instead.
2854         * doc/xml/manual/intro.xml: Add an entry for DR 776.
2855         * testsuite/23_containers/array/requirements/fill.cc: New.
2857 2008-06-12  Paolo Carlini  <paolo.carlini@oracle.com>
2859         * include/std/complex (pow(const complex<>&, int)): Do not define in
2860         C++0x mode, per DR 844.
2861         * include/tr1/complex (pow(const complex<>&, int)): Remove.
2862         * doc/xml/manual/intro.xml: Add an entry for DR 844.
2863         * testsuite/26_numerics/complex/dr844.cc: New.
2864         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Adjust.
2866 2008-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
2868         * include/tr1_impl/hashtable (_Hashtable<>::cbegin(size_type),
2869         cend(size_type)): Add per DR 691.
2870         * testsuite/23_containers/unordered_map/requirements/cliterators.cc:
2871         New.
2872         * testsuite/23_containers/unordered_multimap/requirements/
2873         cliterators.cc: Likewise.
2874         * testsuite/23_containers/unordered_set/requirements/cliterators.cc:
2875         Likewise.
2876         * testsuite/23_containers/unordered_multiset/requirements/
2877         cliterators.cc: Likewise.
2878         * doc/xml/manual/intro.xml: Add an entry for DR 691.
2880 2008-06-11  Matthias Klose  <doko@ubuntu.com>
2882         * testsuite/30_threads/lock_error, testsuite/30_threads/once_flag:
2883         Remove empty directories.
2885 2008-06-07  Joseph Myers  <joseph@codesourcery.com>
2887         * configure.host (xscale, ep9312, m680[246]0, solaris2.5,
2888         solaris2.5.[0-9], solaris2.6, windiss*): Remove.
2889         * crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove.
2890         * configure: Regenerate.
2891         * config/os/solaris/solaris2.5: Remove directory.
2892         * config/os/solaris/solaris2.6: Remove directory.
2893         * config/os/windiss: Remove directory.
2895 2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>
2897         * doc/xml/manual/using.xml: Outline exception topics.
2899         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
2900         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
2901         policy_access_fn_imps.hpp: Same.
2902         * include/ext/pb_ds/priority_queue.hpp: Same.
2903         * include/ext/throw_allocator.h: Same.
2905         * include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
2906         (sequence_tag): New tag. Doxygen markup fixes.
2908         * testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.
2910         * testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
2911         comment typo, include paths, format.
2912         * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
2913         * testsuite/performance/ext/pb_ds/
2914         hash_random_int_erase_mem_usage.cc: Same.
2915         * testsuite/performance/ext/pb_ds/
2916         random_int_subscript_find_timing.cc: Same.
2917         * testsuite/performance/ext/pb_ds/
2918         priority_queue_text_push_timing.cc: Same.
2919         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
2920         * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
2921         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
2922         * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
2923         * testsuite/performance/ext/pb_ds/
2924         priority_queue_random_int_push_timing.cc: Same.
2925         * testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
2926         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
2927         * testsuite/performance/ext/pb_ds/
2928         priority_queue_text_push_pop_timing.cc: Same.
2929         * testsuite/performance/ext/pb_ds/
2930         priority_queue_text_join_timing.cc: Same.
2931         * testsuite/performance/ext/pb_ds/
2932         priority_queue_random_int_push_pop_timing.cc: Same.
2933         * testsuite/performance/ext/pb_ds/
2934         random_int_subscript_insert_timing.cc: Same.
2935         * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
2936         * testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
2937         * testsuite/performance/ext/pb_ds/
2938         priority_queue_text_pop_mem_usage.cc: Same.
2939         * testsuite/performance/ext/pb_ds/
2940         hash_zlob_random_int_find_timing.cc: Same.
2941         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
2942         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
2943         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
2944         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
2945         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
2946         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
2947         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
2948         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
2949         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
2950         * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
2951         * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
2952         * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
2953         * testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
2954         * testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
2955         * testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
2956         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
2957         * testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
2958         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
2959         * testsuite/util/regression/trait/assoc/to_string.hpp: Same.
2960         * testsuite/util/regression/basic_type.hpp: Same.
2961         * testsuite/util/common_type/priority_queue/string_form.hpp: Same.
2962         * testsuite/util/common_type/priority_queue/detail/
2963         ds_string_form.hpp: Same.
2964         * testsuite/util/common_type/assoc/string_form.hpp: Same.
2965         * testsuite/util/common_type/assoc/detail/
2966         resize_policy_string_form.hpp: Same.
2967         * testsuite/util/common_type/assoc/detail/
2968         trigger_policy_string_form.hpp: Same.
2969         * testsuite/util/common_type/assoc/detail/
2970         comb_hash_fn_string_form.hpp: Same.
2971         * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
2972         * testsuite/util/common_type/assoc/detail/
2973         size_policy_string_form.hpp: Same.
2974         * testsuite/util/common_type/assoc/detail/
2975         probe_fn_string_form.hpp: Same.
2976         * testsuite/util/common_type/assoc/detail/
2977         list_update_policy_string_form.hpp: Same.
2978         * testsuite/util/common_type/assoc/detail/
2979         store_hash_string_form.hpp: Same.
2980         * testsuite/util/common_type/assoc/native_set.hpp: Same.
2981         * testsuite/util/io/prog_bar.cc: Same.
2983         * testsuite/util/regression/rand/io: Remove.
2984         * testsuite/util/regression/rand/io/priority_queue: Same.
2985         * testsuite/util/regression/rand/io/assoc: Same.
2986         * testsuite/util/regression/rand/io/priority_queue/
2987         xml_formatter.hpp: Consolidate this...
2988         * testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
2989         * testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
2990         * testsuite/util/regression/rand/xml_formatter.hpp: ...here.
2992         * testsuite/util/regression/rand/priority_queue/
2993         container_rand_regression_test.hpp:To ...
2994         container_rand_regression_test.h: ... this.
2995         * testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
2996         * testsuite/util/regression/rand/priority_queue/
2997         container_rand_regression_test.tcc: ... this.
2998         PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
2999         PB_DS_SET_DESTRUCT_PRINT: Fold inline.
3000         PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
3001         * testsuite/util/regression/rand/priority_queue/
3002         rand_regression_test.hpp: Adjust includes.
3004         * testsuite/util/regression/rand/assoc/
3005         container_rand_regression_test.hpp: To ...
3006         * testsuite/util/regression/rand/assoc/
3007         container_rand_regression_test.h: ... this.
3008         * testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
3009         * testsuite/util/regression/rand/assoc/
3010         container_rand_regression_test.tcc: ...this.
3011         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
3012         includes.
3014         * testsuite/util/regression/priority_queue: Remove.
3015         * testsuite/util/regression/assoc: Remove.
3016         * testsuite/util/regression/priority_queue/
3017         common_type.hpp: Consolidate this...
3018         * testsuite/util/regression/assoc/common_type.hpp: ... and this
3019         * testsuite/util/regression/common_type.hpp: ...here.
3021         * testsuite/util/rng: Remove.
3022         * testsuite/util/rng/twister_rand_gen.cc: Consolidate...
3023         * testsuite/util/rng/twister_rand_gen.hpp: ... and this
3024         * testsuite/util/testsuite_rng.h: ...here.
3026         * testsuite/util/native_type/priority_queue: Remove.
3027         * testsuite/util/native_type/priority_queue/
3028         native_priority_queue.hpp: To...
3029         * testsuite/util/native_type/native_priority_queue.hpp: ...here.
3031         * testsuite/util/native_type/assoc: Remove.
3032         * testsuite/util/native_type/assoc/native_multimap.hpp: To...
3033         * testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
3034         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
3035         * testsuite/util/native_type/assoc/native_set.hpp: To...
3036         * testsuite/util/native_type/assoc/native_map.hpp: To...
3037         * testsuite/util/native_type/assoc/native_hash_set.hpp: To...
3038         * testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
3039         * testsuite/util/native_type/assoc/native_hash_map.hpp: To...
3040         * testsuite/util/native_type/native_multimap.hpp: ...here.
3041         * testsuite/util/native_type/native_tree_tag.hpp: ...here.
3042         * testsuite/util/native_type/native_hash_multimap.hpp: ...here.
3043         * testsuite/util/native_type/native_set.hpp: ...here.
3044         * testsuite/util/native_type/native_map.hpp: ...here.
3045         * testsuite/util/native_type/native_hash_set.hpp: ...here.
3046         * testsuite/util/native_type/native_hash_tag.hpp: ...here.
3047         * testsuite/util/native_type/native_hash_map.hpp: ...here.
3049         * testsuite/util/common_type/priority_queue/common_type.hpp:
3050         Make include guard distinct.
3051         * testsuite/util/common_type/assoc/common_type.hpp: Same.
3053 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
3055         * configure.ac: Do not check for gconv.h.
3056         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Do not test for gconv.h or
3057         gconf.h.  For glibc and uClibc systems, define
3058         _GLIBCXX_USE_RANDOM_TR1 and HAVE_MMAP and use AC_LC_MESSAGES and
3059         AM_ICONV.
3060         * configure, config.h.in: Regenerate.
3062 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
3064         * testsuite/17_intro/headers/all.cc,
3065         testsuite/17_intro/headers/all_c++200x_compatibility.cc,
3066         testsuite/17_intro/headers/all_pedantic_errors.cc,
3067         testsuite/ext/headers.cc: Only include
3068         <ext/codecvt_specializations.h> and <ext/enc_filebuf.h> if
3069         _GLIBCXX_HAVE_ICONV.
3071 2008-06-05  Johannes Singler  <singler@ira.uka.de>
3073         * include/parallel/random_shuffle.h:
3074         (parallel_random_shuffle_drs) Get the actual number of
3075         threads after entering the parallel region. Indentation.
3076         * include/parallel/algo.h: (random_shuffle(begin, end))
3077         Add namespace qualification to avoid ambiguity.
3079 2008-06-04  Benjamin Kosnik  <bkoz@redhat.com>
3081         * include/ext/pb_ds/assoc_container.hpp: Change allocator typedef
3082         to allocator_type, as per existing conventions.
3083         * include/ext/pb_ds/detail/binomial_heap_base_/
3084         binomial_heap_base_.hpp: Same.
3085         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
3086         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
3087         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
3088         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
3089         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
3090         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
3091         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
3092         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
3093         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3094         left_child_next_sibling_heap_.hpp: Same.
3095         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
3096         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
3097         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
3098         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
3099         * include/ext/pb_ds/detail/rc_binomial_heap_/
3100         rc_binomial_heap_.hpp: Same.
3101         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
3102         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
3103         * include/ext/pb_ds/list_update_policy.hpp: Same.
3104         * include/ext/pb_ds/exception.hpp: Same.
3105         * include/ext/pb_ds/tree_policy.hpp: Same.
3106         * include/ext/pb_ds/trie_policy.hpp: Same.
3107         * include/ext/pb_ds/priority_queue.hpp: Same.
3108         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
3109         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
3110         * testsuite/util/regression/rand/priority_queue/detail/
3111         defs_fn_imps.hpp: Same.
3112         * testsuite/util/regression/rand/priority_queue/detail/
3113         operator_fn_imps.hpp: Same.
3114         * testsuite/util/regression/rand/priority_queue/
3115         container_rand_regression_test.hpp: Same.
3116         * testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
3117         * testsuite/util/regression/rand/assoc/detail/
3118         operator_fn_imps.hpp: Same.
3119         * testsuite/util/regression/rand/assoc/
3120         container_rand_regression_test.hpp: Same.
3121         * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
3122         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
3123         * testsuite/util/common_type/assoc/detail/
3124         tree_supports_order_statistics.hpp: Same.
3125         * testsuite/util/common_type/assoc/detail/
3126         trie_supports_prefix_search.hpp: Same.
3127         * testsuite/util/common_type/assoc/detail/
3128         trie_supports_order_statistics.hpp: Same.
3130 2008-06-02  Sandra Loosemore  <sandra@codesourcery.com>
3131             Daniel Jacobowitz  <dan@codesourcery.com>
3133         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Use
3134         dg-require-fileio.
3135         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
3136         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
3138 2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>
3140         * include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
3141         avoid a memory leak if the first __uninitialized_move_a throws.
3142         (vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
3143         to _M_insert_aux.
3144         * testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
3145         * testsuite/23_containers/vector/resize/moveable.cc: Likewise.
3147 2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
3148             Chris Jefferson  <chris@bubblescope.net>
3150         PR libstdc++/36338
3151         * include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
3152         (pop_heap): Slightly tweak.
3154 2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>
3156         * include/debug/bitset (bitset(const char*)): Implement DR 778
3157         in debug-mode too.
3159         * include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
3160         deal with char16_t and char32_t.
3162 2008-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
3164         * include/c_global/cmath (pow(float, int), pow(double, int),
3165         pow(long double, int)): Do not define in C++0x mode, per DR 550.
3166         * include/tr1_impl/cmath (pow): Do not bring in unconditionally
3167         from namespace std.
3168         * include/tr1/cmath (pow(double, double), pow(float, float),
3169         pow(long double, long double), pow(_Tp, _Up)): Define.
3170         * include/tr1/complex (pow): Do not bring in from namespace std.
3171         (pow(const std::complex<_Tp>&, int), pow(const std::complex<_Tp>&,
3172         const _Tp&), pow(const _Tp&, const std::complex<_Tp>&),
3173         pow(const std::complex<_Tp>&, const std::complex<_Tp>&)): Define.
3174         * include/tr1_impl/complex (pow(const std::complex<_Tp>&,
3175         const _Up&), pow(const _Tp&, const std::complex<_Up>&),
3176         pow(const std::complex<_Tp>&, const std::complex<_Up>&)): Always
3177         define.
3178         * doc/xml/manual/intro.xml: Add an entry for DR 550.
3179         * testsuite/26_numerics/headers/cmath/dr550.cc: New.
3180         * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Adjust.
3182 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3184         * include/std/tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
3185         * include/std/date_time: Likewise.
3186         * include/std/system_error: Likewise.
3187         * include/std/type_traits: Likewise; fix typo in macro name.
3188         * include/std/regex: Likewise.
3189         * include/std/random: Likewise.
3190         * include/std/unordered_map: Likewise.
3191         * include/std/condition_variable: Likewise.
3192         * include/std/unordered_set: Likewise.
3193         * include/std/mutex: Likewise.
3194         * include/std/array: Likewise.
3196         * include/c_std/cmath: Fix obsolete comment.
3197         * include/c_global/cmath: Likewise.
3199 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3201         * include/std/complex (complex<>::real(_Tp), complex<>::imag(_Tp),
3202         complex<float>::real(float), complex<float>::imag(float),
3203         complex<double>::real(double), complex<double>::imag(double),
3204         complex<long double>::real(long double),
3205         complex<long double>::imag(long double)): Add per DR 387.
3206         (complex<>::real(), complex<>::imag(), complex<float>::real(),
3207         complex<float>::imag(), complex<double>::real(),
3208         complex<double>::imag(), complex<long double>::real(),
3209         complex<long double>::imag(long double)): Adjust in C++0x mode.
3210         (real(complex<>&), imag(complex<>&), real(const complex<>&),
3211         imag(const complex<>&)): Likewise.
3212         * testsuite/26_numerics/complex/dr387.cc: New.
3213         * doc/xml/manual/intro.xml: Add an entry for DR 387.
3215 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
3217         * include/std/complex: Trivial stylistic changes, define inline
3218         members inline, consistently with the rest of the library.
3219         (pow(const _Tp&, const complex<>&)): Minor tweak.
3221 2008-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
3223         * src/atomic.cc (atomic_flag_test_and_set_explicit,
3224         atomic_flag_clear_explicit): Suppress unused parameter warnings.
3226 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
3228         * include/std/tuple: Replace int -> size_t throughout per DR 775.
3229         * include/tr1_impl/array: Likewise.
3230         * include/tr1_impl/utility: Likewise.
3231         * doc/xml/manual/intro.xml: Add an entry for DR 775.
3233 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
3235         * doc/xml/manual/intro.xml: Adjust links to ISO documents.
3237 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
3239         * include/c_std/cmath (fpclassify): Use __builtin_fpclassify.
3240         * include/c_global/cmath (fpclassify): Likewise.
3242 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
3244         * include/tr1_impl/hashtable_policy.h (_Map_base<,,
3245         std::_Select1st<_Pair>, true,>::at): Add per DR 761.
3246         * testsuite/23_containers/unordered_map/dr761.cc: New.
3247         * doc/xml/manual/intro.xml: Add an entry for DR 761.
3249 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
3251         * testsuite/26_numerics/complex/dr781.cc: Add test variable.
3253 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
3255         * include/std/complex (proj(const std::complex<>&), proj(_Tp)):
3256         Add per DR 781.
3257         * include/tr1_impl/complex(polar(const _Tp&, const _Up&)): Move to...
3258         * include/tr1/complex: ... here.
3259         * doc/xml/manual/intro.xml: Add an entry for DR 781.
3260         * testsuite/26_numerics/complex/dr781.cc: Add.
3261         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Update.
3262         * configure: Regenerate.
3264 2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
3266         * include/std/bitset (bitset<>::bitset(const char*)): Add per DR 778.
3267         (bitset<>::_M_copy_from_ptr): Add.
3268         (bitset<>::_M_copy_from_string): Forward to the latter.
3269         * doc/xml/manual/intro.xml: Add an entry for DR 778.
3270         * testsuite/23_containers/bitset/cons/2.cc: Add.
3272 2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
3274         * doc/html/ext/lwg-active.html: Update to Revision R56.
3275         * doc/html/ext/lwg-closed.html: Likewise.
3276         * doc/html/ext/lwg-defects.html: Likewise.
3278 2008-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
3280         PR c++/33979 (partial)
3281         * include/tr1_impl/functional_hash.h (hash<char16_t>,
3282         hash<char32_t>): Add specializations.
3283         * include/tr1_impl/type_traits (is_integral<char16_t>,
3284         is_integral<char32_t>): Likewise.
3285         * include/std/limits (numeric_limits<char16_t>,
3286         numeric_limits<char32_t>): Likewise.
3287         * src/limits_c++0x.cc: Add.
3288         * src/Makefile.am: Update.
3289         * testsuite/20_util/hash/requirements/explicit_instantiation.cc:
3290         Update.
3291         * testsuite/20_util/is_integral/value.cc: New.
3292         * testsuite/20_util/is_integral/requirements/typedefs.cc: Likewise.
3293         * testsuite/20_util/is_integral/requirements/
3294         explicit_instantiation.cc: Likewise.
3295         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
3296         * config/abi/pre/gnu.ver: Export new numeric_limits symbols at
3297         GLIBCXX_3.4.11.
3298         * configure: Regenerate.
3299         * src/Makefile.in: Likewise.
3300         * config.h.in: Likewise.
3302 2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>
3304         * include/std/system_error: Align to current draft specifications.
3305         * src/system_error.cc: Same.
3306         * src/functexcept.cc: Adjust for corrected system_error construction.
3307         * include/std/ostream: Adjust error_code inserter.
3308         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
3309         * config/abi/pre/gnu.ver: Add new exports.
3311         * testsuite/util/testsuite_error.h: Consolidate error testing
3312         utilities here.
3313         * testsuite/19_diagnostics/error_code/cons/1.cc: Use
3314         testsuite_error, adjust line numbers and constructor calls.
3315         * testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
3316         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
3317         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
3318         * testsuite/19_diagnostics/error_category/cons/default.cc: Same.
3319         * testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
3320         * testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
3321         * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
3322         Same.
3323         * testsuite/19_diagnostics/system_error/cons-1.cc: Same.
3324         * testsuite/19_diagnostics/system_error/what-1.cc: Same.
3325         * testsuite/19_diagnostics/system_error/what-2.cc: Same.
3326         * testsuite/19_diagnostics/system_error/what-big.cc: Same.
3327         * testsuite/19_diagnostics/system_error/what-3.cc: Same.
3328         * testsuite/19_diagnostics/system_error/what-4.cc: Same.
3330 2008-05-15  Bernd Schmidt  <bernd.schmidt@analog.com>
3332         * configure.ac: Don't check AC_LIBTOOL_DLOPEN if using newlib.
3333         * configure: Regenerate.
3335 2008-05-15  Johannes Singler  <singler@ira.uka.de>
3337         * xml/manual/parallel_mode.xml:
3338         General revision and documentation of new compile-time
3339         options for sorting.
3341 2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>
3343         * include/std/mutex (mutex::try_lock): Eat errors.
3344         (mutex::unlock): Same.
3345         (recursive_mutex::try_lock): Eat errors.
3346         (recursive_mutex::unlock): Same.
3347         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Add
3348         -pthreads, adjust line numbers.
3349         * testsuite/30_threads/mutex/native_handle/1.cc: Same.
3350         * testsuite/30_threads/mutex/cons/1.cc: Same.
3351         * testsuite/30_threads/mutex/try_lock/1.cc: Same.
3352         * testsuite/30_threads/mutex/try_lock/2.cc: Same.
3353         * testsuite/30_threads/mutex/lock/1.cc: Same.
3354         * testsuite/30_threads/mutex/unlock/1.cc: Same.
3355         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Same.
3356         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Same.
3357         * testsuite/30_threads/recursive_mutex/cons/1.cc: Same.
3359 2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>
3361         * include/std/sstream: Adjust braces.
3362         * include/bits/fstream.tcc: Same.
3363         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Add
3364         -shared-libgcc.
3365         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
3367         * doc/doxygen/user.cfg.in: Remove thread include.
3369 2008-05-13  David Daney  <ddaney@avtrex.com>
3371         * config/cpu/mips/atomicity.h: Remove file.
3372         * config/cpu/mips: Remove directory.
3373         * configure.host: Remove host specific handling for mips*-*-*.
3375 2008-05-12  Stefano Soffia  <soffia@cs.unipr.it>
3376             Paolo Carlini  <paolo.carlini@oracle.com>
3378         * include/debug/vector (vector<>::_M_requires_reallocation): Just
3379         use this->capacity().
3380         (vector<>::capacity): Move non-pedantic / pedantic logic here.
3381         * testsuite/23_containers/vector/
3382         debug_mode_requires_reallocation-2.cc: New.
3384         * testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
3385         Rename to debug_mode_requires_reallocation-1.cc
3387 2008-05-10  Roberto Bagnara  <bagnara@cs.unipr.it>
3388             Paolo Carlini  <paolo.carlini@oracle.com>
3390         * include/debug/vector (vector<>::_M_requires_reallocation): Fix macro.
3391         * testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
3392         New.
3394 2008-05-07  Johannes Singler  <singler@ira.uka.de>
3396         * include/parallel/quicksort.h:
3397         (parallel_sort_qs_conquer) Explicitly request number of threads
3398         in the parallel clause.
3399         (parallel_sort_qs) Remove setting the number of threads globally.
3401 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
3403         * include/std/mutex (mutex::mutex): Fix usage of initializing macro.
3404         (recursive_mutex::recursive_mutex): Same.
3405         (once_flag::once_flag): Same.
3406         * testsuite/30_threads/mutex/cons/assign_neg.cc: Fix line numbers.
3407         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
3408         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
3409         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
3411 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
3413         * include/std/condition_variable: New.
3414         * include/std/mutex: New.
3415         * src/condition_variable.cc: New.
3416         * src/mutex.cc: New.
3417         * include/bits/functexcept.h: Add __throw_system_error varients.
3418         * src/functexcept.cc: Same.
3419         * config/abi/pre/gnu.ver: Add exports.
3421         * doc/xml/manual/using.xml: Add new includes.
3422         * doc/doxygen/user.cfg.in: Doxygen support.
3423         * doc/doxygen/doxygroups.cc: Same.
3425         * include/Makefile.am: Add mutex, condition_variable.
3426         * include/Makefile.in: Regenerated.
3427         * src/Makefile.am: Add mutex.cc, condition_variable.cc.
3428         * src/Makefile.in: Regenerated.
3430         * testsuite/30_threads: New.
3431         * testsuite/30_threads/lock_error: New.
3432         * testsuite/30_threads/mutex: New.
3433         * testsuite/30_threads/mutex/dest: New.
3434         * testsuite/30_threads/mutex/dest/destructor_locked.cc: New.
3435         * testsuite/30_threads/mutex/native_handle: New.
3436         * testsuite/30_threads/mutex/native_handle/1.cc: New.
3437         * testsuite/30_threads/mutex/cons: New.
3438         * testsuite/30_threads/mutex/cons/assign_neg.cc: New.
3439         * testsuite/30_threads/mutex/cons/1.cc: New.
3440         * testsuite/30_threads/mutex/cons/copy_neg.cc: New.
3441         * testsuite/30_threads/mutex/requirements: New.
3442         * testsuite/30_threads/mutex/requirements/typedefs.cc: New.
3443         * testsuite/30_threads/mutex/try_lock: New.
3444         * testsuite/30_threads/mutex/try_lock/1.cc: New.
3445         * testsuite/30_threads/mutex/try_lock/2.cc: New.
3446         * testsuite/30_threads/mutex/lock: New.
3447         * testsuite/30_threads/mutex/lock/1.cc: New.
3448         * testsuite/30_threads/mutex/unlock: New.
3449         * testsuite/30_threads/mutex/unlock/1.cc: New.
3450         * testsuite/30_threads/recursive_mutex: New.
3451         * testsuite/30_threads/recursive_mutex/dest: New.
3452         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: New.
3453         * testsuite/30_threads/recursive_mutex/native_handle: New.
3454         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: New.
3455         * testsuite/30_threads/recursive_mutex/cons: New.
3456         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: New.
3457         * testsuite/30_threads/recursive_mutex/cons/1.cc: New.
3458         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: New.
3459         * testsuite/30_threads/recursive_mutex/requirements: New.
3460         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc: New.
3461         * testsuite/30_threads/lock_guard: New.
3462         * testsuite/30_threads/lock_guard/requirements: New.
3463         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: New.
3464         * testsuite/30_threads/lock_guard/requirements/
3465         explicit_instantiation.cc: New.
3466         * testsuite/30_threads/headers: New.
3467         * testsuite/30_threads/headers/mutex: New.
3468         * testsuite/30_threads/headers/mutex/types_std_c++0x.cc: New.
3469         * testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: New.
3470         * testsuite/30_threads/headers/condition_variable: New.
3471         * testsuite/30_threads/headers/condition_variable/
3472         types_std_c++0x.cc: New.
3473         * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: New.
3474         * testsuite/30_threads/once_flag: New.
3475         * testsuite/30_threads/unique_lock: New.
3476         * testsuite/30_threads/unique_lock/requirements: New.
3477         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: New.
3478         * testsuite/30_threads/unique_lock/requirements/
3479         explicit_instantiation.cc: New.
3480         * testsuite/17_intro/headers/c++200x/all.cc: Add new includes.
3482 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
3484         PR libstdc++/36130
3485         * include/bits/c++config: Namespace macros and setup only in C++.
3486         * testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: New.
3488 2008-05-06  Johannes Singler  <singler@ira.uka.de>
3490         * include/parallel/multiway_merge.h:
3491           (multiway_merge_*_unguarded):
3492           Pass sentinel directly, to allow correct determination.
3493           (multiway_merge_loser_tree_unguarded):
3494           Remove over-cautious assertion.
3495           (calls to multiway_merge_*_splitting):
3496           Parametrize with type that is correct in all cases.
3497         * include/parallel/losertree.h:
3498           (delete_min_insert (in many classes)):
3499           Correct and standardize assertions.
3501 2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>
3503         * testsuite/util/testsuite_visualization.h: Move contents into...
3504         * testsuite/util/testsuite_performance.h: ...here.
3505         * testsuite/util/testsuite_common_types.h: Move
3506         performance-related test infrastructure into
3507         testsuite_performance.
3508         * testsuite/performance/25_algorithms/search_n.cc: Fix includes.
3509         * testsuite/performance/23_containers/find/map.cc: Same.
3510         * testsuite/performance/23_containers/create/map.cc: Same.
3511         * testsuite/performance/23_containers/insert_erase/associative.cc: Same.
3512         * testsuite/performance/23_containers/insert/sequence.cc: Same.
3513         * testsuite/performance/23_containers/insert/associative.cc: Same.
3514         * testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
3515         * testsuite/performance/23_containers/index/map.cc: Same.
3516         * testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
3517         * testsuite/performance/23_containers/create_sort/list.cc: Same.
3518         * testsuite/performance/23_containers/sort_search/list.cc: Same.
3519         * testsuite/performance/23_containers/producer_consumer/sequence.cc:
3520         Same.
3521         * testsuite/performance/23_containers/producer_consumer/associative.cc:
3522         Same.
3524         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
3525         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
3527 2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>
3529         * 20_util/make_signed/requirements/typedefs-1.cc: Correct requirements.
3530         * 20_util/make_unsigned/requirements/typedefs-1.cc: Same.
3532 2008-05-01  Benjamin Kosnik  <bkoz@redhat.com>
3534         * include/bits/c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.
3536 2008-04-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3538         * include/Makefile.am (install-headers): Cope with empty
3539         parallel_headers.
3540         * include/Makefile.in: Regenerate.
3542 2008-04-29  Benjamin Kosnik  <bkoz@redhat.com>
3544         * include/bits/c++config: Remove space between '#' and 'undef' for
3545         _GLIBCXX_LONG_DOUBLE_COMPAT.
3547 2008-04-29  Joseph Myers  <joseph@codesourcery.com>
3549         * Makefile.am (install-html, install-pdf): Add dummy targets.
3550         * Makefile.in: Regenerate.
3551         * doc/Makefile.am (install-html, install-pdf): Remove.
3552         * doc/Makefile.in: Regenerate.
3554 2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
3556         * include/bits/c++config: Move os_defines and cpu_defines after
3557         namespace definitions and base macros.
3559 2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
3561         PR libstdc++/35887
3562         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just
3563         checking for omp.h.
3564         * configure: Regenerate.
3566 2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
3568         PR libstdc++/35922
3569         * include/std/unordered_map: Include debug/unordered_map if
3570         _GLIBCXX_DEBUG.
3571         * testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
3572         * testsuite/23_containers/unordered_map/requirements/
3573         debug_container.cc: ...here.
3574         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
3575         * testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
3576         * testsuite/23_containers/unordered_set/requirements/
3577         debug_container.cc: ...here.
3578         * testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.
3580 2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
3582         PR libstdc++/35887
3583         * acinclude.m4: (GLIBCXX_ENABLE_PARALLEL): Check for thread support.
3584         * configure.ac: Re-order compiler macros.
3585         * configure: Regenerated.
3587 2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>
3589         PR libstdc++/35887
3590         * configure.ac: Add default argument to GLIBCXX_ENABLE_PARALLEL.
3591         Move atomic warnings to GLIBCXX_ENABLE_ATOMIC_BUILTINS.
3592         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Check for --disable-libgomp.
3593         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Add warning information.
3594         * configure: Regenerate.
3595         * include/Makefile.am (parallel_headers): Make conditional on
3596         ENABLE_PARALLEL.
3597         * include/Makefile.in: Regenerate.
3599 2008-04-24  Paolo Carlini  <pcarlini@suse.de>
3601         PR libstdc++/35969
3602         * include/debug/list (merge): Use _M_transfer_iter, consistently
3603         with the splice members.
3604         * testsuite/23_containers/list/operations/35969.cc: New.
3606         * testsuite/23_containers/list/operators: Rename to
3607         testsuite/23_containers/list/operations.
3609 2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>
3611         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
3612         all used __sync builtins, in two sizes.
3613         * config.h.in: Regenerate.
3614         * configure: Regenerate.
3615         * src/atomic.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_1.
3616         * include/ext/atomicity.h: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
3617         * libsupc++/guard.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
3618         * doc/xml/manual/concurrency.xm: Update docs.
3620 2008-04-23  Benjamin Kosnik  <bkoz@redhat.com>
3622         * config/os/hpux/os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE,
3623         _GLIBCXX_BEGIN_EXTERN_C, etc.
3625 2008-04-23  Johannes Singler  <singler@ira.uka.de>
3627         * include/parallel/quicksort.h: Reformat,
3628         (parallel_sort_qs): Do not pass number of elements.
3629         * include/parallel/balanced_quicksort.h: Reformat,
3630         (parallel_sort_qsb): Do not pass number of elements.
3631         * include/parallel/tags.h:
3632         Introduce new tags for compile-time choice.
3633         * include/parallel/merge.h:
3634         (parallel_merge_advance):Beautified.
3635         * include/parallel/algo.h: Reformatting (spaces for tabs)
3636         New sort and stable_sort variants, corresponding to the tags.
3637         * include/parallel/sort.h:
3638         New sort and stable_sort variants, corresponding to the tags.
3639         Changed determining the desired number of threads.
3641 2008-04-23  Johannes Singler  <singler@ira.uka.de>
3643         * include/parallel/multiway_merge.h
3644         (multiway_merge_loser_tree):
3645         Leave checks to callers, add precondition instead.
3646         (multiway_merge_loser_tree_unguarded): Likewise.
3647         (multiway_merge_loser_tree_sentinel): Likewise.
3648         (sequential_multiway_merge): Added checks for total length 0.
3649         (parallel_multiway_merge): Skip empty sequences.
3650         (multiway_merge, all variants):
3651         Remove temporary variable, return directly.
3652         (stable_multiway_merge, all variants): Likewise.
3653         (multiway_merge_sentinels, all variants):  Likewise.
3654         (stable_multiway_merge_sentinels, all variants): Likewise.
3655         * include/parallel/multiseq_selection.h
3656         (multiseq_partition): More detailed assertions.
3658 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3660         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT, GLIBCXX_ENABLE_C99)
3661         (GLIBCXX_CHECK_C99_TR1, GLIBCXX_CHECK_RANDOM_TR1)
3662         (GLIBCXX_ENABLE_VISIBILITY): Fix cache variable names.
3663         (GLIBCXX_CHECK_SYSTEM_ERROR): Likewise.  Factorize.
3664         * configure: Regenerate.
3666 2008-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3668         PR libstdc++/35954
3669         * include/Makefile.am (pch*_output): Do not touch pch*_output_anchor.
3670         Call 'mkdir -p' unconditionally, but ignore its return value.
3671         * include/Makefile.in: Regenerate.
3673         * include/Makefile.am: Fix most stamp rules to regenerate
3674         the links for all sources newer than the stamp file.
3675         * include/Makefile.in: Regenerate.
3676         * Makefile.in: Likewise.
3677         * src/Makefile.in: Likewise.
3678         * doc/Makefile.in: Likewise.
3679         * po/Makefile.in: Likewise.
3680         * libmath/Makefile.in: Likewise.
3681         * libsupc++/Makefile.in: Likewise.
3682         * testsuite/Makefile.in: Likewise.
3684 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
3686         PR bootstrap/35457
3687         * aclocal.m4: Regenerate.
3688         * configure: Regenerate.
3690 2008-04-16  Andreas Tobler  <a.tobler@schweiz.org>
3692         PR libstdc++/35915
3693         * configure.ac: Use GCC_HEADER_STDINT.
3694         * src/atomic.cc: Include gstdint.h
3695         * configure: Regenerate.
3696         * Makefile.in: Likewise.
3697         * doc/Makefile.in: Likewise.
3698         * include/Makefile.in: Likewise.
3699         * libmath/Makefile.in: Likewise.
3700         * libsupc++/Makefile.in: Likewise.
3701         * po/Makefile.in: Likewise.
3702         * src/Makefile.in: Likewise.
3703         * testsuite/Makefile.in: Likewise.
3704         * aclocal.m4: Likewise.
3706 2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>
3708         PR libstdc++/35816
3709         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Set CXXFLAGS to
3710         -O0 when checking for atomic builtins.
3711         * configure: Regenerate.
3713 2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>
3715         * include/bits/c++config: Guard _LDBL_ macros with __cplusplus.
3717 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
3719         * doc/html/*: Regenerate.
3721 2008-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3723         * doc/xml/manual/bitmap_allocator.xml: Improve wording a bit.
3724         * doc/xml/authors.xml: Fix typos.
3725         * doc/xml/faq.xml: Likewise.
3726         * doc/xml/manual/abi.xml: Likewise.
3727         * doc/xml/manual/allocator.xml: Likewise.
3728         * doc/xml/manual/appendix_contributing.xml: Likewise.
3729         * doc/xml/manual/backwards_compatibility.xml: Likewise.
3730         * doc/xml/manual/build_hacking.xml: Likewise.
3731         * doc/xml/manual/codecvt.xml: Likewise.
3732         * doc/xml/manual/concurrency.xml: Likewise.
3733         * doc/xml/manual/ctype.xml: Likewise.
3734         * doc/xml/manual/debug_mode.xml: Likewise.
3735         * doc/xml/manual/diagnostics.xml: Likewise.
3736         * doc/xml/manual/evolution.xml: Likewise.
3737         * doc/xml/manual/extensions.xml: Likewise.
3738         * doc/xml/manual/locale.xml: Likewise.
3739         * doc/xml/manual/messages.xml: Likewise.
3740         * doc/xml/manual/parallel_mode.xml: Likewise.
3741         * doc/xml/manual/status_cxx200x.xml: Likewise.
3742         * doc/xml/manual/strings.xml: Likewise.
3743         * doc/xml/manual/support.xml: Likewise.
3744         * doc/xml/manual/test.xml: Likewise.
3745         * doc/xml/manual/using.xml: Likewise.
3747 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
3748             Johannes Singler  <singler@ira.uka.de>
3750         * doc/xml/manual/parallel_mode.xml: Remove map/set bulk
3751         insertors. Correct omp_set_num_threads example.
3753 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
3755         * include/c_global/cstdatomic: C++ types only, format, doxygen markup.
3756         * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup.
3757         * src/atomic.c: Format, doxygen markup, edits.
3759         * include/Makefile.am (cstdatomic, stdatomic.h): Add.
3760         * src/Makefile.am (atomic.c): Add.
3761         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New.
3762         * configure.ac: Call it.
3763         * include/Makefile.in: Regenerate.
3764         * src/Makefile.in: Same.
3765         * Makefile.in: Same.
3766         * doc/Makefile.in: Same.
3767         * po/Makefile.in: Same.
3768         * libmath/Makefile.in: Same.
3769         * include/Makefile.in: Same.
3770         * testsuite/Makefile.in: Same.
3771         * libsupc++/Makefile.in: Same.
3772         * config.h.in: Same.
3773         * configure: Same.
3775         * config/abi/pre/gnu.ver: Add atomics exports.
3777         * include/ext/typelist.h (apply_generator): New.
3778         * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New.
3779         (_GLIBCXX_END_EXTERN_C): New.
3780         Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when
3781         compiling as C.
3782         * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L
3783         flag for libstdc++.
3784         * testsuite/util/testsuite_common_types.h (integral_types): New
3785         typelist.
3786         (atomics, atomics_tl): Same.
3787         (assignable, default_constructible, copy_constructible,
3788         explicit_value_constructible): New.
3789         * testsuite/17_intro/headers/c++200x/all.cc: Test new headers.
3790         * testsuite/29_atomics: New.
3791         * testsuite/29_atomics/atomic_address: Same.
3792         * testsuite/29_atomics/atomic_address/cons: Same.
3793         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same.
3794         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
3795         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
3796         * testsuite/29_atomics/atomic_address/cons/default.cc: Same.
3797         * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
3798         * testsuite/29_atomics/atomic_flag: Same.
3799         * testsuite/29_atomics/atomic_flag/cons: Same.
3800         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
3801         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
3802         * testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
3803         * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
3804         * testsuite/29_atomics/atomic_flag/requirements: Same.
3805         * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc:
3806         Same.
3807         * testsuite/29_atomics/atomic_flag/
3808         atomic_global_fence_compatibility.cc: Same.
3809         * testsuite/29_atomics/atomic_flag/test_and_set: Same.
3810         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
3811         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
3812         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
3813         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
3814         * testsuite/29_atomics/headers: Same.
3815         * testsuite/29_atomics/headers/cstdatomic: Same.
3816         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same.
3817         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
3818         * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same.
3819         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
3820         * testsuite/29_atomics/headers/stdatomic.h: Same.
3821         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
3822         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
3823         * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
3824         * testsuite/29_atomics/atomic: Same.
3825         * testsuite/29_atomics/atomic/cons: Same.
3826         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same.
3827         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
3828         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
3829         * testsuite/29_atomics/atomic/cons/default.cc: Same.
3830         * testsuite/29_atomics/atomic/requirements: Same.
3831         * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same.
3832         * testsuite/29_atomics/atomic/requirements/explicit_instantiation/
3833         1.cc: Same.
3835 2008-04-10  Lawrence Crowl  <crowl@google.com>
3837         * include/c_global/cstdatomic: New.
3838         * include/c_compatibility/stdatomic.h: New.
3839         * src/atomic.c: New.
3841 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
3843         * include/std/tuple: Consistency check for include guard, doxygen
3844         file markup.
3845         * include/std/date_time: Same.
3846         * include/std/type_traits: Same.
3847         * include/std/regex: Same.
3848         * include/std/array: Same.
3849         * include/std/system_error: Same, add error_code ctor.
3851 2008-04-07  Johannes Singler  <singler@ira.uka.de>
3853         * include/parallel/multiway_merge.h: Moved decisions to
3854         compile-time instead of run-time.
3855         * include/parallel/losertree.h: Removed obsolete variants, added
3856         variant that uses pointers in the loser tree.
3857         * include/parallel/types.h: Remove obsolete settings options from enum.
3858         * include/parallel/features.h: Remove obsolete compile-time switches.
3859         * include/parallel/compiletime_settings.h: Remove obsolete variant
3860         that copies back *after* sorting.
3861         * include/parallel/tags.h: Add one new tag for compile-time switch.
3862         * include/parallel/merge.h: Adapt to changes in multiway_merge.h.
3863         * include/parallel/multiway_mergesort.h: Adapt to changes in
3864         multiway_merge.h. Factor out splitting variants. Remove obsolete
3865         variant that copies back *after* sorting.
3866         * include/parallel/sort.h: Adapt to changes in multiway_mergesort.h.
3867         * testsuite/25_algorithms/sort/35588.cc: Added test case from /
3868         for PR 35588.
3870 2008-03-29  Paolo Carlini  <pcarlini@suse.de>
3872         PR libstdc++/35725
3873         * include/bits/stl_algobase.h (__fill_a(_ForwardIterator,
3874         _ForwardIterator, _Tp), __fill_a(_Tp*, _Tp*, _Tp),
3875         __fill_n_a(_OutputIterator, _Size, _Tp), __fill_n_a(_Tp*, _Size,
3876         _Tp)): Fix signatures.
3877         * testsuite/25_algorithms/fill/35725.cc: New.
3878         * testsuite/25_algorithms/fill_n/35725.cc: Likewise.
3880 2008-03-29  Matthias Klose  <doko@ubuntu.com>
3882         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
3883         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
3884         * config/abi/post/mips-linux-gnu/baseline_symbols.txt: Likewise.
3885         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Likewise.
3887 2008-03-27  Ian Lance Taylor  <iant@google.com>
3889         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
3890         glibcxx_ld_is_gold.  Check for gold in --gc-sections test.
3891         (GLIBCXX_ENABLE_SYMVERS): Check for gold.
3892         * aclocal.m4, configure: Rebuild.
3894 2008-03-26  Benjamin Kosnik  <bkoz@redhat.com>
3896         * testsuite/util/testsuite_abi.h: Remove symbol_objects,
3897         symbol_names typedefs.
3898         * testsuite/util/testsuite_abi.cc (compare_symbols): Correct check
3899         for long double compatiblity symbols, simplify data structures used.
3901 2008-03-25  Benjamin Kosnik  <bkoz@redhat.com>
3903         * scripts/run_doxygen: Remove html_output_dir. Downgrade to
3904         Doxygen 1.5.1.
3905         * doc/doxygen/style.css: Delete.
3906         * doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
3907         (INPUT): Update.
3908         (PREDEFINED): Update.
3909         (HTML_OUTPUT): Remove html_output_dir, use html.
3910         (HTML_STYLESHEET): Remove style.css.
3911         * doc/doxygen/tables.html: Remove style.css use.
3912         * doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
3913         * doc/doxygen/doxygroups.cc: Namespace edits.
3914         * doc/doxygen/Intro.3: Correct typo.
3916         * doc/xml/api.xml: Add gcc-4.3 links.
3917         * doc/html/api.html: Regenerate.
3919         * include/debug/debug.h: Document namepaces here.
3920         * include/parallel/base.h: Same.
3921         * include/ext/typelist.h: Same.
3922         * include/ext/pb_ds/tag_and_trait.hpp: Same.
3924         * include/tr1_impl/random: Adjust line break.
3925         * include/tr1_impl/unordered_map: Correct and or add markup.
3926         * include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
3927         * include/tr1_impl/functional_hash.h: Same.
3928         * include/tr1_impl/cmath: Same.
3929         * include/tr1_impl/functional: Same.
3930         * include/tr1_impl/unordered_set: Same.
3931         * include/tr1_impl/complex: Same.
3932         * include/tr1_impl/type_traits: Same.
3933         * include/tr1_impl/regex: Same.
3934         * include/tr1_impl/array: Same.
3935         * include/std/tuple: Same.
3936         * include/std/date_time: Same.
3937         * include/std/system_error: Same.
3938         * include/std/type_traits: Same.
3939         * include/ext/enc_filebuf.h: Same.
3940         * include/ext/throw_allocator.h: Same.
3941         * include/ext/pool_allocator.h: Same.
3942         * include/ext/bitmap_allocator.h: Same.
3943         * include/ext/concurrence.h: Same.
3944         * include/ext/codecvt_specializations.h: Same.
3945         * include/ext/stdio_sync_filebuf.h: Same.
3946         * include/ext/array_allocator.h: Same.
3947         * include/ext/mt_allocator.h: Same.
3948         * include/bits/locale_classes.h: Same.
3949         * include/bits/locale_facets.h: Same.
3950         * include/bits/codecvt.h: Same.
3951         * include/bits/char_traits.h: Same.
3952         * include/bits/allocator.h: Same.
3953         * include/bits/locale_facets_nonio.h: Same.
3954         * include/tr1/poly_laguerre.tcc: Same.
3955         * include/tr1/riemann_zeta.tcc: Same.
3956         * include/tr1/beta_function.tcc: Same.
3957         * include/tr1/tuple: Same.
3958         * include/tr1/exp_integral.tcc: Same.
3959         * include/tr1/gamma.tcc: Same.
3960         * include/tr1/hypergeometric.tcc: Same.
3961         * include/tr1/modified_bessel_func.tcc: Same.
3962         * include/tr1/legendre_function.tcc: Same.
3963         * include/tr1/type_traits: Same.
3964         * include/tr1/special_function_util.h: Same.
3965         * include/tr1/bessel_function.tcc: Same.
3966         * include/tr1/cmath: Same.
3967         * include/tr1/poly_hermite.tcc: Same.
3968         * include/tr1/ell_integral.tcc: Same.
3969         * config/abi/compatibility.h: Adjust file name.
3971         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
3972         line numbers.
3973         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
3974         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
3976 2008-03-23  Paolo Carlini  <pcarlini@suse.de>
3978         * doc/xml/faq.xml: Fix various links.
3979         * doc/xml/api.xml: Likewise.
3980         * doc/xml/manual/parallel_mode.xml: Likewise.
3981         * doc/html/faq.html: Regenerate.
3982         * doc/html/api.html: Likewise.
3983         * doc/html/manual/bk01pt12ch31s03.html: Likewise.
3985 2008-03-20  Benjamin Kosnik  <bkoz@redhat.com>
3987         * testsuite/util/testsuite_abi.cc: Add support for not counting
3988         GLIBCXX_LDBL_* compat symbols missing if no long double compat
3989         symbols under test.
3991 2008-03-20  Paolo Carlini  <pcarlini@suse.de>
3993         PR libstdc++/35637
3994         * include/tr1_impl/type_traits (struct __in_array): Add back.
3995         (is_function): Use it.
3996         * testsuite/tr1/4_metaprogramming/is_function/35637.cc: New.
3998 2008-03-20  Johannes Singler  <singler@ira.uka.de>
4000         * include/parallel/set_operations.h (set_intersection): Remove.
4002 2008-03-19  Benjamin Kosnik  <bkoz@redhat.com>
4004         PR libstdc++/35256
4005         * doc/xml/manual/parallel_mode.xml: Correct configuration documentation.
4006         * doc/html/manual/bk01pt12ch31s04.html: Regenerate.
4008 2008-03-18  Benjamin Kosnik  <bkoz@redhat.com>
4010         * configure.ac (libtool_VERSION): To 6:11:0.
4011         * configure: Regenerate.
4012         * aclocal.m4: Regenerate.
4014 2008-03-16  Paolo Carlini  <pcarlini@suse.de>
4016         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
4017         Update.
4018         * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
4019         * include/precompiled/stdc++.h: Likewise.
4021 2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>
4023         * include/std/date_time: New file.
4024         * src/date_time.cc: New file.
4025         * config/abi/pre/gnu.ver: Added <date_time> symbols in version
4026         GLIBCXX_3.4.11 and changed two patterns in version GLIBCXX_3.4
4027         that matched new symbols.
4028         * include/Makefile.am: Add date_time in std headers.
4029         * src/Makefile.am: Add date_time.cc to source files.
4030         * include/Makefile.in: Regenerate.
4031         * src/Makefile.in: Likewise.
4033 2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>
4035         * testsuite/31_date_time/headers/date_time/types_std.cc: New.
4036         * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
4037         * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
4038         * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
4039         * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
4040         * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
4041         * testsuite/31_date_time/system_time/requirements: Likewise.
4042         * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
4044 2008-03-16  Paolo Carlini  <pcarlini@suse.de>
4046         * config.h.in: Regenerate.
4048 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4050         * aclocal.m4: Regenerate.
4051         * configure: Likewise.
4052         * Makefile.in: Likewise.
4053         * doc/Makefile.in: Likewise.
4054         * include/Makefile.in: Likewise.
4055         * libmath/Makefile.in: Likewise.
4056         * libsupc++/Makefile.in: Likewise.
4057         * po/Makefile.in: Likewise.
4058         * src/Makefile.in: Likewise.
4059         * testsuite/Makefile.in: Likewise.
4061 2008-03-13  Dennis Czeremin  <dennis.czeremin@smiths-heimann.com>
4063         PR libstdc++/35566
4064         * include/bits/stl_multimap.h (multimap<>::multimap(_InputIterator,
4065         _InputIterator)): Forward to _M_insert_equal, not _M_insert_unique.
4067 2008-03-13  Paolo Carlini  <pcarlini@suse.de>
4069         PR libstdc++/35541
4070         * include/debug/functions.h (__check_sorted_set_aux): Fix signature.
4071         * testsuite/25_algorithms/set_difference/35541.cc: New.
4073 2008-03-07  Jakub Jelinek  <jakub@redhat.com>
4075         * config/abi/pre/gnu.ver: Move <system_error> related
4076         symbols to GLIBCXX_3.4.11 symbol version.
4077         * testsuite/util/testsuite_abi.cc (check_version): Allow
4078         GLIBCXX_3.4.11.
4080 2008-03-06  Chris Jefferson  <chris@bubblescope.net>
4081             Paolo Carlini  <pcarlini@suse.de>
4083         PR libstdc++/35480
4084         * include/tr1/tuple (operator==, operator<): Fix.
4085         * include/std/tuple (operator==, operator<): Likewise.
4086         * testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: New.
4087         * testsuite/20_util/tuple/comparison_operators/35480.cc: Likewise.
4089 2008-03-04  Joseph Myers  <joseph@codesourcery.com>
4091         * crossconfig.m4 (*-mingw32*): Define HAVE_STRTOF and
4092         HAVE_STRTOLD.
4093         * configure: Regenerate.
4095 2008-03-02  Hans-Peter Nilsson  <hp@axis.com>
4097         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc,
4098         testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc:
4099         Mark changed error message prelude, adding "in file included from",
4100         using dg-excess-errors.
4102 2008-03-01  Jakub Jelinek  <jakub@redhat.com>
4104         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
4105         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
4106         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
4107         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
4108         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
4109         Likewise.
4110         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
4111         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
4113 2008-02-29  Jakub Jelinek  <jakub@redhat.com>
4115         * config/abi/pre/gnu.ver: Remove
4116         _ZNKSt3tr14hashIgEclEg@@GLIBCXX_3.4.10 and
4117         _ZNKSt4hashIgEclEg@@GLIBCXX_3.4.10 export.
4118         * config/os/gnu-linux/ldbl-extra.ver: Export
4119         _ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
4120         and _ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10.
4121         * src/hash.cc: Only define long double hash specialization if
4122         _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL is defined.
4123         * src/compatibility-ldbl.cc: Include "hash.cc".
4124         (_GLIBCXX_LONG_DOUBLE_COMPAT_IMPL): Define.
4125         (_ZNKSt4hashIeEclEe): New alias.
4126         * testsuite/util/testsuite_abi.cc (check_version): Support
4127         GLIBCXX_LDBL_3.4.10.
4129 2008-02-25  Jan Beulich  <jbeulich@novell.com>
4131         * acinclude.m4: Also check for EIDRM and ETXTBSY.
4132         * configure: Re-generate.
4133         * config/os/generic/error_constants.h (namespace posix_error):
4134         Also wrap uses of EIDRM and ETXTBSY in conditionals.
4135         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
4136         Likewise.
4138 2008-02-20  Jason Merrill  <jason@redhat.com>
4140         * include/bits/c++config: Use 'inline namespace' instead of
4141         strong using.
4143 2008-02-18  Pedro Lamarao <pedro.lamarao@mndfck.org>
4145         * include/std/tuple: Fixes for moveable, non-copyable types.
4146         * testsuite/20_util/tuple/moveable2.cc: New.
4148 2008-02-18  Paolo Carlini  <pcarlini@suse.de>
4150         * include/std/tuple (operator+(tuple<>&&, tuple<>&&): Remove.
4152 2008-02-17  Ed Smith-Rowland  <3dw4rd@verizon.net>
4154         * include/tr1/poly_laguerre.tcc: Doxygen fixes.
4155         * include/tr1/exp_integral.tcc: Same.
4156         * include/tr1/gamma.tcc: Same.
4157         * include/tr1/hypergeometric.tcc: Same.
4159 2008-02-17  Benjamin Kosnik  <bkoz@redhat.com>
4161         PR libstdc++/34797
4162         * include/parallel/settings.h (_Settings): Reconstruct Settings class
4163         here, uglify, remove anonymous namespace and static
4164         members. Convert to datum.
4165         * include/parallel/types.h: Move Settings:: enumerations here, uglify.
4166         * src/parallel_settings.cc: New, definition for _Settings member
4167         functions.
4168         * include/parallel/multiway_merge.h: Same.
4169         * include/parallel/for_each.h: Same.
4170         * include/parallel/workstealing.h: Same.
4171         * include/parallel/base.h: Same.
4172         * include/parallel/numeric
4173         * include/parallel/features.h: Same.
4174         * include/parallel/quicksort.h: Same.
4175         * include/parallel/equally_split.h: Same.
4176         * include/parallel/algorithmfwd.h: Same.
4177         * include/parallel/omp_loop_static.h: Same.
4178         * include/parallel/random_shuffle.h: Same.
4179         * include/parallel/balanced_quicksort.h: Same.
4180         * include/parallel/tags.h: Same.
4181         * include/parallel/multiway_mergesort.h: Same.
4182         * include/parallel/numericfwd.h: Same.
4183         * include/parallel/partition.h: Same.
4184         * include/parallel/partial_sum.h: Same.
4185         * include/parallel/find.h: Same.
4186         * include/parallel/algo.h: Same.
4187         * include/parallel/omp_loop.h: Same.
4188         * include/parallel/sort.h: Same.
4190         * src/Makefile.am (parallel_sources): Add parallel_settings.cc.
4191         * src/Makefile.in: Regenerate.
4193         * config/abi/pre/gnu.ver: Export _Settings::get and _Settings::set.
4195 2008-02-17  Paolo Carlini  <pcarlini@suse.de>
4197         PR libstdc++/35221
4198         * include/parallel/types.h: Reinstate integer types typedefs.
4199         * include/parallel/multiseq_selection.h: Adjust.
4200         * include/parallel/compatibility.h: Likewise.
4201         * include/parallel/random_shuffle.h: Likewise.
4202         * include/parallel/random_number.h: Likewise.
4203         * include/parallel/base.h: Likewise.
4205 2008-02-17  Paolo Carlini  <pcarlini@suse.de>
4207         PR libstdc++/35209
4208         * config/abi/pre/gnu.ver: Export stdio_sync_filebuf symbols.
4209         * testsuite/ext/stdio_sync_filebuf/char/35209.cc: New.
4210         * testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc: Likewise.
4212 2008-02-16  Benjamin Kosnik  <bkoz@redhat.com>
4214         * include/parallel/random_number.h: Use TR1's mersenne_twister.
4215         (random_number::genrand_bits()): Remove.
4216         (random_number::set_seed): Remove.
4218 2008-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4220         * include/parallel/types.h: Remove enum parallelism.
4222 2008-02-15  Benjamin Kosnik  <bkoz@redhat.com>
4224         * include/parallel/types.h: Move enum parallelism here.  Use
4225         tr1/cstdint's int16_t, uint16_t, int32_t, uint32_t, int64_t,
4226         uint64_t.
4227         * include/parallel/multiseq_selection.h: Adjust for cstdint.
4228         * include/parallel/compatibility.h: Same.
4229         * include/parallel/tags.h: Just compile-time tags.
4230         * include/parallel/base.h: Put namespace bits here.
4232         * src/Makefile.am (PARALLEL_FLAGS): Use it.
4233         * src/Makefile.in: Regenerate.
4235         * testsuite/25_algorithms/nth_element/1.cc: Add test variable.
4237 2008-02-15  Hans-Peter Nilsson  <hp@axis.com>
4239         * testsuite/config/default.exp: Load gcc dejapatches.exp.
4241 2008-02-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4243         * testsuite/27_io/fpos/14320-1.cc: Check for "long long" and
4244         remove XFAIL.
4246 2008-02-14  Benjamin Kosnik  <bkoz@redhat.com>
4248         * config/os/generic/error_constants.h (posix_errno): Guard
4249         not_supported use of ENOTSUP.
4250         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add check for ENOTSUP
4251         for OpenBSD.
4252         * aclocal.m4: Regenerate.
4253         * configure: Rengerate.
4254         * config.h.in: Same.
4256 2008-02-13  Benjamin Kosnik  <bkoz@redhat.com>
4258         * doc/doxygen/mainpage.html: Correct links.
4260 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4262         * doc/html/*: Populate with regenerated files.
4264 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4266         * doc/html/*: Remove all but contents of ext/pb_ds.
4267         * doc/html/index.html: New.
4268         * doc/html/README: New.
4270 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
4272         * doc/doxygen/mainpage.html: Add in corrected links.
4273         * README: Edit, move most into...
4274         * doc/xml/manual/appendix_contributing.xml (Directory Layout): ...here.
4275         (Documentation Style): Revise.
4276         * doc/xml/spine.xml: Edit file names.
4277         * doc/Makefile.am: Edit xml_sources.
4278         * doc/Makefile.in: Regenerate.
4280 2008-02-11  Paolo Carlini  <pcarlini@suse.de>
4282         * configure: Regenerate with documented autoconf and automake
4283         versions (i.e., 2.59 and 1.9.6).
4284         * Makefile.in: Likewise.
4285         * src/Makefile.in: Likewise.
4286         * doc/Makefile.in: Likewise.
4287         * po/Makefile.in: Likewise.
4288         * libmath/Makefile.in: Likewise.
4289         * include/Makefile.in: Likewise.
4290         * libsupc++/Makefile.in: Likewise.
4291         * testsuite/Makefile.in: Likewise.
4292         * aclocal.m4: Likewise.
4294 2008-02-10  Benjamin Kosnik  <bkoz@redhat.com>
4296         Convert documentation to DocBook.
4297         * doc/Makefile.am (doc-doxygen-html): Changed to doc-html-doxygen.
4298         (doc-doxygen-man): Changed to doc-man-doxygen.
4299         (doc-performance): Changed to doc-html-performance.
4300         (doc-xml-doxygen): New.
4301         (doc-xml-single): New.
4302         (doc-xml-validate): New.
4303         (doc-html): New.
4304         (doc-html-single): New.
4305         (doc-fo): New.
4306         (doc-pdf): New.
4307         (doc-pdf-fop-xml): New.
4308         (doc-pdf-fop-fo): New.
4309         (doc-pdf-xmlto): New.
4310         (doc-pdf-xmlroff): New.
4311         (doc-pdf-prince): New.
4312         * doc/xml: New directory.
4313         * doc/xml/authors.xml: New.
4314         * doc/xml/images: New directory.
4315         * doc/xml/images/confdeps.png: Add.
4316         * doc/xml/images/confdeps.dot: Add.
4317         * doc/xml/faq.xml: New.
4318         * doc/xml/api.xml: New.
4319         * doc/xml/gnu: New directory.
4320         * doc/xml/gnu/gpl-3.0.xml: New.
4321         * doc/xml/gnu/fdl-1.2.xml: New.
4322         * doc/xml/gnu/gpl-2.0.xml: New.
4323         * doc/xml/manual: New directory.
4324         * doc/xml/manual/mt_allocator.xml: New.
4325         * doc/xml/manual/allocator.xml: New.
4326         * doc/xml/manual/ctype.xml: New.
4327         * doc/xml/manual/numerics.xml: New.
4328         * doc/xml/manual/codecvt.xml: New.
4329         * doc/xml/manual/concurrency.xml: New.
4330         * doc/xml/manual/backwards_compatibility.xml: New.
4331         * doc/xml/manual/intro.xml: New.
4332         * doc/xml/manual/shared_ptr.xml: New.
4333         * doc/xml/manual/abi.xml: New.
4334         * doc/xml/manual/status_cxxtr1.xml: New.
4335         * doc/xml/manual/auto_ptr.xml: New.
4336         * doc/xml/manual/build.xml: New.
4337         * doc/xml/manual/internals.xml: New.
4338         * doc/xml/manual/parallel_mode.xml: New.
4339         * doc/xml/manual/status_cxx1998.xml: New.
4340         * doc/xml/manual/containers.xml: New.
4341         * doc/xml/manual/io.xml: New.
4342         * doc/xml/manual/appendix_porting.xml: New.
4343         * doc/xml/manual/utilities.xml: New.
4344         * doc/xml/manual/bitmap_allocator.xml: New.
4345         * doc/xml/manual/support.xml: New.
4346         * doc/xml/manual/configure.xml: New.
4347         * doc/xml/manual/build_hacking.xml: New.
4348         * doc/xml/manual/evolution.xml: New.
4349         * doc/xml/manual/using.xml: New.
4350         * doc/xml/manual/debug.xml: New.
4351         * doc/xml/manual/localization.xml: New.
4352         * doc/xml/manual/strings.xml: New.
4353         * doc/xml/manual/debug_mode.xml: New.
4354         * doc/xml/manual/locale.xml: New.
4355         * doc/xml/manual/extensions.xml: New.
4356         * doc/xml/manual/appendix_contributing.xml: New.
4357         * doc/xml/manual/messages.xml: New.
4358         * doc/xml/manual/diagnostics.xml: New.
4359         * doc/xml/manual/appendix_free.xml: New.
4360         * doc/xml/manual/algorithms.xml: New.
4361         * doc/xml/manual/iterators.xml: New.
4362         * doc/xml/manual/spine.xml: New.
4363         * doc/xml/manual/test.xml: New.
4364         * doc/xml/manual/status_cxx200x.xml: New.
4365         * doc/xml/spine.xml: New.
4367         * doc/xml/book.txml: New. Template file.
4368         * doc/xml/chapter.txml: Same.
4369         * doc/xml/class.txml: Same.
4371         * doc/doxygen/guide.html: Removed, integrated into other docs.
4372         * doc/doxygen/user.cfg.in: Clean up XML generation.
4373         * doc/doxygen/run_doxygen: Move to..
4374         * scripts/run_doxygen: ...here.
4376         * configure: Regenerate.
4377         * Makefile.in: Regenerate.
4378         * src/Makefile.in: Regenerate.
4379         * doc/Makefile.in: Regenerate.
4380         * po/Makefile.in: Regenerate.
4381         * libmath/Makefile.in: Regenerate.
4382         * include/Makefile.in: Regenerate.
4383         * libsupc++/Makefile.in: Regenerate.
4384         * testsuite/Makefile.in: Regenerate.
4385         * aclocal.m4: Regenerate.
4387 2008-02-10  Paolo Carlini  <pcarlini@suse.de>
4389         PR libstdc++/16251
4390         * include/std/istream (basic_istream<>::basic_istream()): Call
4391         this->init().
4392         (basic_iostream<>::basic_iostream(basic_streambuf<>*)): Don't
4393         do it here, per 27.6.1.5.1/1.
4394         * include/std/ostream (basic_ostream<>::basic_ostream()): Call
4395         this->init().
4396         * testsuite/27_io/basic_iostream/cons/16251.C: New.
4398         * testsuite/27_io/basic_iostream/cons/2020.cc: Minor tweaks.
4400 2008-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4402         * include/backward/auto_ptr.h: Fix comment typos.
4403         * include/bits/algorithmfwd.h: Likewise.
4404         * include/bits/basic_ios.h: Likewise.
4405         * include/bits/c++config: Likewise.
4406         * include/bits/char_traits.h: Likewise.
4407         * include/bits/codecvt.h: Likewise.
4408         * include/bits/gslice.h: Likewise.
4409         * include/bits/ios_base.h: Likewise.
4410         * include/bits/locale_facets.h: Likewise.
4411         * include/bits/locale_facets_nonio.tcc: Likewise.
4412         * include/bits/postypes.h: Likewise.
4413         * include/bits/sstream.tcc: Likewise.
4414         * include/bits/stl_algo.h: Likewise.
4415         * include/bits/stl_deque.h: Likewise.
4416         * include/bits/stl_iterator.h: Likewise.
4417         * include/bits/stl_iterator_base_types.h Likewise.
4418         * include/bits/stl_list.h: Likewise.
4419         * include/bits/stl_map.h: Likewise.
4420         * include/bits/stl_multimap.h: Likewise.
4421         * include/bits/stl_multiset.h: Likewise.
4422         * include/bits/stl_set.h: Likewise.
4423         * include/bits/stl_vector.h: Likewise.
4424         * include/bits/valarray_array.h: Likewise.
4425         * include/debug/safe_base.h: Likewise.
4426         * include/ext/bitmap_allocator.h: Likewise.
4427         * include/ext/codecvt_specializations.h Likewise.
4428         * include/ext/mt_allocator.h: Likewise.
4429         * include/ext/rc_string_base.h: Likewise.
4430         * include/ext/rope: Likewise.
4431         * include/parallel/checkers.h: Likewise.
4432         * include/parallel/find.h: Likewise.
4433         * include/parallel/multiseq_selection.h: Likewise.
4434         * include/parallel/partition.h: Likewise.
4435         * include/parallel/settings.h: Likewise.
4436         * include/std/bitset: Likewise.
4437         * include/std/complex: Likewise.
4438         * include/std/fstream: Likewise.
4439         * include/std/istream: Likewise.
4440         * include/std/limits: Likewise.
4441         * include/std/ostream: Likewise.
4442         * include/std/stdexcept: Likewise.
4443         * include/std/streambuf: Likewise.
4444         * include/tr1/bessel_function.tcc: Likewise.
4445         * include/tr1/cmath: Likewise.
4446         * include/tr1/ell_integral.tcc: Likewise.
4447         * include/tr1/hypergeometric.tcc: Likewise.
4448         * include/tr1/legendre_function.tcc: Likewise.
4449         * include/tr1_impl/random: Likewise.
4450         * include/tr1_impl/regex: Likewise.
4452 2008-01-31  Paolo Carlini  <pcarlini@suse.de>
4454         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
4455         Avoid -Wall warnings.
4456         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
4457         Likewise.
4458         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
4459         Likewise.
4460         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
4461         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
4462         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
4463         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
4464         Likewise.
4465         * testsuite/tr1/6_containers/array/requirements/contiguous.cc:
4466         Likewise.
4467         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
4468         Likewise.
4469         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
4470         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
4471         Likewise.
4472         * testsuite/tr1/6_containers/array/comparison_operators/
4473         less_or_equal.cc: Likewise.
4474         * testsuite/tr1/6_containers/array/comparison_operators/
4475         greater_or_equal.cc: Likewise.
4476         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
4477         Likewise.
4478         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
4479         Likewise.
4480         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
4481         Likewise.
4482         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
4483         Likewise.
4484         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
4485         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
4486         Likewise.
4487         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
4488         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
4489         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
4490         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
4491         Likewise.
4492         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
4493         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
4494         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
4495         * testsuite/thread/guard.cc: Likewise.
4496         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
4497         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
4498         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
4499         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
4500         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
4501         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
4502         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
4503         Likewise.
4505 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
4507         PR target/34794
4508         * config/os/aix/os_defines.h: Define __COMPATMATH__.
4510 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
4512         * configure: Regenerate.
4514 2008-01-21  Matthias Klose  <doko@ubuntu.com>
4516         * doc/doxygen/user.cfg.in: Set SHORT_NAMES to YES.
4518 2008-01-19  Paolo Carlini  <pcarlini@suse.de>
4520         * configure: Regenerate.
4521         * Makefile.in: Likewise.
4522         * src/Makefile.in: Likewise.
4523         * doc/Makefile.in: Likewise.
4524         * po/Makefile.in: Likewise.
4525         * libmath/Makefile.in: Likewise.
4526         * include/Makefile.in: Likewise.
4527         * libsupc++/Makefile.in: Likewise.
4528         * testsuite/Makefile.in: Likewise.
4529         * aclocal.m4: Likewise.
4531 2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>
4533         * docs/*: To...
4534         * doc/*: ...here.
4535         * testsuite/Makefile.am: Move doc-performance to...
4536         * Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
4537         * doc/Makefile.am: Consolidate documentation creation here.
4538         (doc-doxygen-html): New.
4539         (doc-doxygen-man): New.
4540         (doc-performance): New.
4541         * doc/Makefile.in: New.
4542         * acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
4543         * doc/doxygen/guide.html: Edit for unified html configuration.
4544         * doc/doxygen/mainpage.html: Same.
4545         * doc/doxygen/run_doxygen: Same, more namespace fixups for man
4546         generation.
4547         * doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
4549         * include/tr1_impl/random: Remove maint from doxygen markup.
4550         * include/tr1_impl/functional: Same.
4551         * include/std/tuple: Same.
4552         * include/std/streambuf: Same.
4553         * include/std/bitset: Same.
4554         * include/std/limits: Same.
4555         * include/std/fstream: Same.
4556         * include/std/istream: Same.
4557         * include/std/sstream: Same.
4558         * include/ext/pool_allocator.h: Same.
4559         * include/ext/rc_string_base.h: Same.
4560         * include/bits/basic_ios.h: Same.
4561         * include/bits/stl_list.h: Same.
4562         * include/bits/stl_map.h: Same.
4563         * include/bits/locale_classes.h: Same.
4564         * include/bits/stl_set.h: Same.
4565         * include/bits/stl_iterator_base_types.h: Same.
4566         * include/bits/basic_string.h: Same.
4567         * include/bits/stl_multimap.h: Same.
4568         * include/bits/stl_vector.h: Same.
4569         * include/bits/ios_base.h: Same.
4570         * include/bits/stl_deque.h: Same.
4571         * include/bits/postypes.h: Same.
4572         * include/bits/stl_multiset.h: Same.
4573         * include/bits/stl_algo.h: Same.
4574         * include/bits/stl_iterator.h: Same.
4575         * include/bits/stl_tempbuf.h: Same.
4576         * include/bits/stl_construct.h: Same.
4577         * include/bits/stl_relops.h: Same.
4578         * include/tr1/tuple: Same.
4579         * include/backward/auto_ptr.h: Same.
4581         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
4582         Fixups for line number changes.
4583         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
4584         * testsuite/23_containers/vector/requirements/dr438/
4585         constructor_1_neg.cc: Same.
4586         * testsuite/23_containers/vector/requirements/dr438/
4587         constructor_2_neg.cc: Same.
4588         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
4589         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
4590         * testsuite/23_containers/deque/requirements/dr438/
4591         constructor_1_neg.cc: Same.
4592         * testsuite/23_containers/deque/requirements/dr438/
4593         constructor_2_neg.cc: Same.
4594         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
4595         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
4596         * testsuite/23_containers/list/requirements/dr438/
4597         constructor_1_neg.cc: Same.
4598         * testsuite/23_containers/list/requirements/dr438/
4599         constructor_2_neg.cc: Same.
4600         * testsuite/20_util/auto_ptr/assign_neg.cc: Same.
4602         * aclocal.m4: Regenerate.
4603         * config.h.in: Regenerate.
4604         * configure: Regenerate.
4605         * Makefile.in: Regenerate.
4606         * src/Makefile.in: Regenerate.
4607         * po/Makefile.in: Regenerate.
4608         * libmath/Makefile.in: Regenerate.
4609         * include/Makefile.in: Regenerate.
4610         * libsupc++/Makefile.in: Regenerate.
4611         * testsuite/Makefile.in: Regenerate.
4613         * scripts/make_graphs.py: Correct paths for new layout.
4615 2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>
4617         * acinclude.m4 (AC_LC_MESSAGES): Remove serial.
4618         * linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
4619         * configure: Regenerate.
4620         * aclocal.m4: Regenerate.
4622 2008-01-14  Paolo Carlini  <pcarlini@suse.de>
4624         * include/parallel/list_partition.h: Formatting fixes, inline tweaks.
4625         * include/parallel/numeric: Likewise.
4626         * include/parallel/balanced_quicksort.h: Likewise.
4627         * include/parallel/unique_copy.h: Likewise.
4628         * include/parallel/algobase.h: Likewise.
4629         * include/parallel/algo.h: Likewise.
4631 2008-01-14  Seongbae Park <seongbae.park@gmail.com>
4633         * crossconfig.m4: Add missing header checks, C99 TR1 check,
4634         and sigsetjmp check.
4636 2008-01-14  Paolo Carlini  <pcarlini@suse.de>
4638         * include/parallel/tree.h: Remove.
4639         * include/Makefile.am: Update.
4640         * include/Makefile.in: Rebuild.
4642         * src/Makefile.am: Remove spurious trailing backslash.
4643         * src/Makefile.in: Rebuild.
4644         * po/Makefile.in: Likewise.
4645         * libmath/Makefile.in: Likewise.
4646         * testsuite/Makefile.in: Likewise.
4647         * libsupc++/Makefile.in: Likewise.
4648         * aclocal.m4: Likewise.
4649         * Makefile.in: Likewise.
4650         * configure: Likewise.
4652 2008-01-12  Paolo Carlini  <pcarlini@suse.de>
4654         PR libstdc++/34730
4655         * include/debug/functions.h (__check_sorted_set,
4656         __check_sorted_set_aux): Add.
4657         (__check_sorted): Check StrictWeakOrdering.
4658         * include/debug/macros.h (__glibcxx_check_strict_weak_ordering,
4659         __glibcxx_check_strict_weak_ordering_pred): Remove.
4660         (__glibcxx_check_sorted, __glibcxx_check_sorted_pred): Adjust.
4661         (__glibcxx_check_sorted_set, __glibcxx_check_sorted_set_pred): Add.
4662         * include/debug/debug.h (__glibcxx_requires_sorted_set,
4663         __glibcxx_requires_sorted_set_pred): Add.
4664         * include/bits/stl_algo.h (merge, includes, set_union,
4665         set_intersection, set_difference, set_symmetric_difference):
4666         Adjust, use __glibcxx_requires_sorted_set* instead.
4667         * testsuite/25_algorithms/set_intersection/34730.cc: New.
4669 2008-01-09  Paolo Carlini  <pcarlini@suse.de>
4671         * include/parallel/multiway_merge.h: Reformat to 80 columns;
4672         adjust some inline specifiers; other minor style fixes.
4673         * include/parallel/losertree.h: Likewise.
4674         * include/parallel/list_partition.h: Likewise.
4675         * include/parallel/multiseq_selection.h: Likewise.
4676         * include/parallel/workstealing.h: Likewise.
4677         * include/parallel/base.h: Likewise.
4678         * include/parallel/par_loop.h: Likewise.
4679         * include/parallel/numeric: Likewise.
4680         * include/parallel/quicksort.h: Likewise.
4681         * include/parallel/algorithmfwd.h: Likewise.
4682         * include/parallel/for_each_selectors.h: Likewise.
4683         * include/parallel/omp_loop_static.h: Likewise.
4684         * include/parallel/random_shuffle.h: Likewise.
4685         * include/parallel/balanced_quicksort.h: Likewise.
4686         * include/parallel/set_operations.h: Likewise.
4687         * include/parallel/tree.h: Likewise.
4688         * include/parallel/merge.h: Likewise.
4689         * include/parallel/unique_copy.h: Likewise.
4690         * include/parallel/settings.h: Likewise.
4691         * include/parallel/multiway_mergesort.h: Likewise.
4692         * include/parallel/numericfwd.h: Likewise.
4693         * include/parallel/search.h: Likewise.
4694         * include/parallel/partition.h: Likewise.
4695         * include/parallel/compatibility.h: Likewise.
4696         * include/parallel/partial_sum.h: Likewise.
4697         * include/parallel/find.h: Likewise.
4698         * include/parallel/algo.h: Likewise.
4699         * include/parallel/queue.h: Likewise.
4700         * include/parallel/omp_loop.h: Likewise.
4701         * include/parallel/sort.h: Likewise.
4702         * include/parallel/random_number.h: Likewise.
4704 2008-01-09  Benjamin Kosnik  <bkoz@redhat.com>
4706         * docs/html/17_intro/api.html: Fix markup for rope.h.
4708 2008-01-09  Paolo Carlini  <pcarlini@suse.de>
4710         * include/parallel/iterator.h: Reformat to 80 columns; adjust some
4711         inline specifiers.
4712         * include/parallel/find_selectors.h: Likewise.
4713         * include/parallel/losertree.h: Likewise.
4714         * include/parallel/list_partition.h: Likewise.
4715         * include/parallel/for_each.h: Likewise.
4716         * include/parallel/multiseq_selection.h: Likewise.
4717         * include/parallel/algorithmfwd.h: Likewise.
4718         * include/parallel/for_each_selectors.h: Likewise.
4719         * include/parallel/balanced_quicksort.h: Likewise.
4720         * include/parallel/merge.h: Likewise.
4721         * include/parallel/algobase.h: Likewise.
4722         * include/parallel/find.h: Likewise.
4723         * include/parallel/algo.h: Likewise.
4724         * include/parallel/checkers.h: Likewise.
4726 2008-01-09  Francesco Biscani  <bluescarni@gmail.com>
4728         * include/tr1_impl/hashtable (_Hashtable): Fix friend declaration
4729         of __detail::_Map_base<>.
4731 2008-01-08  Paolo Carlini  <pcarlini@suse.de>
4733         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Do
4734         not include <cassert>.
4735         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
4736         Likewise.
4737         * testsuite/util/testsuite_common_types.h: Include <algorithm>.
4739 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
4741         * configure.ac (--enable-linux-futex): Add new configure option.
4742         (HAVE_LINUX_FUTEX): New AC_DEFINE.
4743         * Makefile.in: Rebuilt.
4744         * aclocal.m4: Rebuilt.
4745         * configure: Rebuilt.
4746         * config.h.in: Rebuilt.
4747         * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
4748         _GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
4749         * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
4750         _GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
4751         * libsupc++/guard.cc: Include climits and syscall.h.
4752         (_GLIBCXX_USE_FUTEX): Define if futex syscall and atomic builtins
4753         are supported.
4754         (_GLIBCXX_FUTEX_WAIT, _GLIBCXX_FUTEX_WAKE): Likewise.
4755         (__guard_test_bit): New static inline.
4756         (__cxa_guard_acquire, __cxa_guard_release, __cxa_guard_abort): Use
4757         atomic builtins and futex syscall if _GLIBCXX_USE_FUTEX.
4759 2008-01-07  Paolo Carlini  <pcarlini@suse.de>
4761         PR libstdc++/34680
4762         * include/bits/locale_classes.h (has_facet<>, use_facet<>): Do not
4763         use dynamic_cast when run-time type identification is disabled; do
4764         not mark inline; only declare, define...
4765         * include/bits/locale_classes.tcc: ... here.
4767 2008-01-06  Ted Phelps  <phelps@gnusto.com>
4769         PR c++/34152
4770         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
4771         _GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.
4773 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
4775         PR libstdc++/34095
4776         * include/parallel/multiway_merge.h (multiway_merge_bubble,
4777         parallel_multiway_merge): Together with ::operator new use
4778         ::operator delete.
4779         * include/parallel/losertree.h (LoserTree<>::~LoserTree): Likewise.
4780         * include/parallel/quicksort.h (parallel_sort_qs_divide): Likewise.
4781         * include/parallel/random_shuffle.h (parallel_random_shuffle_drs_pu,
4782         sequential_random_shuffle): Likewise.
4783         * include/parallel/tree.h (_M_not_sorted_bulk_insertion_construction):
4784         Likewise.
4785         * include/parallel/multiway_mergesort.h (parallel_sort_mwms_pu,
4786         parallel_sort_mwms): Likewise.
4787         * include/parallel/partial_sum.h (parallel_partial_sum_linear):
4788         Likewise.
4789         * testsuite/25_algorithms/sort/34095.cc: New.
4791 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
4793         * testsuite/25_algorithms/sort/34636.cc: Fix Copyright year.
4795 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
4797         PR libstdc++/34636
4798         * include/parallel/algobase.h (lexicographical_compare_switch(...,
4799         random_access_iterator_tag, random_access_iterator_tag)): Careful
4800         with undereferenceable iterators.
4801         * testsuite/25_algorithms/sort/34636.cc: New.
4803 Copyright (C) 2008 Free Software Foundation, Inc.
4805 Copying and distribution of this file, with or without modification,
4806 are permitted in any medium without royalty provided the copyright
4807 notice and this notice are preserved.