2009-03-10 Paolo Carlini <paolo.carlini@oracle.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob8d326b3b33539cbe86689bda966aad73a32c42ac
1 2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
3         * include/std/complex (operator+(const complex<>&, const _Tp&),
4         operator+(const _Tp&, const complex<>&),
5         operator-(const complex<>&, const _Tp&),
6         operator-(const _Tp&, const complex<>&)): Do not assume real()
7         returns a reference (against DR 387).
8         * testsuite/26_numerics/complex/dr387_2.cc: New.
10 2009-03-02  Benjamin Kosnik  <bkoz@redhat.com>
12         * testsuite/thread/pthread4.cc: Move...
13         * testsuite/21_strings/basic_string/pthread4.cc: ...here.
14         * testsuite/thread/pthread5.cc: Move...
15         * testsuite/23_containers/list/pthread5.cc: ...here.
16         * testsuite/thread/pthread6.cc: Move...
17         * testsuite/23_containers/map/pthread6.cc: ...here.
18         * testsuite/thread/pthread7-rope.cc: Move...
19         * testsuite/ext/rope/pthread7-rope.cc: ...here.
20         * testsuite/thread/guard.cc: Move...
21         * testsuite/18_support/pthread_guard.cc: ...here.
22         * testsuite/thread/18185.cc: Move...
23         * testsuite/21_strings/basic_string/pthread18185.cc: ...here.
24         * testsuite/thread/pthread1.cc: Move...
25         * testsuite/23_containers/list/pthread1.cc: ...here.
26         * testsuite/thread/pthread2.cc: Move...
27         * testsuite/27_io/basic_ofstream/pthread2.cc: ...here.
28         * testsuite/thread/pthread3.cc: Move...
29         * testsuite/27_io/basic_ostringstream/pthread3.cc: ...here.
31         * testsuite/libstdc++-dg/conformance.exp: Remove thread directory.
32         * testsuite/thread: Remove.
34 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36         * configure: Regenerate.
38 2009-02-23  Adam Nemet  <anemet@caviumnetworks.com>
40         * testsuite/libstdc++-abi/abi.exp: Add multilib support.
41         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove MULTISUBDIR
42         from baseline_dir.
43         * configure: Regenerate.
44         * testsuite/Makefile.am (baseline_file): Remove variable.
45         (site.exp): Set baseline_dir rather than baseline_file.
46         (check-abi): Pass AM_RUNTESTFLAGS and RUNTESTFLAGS to runtest.
47         * testsuite/Makefile.in: Regenerate.
49 2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>
51         * testsuite/30_threads/thread/this_thread: Move...
52         * testsuite/30_threads/this_thread: ...here.
53         * testsuite/20_util/unique_ptr/assign/assign.cc: Move...
54         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: ...here.
55         * testsuite/20_util/ratio/cons/cons_overflow.cc: Move...
56         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: ...here.
57         * testsuite/20_util/ratio/operations/ops_overflow.cc: Move...
58         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: ...here.
60 2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>
62         * doc/doxygen/user.cfg.in: Tweaks.
63         * doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
64         be elsewhere.
66         * include/tr1_impl/unordered_map: Just use most specialized
67         container module.
68         * include/tr1_impl/unordered_set: Same.
69         * include/tr1_impl/array: Same.
70         * include/bits/stl_list.h: Same.
71         * include/bits/stl_map.h: Same.
72         * include/bits/stl_queue.h: Same.
73         * include/bits/stl_set.h: Same.
74         * include/bits/stl_stack.h: Same.
75         * include/bits/forward_list.h: Same.
76         * include/bits/basic_string.h: Same.
77         * include/bits/stl_multimap.h: Same.
78         * include/bits/stl_vector.h: Same.
79         * include/bits/stl_deque.h: Same.
80         * include/bits/stl_multiset.h: Same.
81         * include/bits/stl_bvector.h: Same.
83         * include/backward/binders.h: Change binder module to binders.
85         * include/std/complex: Add complex_numers module.
86         * include/tr1_impl/complex: Same.
88         * include/std/valarray: Add numeric_arrays module.
89         * include/bits/gslice_array.h: Same.
90         * include/bits/gslice.h: Same.
91         * include/bits/mask_array.h: Same.
92         * include/bits/slice_array.h: Same.
93         * include/bits/indirect_array.h: Same.
95         * include/bits/allocator.h: Add allocators module.
96         * include/ext/throw_allocator.h
97         * include/ext/pool_allocator.h
98         * include/ext/bitmap_allocator.h
99         * include/ext/new_allocator.h
100         * include/ext/malloc_allocator.h
101         * include/ext/array_allocator.h
102         * include/ext/mt_allocator.h
103         * include/ext/debug_allocator.h
104         * include/ext/extptr_allocator.h
106         * include/tr1_impl/functional: Move namespace markup here.
107         * include/tr1_impl/regex: Same.
109         * include/tr1_impl/type_traits: Add metaprogramming module.
110         * include/std/type_traits: Same.
112         * include/std/memory: Add memory module.
114         * include/std/ratio: Add ratio module.
116         * include/std/chrono: Move namespace markup here, add time module.
118         * include/std/thread: Move namespace markup here, add concurrency
119         module.
120         * include/std/mutex: Use concurrency module.
121         * include/std/condition_variable: Same.
124         * include/bits/ios_base.h: Refine io module.
125         * include/bits/basic_ios.h: Same.
126         * include/std/fstream: Same.
127         * include/std/istream: Same.
128         * include/std/ostream: Same.
129         * include/std/sstream: Same.
131         * include/ext/vstring.h: Correct parameter markup.
133         * include/bits/shared_ptr.h: Add pointer_abstractions module.
134         * include/bits/unique_ptr.h: Same.
136         * include/bits/algorithmfwd.h: Add mutating_algorithms,
137         non_mutating_algorithms, sorting_algorithms. Adjust nesting.
138         * include/bits/stl_heap.h: Add markup for new groupings.
139         * include/bits/stl_algobase.h: Same.
140         * include/bits/stl_algo.h: Same.
142         * include/c_compatibility/stdatomic.h: Add atomics module.
143         * include/c_global/cstdatomic: Same.
145         * libsupc++/exception: Add exceptions module.
146         * libsupc++/typeinfo: Same.
147         * libsupc++/new: Same.
148         * libsupc++/exception_ptr.h: Same.
149         * include/std/system_error: Same.
150         * include/std/stdexcept: Same.
152         * libsupc++/cxxabi.h: Move doxygroups.cc markup here.
153         * libsupc++/cxxabi-forced.h: Same.
155         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
156         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
157         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
158         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
159         * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
160         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
161         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
162         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
163         * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
164         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
165         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
166         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
167         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
168         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
169         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
170         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
171         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
172         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
173         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
174         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
175         * testsuite/23_containers/vector/requirements/dr438/
176         constructor_1_neg.cc: Same.
177         * testsuite/23_containers/vector/requirements/dr438/
178         constructor_2_neg.cc: Same.
179         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
180         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
181         * testsuite/23_containers/deque/requirements/dr438/
182         constructor_1_neg.cc: Same.
183         * testsuite/23_containers/deque/requirements/dr438/
184         constructor_2_neg.cc: Same.
185         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
186         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
187         * testsuite/23_containers/list/requirements/dr438/
188         constructor_1_neg.cc: Same.
189         * testsuite/23_containers/list/requirements/dr438/
190         constructor_2_neg.cc: Same.
191         * testsuite/20_util/duration/cons/1_neg.cc: Same.
192         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
193         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
194         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
195         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
196         * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
197         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
198         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
199         * testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
200         * testsuite/20_util/ratio/operations/ops_overflow.cc: Same.
202 2009-02-18  Benjamin Kosnik  <bkoz@redhat.com>
204         * doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
205         * doc/doxygen/user.cfg.in: Update.
206         * scripts/run_doxygen: Adjust for new group names.
208         * include/tr1_impl/random: Update doxygen group markup.
209         * include/tr1_impl/unordered_map: Same.
210         * include/tr1_impl/unordered_set: Same.
211         * include/tr1_impl/array: Same.
212         * include/std/numeric: Same.
213         * include/std/utility: Same.
214         * include/std/bitset: Same.
215         * include/std/iosfwd: Same.
216         * include/bits/stl_list.h: Same.
217         * include/bits/stl_map.h: Same.
218         * include/bits/stl_algobase.h: Same.
219         * include/bits/stl_queue.h: Same.
220         * include/bits/stl_set.h: Same.
221         * include/bits/stl_stack.h: Same.
222         * include/bits/stl_iterator_base_types.h: Same.
223         * include/bits/forward_list.h: Same.
224         * include/bits/basic_string.h: Same.
225         * include/bits/stl_multimap.h: Same.
226         * include/bits/stl_vector.h: Same.
227         * include/bits/stl_deque.h: Same.
228         * include/bits/stl_multiset.h: Same.
229         * include/bits/stl_algo.h: Same.
230         * include/bits/stl_bvector.h: Same.
231         * include/bits/algorithmfwd.h: Same.
232         * include/bits/stl_function.h: Same.
233         * include/tr1/cmath: Same.
234         * include/backward/binders.h: Same.
236 2009-02-17  Benjamin Kosnik  <bkoz@redhat.com>
238         * include/std/system_error (system_category): To system_category().
239         (generic_category): To generic_category. DR 890.
240         * src/system_error.cc: Define.
241         * include/bits/functexcept.h: Only one __throw_system_error.
242         * src/functexcept.cc: Same.
243         * include/std/mutex: Fixup for changes above.
244         * testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
245         * testsuite/19_diagnostics/error_code/cons/1.cc: Same.
246         * testsuite/19_diagnostics/system_error/cons-1.cc: Same.
247         * config/abi/pre/gnu.ver: Clean up exports.
249 2009-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
251         * include/std/thread: Fix typo.
252         * src/thread.cc (thread::join): Use NULL.
254 2009-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
256         PR libstdc++/39168
257         * src/locale_facets.cc (__verify_grouping(const char*, size_t,
258         const string&)): Also check that the value != CHAR_MAX.
259         * include/bits/locale_facets.tcc (__numpunct_cache<>::
260         _M_cache(const locale&), __add_grouping(_CharT*, _CharT,
261         const char*, size_t, const _CharT*, const _CharT*)): Likewise.
262         * include/bits/locale_facets_nonio.tcc (__moneypunct_cache<>::
263         _M_cache(const locale&)): Likewise.
264         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: New.
265         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
266         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
267         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
268         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
269         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
271 2009-02-13  Chris Fairles  <cfairles@gcc.gnu.org>
272             Benjamin Kosnik  <bkoz@redhat.com>
274         * include/std/thread (_Impl_base): Move _M_id out and into ...
275         (thread): ...here. Call _M_make_routine in body of constructors.
276         Adjust data member usage to reflect changes.
277         (_M_make_routine): From _M_make_shared_data.
278         (_M_start_thread): Add __shared_base_type argument.
279         * src/thread.cc: Fixups for above.
280         * config/abi/pre/gnu.ver: Adjust exports.
281         * testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
282         * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
283         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
285 2009-02-12  Benjamin Kosnik  <bkoz@redhat.com>
287         * testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
288         (compare_type_to_native_type): ...this, add alignment check.
289         * testsuite/30_threads/condition_variable_any/native_handle/
290         typesizes.cc: Modify as above.
291         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
292         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
293         * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
294         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
295         * testsuite/30_threads/condition_variable/native_handle/
296         typesizes.cc: Same.
297         * testsuite/30_threads/recursive_timed_mutex/native_handle/
298         typesizes.cc: Same.
300         * testsuite/30_threads/thread/cons/1.cc: Add comments.
301         * testsuite/30_threads/thread/cons/2.cc: Same.
302         * testsuite/30_threads/thread/cons/3.cc: Same.
303         * testsuite/30_threads/thread/cons/4.cc: Same.
304         * testsuite/30_threads/thread/cons/5.cc: Same.
305         * testsuite/30_threads/thread/cons/6.cc: Same.
306         * testsuite/30_threads/thread/cons/7.cc: Same.
307         * testsuite/30_threads/thread/cons/8.cc: Same.
309         * testsuite/30_threads/thread/cons/9.cc: New.
310         * testsuite/30_threads/thread/cons/moveable.cc: New.
312         * src/condition_variable.cc: Clean up whitespace.
313         * include/std/condition_variable: Same.
315 2009-02-09  Benjamin Kosnik  <bkoz@redhat.com>
317         * include/std/condition_variable (condition_variable): Remove
318         _M_internal_mutex. Add private __native_type typedef.
319         * src/condition_variable.cc (condition_variable::notify_one):
320         Remove _M_internal_mutex use. Use typedef.
321         (condition_variable::notify_all): Same.
322         * include/std/mutex (mutex): Add private __native_type typedef. Use it.
323         (recursive_mutex): Same.
324         (timed_mutex): Same.
325         (recursive_timed_mutex): Same.
326         (once_flag): Make __native_type typedef private.
328         * include/std/thread (this_thread): Add minimal markup.
330         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
331         Adjust line numbers.
332         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
333         * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
334         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
335         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
336         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
337         * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
338         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
339         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
340         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
341         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
342         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
343         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
344         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
346         * testsuite/util/thread/all.h: Testsuite utilities for testing thread.
347         * testsuite/30_threads/condition_variable_any/native_handle/
348         typesizes.cc: New.
349         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
350         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
351         * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
352         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
353         * testsuite/30_threads/condition_variable/native_handle/
354         typesizes.cc: Same.
355         * testsuite/30_threads/recursive_timed_mutex/native_handle/
356         typesizes.cc: Same.
358 2009-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>
360         PR testsuite/33300
361         * libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
362         on darwin for lp64.
364 2009-02-09  Adam Nemet  <anemet@caviumnetworks.com>
366         * configure.host: Set abi_baseline_pair for mips64*-linux.
367         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.
369 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
371         * include/std/thread (this_thread::get_id): Inline.
373 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
375         * include/std/thread (thread<>::thread(_Callable)): Explicitly use
376         _Callable as template argument for _M_make_shared_data.
377         * testsuite/30_threads/thread/cons/6.cc: New.
378         * testsuite/30_threads/thread/cons/7.cc: New.
379         * testsuite/30_threads/thread/cons/8.cc: New.
381 2009-02-07  Benjamin Kosnik  <bkoz@redhat.com>
383         * testsuite/30_threads/thread/member: To..
384         * testsuite/30_threads/thread/members: ...this.
385         * testsuite/30_threads/condition_variable/member: To...
386         * testsuite/30_threads/condition_variable/members: ...this.
388 2009-02-06  Benjamin Kosnik  <bkoz@redhat.com>
390         * include/std/thread (thread::id): Move definition inside thread.
391         Use native_handle_type. Remove this_thread::get_id friend.
392         Change __thread_data_ptr to __shared_base_ptr.
393         (thread::id::id(native_handle_type): Make public. Still explicit.
394         Use native_handle_type. Change _M_thread_id to _M_thread.
395         (thread::__thread_data_base): Rename to _Impl_base. Use id, change
396         _M_thread_handle to _M_id.
397         (thread::__thread_data): Rename to _Impl.
398         Fixup for renames.
399         (thread::_M_make_thread_data): Return derived type.
400         (thread::hardware_concurrency): Add definition for default case.
401         (thread::get_id): Now can define inline.
402         (thread): Change _M_thread_data to _M_data.
403         (this_thread::get_id): Now can define inline.
404         * src/thread.cc (__thread_proxy): Rename to
405         execute_native_thread_routine.
406         Fixup for other renames.
407         * testsuite/30_threads/thread/cons/assign_neg.cc: New.
408         * testsuite/30_threads/thread/cons/copy_neg.cc: New.
409         * testsuite/30_threads/thread/algorithm: Move to..
410         * testsuite/30_threads/thread/swap: ...this.
411         * testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
412         * testsuite/30_threads/thread/id/operators.cc: New.
414 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
416         * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
417         (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
418         (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
419         exposing it in public std::tuple interface.
421 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
422             Benjamin Kosnik  <bkoz@redhat.com>
424         * include/std/thread (__thread_data_base): Nest class in std::thread.
425         (__thread_data): Likewise.
426         (__thread_data_ptr): Nest typedef in std::thread.
427         * src/thread.cc (__thread_proxy): Qualify the above names.
428         * config/abi/pre/gnu.ver: Remove unused exports.
430 2009-02-04  Benjamin Kosnik  <bkoz@redhat.com>
432         * include/bits/unique_ptr.h: Remove private __this_type typedef.
433         * include/bits/stl_vector.h: Remove private vector_type typedef.
434         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
435         Fix line numbers.
436         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
437         * testsuite/23_containers/vector/requirements/dr438/
438         constructor_1_neg.cc: Same.
439         * testsuite/23_containers/vector/requirements/dr438/
440         constructor_2_neg.cc: Same.
441         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
442         * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
444 2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
446         PR libstdc++/25191
447         * libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
448         deal consistently with __try and __catch too.
449         * src/localename.cc: Replace try -> __try, catch -> __catch.
450         * src/ios.cc: Likewise.
451         * src/locale.cc: Likewise.
452         * src/istream.cc: Likewise.
453         * src/thread.cc: Likewise.
454         * src/compatibility.cc: Likewise.
455         * src/bitmap_allocator.cc: Likewise.
456         * src/ios_init.cc: Likewise.
457         * include/debug/deque: Likewise.
458         * include/debug/list: Likewise.
459         * include/tr1_impl/hashtable: Likewise.
460         * include/std/bitset: Likewise.
461         * include/ext/pb_ds/detail/resize_policy/
462         hash_load_check_resize_trigger_imp.hpp: Likewise.
463         * include/ext/pb_ds/detail/resize_policy/
464         hash_standard_resize_policy_imp.hpp: Likewise.
465         * include/ext/pb_ds/detail/cc_hash_table_map_/
466         resize_fn_imps.hpp: Likewise.
467         * include/ext/pb_ds/detail/cc_hash_table_map_/
468         constructor_destructor_fn_imps.hpp: Likewise.
469         * include/ext/pb_ds/detail/pat_trie_/
470         split_join_branch_bag.hpp: Likewise.
471         * include/ext/pb_ds/detail/pat_trie_/
472         constructors_destructor_fn_imps.hpp: Likewise.
473         * include/ext/pb_ds/detail/bin_search_tree_/
474         constructors_destructor_fn_imps.hpp: Likewise.
475         * include/ext/pb_ds/detail/gp_hash_table_map_/
476         resize_fn_imps.hpp: Likewise.
477         * include/ext/pb_ds/detail/gp_hash_table_map_/
478         constructor_destructor_fn_imps.hpp: Likewise.
479         * include/ext/pb_ds/detail/binary_heap_/
480         constructors_destructor_fn_imps.hpp: Likewise.
481         * include/ext/pb_ds/detail/binary_heap_/
482         erase_fn_imps.hpp: Likewise.
483         * include/ext/pb_ds/detail/binary_heap_/
484         split_join_fn_imps.hpp: Likewise.
485         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
486         constructors_destructor_fn_imps.hpp: Likewise.
487         * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
488         * include/ext/pb_ds/detail/list_update_map_/
489         constructor_destructor_fn_imps.hpp: Likewise.
490         * include/ext/slist: Likewise.
491         * include/ext/memory: Likewise.
492         * include/ext/rc_string_base.h: Likewise.
493         * include/ext/ropeimpl.h: Likewise.
494         * include/ext/vstring.tcc: Likewise.
495         * include/ext/rope: Likewise.
496         * include/ext/sso_string_base.h: Likewise.
497         * include/bits/shared_ptr.h: Likewise.
498         * include/bits/stl_list.h: Likewise.
499         * include/bits/locale_classes.tcc: Likewise.
500         * include/bits/locale_facets.tcc: Likewise.
501         * include/bits/locale_classes.h: Likewise.
502         * include/bits/forward_list.h: Likewise.
503         * include/bits/stl_vector.h: Likewise.
504         * include/bits/stl_deque.h: Likewise.
505         * include/bits/istream.tcc: Likewise.
506         * include/bits/stl_uninitialized.h: Likewise.
507         * include/bits/ostream.tcc: Likewise.
508         * include/bits/vector.tcc: Likewise.
509         * include/bits/stl_tempbuf.h: Likewise.
510         * include/bits/deque.tcc: Likewise.
511         * include/bits/basic_string.tcc: Likewise.
512         * include/bits/ostream_insert.h: Likewise.
513         * include/bits/locale_facets_nonio.tcc: Likewise.
514         * include/bits/stl_tree.h: Likewise.
515         * include/bits/fstream.tcc: Likewise.
516         * include/tr1/shared_ptr.h: Likewise.
517         * include/tr1/hypergeometric.tcc: Likewise.
518         * include/backward/hashtable.h: Likewise.
519         * libsupc++/exception_ptr.h: Likewise.
520         * libsupc++/eh_personality.cc: Likewise.
521         * libsupc++/eh_call.cc: Likewise.
522         * config/locale/gnu/monetary_members.cc: Likewise.
523         * config/locale/gnu/time_members.h: Likewise.
524         * config/locale/generic/time_members.h: Likewise.
526 2009-02-03  Johannes Singler  <singler@ira.uka.de>
528         * include/parallel/algorithmfwd.h:
529         Add parallelism default for many declarations.
530         * include/parallel/numericfwd.h: Likewise.
531         * include/parallel/iterator.h: Use iterator_traits as usual.
532         * include/parallel/par_loop.h:
533         Include equally_split.h.
534         (for_each_template_random_access_ed):
535         Avoid calling the Result default constructor.
536         * include/parallel/numeric: Replace
537         for_each_template_random_access by
538         for_each_template_random_access_ed in numeric functions.
540 2009-02-02  Benjamin Kosnik  <bkoz@redhat.com>
542         * config/os/gnu-linux/os_defines.h: Remove superfluous
543         __NO_STRING_INLINES.
545 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
547         * testsuite/21_strings/c_strings/char/3.cc: New test.
548         * testsuite/21_strings/c_strings/wchar_t/3.cc: New test.
550 2009-01-30  Ulrich Drepper  <drepper@redhat.com>
551             Jakub Jelinek  <jakub@redhat.com>
553         PR libstdc++/30928 (partial, works together with recent glibcs)
554         * include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
555         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
556         defined.
557         * include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
558         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
559         defined.
560         * include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
561         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
562         defined.
563         * include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
564         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
565         defined.
566         * testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
567         argument is const char *, assign result to const char * var, not
568         char *.
569         * testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
570         argument is const wchar_t *, assign result to const wchar_t * var, not
571         wchar_t *.
573 2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
575         * include/std/thread: Remove unused headers.
576         (__thread_data_base): Remove unused mutex and base.
577         (thread::~thread): Only detach if joinable.
578         (thread::joinable): Test if thread data ptr is empty.
579         (thread::_M_thread_data_mutex): Remove.
580         (thread::_M_get_thread_data): Remove.
581         (thread::_M_make_thread_data): Remove overload, use make_shared.
582         (thread::id::id): Make constructor explicit.
583         * src/thread.cc (thread::join,thread::detach): Throw if not joinable.
584         (thread::_M_start_thread): Break shared_ptr cycle on error.
585         (__thread_proxy): Use shared_ptr swap instead of copy and reset.
586         * testsuite/30_threads/thread/member/4.cc: New.
587         * testsuite/30_threads/thread/member/5.cc: New.
589 2009-01-28  Benjamin Kosnik  <bkoz@redhat.com>
591         * testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
592         (standard_layout): Just use !has_virtual_destructor for now.
593         * testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
594         * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
595         * testsuite/30_threads/recursive_mutex/requirements/
596         standard_layout.cc: New.
597         * testsuite/30_threads/condition_variable/requirements/
598         standard_layout.cc: New.
599         * testsuite/29_atomics/atomic_address/requirements/
600         standard_layout.cc: Adjust.
601         * testsuite/29_atomics/atomic_flag/requirements/
602         standard_layout.cc: Same.
603         * testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
604         * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
605         * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
606         * testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
607         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
608         line numbers.
609         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
610         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
611         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
612         * testsuite/29_atomics/atomic/requirements/standard_layout.cc:
613         Remove, not required.
615 2009-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
617         * include/std/thread (__thread_data_base, thread): Rename member
618         functions to match coding style.
619         (thread::thread,thread::operator=): Define move operations.
620         * src/thread.cc (__thread_data_base, thread): Rename member functions.
621         * config/abi/pre/gnu.ver: Adjust.
623 2009-01-22  Benjamin Kosnik  <bkoz@redhat.com>
625         PR libstdc++/38384
626         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Disable symbol versioning
627         on HPUX.
628         * configure: Regenerate.
630 2009-01-22  Dodji Seketeli  <dodji@redhat.com>
632         * include/ext/bitmap_allocator.h: Reverting changes related to PR
633         c++/26693.
635 2009-01-21  Benjamin Kosnik  <bkoz@redhat.com>
637         * testsuite/29_atomics/headers/stdatomic.h/functions.c: Remove
638         atomic_flag_fence.
640 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
642         * include/ext/bitmap_allocator.h: the typedefs should be made public
643         if we want them to be accessible. This has been revealed by the patch
644         that fixes PR c++/26693 in g++.
646 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
647             Uros Bizjak  <ubizjak@gmail.com>
649         PR libstdc++/38834
650         * config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
651         * config/os/gnu-linux/ldbl-extra.ver: Tweak.
653 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
654             Rainer Emrich  <r.emrich@de.tecosim.com>
656         PR libstdc++/38919
657         * crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and
658         GLIBCXX_CHECK_STDLIB_SUPPORT for mingw crosses.
659         * configure: Regenerate.
661 2009-01-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
663         * include/std/thread (__thread_data_base::__run): Make non-const.
664         * testsuite/30_threads/thread/cons/5.cc: New.
666 2009-01-16  Benjamin Kosnik  <bkoz@redhat.com>
668         * src/Makefile.am (sources): Add math_stubs_float.cc.
669         * src/Makefile.in: Regenerate.
670         * src/math_stubs_float.cc: New, from libmath/stubs.c.
672 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
674         * src/Makefile.am (sources): Add math_stubs_long_double.cc.
675         * src/Makefile.in: Regenerate.
676         * src/math_stubs_long_double.cc: New, from libmath/stubs.c.
678 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
680         PR libstdc++/32666
681         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
683 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
685         PR libstdc++/32666
686         * Makefile.am (hosted_source): Remove libmath directory.
687         * Makefile.in: Regenerate.
688         * linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
689         (AC_REPLACE_MATHFUNCS): Remove.
690         (GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
691         in GLIBCXX_CHECK_C99_TR1.
692         * acinclude.m4: Remove libmath, need_math.
693         * crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
694         HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
695         * configure.ac: Same.
696         * configure: Regenerate.
697         * fragment.am: Fix comment.
698         * config.h.in: Regenerate.
699         * src/Makefile.in: Regenerate.
700         * src/Makefile.am: Remove libmath references.
701         * doc/Makefile.in: Regenerate.
702         * po/Makefile.in: Regenerate.
703         * include/Makefile.in: Regenerate.
704         * libsupc++/Makefile.in: Regenerate.
705         * testsuite/Makefile.in: Regenerate.
707         * src/compatibility.cc: Also export long double versions of "C" math
708         library if hppa-linux.
709         * config/abi/pre/gnu.ver: Remove unused __signbit exports.
710         * doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
712         * libmath: Remove.
713         * libmath/signbit.c: Same.
714         * libmath/stubs.c: Same.
715         * libmath/Makefile.in: Same.
716         * libmath/copysignf.c: Same.
717         * libmath/mathconf.h: Same.
718         * libmath/signbitf.c: Same.
719         * libmath/Makefile.am: Same.
720         * libmath/signbitl.c: Same.
722 2009-01-15  Chris Fairles  <cfairles@gcc.gnu.org>
723             Paolo Carlini  <paolo.carlini@oracle.com>
725         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
726         [GLIBCXX_CHECK_NANOSLEEP]): Remove.
727         ([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
728         * configure.ac: Adjust.
729         * doc/xml/manual/configure.xml: Update.
730         * testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
731         * testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
732         * testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
733         * configure: Regenerate.
734         * config.h.in: Likewise.
736         * src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
737         thread::joinable, thread::swap, this_thread::get_id,
738         this_thread::yield): Define inline...
739         * include/std/thread: ... here.
740         * config/abi/pre/gnu.ver: Adjust.
742 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
744         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc:
745         Add dg-timeout-factor 2.0.
746         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
747         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
748         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
749         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
750         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Ditto.
751         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
753 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
755         * scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
756         field from readelf output.
758 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
760         PR libstdc++/38384
761         * crossconfig.m4 (hpux): Update for 10.20, 11, 11.20.
762         * configure: Regenerate.
764 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
766         * crossconfig.m4 (linux): Add GCC_CHECK_TLS to define
767         _GLIBCXX_HAVE_TLS.
768         Use GLIBCXX_CHECK_COMPILER_FEATURES to compute SECTION_FLAGS.
770 2009-01-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
772         * include/tr1_impl/regex (basic_regex::basic_regex): Use range
773         constructor for _M_pattern.
774         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
775         string.cc: Test construction from different basic_string type.
776         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
777         string.cc: Likewise.
779 2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
780             Jonathan Larmour  <jifl@eCosCentric.com>
782         PR libstdc++/36801
783         * config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
784         New.
785         (__gnu_cxx::__exchange_and_add): Use it.
786         * src/atomic.cc (get_atomic_mutex): New.
787         * src/debug.cc (get_safe_base_mutex): New.
788         * src/locale.cc (get_locale_cache_mutex): New.
789         * src/mt_allocator.cc (get_freelist): New.
790         (get_freelist_mutex): New.
791         * src/pool_allocator.cc (get_palloc_mutex): New.
792         * include/std/mutex (__once_functor_lock): To
793         (__get_once_functor_lock): ...this.
794         * src/mutex.cc (__once_mutex): Don't export, use
795         (get_once_mutex): ...this.
796         * config/abi/pre/gnu.ver: Adjust exports.
798 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
800         PR libstdc++/38732
801         * libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
802         referenceCount field again.
803         (__cxxabiv1::__cxa_refcounted_exception): New struct.
804         (__cxxabiv1::__get_refcounted_exception_header_from_obj,
805         __cxxabiv1::__get_refcounted_exception_header_from_ue): New static
806         inline functions.
807         * libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
808         __cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
809         instead of __cxa_exception.
810         * libsupc++/eh_throw.cc (__gxx_exception_cleanup,
811         __cxxabiv1::__cxa_throw): Likewise.
812         * libsupc++/eh_ptr.cc (std::rethrow_exception,
813         std::__exception_ptr::exception_ptr::_M_addref,
814         std::__exception_ptr::exception_ptr::_M_release,
815         __gxx_dependent_exception_cleanup): Likewise.
816         * testsuite/18_support/exception/38732.cc: New test.
818         PR libstdc++/38092
819         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
820         * src/compatibility.cc: Don't use .symver directives if
821         _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
822         * config.h.in: Regenerated.
823         * configure: Likewise.
825 2009-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
827         PR libstdc++/38466
828         * include/bits/stl_pair.h: Document C++03 pair vs swap.
830 2009-01-06  Benjamin Kosnik  <bkoz@redhat.com>
832         * src/locale_init.cc (locale::_S_initialize_once): Move construction
833         of classic locale...
834         (locale::classic): Here.
836 2009-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
838         * include/tr1_impl/regex: Fix bad return statements and typos.
840 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
842         * include/tr1_impl/regex: Remove unimplemented function definitions.
843         * testsuite/28_regex/init-list.cc: Compile only.
844         * testsuite/tr1/7_regular_expressions/regex/cons/char/
845         c_string_extended.cc: Same.
846         * testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
847         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.
849 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
851         PR libstdc++/38384
852         * crossconfig.m4: Define HAVE_FABSF for hpux crosses.
853         * configure: Regenerate.
855 2009-01-05  Ben Elliston  <bje@au.ibm.com>
857         * configure.ac (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove invocation.
858         * configure: Regenerate.
860 2009-01-05  Ben Elliston  <bje@au.ibm.com>
862         * configure.ac: Exchange the order of GLIBCXX_ENABLE_THREADS and
863         GLIBCXX_ENABLE_ATOMIC_BUILTINS macro invocations.
864         * configure: Regenerate.
866 2009-01-04  Richard Guenther  <rguenther@suse.de>
868         PR libstdc++/38720
869         * include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
870         integer type for storage, arithmetic and comparisons.
871         * testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.
873 2009-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
875         PR libstdc++/38719
876         * include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
877         _Fwd_list_const_iterator::_M_next): Fix return type.
879 2009-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
881         * Revert last commit, reopen and suspend libstdc++/38678.
883 2009-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
885         PR libstdc++/38678
886         * include/std/istream (basic_istream<>::_M_read): New.
887         * include/bits/istream.tcc (basic_istream<>::_M_read): Define.
888         (basic_istream<>::read, basic_istream<>::readsome): Use it.
889         * include/std/ostream (basic_ostream<>::_M_write_): New.
890         (basic_ostream<>::_M_write): Adjust.
891         * include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
892         * testsuite/27_io/basic_istream/read/char/38678.cc: New.
893         * testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
894         * testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
895         * testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
897 2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>
899         * include/ext/concurrence.h: Fix __gthread_cond_t initialisation
900         function macro name.
902 2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>
904         * doc/doxygen/stdheader.cc: Add cstdlib.
905         * doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.
907 2008-12-21  Andrew Pinski  <pinskia@gmail.com>
909         PR target/38300
910         * configure: Regenerate.
912 2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>
914         PR libstdc++/38596
915         * include/tr1_impl/functional (function<>::target,
916         function<>::target_type): Provide only when __GXX_RTTI is defined.
917         (_Function_base::_M_manager, _Ref_manager<>::_M_manager,
918         _Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
919         Adjust.
921 2008-12-19  Ben Elliston  <bje@au.ibm.com>
923         * acinclude.m4: Guard a variable test against an empty string.
924         * configure: Regenerate.
926 2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>
928         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
929         Add xfail on all targets except darwin.
930         * libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
931         1674.cc: Same.
932         * libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
933         for xfailing on all targets except linux.
935 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
937         * configure: Regenerate.
939 2008-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
941         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
942         Don't xfail test on darwin8 or later.
944 2008-12-16  Jack Howarth  <howarth@bromo.med.uc.edu>
946         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
947         Don't xfail excessive errors on darwin8 or later.
949 2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>
951         * include/c_global/cstdatomic: Remove assert include.
952         * include/debug/debug.h: Consolidate __replacement_assert...
953         * include/parallel/base.h: Consolidate __replacement_assert...
954         * include/bits/c++config: ...here.
955         * include/bits/atomic_0.h: Use it.
956         * include/bits/atomic_2.h: Same.
957         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
958         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
960 2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>
962         * src/atomic.cc: Revert last change.
963         * include/bits/atomic_2.h: Move cassert include to...
964         * include/c_global/cstdatomic: ...here.
965         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
966         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
968 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
970         * src/Makefile.am: Remove -x c++ for atomic build rules.
971         * src/Makefile.in: Regenerate.
972         * src/atomic.cc: Move mutex include before cstdatomic.
974 2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
976         PR libstdc++/37144
977         * testsuite/util/regression/trait/assoc/type_trait.hpp
978         (regression_test_type_traits): Add const to pair_type_rebind.
980 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
982         * src/atomic.cc: Correct guards to match mutex.cc.
984 2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
985             Richard Henderson  <rth@redhat.com>
987         * include/c_global/cstdatomic: Update to N2798.
988         (atomic): Remove explicit constructors as per DR 845.
989         * include/bits/atomic_0.h: New. Switchable implementation.
990         * include/bits/atomic_2.h: New. Lock-free implementation.
991         * include/c_compatibility/stdatomic.h: Use foward headers.
992         * include/bits/atomicfwd_cxx.h: New.
993         * include/bits/atomicfwd_c.h: New.
994         * src/atomic.cc: Adjust.
995         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
996         unconditionally use default/deleted syntax.
997         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
998         * include/Makefile.am (bits_headers): Add atomicfwd_c.h,
999         atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
1000         * include/Makefile.in: Regenerate.
1001         * configure: Regenerate.
1002         * config.h.in: Regenerate.
1003         * config/abi/pre/gnu.ver: Adjust exports.
1005         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
1006         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
1007         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
1008         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
1009         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
1010         * testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
1011         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc
1012         * testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
1013         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
1014         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
1015         * testsuite/29_atomics/atomic_integral/cons/default.cc: New.
1016         * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
1017         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1018         * testsuite/29_atomics/atomic_integral/requirements/
1019         standard_layout.cc: New.
1020         * testsuite/29_atomics/atomic_integral/operators/
1021         integral_assignment.cc: New.
1022         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
1023         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
1024         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
1025         * testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
1026         * testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
1027         * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
1028         * testsuite/29_atomics/atomic_integral/operators/
1029         integral_conversion.cc: New.
1030         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
1031         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
1032         * testsuite/29_atomics/atomic_flag/requirements/
1033         standard_layout.cc: Same.
1034         * testsuite/29_atomics/atomic_flag/
1035         atomic_global_fence_compatibility.cc: Kill.
1036         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
1037         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
1038         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
1039         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
1040         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
1041         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
1042         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
1043         * testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
1044         * testsuite/29_atomics/atomic/cons/copy_neg.cc
1045         * testsuite/29_atomics/atomic/cons/direct_list.cc: New.
1046         * testsuite/29_atomics/atomic/cons/copy_list.cc: New.
1047         * testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
1048         * testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
1049         * testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
1050         * testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
1051         * testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
1052         * testsuite/util/testsuite_common_types.h: ...here.
1053         (atomic_integrals_no_bool): New.
1054         (atomic_integrals): New.
1055         (has_increment_operators, has_decrement_operators)
1056         (direct_list_initializable, single_value_constructible)
1057         (standard_layout, has_bitwise_operators, integral_convertable)
1058         (integral_assignable): Add.
1060 2008-12-11  Jakub Jelinek  <jakub@redhat.com>
1062         PR c++/37582
1063         * testsuite/26_numerics/headers/cmath/37582.cc: New.
1065 2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
1067         * include/tr1_impl/cmath: Undef remquof / remquol too; add using
1068         declarations.
1069         * acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
1070         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
1071         * configure: Regenerate.
1073 2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
1075         * include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
1077 2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
1079         PR libstdc++/38421
1080         * include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
1081         * doc/xml/manual/appendix_contributing.xml: Add __ea to the list
1082         of badnames.
1084 2008-12-05  Tom Tromey  <tromey@redhat.com>
1086         * include/tr1_impl/functional (_Mu): Fix typo.
1088 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
1090         PR libstdc++/38399
1091         * include/bits/locale_facets_nonio.tcc (money_get<>::
1092         _M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
1093         string&)): Fix, reject decimal point when frac_digits <= 0.
1094         * testsuite/22_locale/money_get/get/char/38399.cc: New.
1095         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
1096         * testsuite/22_locale/money_get/get/char/5.cc: Adjust.
1097         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
1099 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
1101         PR libstdc++/38411
1102         * testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
1103         of fr_FR.
1104         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
1105         * testsuite/22_locale/locale/cons/7.cc: Likewise.
1107 2008-12-04  Paolo Carlini  <paolo.carlini@oracle.com>
1109         PR libstdc++/38368
1110         * config/locale/gnu/numeric_members.cc (numpunct<char>::
1111         _M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
1112         Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
1113         * config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
1114         _M_initialize_moneypunct, moneypunct<char, false>::
1115         _M_initialize_moneypunct, moneypunct<wchar_t, true>::
1116         _M_initialize_moneypunct, moneypunct<wchar_t, false>::
1117         _M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
1118         __MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
1119         * testsuite/22_locale/locale/cons/38368.cc: New.
1121 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
1123         PR libstdc++/38365 (cont)
1124         * src/localename.cc (locale::locale(const locale&, const locale&,
1125         category)): Revert last changes.
1126         (locale::_Impl::_M_replace_categories(const _Impl*, category)):
1127         Fix here instead; rework.
1129 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
1131         PR libstdc++/38365
1132         * src/localename.cc (locale::locale(const locale&, const locale&,
1133         category)): Fix.
1134         * testsuite/22_locale/locale/cons/38365.cc: New.
1136 2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1138         PR libstdc++/38080
1139         * include/std/iostream: Correct URL.
1140         * include/std/streambuf: Same.
1141         * include/std/bitset: Same.
1142         * include/std/iosfwd: Same.
1143         * include/std/fstream: Same.
1144         * include/std/istream: Same.
1145         * include/std/ostream: Same.
1146         * include/std/sstream: Same.
1147         * include/bits/basic_ios.h: Same.
1148         * include/bits/stl_map.h: Same.
1149         * include/bits/stl_set.h: Same.
1150         * include/bits/stl_multimap.h: Same.
1151         * include/bits/ios_base.h: Same.
1152         * include/bits/stl_multiset.h: Same.
1153         * include/bits/char_traits.h: Same.
1154         * include/bits/stl_relops.h: Same.
1155         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1156         * testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
1158 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
1160         PR testsuite/28870
1161         * testsuite/lib/libstdc++.exp: Include new timeout library files.
1162         (libstdc++_init): Define tool_timeout.
1163         (dg-test): Override DejaGnu proc.
1164         (v3_target_compile): Set timeout value from new proc.
1165         (v3_target_compile_as_c): Ditto.
1167 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
1169         PR libstdc++/38244 (cont, debug bits)
1170         * include/debug/bitset (bitset<>::bitset(const char*, char, char)):
1171         Remove, do not implement DR 778.
1173 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
1175         PR libstdc++/38244
1176         * include/std/bitset (bitset<>::bitset(const char*, char, char)):
1177         Remove, do not implement DR 778.
1178         * doc/xml/manual/intro.xml: Remove entry for DR 778.
1179         * testsuite/23_containers/bitset/cons/2.cc: Remove.
1180         * testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
1181         * testsuite/23_containers/bitset/cons/38244.cc: Add.
1183 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
1185         * testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
1186         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1188 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
1190         PR libstdc++/38210
1191         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1192         ios_base&, char_type, const void*)): Fix.
1193         * testsuite/22_locale/num_put/put/char/38210.cc: New.
1194         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1196 2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
1198         PR libstdc++/38196
1199         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1200         ios_base&, char_type, bool)): Fix.
1201         * testsuite/22_locale/num_put/put/char/38196.cc: New.
1202         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
1204 2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
1206         * include/tr1_impl/cinttypes: Remove redundant pragma system_header.
1207         * include/tr1_impl/cfenv: Likewise.
1208         * include/tr1_impl/cstdint: Likewise.
1210 2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
1212         PR libstdc++/38000
1213         * include/c_global/csignal: Do not use include_next.
1214         * include/c_global/cstdlib: Likewise.
1215         * include/c_global/cstdio: Likewise.
1216         * include/c_global/cstdarg: Likewise.
1217         * include/c_global/cctype: Likewise.
1218         * include/c_global/cerrno: Likewise.
1219         * include/c_global/cmath: Likewise.
1220         * include/c_global/clocale: Likewise.
1221         * include/c_global/climits: Likewise.
1222         * include/c_global/cassert: Likewise.
1223         * include/c_global/csetjmp: Likewise.
1224         * include/c_global/cwchar: Likewise.
1225         * include/c_global/cfloat: Likewise.
1226         * include/c_global/cstdbool: Likewise.
1227         * include/c_global/cstring: Likewise.
1228         * include/c_global/cstddef: Likewise.
1229         * include/c_global/cwctype: Likewise.
1230         * include/tr1/cstdbool: Likewise.
1231         * include/tr1_impl/cinttypes: Do not include <inttypes.h>.
1232         * include/c_global/cinttypes: Do it here.
1233         * include/tr1/cinttypes: Likewise.
1234         * include/tr1_impl/cfenv: Do not include <fenv.h>.
1235         * include/c_global/cfenv: Do it here.
1236         * include/tr1/cfenv: Likewise.
1237         * include/tr1_impl/cstdint: Do not include <stdint.h>.
1238         * include/c_global/cstdint: Do it here.
1239         * include/tr1/cstdint: Likewise.
1240         * include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
1241         * include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
1242         * include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
1244         * include/c_compatibility/math.h: Minor tweak, add comment.
1246 2008-11-12  Steve Ellcey  <sje@cup.hp.com>
1248         * configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
1249         * configure: Regenerate to get new GCC_CHECK_UNWIND_GETIPINFO.
1251 2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>
1253         PR libstdc++/37986 (cont)
1254         * include/tr1_impl/random (struct _Adaptor): Use only remove_reference
1255         on _Engine.
1256         (struct _Adaptor<_Engine*, _Distribution>): Add.
1257         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1258         37986.cc: Extend.
1260 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1262         PR libstdc++/37986
1263         * include/tr1_impl/random (struct _Adaptor): Use remove_pointer
1264         and remove_reference on _Engine.
1265         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1266         37986.cc: New.
1268 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1270         * testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.
1272 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1274         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
1275         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1276         Likewise.
1278 2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
1280         * include/bits/forward_list.h: Support non-standard pointer types
1281         (_Fwd_list_node_base): Add _Alloc template parameter.
1282         (_Fwd_list_node<>): Likewise.
1283         (_Fwd_list_iterator<>): Likewise.
1284         (_Fwd_list_const_iterator<>): Likewise.
1285         (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
1286         Use _Alloc<_Tp>::pointer.
1287         (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
1288         (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
1289         _M_insert_after, _M_put_node, _M_erase_after): Likewise.
1290         (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
1291         (forward_list<>): Use __static_pointer_cast in place of static_cast,
1292         and __const_pointer_cast in place of const_cast.
1293         * include/bits/forward_list.tcc
1294         (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
1295         of standard pointers, __static_pointer_cast in place of static_cast.
1296         (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
1297         Likewise.
1298         (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
1299         splice_after, remove, remove_if, merge): Likewise.
1300         * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
1301         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
1302         Likewise.
1303         * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
1304         Likewise.
1305         * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
1306         Likewise.
1307         * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
1308         Likewise.
1309         * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
1310         Likewise.
1311         * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
1312         Likewise.
1313         * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
1314         Likewise.
1315         * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
1316         Likewise.
1317         * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
1318         Likewise.
1319         * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
1320         Likewise.
1321         * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
1322         Likewise.
1323         * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
1324         Likewise.
1325         * testsuite/23_containers/forward_list/ext_pointer/requirements/
1326         explicit_instantiation/1.cc: Likewise.
1327         * testsuite/23_containers/forward_list/ext_pointer/requirements/
1328         explicit_instantiation/3.cc: Likewise.
1329         * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
1331 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1333         * include/ext/extptr_allocator.h: Minor tweaks.
1334         * include/ext/pointer.h: Likewise.
1335         * include/ext/cast.h: Likewise.
1337 2008-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
1339         PR libstdc++/38067
1340         * config/locale/gnu/monetary_members.cc (moneypunct<>::
1341         _M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
1342         delete for __wcs_ps and __wcs_ns.
1344 2008-11-07  Bob Walters  <bob.s.walters@gmail.com>
1346         * include/ext/pointer.h: New, add experimental support for non-standard
1347         pointer types in containers via the allocator::pointer typedef.
1348         (Currently only supported/working with std::vector)
1349         * include/ext/cast.h: New, add overload-able pointer casting functions
1350         for use in containers supporting non-standard pointer types.
1351         * include/ext/extptr_allocator.h: New, add _ExtPtr_allocator.
1352         * include/Makefile.am: Update.
1353         * include/precompiled/extc++.h: Likewise.
1354         * include/Makefile.in: Regenerate.
1355         * testsuite/ext/ext_pointer/1.cc: New.
1356         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
1357         * testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
1358         * testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
1359         * testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
1360         * testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
1361         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1362         Likewise.
1363         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
1364         Likewise.
1365         * testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
1366         Likewise.
1367         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1368         1.cc: Likewise.
1369         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1370         3.cc: Likewise.
1372 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1374         PR libstdc++/38017
1375         Revert:
1376         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1377         to use C++0x features.
1378         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1379         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1380         New.
1381         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1382         New.
1383         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1385 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1387         PR libstdc++/24803
1388         PR libstdc++/37351
1389         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1390         to use C++0x features.
1391         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1392         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1393         New.
1394         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1395         New.
1396         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1398 2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
1400         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1401         iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
1402         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1403         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1405 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1407         PR libstdc++/37958 (cont again)
1408         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1409         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1410         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1411         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1413 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1415         * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
1416         num_get<>::do_get(, unsigned short&),
1417         num_get<>::do_get(, unsigned int&),
1418         num_get<>::do_get(, unsigned long&),
1419         num_get<>::do_get(, long long&),
1420         num_get<>::do_get(, unsigned long long&),
1421         num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
1422         num_put<>::do_put(, long long),
1423         num_put<>::do_put(, unsigned long long)): Move inline...
1424         * include/bits/locale_facets.h: ... here.
1426 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1428         PR libstdc++/37958 (cont)
1429         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1430         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1432 2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
1434         * include/bits/shared_ptr.h: Update comparisons to match WP.
1435         (_Sp_counted_ptr): Make copy and assignment members deleted.
1436         (_Sp_counted_deleter): Remove private copy and assignment members.
1437         (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
1438         friend operator< with overloaded _M_less member functions to allow
1439         comparison with either shared_count or weak_count.
1440         (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
1441         (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
1442         for ownership-based ordering.
1443         (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
1444         make non-friend.
1445         (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
1446         (operator!=(__shared_ptr,__shared_ptr)): Likewise.
1447         (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
1448         pointer specialization.
1449         (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
1450         weak_ptr::operator>=): Remove operator< and delete all comparisons.
1451         (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
1452         (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
1453         (operator==(shared_ptr,shared_ptr): Likewise.
1454         (operator!=(shared_ptr,shared_ptr): Likewise.
1455         (swap(shared_ptr,shared_ptr)): Fix parameter types.
1456         (swap(weak_ptr,weak_ptr)): Add missing overload.
1457         * testsuite/20_util/owner_less/cmp.cc: New.
1458         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
1459         * testsuite/20_util/shared_ptr/comparison/less.cc: New.
1460         * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
1461         * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
1462         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
1464 2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
1466         PR libstdc++/37958
1467         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1468         iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
1469         * testsuite/22_locale/num_get/get/char/37958.cc: New.
1470         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1472 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
1474         PR libstdc++/37919
1475         Revert:
1476         2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
1478         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1479         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1480         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1481         Remove the old variadic constructor, and instead provide several
1482         variadic constructors that avoid failing when attempting to
1483         initialize a pointer from a null pointer constant.
1484         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1485         initialization of pointers from the null pointer constant.
1487 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
1489         PR libstdc++/37522
1490         * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
1491         * include/bits/basic_string.h: Guard string conversions with
1492         !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
1493         * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
1494         New.
1495         * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
1496         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1497         Use the latter.
1498         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1499         Likewise.
1500         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1501         Likewise.
1502         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1503         Likewise.
1504         * testsuite/21_strings/basic_string/numeric_conversions/char/
1505         stoull.cc: Likewise.
1506         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1507         Likewise.
1508         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1509         Likewise.
1510         * testsuite/21_strings/basic_string/numeric_conversions/char/
1511         to_string.cc: Likewise.
1512         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1513         Likewise.
1515 2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
1517         * config/os/generic/error_constants.h (enum errc): Remove
1518         no_posix_equivalent.
1519         * config/os/mingw32/error_constants.h (enum errc): Likewise.
1520         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
1521         Adjust.
1523 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
1525         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
1526         (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
1527         variables.
1528         (%/site.exp, check-DEJAGNU%): New targets.
1529         (check-am): Run $(MAKE) check-DEJAGNU.
1530         * testsuite/Makefile.in: Regenerated.
1532 2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>
1534         * config/os/generic/error_constants.h (errc): Use long type.
1535         * config/os/mingw32/error_constants.h (errc): Likewise.
1537 2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>
1539         * include/std/system_error (is_error_code_enum): Specialize for errc.
1540         (error_category::error_category): Defaulted and protected.
1541         (error_category::~error_category): New, virtual.
1542         (error_category::error_category(const error_category&),
1543         error_category::operator=(const error_category&)): Deleted.
1544         (get_system_category, get_posix_category): Remove (DR 890).
1545         (system_category): External linkage (DR 890).
1546         (posix_category): Remove.
1547         (generic_category): Add. External linkage (DR 890).
1548         (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
1549         (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
1550         error_code::assign, use generic_category.
1551         (error_condition::error_condition,
1552         error_condition::error_condition<>(_ErrorConditionEnum)): Use
1553         generic_category.
1554         (error_condition::clear,
1555         error_condition::operator=<>(_ErrorConditionEnum)): Forward to
1556         error_code::assign, use generic_category.
1557         (make_error_code, make_error_condition): Define in namespace std.
1558         * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
1559         unique_lock<>::try_lock_until<>(duration),
1560         unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
1561         * src/system_error.cc (system_error_category, generic_error_category):
1562         New.
1563         (gnu_error_category): Remove.
1564         (get_system_category, get_posix_category): Remove (DR 890).
1565         (system_category, generic_category): Define.
1566         * src/functexcept.cc (__throw_system_error): Use generic_category.
1567         * config/abi/pre/gnu.ver: Export system_category and generic_category,
1568         remove get_system_category and get_generic_category (DR 890).
1569         * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
1570         enum class type. Fix spelling.
1571         * config/os/mingw32/error_constants.h (posix_errno): Likewise.
1572         * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
1573         generic_category.
1574         * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
1575         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
1576         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
1577         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
1578         dg-error line numbers.
1579         * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
1580         generic_category.
1581         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
1582         * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
1583         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1584         Likewise.
1585         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
1586         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
1587         Remove using tests since errc is not a namespace.
1588         * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
1589         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
1590         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
1591         Likewise.
1592         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1593         Likewise.
1594         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1596 2008-10-20  Paolo Carlini  <paolo.carlini@oracle.com>
1598         * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
1599         (_Args&&...)): Add in C++0x mode.
1600         * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
1601         _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
1602         C++0x mode.
1604         * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
1605         Node_allocator for improved accuracy.
1606         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1607         29134-multimap.cc: Adjust.
1608         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1609         29134-map.cc: Likewise.
1610         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1611         29134-multiset.cc: Adjust.
1612         * testsuite/tr1/6_containers/unordered_multimap/capacity/
1613         29134-set.cc: Likewise.
1615 2008-10-19  Paolo Carlini  <paolo.carlini@oracle.com>
1617         * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
1618         (_Args&&...)): Add in C++0x mode.
1619         (_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
1620         use _M_get_Node_allocator.
1621         (_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
1622         in C++0x mode.
1623         * testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
1624         line numbers.
1625         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
1627 2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
1629         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1630         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1631         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1632         Remove the old variadic constructor, and instead provide several
1633         variadic constructors that avoid failing when attempting to
1634         initialize a pointer from a null pointer constant.
1635         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1636         initialization of pointers from the null pointer constant.
1638 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1640         * include/bits/forward_list.tcc (forward_list<>::
1641         _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
1642         Simplify.
1644 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1646         * include/bits/forward_list.h (forward_list<>::
1647         forward_list(size_type)): Tweak, use _Base default constructor.
1649 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
1651         * include/bits/forward_list.h (forward_list<>::insert_after): Minor
1652         cosmetic changes.
1654 2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
1656         * include/bits/forward_list.h: Factor list construction to dispatch
1657         routines.
1658         * include/bits/forward_list.tcc: Likewise.
1659         * testsuite/23_containers/forward_list/modifiers/2.cc:
1661 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
1663         * include/bits/forward_list.tcc (operator==): Use auto.
1665 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
1667         * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
1668         Move out of line, tweak to return _Fwd_list_node_base*.
1669         (forward_list<>::insert_after(const_iterator, const _Tp&),
1670         forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
1671         * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
1672         Define.
1674         * include/bits/forward_list.h (forward_list<>): Consistently qualify
1675         calls of base class functions with this->.
1676         * include/bits/forward_list.tcc (forward_list<>): Likewise.
1678         * include/bits/forward_list.h: Move some functions out of line...
1679         * include/bits/forward_list.tcc: ... here.
1681         * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
1683 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
1685         * include/bits/forward_list.h: Remove pointless const qualifiers in
1686         const_casts.
1687         * include/bits/forward_list.tcc: Likewise.
1689         * include/bits/forward_list.h (forward_list<>::pointer,
1690         const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
1691         * testsuite/23_containers/forward_list/requirements/
1692         explicit_instantiation/1.cc: New.
1693         * testsuite/23_containers/forward_list/requirements/
1694         explicit_instantiation/1.cc: Likewise.
1696 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
1698         * include/bits/forward_list.h (forward_list<>::max_size): Use
1699         Node_allocator; minor cosmetic changes.
1700         * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
1702 2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
1704         * include/std/forward_list: New.
1705         * include/bits/forward_list.h: Likewise.
1706         * include/bits/forward_list.tcc: Likewise.
1707         * include/precompiled/stdc++.h: Modified to include forward_list.
1708         * include/Makefile.am: Add forward_list, forward_list.h, and
1709         forward_list.tcc.
1710         * include/Makefile.in: Regenerate.
1711         * testsuite/23_containers/forward_list/modifiers/1.cc: New.
1712         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
1713         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
1714         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
1715         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
1716         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
1717         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
1718         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
1719         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
1720         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
1721         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
1722         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
1723         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
1724         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
1725         * testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
1726         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
1727         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
1728         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
1729         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
1730         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
1731         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
1732         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
1733         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
1734         * testsuite/23_containers/forward_list/comparable.cc: Likewise.
1735         * testsuite/23_containers/forward_list/moveable.cc: Likewise.
1736         * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
1737         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
1738         * testsuite/17_intro/headers/c++200x/all: Likewise.
1740 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1742         * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
1743         Add in C++0x mode.
1744         (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
1745         (list<>::_M_erase(iterator): Likewise, in C++0x mode.
1746         * include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
1747         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1748         Adjust dg-error line number.
1749         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1750         Likewise.
1751         * testsuite/23_containers/list/requirements/dr438/
1752         constructor_1_neg.cc: Likewise.
1753         * testsuite/23_containers/list/requirements/dr438/
1754         constructor_2_neg.cc: Likewise.
1756 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
1758         * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
1759         for improved accuracy.
1760         * include/bits/stl_list.h (list<>::max_size): Likewise.
1761         * testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
1762         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
1763         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
1764         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
1765         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
1767 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
1769         * testsuite/20_util/reference_wrapper/24803.cc: Avoid uninitialized
1770         warnings.
1772 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
1774         * include/std/system_error (native_category): Remove.
1775         (posix_category): Add.
1776         (error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
1777         Fix _M_cat initialization.
1778         (error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
1779         (error_condition::_M_cat, error_condtion::operator=
1780         (_ErrorConditionEnum)): Implement resolution of DR 804.
1781         (error_condition::error_condition(_ErrorConditionEnum, typename
1782         enable_if<>:type*): Fix.
1783         (error_condition::clear, error_condition::assign): Implement.
1784         (operator==, operator!=): Fix uglification of parameters.
1785         (make_error_code, make_error_condition): Define in namespace
1786         posix_error.
1787         (operator<<(basic_ostream<>&, const error_code&)): Define here.
1788         * include/std/ostream (operator<<(basic_ostream<>&,
1789         const error_code&)): Do not define here.
1790         * testsuite/19_diagnostics/error_condition/cons/1.cc: New.
1791         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
1792         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1793         Likewise.
1794         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
1795         Likewise.
1796         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1797         Likewise.
1798         * testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
1799         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
1800         dg-error line numbers.
1801         * testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
1803         * testsuite/util/testsuite_error.h: Minor tweaks.
1804         * testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
1806 2008-10-10  Chris Fairles  <cfairles@gcc.gnu.org>
1808         * testsuite/20_util/duration/cons/1.cc: Remove invalid check of
1809         uninitialized duration.
1811 2008-10-08  Bob Walters  <bob.s.walters@gmail.com>
1813         * include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
1814         _M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
1815         _M_deallocate): Use _Tp_alloc_type::pointer.
1817 2008-10-07  Jason Merrill  <jason@redhat.com>
1819         PR libstdc++/37761
1820         * testsuite/abi/demangle/abi_examples/20.cc: Adjust expected spacing.
1821         * testsuite/abi/demangle/abi_text/02.cc: Likewise.
1822         * testsuite/abi/demangle/regression/cw-16.cc: Likewise.
1824 2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
1826         * include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
1827         const reverse_iterator<>&), operator-(const __normal_iterator<>&,
1828         const __normal_iterator<>&), operator-(const move_iterator<>&,
1829         const move_iterator<>&)): Use the auto -> return type syntax,
1830         implement DR 685.
1832 2008-10-06  Jason Merrill  <jason@redhat.com>
1834         * config/abi/pre/gnu.ver: Update char16/32_t manglings.
1836 2008-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
1838         * testsuite/20_util/reference_wrapper/invoke.cc: New.
1839         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
1840         * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
1842 2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
1844         * config/locale/generic/c_locale.cc (__convert_to_v): Fix
1845         !__FLT_HAS_INFINITY__ case.
1847 2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>
1849         * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
1850         DR 522 [Ready].
1851         * testsuite/20_util/tuple/swap.cc: New.
1853 2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
1855         PR libstdc++/30085 (again)
1856         * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
1857         Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
1858         unordered_map / unordered_multimap; add missing member functions.
1859         * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
1860         Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
1861         * include/debug/safe_association.h: Remove.
1862         * include/Makefile.am: Adjust.
1863         * include/Makefile.in: Regenerate.
1864         * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
1865         xfail.
1867 2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>
1869         * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
1870         void reset(U)): Add as deleted function, per DR 821 [Ready].
1871         * include/bits/unique_ptr.h: Prefer everywhere deleted to private
1872         member function declarations; minor formatting tweaks.
1873         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
1874         * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
1875         directives.
1877 2008-09-28  Chris Fairles  <cfairles@gcc.gnu.org>
1879         * include/std/mutex (try_lock): Implement generic try_lock.
1880         * testsuite/30_threads/try_lock/1.cc: New.
1881         * testsuite/30_threads/try_lock/2.cc: Likewise.
1882         * testsuite/30_threads/try_lock/3.cc: Likewise.
1883         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
1884         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
1885         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1886         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1887         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
1888         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
1889         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1890         Likewise.
1891         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
1893 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
1894             Steve Ellcey  <sje@cup.hp.com>
1896         * configure: Regenerate for new libtool.
1897         * aclocal.m4: Ditto.
1898         * Makefile.in: Ditto.
1899         * src/Makefile.in: Ditto.
1900         * doc/Makefile.in: Ditto.
1901         * po/Makefile.in: Ditto.
1902         * libmath/Makefile.in: Ditto.
1903         * include/Makefile.in: Ditto.
1904         * libsupc++/Makefile.in: Ditto.
1905         * testsuite/Makefile.in: Ditto.
1907 2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
1909         * include/std/bitset: Adjust comment to reflect DR 853.
1910         * include/debug/bitset: Likewise.
1911         * doc/xml/manual/intro.xml: Add an entry for DR 853.
1913 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1915         Implement DR 396 [Ready].
1916         * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
1917         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1918         char, char), bitset<>::to_string(_CharT, _CharT),
1919         bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
1920         size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
1921         (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
1922         const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
1923         (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
1924         std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
1925         * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
1926         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
1927         char, char), bitset<>::to_string(_CharT, _CharT)): Add.
1928         * doc/xml/manual/intro.xml: Add an entry for DR 396.
1929         * testsuite/23_containers/bitset/cons/dr396.cc: Add.
1930         * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
1932 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1934         * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
1935         * testsuite/25_algorithms/max/37547.cc: Likewise.
1936         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
1938 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
1940         * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
1941         typedef monotonic_clock to system_clock and instead declare new class.
1942         * src/chrono.cc: Conditionally define monotonic_clock::now().
1943         * include/std/condition_variable (wait_until): Throw exception if
1944         __gthread_cond_timedwait returns with error other than timed_out. Use
1945         system_clock as known clock type (__clock_t) and add overloads for known
1946         and unknown clocks. In the unknown case, sync to the known clock.
1947         Implement overload taking a predicate.
1948         (wait_for): Implement overload taking a predicate.
1949         * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
1950         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
1951         line numbers.
1952         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
1953         Likewise.
1954         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
1955         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
1956         * testsuite/30_threads/condition_variable/member/1.cc: New.
1957         * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
1959 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1961         PR libstdc++/37624
1962         * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
1963         when strtold is not available.
1964         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
1966 2008-09-23  Benjamin Kosnik  <bkoz@redhat.com>
1968         PR libstdc++/37391 continued.
1969         * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
1970         specify full path for source file links.
1971         * doc/html/ext/pb_ds/pq_examples.html: Same.
1973 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
1975         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
1976         by value parameters.
1977         * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
1979 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
1981         PR libstdc++/32422, DR 23 [Ready in R60]
1982         * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
1983         ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
1984         double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1985         char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
1986         DR 23 and deal correctly with broken exponents.
1987         * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
1988         float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
1989         char*, double&, ios_base::iostate&, const __c_locale&),
1990         __convert_to_v(const char*, long double&, ios_base::iostate&, const
1991         __c_locale&)): Likewise.
1992         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
1993         _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
1994         (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
1995         ios_base::iostate&, string&): Change grouping check to set instead of
1996         OR failbit; do not check for eofbit here...
1997         (num_get<>::do_get(iter_type, iter_type, ios_base&,
1998         ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
1999         ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
2000         iter_type, ios_base&, ios_base::iostate&, long double&),
2001         num_get<>::__do_get(iter_type, iter_type, ios_base&,
2002         ios_base::iostate&, double&)): ... do it here instead.
2003         (num_get<>::do_get(iter_type, iter_type, ios_base&,
2004         ios_base::iostate&, bool&)): Implement DR 23.
2005         (num_get<>::do_get(iter_type, iter_type, ios_base&,
2006         ios_base::iostate&, void*&)): Adjust.
2007         * doc/xml/manual/intro.xml: Add and entry for DR 23.
2008         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
2009         Adjust.
2010         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2011         Likewise.
2012         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2013         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2014         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2015         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2016         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2017         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2018         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2019         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2020         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2021         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2023 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
2025         PR libstdc++/37391
2026         * doc/html/ext/pb_ds/*.html: Fix external links.
2028 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
2030         * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
2031         condition_variable, and thread output.
2033 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
2035         * doc/html/ext/lwg-closed.html: Update to Revision R59.
2036         * doc/html/ext/lwg-active.html: Likewise.
2037         * doc/html/ext/lwg-defects.html: Likewise.
2038         * doc/xml/manual/intro.xml: Adjust.
2040 2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
2042         * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
2043         consistently with the other overload for initializer_list.
2045 2008-09-19  Johannes Singler  <singler@ira.uka.de>
2047         PR libstdc++/37470
2048         * include/parallel/base.h: Rename log2 to __log2.
2049           (__log2) Avoid infinite loop for n <= 0, return 0.
2050         * include/parallel/losertree.h: Rename log2 to __log2.
2051         * include/parallel/multiseq_selection.h: Likewise.
2052         * include/parallel/random_shuffle.h: Likewise.
2054 2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
2056         * include/bits/shared_ptr.h (__shared_count<>::
2057         __shared_count(_Ptr, _Deleter), __shared_count<>::
2058         __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
2059         __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
2060         Qualify new with ::.
2062 2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
2064         PR libstdc++/37547
2065         * include/bits/stl_algo.h (min(initializer_list<>),
2066         min(initializer_list<>, Compare), max(initializer_list<>),
2067         max(initializer_list<>, Compare), minmax(initializer_list<>),
2068         minmax(initializer_list<>, Compare)): Fix return type.
2069         * include/bits/algorithmfwd.h: Adjust.
2070         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2071         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2072         Likewise.
2073         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2074         pod2.cc: Likewise.
2075         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2076         Likewise.
2077         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2078         pod2.cc: Likewise.
2079         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2080         3.cc: Likewise.
2081         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2082         pod2.cc: Likewise.
2083         * testsuite/25_algorithms/max/37547.cc: New.
2084         * testsuite/25_algorithms/min/37547.cc: Likewise.
2085         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
2087 2008-09-16  Chris Fairles  <chris.fairles@gmail.com>
2089         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2090         New.
2091         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2092         pod2.cc: Likewise.
2093         * testsuite/25_algorithms/min/3.cc: Likewise.
2094         * testsuite/25_algorithms/min/4.cc: Likewise.
2095         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2096         Likewise.
2097         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2098         pod2.cc: Likewise.
2099         * testsuite/25_algorithms/max/3.cc: Likewise.
2100         * testsuite/25_algorithms/max/4.cc: Likewise.
2101         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2102         3.cc: Likewise.
2103         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2104         pod2.cc: Likewise.
2105         * testsuite/25_algorithms/minmax/2.cc: Likewise.
2106         * testsuite/25_algorithms/minmax/3.cc: Likewise.
2108 2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
2110         * include/bits/stl_algo.h (min(initializer_list<>),
2111         min(initializer_list<>, Compare), max(initializer_list<>),
2112         max(initializer_list<>, Compare), minmax(initializer_list<>),
2113         minmax(initializer_list<>, Compare)): Add in C++0x mode.
2114         * include/bits/algorithmfwd.h: Add.
2115         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2117 2008-09-13  Chris Fairles  <chris.fairles@gmail.com>
2119         * testsuite/30_threads/thread/algorithm/1.cc: Join thread before
2120         program exits.
2121         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2122         * testsuite/30_threads/thread/this_thread/3.cc: Define test variable.
2123         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2125 2008-09-12  Chris Fairles  <chris.fairles@gmail.com>
2126             Benjamin Kosnik  <bkoz@redhat.com>
2128         * include/std/thread: New.
2129         * include/Makefile.am: Update.
2130         * include/Makefile.in: Regenerate.
2131         * src/thread.cc: New.
2132         * src/Makefile.am: Update.
2133         * src/Makefile.in: Regenerate.
2134         * acinclude.m4: Add check for nanosleep.
2135         * configure.ac: Call it.
2136         * configure: Regenerate.
2137         * config.h.in: Likewise.
2138         * config/abi/pre/gnu.ver: Add exports.
2139         * doc/doxygen/user.cfg.in: Add thread header.
2140         * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
2141         * testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
2142         * testsuite/30_threads/thread/cons/1.cc: New.
2143         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2144         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2145         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2146         * testsuite/30_threads/thread/algorithm/1.cc: Likewise.
2147         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2148         * testsuite/30_threads/thread/member/1.cc: Likewise.
2149         * testsuite/30_threads/thread/member/2.cc: Likewise.
2150         * testsuite/30_threads/thread/member/3.cc: Likewise.
2151         * testsuite/30_threads/thread/this_thread/1.cc: Likewise.
2152         * testsuite/30_threads/thread/this_thread/2.cc: Likewise.
2153         * testsuite/30_threads/thread/this_thread/3.cc: Likewise.
2154         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2155         * testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
2156         * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
2157         * testsuite/17_intro/headers/c++200x/all.cc: Add thread.
2158         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
2159         Add thread, condition_variable and mutex.
2161 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2163         * src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
2164         Remove specializations.
2165         * src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
2166         * include/bits/locale_facets.tcc (use_facet<ctype<char> >,
2167         use_facet<ctype<wchar_t>): Declare as extern template.
2168         * include/bits/locale_facets.h (use_facet<ctype<char> >,
2169         use_facet<ctype<wchar_t>): Do not declare as specializations.
2171 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2173         * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
2174         ctype<char>::_M_widen_init): Don't define here.
2175         * config/locale/gnu/ctype_members.cc: Likewise.
2176         * config/locale/generic/ctype_members.cc: Likewise.
2177         * src/ctype.cc: Define here.
2179 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2181         PR libstdc++/37455
2182         * include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
2183         ctype<char>::_M_widen_init): Don't define inline.
2184         * config/locale/darwin/ctype_members.cc: ... define here.
2185         * config/locale/gnu/ctype_members.cc: ... likewise.
2186         * config/locale/generic/ctype_members.cc: ... likewise.
2187         * config/abi/pre/gnu.ver: Export.
2189 2008-09-09  Benjamin Kosnik  <bkoz@redhat.com>
2191         * doc/xml/manual/abi.xml: Update for new releases.
2192         * doc/doxygen/user.cfg.in: Include C compatibility headers.
2193         * doc/html/*: Regenerate.
2195 2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
2197         * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACROS after
2198         inclusion of <inttypes.h>.
2199         * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
2200         __STDC_CONSTANT_MACROS after <stdint.h>.
2201         * include/bits/postypes.h: Likewise.
2203 2008-09-09  Andreas Schwab  <schwab@suse.de>
2205         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check
2206         not to redefine main.
2208 2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
2210         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
2211         wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2212         * include/tr1_impl/cinttypes: Use the latter.
2213         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
2214         * configure: Regenerate.
2215         * config.h.in: Likewise.
2217 2008-09-05  Peter Dimov  <pdimov@mmltd.net>
2219         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New.
2221 2008-09-05  Paolo Carlini  <paolo.carlini@oracle.com>
2223         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename
2224         to...
2225         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ...
2226         this.
2228 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2230         PR libstdc++/36962
2231         * include/Makefile.am: Update headers.
2232         * include/Makefile.in: Regenerate.
2233         * include/std/memory: Update headers.
2234         * include/tr1/memory: Likewise.
2235         * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
2236         separate implementations for std and tr1.
2237         * include/bits/boost_sp_shared_count.h: Remove.
2238         * include/tr1/boost_sp_shared_count.h: Remove.
2239         * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
2240         and boost_shared_ptr.h into one file.
2241         (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
2242         and rvalue-reference support as per current WP.
2243         * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
2244         and boost_shared_ptr.h into one file.
2245         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
2246         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
2247         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
2248         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
2249         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
2250         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
2251         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
2252         * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
2253         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
2255 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2257         * doc/xml/manual/locale.xml: Fix typo.
2259 2008-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
2261         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
2262         POSIX threads.
2263         * configure: Regenerate.
2265 2008-09-04  Chris Fairles  <chris.fairles@gmail.com>
2267         * include/std/mutex (once_flag): Construct __gthread_once_t in a
2268         temporary variable before assigning to _M_once to avoid initialization
2269         errors.
2271 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2273         * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
2274         GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
2276         * Makefile.in: Regenerate.
2277         * src/Makefile.in: Likewise.
2278         * doc/Makefile.in: Likewise.
2279         * po/Makefile.in: Likewise.
2280         * libmath/Makefile.in: Likewise.
2281         * include/Makefile.in: Likewise.
2282         * libsupc++/Makefile.in: Likewise.
2283         * testsuite/Makefile.in: Likewise.
2285 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2287         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
2288         check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
2289         * configure: Regenerate.
2291 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2293         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
2294         * configure: Regenerate.
2296 2008-09-03  Chris Fairles  <chris.fairles@gmail.com>
2298         * include/std/condition_variable: Use new deleted ctors.
2299         * include/std/mutex: Likewise plus implement timed_mutex,
2300         recursive_timed_mutex and call_once.
2301         * src/condition_variable.cc: Implement wait(). Use gthread types.
2302         Remove _GTHREADS_HAS_COND checks in favor of global
2303         _GLIBCXX_HAS_GTHREADS.
2304         * src/mutex.cc (call_once): Implementation using TLS with mutex
2305         fallback.
2306         * config/abi/pre/gnu.ver: Add exported symbols.
2307         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
2308         * testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
2309         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
2310         dg-require-gthreads and dg-require-cstdint.
2311         * testsuite/30_threads/lock_guard/requirements/
2312         explicit_instantiation.cc: Likewise.
2313         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2314         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2315         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2316         * testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
2317         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2318         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2319         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2320         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2321         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2322         Likewise.
2323         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2324         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2325         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
2326         Likewise.
2327         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2328         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2329         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2330         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2331         * testsuite/30_threads/unique_lock/requirements/
2332         explicit_instantiation.cc: Likewise.
2333         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
2334         * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
2335         lines for deleted members.
2336         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2337         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2338         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2339         * testsuite/30_threads/call_once/once_flag.cc: New.
2340         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2341         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2342         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
2343         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
2344         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2345         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
2346         Likewise.
2347         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
2348         Likewise.
2349         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2350         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2351         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2352         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2353         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
2354         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2355         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
2356         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
2357         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2358         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2359         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2360         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2361         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2362         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2363         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2364         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2365         Likewise.
2366         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2367         Likewise.
2368         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2369         Likewise.
2370         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2371         Likewise.
2372         * testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
2373         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2374         Likewise.
2375         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2376         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
2377         Likewise.
2378         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
2379         Likewise.
2380         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2381         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2382         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2383         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2384         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2385         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2386         Likewise.
2387         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2388         Likewise.
2389         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2390         Likewise.
2391         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2392         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2393         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2394         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2395         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2396         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2397         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2398         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2399         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2400         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2401         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2402         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2404 2008-09-01  Mark Mitchell  <mark@codesourcery.com>
2406         * include/std/type_traits (__make_unsigned_selector<>): Consider
2407         enums of size smaller than short.
2408         (__make_signed_selector<>): Likewise.
2409         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2410         Adjust line numbers.
2411         * testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
2412         Adjust line numbers.
2413         * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
2414         Ensure test_enum is the same size as short.
2415         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2416         Ensure test_enum is the same size as short.
2418 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2420         * acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
2421         * configure: Regenerated.
2422         * Makefile.in: Regenerated.
2423         * src/Makefile.in: Regenerated.
2424         * doc/Makefile.in: Regenerated.
2425         * po/Makefile.in: Regenerated.
2426         * libmath/Makefile.in: Regenerated.
2427         * include/Makefile.in: Regenerated.
2428         * libsupc++/Makefile.in: Regenerated.
2429         * testsuite/Makefile.in: Regenerated.
2431 2008-08-29  Mark Mitchell  <mark@codesourcery.com>
2433         * testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
2434         when testing on a simultor.
2436 2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
2438         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2439         Rename to .../typedefs.cc.
2440         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2441         Likewise.
2442         * testsuite/tr1/6_containers/unordered_multiset/requirements/
2443         typedef.cc: Likewise.
2444         * testsuite/tr1/6_containers/unordered_multimap/requirements/
2445         typedef.cc: Likewise.
2446         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2447         Likewise.
2448         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2449         Likewise.
2450         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2451         Likewise.
2452         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2453         Likewise.
2455 2008-08-28  Chris Fairles  <chris.fairles@gmail.com>
2457         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
2458         support used by c++0x thread library.
2459         * configure.ac: Test unconditionally.
2460         * configure: Regenerate.
2461         * config.h.in: Regenerate.
2463 2008-08-27  Benjamin Kosnik  <bkoz@redhat.com>
2465         * doc/Makefile.am: Edit xml file list.
2466         * doc/Makefile.in: Regenerate.
2467         * configure: Regenerate.
2468         * doc/xml/manual/intro.xml: Edit, correct links, structure.
2469         * doc/xml/manual/configure.xml: Same.
2470         * doc/xml/manual/debug.xml: Same.
2471         * doc/xml/manual/test.xml: Same.
2472         * doc/xml/manual/build.xml: Remove.
2473         * doc/xml/manual/prerequisites.xml: Add.
2474         * doc/html/*: Regenerate.
2476 2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>
2478         * include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
2479         const_pointer typedefs.
2480         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2481         Add.
2482         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2483         Likewise.
2484         * testsuite/tr1/6_containers/unordered_multiset/requirements/
2485         typedef.cc: Likewise.
2486         * testsuite/tr1/6_containers/unordered_multimap/requirements/
2487         typedef.cc: Likewise.
2488         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2489         Likewise.
2490         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2491         Likewise.
2492         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2493         Likewise.
2494         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2495         Likewise.
2497 2008-08-27  Paul Brook  <paul@codesourcery.com>
2499         * libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
2500         __get_object_from_ambiguous_exception.
2502 2008-08-26  Ben Elliston  <bje@au.ibm.com>
2504         * src/mt_allocator.cc (__pool): Fix error in comment.
2506 2008-08-25  Paolo Carlini  <paolo.carlini@oracle.com>
2508         * linkage.m4 ([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1],
2509         [GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT]): Remove
2510         * configure.ac: Do not call the latter.
2511         * crossconfig.m4: Likewise.
2512         * libmath/mathconf.h: Adjust.
2513         * configure: Regenerate.
2514         * config.h.in: Likewise.
2516 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
2518         * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
2519         two test -r instead of an AC_TRY_RUN.
2520         * configure: Regenerate.
2521         * config.h.in: Likewise.
2523 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
2525         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
2526         * doc/xml/manual/configure.xml: Likewise.
2528 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2530         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
2531         GLIBCXX_ENABLE.
2532         * configure: Regenerate.
2534 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2536         * acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
2537         GCC_TRY_COMPILE_OR_LINK.
2538         ([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
2539         [GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
2540         [no] by default, since it includes TRY_LINK checks.  librt is also
2541         searched, if requested.
2542         * doc/xml/manual/configure.xml: Document the latter.
2543         * configure.ac: Move the above checks outside native-only.
2544         * configure: Regenerate.
2546 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
2548         * testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
2549         * testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
2550         * testsuite/18_support/exception_ptr/current_exception.cc: Use it.
2551         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2552         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2554 2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>
2556         Add (again) exception propagation support as per N2179.  Feature is
2557         available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
2558         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2559         copy_exception, rethrow_exception): New file, implement exception
2560         propagation.
2561         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2562         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2563         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2564         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2565         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2566         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2567         __gxx_dependent_exception_class, __get_object_from_ue,
2568         __get_object_from_ambiguous_exception): Add.
2569         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2570         (__is_gxx_exception_class): Handle dependent exceptions.
2571         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2572         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2573         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2574         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2575         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2576         __cxa_free_dependent_exception): Add.
2577         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2578         counting.
2579         * libsupc++/exception: Conditionally include exception_ptr.h.
2580         * libsupc++/Makefile.am: Register new files.
2581         * libsupc++/Makefile.in: Regenerate.
2582         * config/abi/pre/gnu.ver: Add new symbols.
2583         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2584         core functionality of current_exception().
2585         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2586         core functionality of rethrow_exception().
2587         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2588         exception objects during exception propagation.
2590 2008-08-22  Paolo Carlini  <paolo.carlini@oracle.com>
2592         Revert again the N2179 patch.
2594 2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>
2596         * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
2597         __cxa_free_dependent_exception.
2599 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
2601         * include/bits/char_traits.h (char_traits<char16_t>::
2602         assign(char_type*, size_t, char_type), char_traits<char32_t>::
2603         assign(char_type*, size_t, char_type)): For now, just open-code.
2605 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
2607         PR c++/33979 (partial)
2608         * include/bits/postypes.h (u16streampos, u32streampos): Add.
2609         * include/bits/char_traits.h (char_traits<char16_t>,
2610         char_traits<char32_t>): Add.
2611         * include/bits/stringfwd.h (u16string, u32string): Add.
2612         * include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
2613         * testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
2614         New.
2615         * testsuite/21_strings/char_traits/requirements/
2616         explicit_instantiation/short/1.cc: Likewise.
2617         * testsuite/21_strings/char_traits/requirements/
2618         explicit_instantiation/char32_t/1.cc: Likewise.
2619         * testsuite/21_strings/char_traits/requirements/
2620         explicit_instantiation/wchar_t/1.cc: Likewise.
2621         * testsuite/21_strings/char_traits/requirements/
2622         explicit_instantiation/char16_t/1.cc: Likewise.
2623         * testsuite/21_strings/char_traits/requirements/
2624         explicit_instantiation/char/1.cc: Likewise.
2625         * testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
2626         Likewise.
2627         * testsuite/21_strings/basic_string/requirements/
2628         explicit_instantiation/char32_t/1.cc: Likewise.
2629         * testsuite/21_strings/basic_string/requirements/
2630         explicit_instantiation/wchar_t/1.cc: Likewise.
2631         * testsuite/21_strings/basic_string/requirements/
2632         explicit_instantiation/char16_t/1.cc: Likewise.
2633         * testsuite/21_strings/basic_string/requirements/
2634         explicit_instantiation/char/1.cc: Likewise.
2635         * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
2636         * testsuite/ext/vstring/requirements/explicit_instantiation/
2637         char32_t/1.cc: Likewise.
2638         * testsuite/ext/vstring/requirements/explicit_instantiation/
2639         char16_t/1.cc: Likewise.
2641 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2643         PR libstdc++/37149
2644         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
2645         <cstdio>.
2646         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
2647         Likewise.
2648         * testsuite/27_io/objects/char/12048-1.cc: Likewise.
2649         * testsuite/27_io/objects/char/12048-3.cc: Likewise.
2650         * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
2651         * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
2652         * testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
2653         * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
2654         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
2655         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
2656         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
2657         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
2658         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
2659         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
2660         * testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
2661         * testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
2662         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
2663         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
2664         * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
2665         * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
2666         * testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
2667         * testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
2668         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
2669         * include/std/regex: Include <sstream>.
2670         * include/tr1/regex: Likewise.
2672 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2674         * configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
2675         newlib.
2676         * configure: Regenerate.
2678 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
2680         PR libstdc++/37147
2681         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
2682         check the macros too.
2683         * configure: Regenerate.
2685 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
2687         * acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
2688         AC_TRY_LINK.
2689         * configure.ac: Run unconditionally AC_LC_MESSAGES.
2690         * crossconfig.m4: Adjust.
2691         * configure: Regenerate.
2693 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
2695         * acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
2696         [GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
2697         Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
2698         with -fno-exceptions as flags.
2699         * configure.ac: Run unconditionally GLIBCXX_CHECK_LFS,
2700         GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_S_ISREG_OR_S_IFREG,
2701         GLIBCXX_CHECK_WRITEV and commonized AC_CHECK_HEADERS.
2702         * crossconfig.m4: Adjust; remove AC_CHECK_HEADERS commonized
2703         in configure.ac.
2704         * configure: Regenerate.
2706 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
2708         Re-instate last patch, amended to use __exchange_and_add_dispatch
2709         and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
2711 2008-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
2713         Revert the last patch.
2715 2008-08-13  Sebastian Redl <sebastian.redl@getdesigned.at>
2717         Add exception propagation support as per N2179.
2718         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2719         copy_exception, rethrow_exception): New file, implement exception
2720         propagation.
2721         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2722         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2723         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2724         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2725         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2726         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2727         __gxx_dependent_exception_class, __get_object_from_ue,
2728         __get_object_from_ambiguous_exception): Add.
2729         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2730         (__is_gxx_exception_class): Handle dependent exceptions.
2731         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2732         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2733         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2734         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2735         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2736         __cxa_free_dependent_exception): Add.
2737         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2738         counting.
2739         * libsupc++/exception: Conditionally include exception_ptr.h.
2740         * libsupc++/Makefile.am: Register new files.
2741         * libsupc++/Makefile.in: Regenerate.
2742         * config/abi/pre/gnu.ver: Add new symbols.
2743         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2744         core functionality of current_exception().
2745         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2746         core functionality of rethrow_exception().
2747         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2748         exception objects during exception propagation.
2750 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
2752         PR libstdc++/37100
2753         * include/bits/stl_pair.h: Fix documentation URL in comment.
2755 2008-08-12  Johannes Singler  <singler@ira.uka.de>
2757         * include/paralle/losertree.h
2758         (LoserTreePointerBase<>::~LoserTreePointerBase):
2759         Replace delete by appropriate delete[].
2761 2008-08-12  Paolo Carlini  <paolo.carlini@oracle.com>
2763         * configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
2764         GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
2765         * crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
2766         * configure: Regenerate.
2767         * config.h.in: Likewise.
2769         * acinclude.m4: Minor formatting fixes.
2771 2008-08-11  Stephen M. Webb  <stephenw@xandros.com>
2773         * include/tr1_impl/regex: Formatting fixes.
2774         * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
2775           New test.
2776         * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
2777           New test.
2779 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
2781         * config/locale/generic/c_locale.cc: Include <cstdio>.
2783 2008-08-11  Paolo Carlini  <paolo.carlini@oracle.com>
2785         * configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
2786         * configure: Regenerate.
2788 2008-08-10  Paolo Carlini  <paolo.carlini@oracle.com>
2790         * include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
2791         (_DEFINE_SPEC_BODY): Remove.
2792         (__is_void_helper, __is_integral_helper, __is_floating_point_helper,
2793         __is_member_object_pointer_helper, __is_member_function_pointer_helper,
2794         __remove_pointer_helper): Add.
2795         (is_void, is_integral, is_floating_point, is_member_object_pointer,
2796         is_member_function_pointer, remove_pointer): Use the latter.
2797         * include/tr1/type_traits (_DEFINE_SPEC): Simplify.
2798         (_DEFINE_SPEC_HELPER): Remove.
2799         (__is_signed_helper, __is_unsigned_helper): Add.
2800         (is_signed, is_unsigned): Use the latter.
2802 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
2804         Revert fix for libstdc++/35637, thanks to other/36901.
2805         * include/tr1_impl/type_traits (__is_function_helper): New, uses
2806         variadic templates.
2807         (is_function): Forward to the latter.
2808         (__in_array): Remove.
2810 2008-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
2812         * config/locale/darwin/ctype_members.cc: Include <cstdio>.
2814 2008-08-08  Paolo Carlini  <paolo.carlini@oracle.com>
2816         * include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
2817         _IOS_BASE_SEEK_END at the end of the file.
2818         * include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.
2820 2008-08-07  Stephen M. Webb  <stephenw@xandros.com>
2822         * include/tr1_impl/regex (match_results<>::cbegin, cend): Add, per
2823         N2691 WD.
2825 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2827         * acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
2828         common values of EOF, SEEK_CUR, SEEK_END.
2829         * configure.ac: Use it.
2830         * include/bits/ios_base.h: Likewise.
2831         * include/bits/char_traits.h: Likewise.
2832         * config/locale/gnu/ctype_members.cc: Include <cstdio>.
2833         * config/locale/generic/ctype_members.cc: Likewise.
2834         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
2835         * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2836         * configure: Regenerate.
2837         * config.h.in: Likewise.
2839 2008-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
2841         * acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
2842         is actually a typedef to long or long long.
2843         * include/bits/postypes.h: If int64_t is actually a typedef for
2844         long or long long don't include <stdint.h> unnecessarily.
2845         * configure: Regenerate.
2846         * config.h.in: Likewise.
2848 2008-08-05  Paolo Carlini  <paolo.carlini@oracle.com>
2850         * testsuite/util/testsuite_api.h (diamond_derivation<>::test):
2851         Expect ambiguity together with the standard exception classes.
2852         * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove
2853         xfail.
2854         * testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc:
2855         Likewise.
2856         * testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc:
2857         Likewise.
2858         * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
2859         Likewise.
2860         * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise.
2861         * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise.
2862         * testsuite/18_support/bad_exception/cons_virtual_derivation.cc:
2863         Likewise.
2864         * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc:
2865         Likewise.
2866         * testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc:
2867         Likewise.
2868         * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
2869         Likewise.
2870         * testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc:
2871         Likewise.
2872         * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
2873         Likewise.
2875 2008-08-04  Paolo Carlini  <paolo.carlini@oracle.com>
2877         * include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
2878         also define the __STDC_* macros.
2879         (streamoff): Adjust.
2881         * include/tr1_impl/cstdint: Check that the __STDC_* macros are
2882         not defined before defining.
2884 2008-08-01  Paolo Bonzini  <bonzini@gnu.org>
2885             Chris Fairles  <chris.fairles@gmail.com>
2887         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
2888         search, but only in libposix4, never link librt.
2889         * src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
2890         * configure: Regenerate.
2891         * configure.in: Likewise.
2892         * Makefile.in: Likewise.
2893         * src/Makefile.in: Likewise.
2894         * libsup++/Makefile.in: Likewise.
2895         * po/Makefile.in: Likewise.
2896         * doc/Makefile.in: Likewise.
2898 2008-07-31  Chris Fairles <chris.fairles@gmail.com>
2900         * include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
2901         dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3
2902         and 4 in WD. Other minor tweaks.
2903         * testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
2904         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
2905         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
2906         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
2908 2008-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
2910         * testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
2911         (check_v3_target_parallel_mode): Robustify, just follow the
2912         structure of testsuite/Makefile.am.
2914 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2916         * include/debug/set.h: Minor formatting fixes.
2917         * include/debug/multiset.h: Likewise.
2918         * include/debug/safe_association.h: Likewise.
2919         * include/debug/vector: Likewise.
2920         * include/debug/map.h: Likewise.
2921         * include/debug/string: Likewise.
2922         * include/debug/multimap.h: Likewise.
2923         * include/bits/stl_list.h: Likewise.
2924         * include/bits/stl_map.h: Likewise.
2925         * include/bits/stl_set.h: Likewise.
2926         * include/bits/stl_multimap.h: Likewise.
2927         * include/bits/stl_vector.h: Likewise.
2928         * include/bits/stl_multiset.h: Likewise.
2929         * include/bits/stl_bvector.h: Likewise.
2931 2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
2933         * include/std/utility: Include <initializer_list>, per the current WP.
2935         * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
2936         don't use -std=gnu++0x unnecessarily.
2937         * testsuite/18_support/numeric_limits/char16_32_t.cc: Use
2938         dg-require-cstdint.
2939         * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
2940         * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
2942 2008-07-28  Paolo Carlini  <paolo.carlini@oracle.com>
2944         PR libstdc++/36949
2945         * include/tr1_impl/boost_shared_ptr.h
2946         (__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
2947         __enable_shared_from_this_helper.
2948         * testsuite/20_util/shared_ptr/creation/36949.cc: New.
2950 2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
2952         PR libstdc++/36924
2953         Revert:
2954         2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2956         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2957         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2958         * src/Makefile.am: Use it.
2959         * configure: Regenerate.
2960         * configure.in: Likewise.
2961         * Makefile.in: Likewise.
2962         * src/Makefile.in: Likewise.
2963         * libsup++/Makefile.in: Likewise.
2964         * po/Makefile.in: Likewise.
2965         * doc/Makefile.in: Likewise.
2967 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2969         * include/std/condition_variable: Update to N2691 WD.
2970         * include/std/mutex: Likewise.
2971         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
2972         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2973         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2974         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2976 2008-07-23  Chris Fairles <chris.fairles@gmail.com>
2978         * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2979         Holds the lib that defines clock_gettime (-lrt or -lposix4).
2980         * src/Makefile.am: Use it.
2981         * configure: Regenerate.
2982         * configure.in: Likewise.
2983         * Makefile.in: Likewise.
2984         * src/Makefile.in: Likewise.
2985         * libsup++/Makefile.in: Likewise.
2986         * po/Makefile.in: Likewise.
2987         * doc/Makefile.in: Likewise.
2989 2008-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
2991         * include/ext/sso_string_base.h
2992         (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
2993         const _Alloc&)): Remove.
2994         * include/ext/rc_string_base.h
2995         (__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
2996         const _Alloc&)): Likewise.
2997         * include/ext/vstring.h
2998         (__versa_string<>::__versa_string(std::initializer_list<_CharT>,
2999         const _Alloc&)): Adjust.
3001 2008-07-21  Jason Merrill  <jason@redhat.com>
3003         Add initializer_list support as per N2679.
3004         * include/debug/unordered_map: Add initializer_list support.
3005         * include/debug/safe_association.h: Likewise.
3006         * include/debug/unordered_set: Likewise.
3007         * include/debug/vector: Likewise.
3008         * include/debug/deque: Likewise.
3009         * include/debug/map.h: Likewise.
3010         * include/debug/set.h: Likewise.
3011         * include/debug/string: Likewise.
3012         * include/debug/list: Likewise.
3013         * include/debug/multimap.h: Likewise.
3014         * include/tr1_impl/unordered_map: Likewise.
3015         * include/tr1_impl/hashtable: Likewise.
3016         * include/tr1_impl/unordered_set: Likewise.
3017         * include/tr1_impl/regex: Likewise.
3018         * include/std/valarray: Likewise.
3019         * include/std/unordered_map: Likewise.
3020         * include/std/unordered_set: Likewise.
3021         * include/bits/stl_list.h: Likewise.
3022         * include/bits/stl_map.h: Likewise.
3023         * include/bits/stl_set.h: Likewise.
3024         * include/bits/basic_string.h: Likewise.
3025         * include/bits/basic_string.tcc: Likewise.
3026         * include/bits/stl_multimap.h: Likewise.
3027         * include/bits/stl_vector.h: Likewise.
3028         * include/bits/stl_deque.h: Likewise.
3029         * include/bits/stl_multiset.h: Likewise.
3030         * include/bits/stl_bvector.h: Likewise.
3031         * include/ext/vstring.h: Likewise.
3032         * include/ext/rc_string_base.h: Likewise.
3033         * include/ext/sso_string_base.h: Likewise.
3034         * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
3035         * src/Makefile.in: Likewise.
3036         * config/abi/pre/gnu.ver: Add new w?string exports.
3037         * testsuite/21_strings/basic_string/init-list.cc: New test.
3038         * testsuite/23_containers/vector/init-list.cc: New test.
3039         * testsuite/23_containers/deque/init-list.cc: New test.
3040         * testsuite/23_containers/list/init-list.cc: New test.
3041         * testsuite/23_containers/map/init-list.cc: New test.
3042         * testsuite/23_containers/multimap/init-list.cc: New test.
3043         * testsuite/23_containers/set/init-list.cc: New test.
3044         * testsuite/23_containers/multiset/init-list.cc: New test.
3045         * testsuite/23_containers/unordered_map/init-list.cc: New test.
3046         * testsuite/23_containers/unordered_multimap/init-list.cc: New test.
3047         * testsuite/23_containers/unordered_set/init-list.cc: New test.
3048         * testsuite/23_containers/unordered_multiset/init-list.cc: New test.
3049         * testsuite/26_numerics/valarray/init-list.cc: New test.
3050         * testsuite/28_regex/init-list.cc: New test.
3051         * testsuite/ext/vstring/init-list.cc: New test.
3052         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3053         Update error lineno.
3054         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3055         Update error lineno.
3056         * testsuite/23_containers/vector/requirements/dr438/
3057         constructor_1_neg.cc: Update error lineno.
3058         * testsuite/23_containers/vector/requirements/dr438/
3059         constructor_2_neg.cc: Update error lineno.
3060         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3061         Update error lineno.
3062         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3063         Update error lineno.
3064         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
3065         Update error lineno.
3066         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
3067         Update error lineno.
3068         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3069         Update error lineno.
3070         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3071         Update error lineno.
3072         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3073         Update error lineno.
3074         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3075         Update error lineno.
3077 2008-07-21  Mark Mitchell  <mark@codesourcery.com>
3079         * config/os/gnu-linux/arm-eabi-extra.ver: New file.
3080         * configure.host: Use it for arm*-*-linux-*eabi.
3082 2008-07-19  Paolo Carlini  <paolo.carlini@oracle.com>
3084         * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
3085         (assert_node_consistent): Avoid ambiguous else warning.
3087         * include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.
3089         * include/bits/c++config: In debug-mode (and parallel-mode) set
3090         _GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
3091         templates only for basic_string (per libstdc++/21674).
3092         * include/bits/basic_string.tcc: Use extern templates when
3093         _GLIBCXX_EXTERN_TEMPLATE > 0.
3095 2008-07-18  Kris Van Hees  <kris.van.hees@oracle.com>
3096             Holger Hopp  <holger.hopp@sap.com>
3098         * config/abi/pre/gnu.ver: Support char16_t and char32_t.
3099         * testsuite/util/testsuite_abi.cc (check_version): Add
3100         CXXABI_1.3.3 to known_versions.
3102 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
3104         * include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
3105         Enable only when _Tp != bool.
3107         * testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
3109 2008-07-18  Paolo Carlini  <paolo.carlini@oracle.com>
3111         * testsuite/lib/libstdc++.exp (check_v3_target_c_std): Avoid unused
3112         variable warnings leading to spurious fails of the test.
3114 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
3116         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Adjust
3117         dg-error lines.
3118         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
3119         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
3121         * include/tr1_impl/type_traits: Fix comment typo.
3123 2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
3125         * include/bits/unique_ptr.h: Remove stray character.
3127 2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>
3129         * doc/doxygen/user.cfg.in: Add complex, ratio,
3130         intializer_list.
3131         (PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
3132         * doc/doxygen/doxygroups.cc: Add std::chrono.
3133         * include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
3134         * libsupc++/initializer_list (initializer_list): Same.
3135         * include/std/ratio: Same.
3136         * include/std/chrono: Same.
3137         * include/std/complex: Disambiguate file markup.
3139 2008-07-15  Chris Fairles  <chris.fairles@gmail.com>
3141         * include/std/chrono: New, as per N2661.
3142         * src/chrono.cc: New.
3143         * include/Makefile.am: Update.
3144         * src/Makefile.am: Likewise.
3145         * include/Makefile.in: Regenerate.
3146         * src/Makefile.in: Likewise.
3147         * acinclude.m4: Add tests for clock_gettime and gettimeofday that
3148         define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
3149         * configure.ac: Use them.
3150         * configure: Regenerate.
3151         * config.h.in: Likewise.
3152         * config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
3153         system_clock::is_monotonic.
3154         * testsuite/20_util/duration/cons/1.cc: New.
3155         * testsuite/20_util/duration/cons/2.cc: Likewise.
3156         * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
3157         * testsuite/20_util/duration/requirements/explicit_instantiation/
3158         explicit_instantiation.cc: Likewise.
3159         * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
3160         * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
3161         * testsuite/20_util/duration/comparisons/1.cc: Likewise.
3162         * testsuite/20_util/time_point/requirements/explicit_instantiation/
3163         explicit_instantiation.cc: Likewise.
3164         * testsuite/20_util/time_point/1.cc: Likewise.
3165         * testsuite/20_util/time_point/2.cc: Likewise.
3166         * testsuite/20_util/time_point/3.cc: Likewise.
3167         * testsuite/20_util/clocks/1.cc: Likewise.
3168         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
3169         missing headers.
3170         * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
3171         * include/precompiled/stdc++.h: Likewise and remove <date_time>.
3172         * doc/doxygen/user.cfg.in: Likewise.
3174 2008-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
3176         PR libstdc++/36832
3177         * include/ext/rope (_Destroy_const): Add.
3178         (rope<>::copy): Call it.
3179         * testsuite/ext/rope/36832.cc: New.
3181 2008-07-15  Johannes Singler  <singler@ira.uka.de>
3183         * include/parallel/find_selectors.h:
3184         Correct name for include guard #ifndef.
3185         * include/parallel/balanced_quicksort.h: Likewise.
3186         * include/parallel/unique_copy.h: Likewise.
3187         * include/parallel/multiway_mergesort.h: Likewise.
3188         * include/parallel/checkers.h: Likewise.
3189         * include/parallel/[various files]:
3190         Add/correct comment for #endif of include guard (at end of file)
3192 2008-07-12  Paolo Carlini  <paolo.carlini@oracle.com>
3194         * include/std/date_time: Remove, per N2549, in WP.
3195         * src/date_time.cc: Likewise.
3196         * config/abi/pre/gnu.ver: Remove <date_time> symbols.
3197         * include/Makefile.am: Remove date_time in std headers.
3198         * src/Makefile.am: Remove date_time.cc to source files.
3199         * include/Makefile.in: Regenerate.
3200         * src/Makefile.in: Likewise.
3201         * testsuite/31_date_time/headers/date_time/types_std.cc: Remove.
3202         * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
3203         * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
3204         * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
3205         * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
3206         * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
3207         * testsuite/31_date_time/system_time/requirements: Likewise.
3208         * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
3209         * testsuite/17_intro/headers/c++200x/all.cc: Adjust.
3210         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Adjust.
3212 2008-07-10  Johannes Singler  <singler@ira.uka.de>
3214         * include/parallel/balanced_quicksort.h:
3215         (qsb_divide) Replace "*end" by "*(end - 1)" in assertion.
3217 2008-07-09  Benjamin Kosnik  <bkoz@redhat.com>
3219         PR libstdc++/36451
3220         * doc/xml/manual/allocator.xml: Fix links.
3221         * doc/html/*: Regenerate.
3223 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
3225         * libsupc++/unwind-cxx.h (__is_gxx_forced_unwind_class,
3226         __GXX_INIT_FORCED_UNWIND_CLASS): Define for ARM EABI unwinder.
3227         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Call
3228         __GXX_INIT_FORCED_UNWIND_CLASS for forced unwind with ARM EABI
3229         unwinder.
3230         * libsupc++/eh_arm.cc (__cxa_type_match): Use
3231         __is_gxx_forced_unwind_class to check for forced unwind.
3233 2008-07-09  Andreas Beckmann  <gcc@abeckmann.de>
3235         PR libstdc++/36552
3236         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3237         null_metadata.hpp: Remove self-include.
3239 2008-07-09  Joseph Myers  <joseph@codesourcery.com>
3241         * testsuite/20_util/make_signed/requirements/typedefs-2.cc,
3242         testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Use
3243         -Wl,--no-enum-size-warning for arm*-*-linux*eabi.
3245 2008-07-09  Johannes Singler  <singler@ira.uka.de>
3247         PR libstdc++/36729
3248         * include/parallel/random_shuffle.h:
3249         (sequential_random_shuffle) Copy data back.
3250         * testsuite/25_algorithms/random_shuffle/1.cc:
3251         New. Generic random_shuffle functionality test.
3253 2008-07-08  Chris Fairles  <chris.fairles@gmail.com>
3255         * include/std/type_traits: Add common_type.
3256         * testsuite/20_util/common_type/requirements/
3257         explicit_instantiation.cc: New.
3258         * testsuite/20_util/common_type/requirements/
3259         typedefs-1.cc: Likewise.
3261 2008-07-07  Paolo Carlini  <paolo.carlini@oracle.com>
3263         * testsuite/lib/libstdc++.exp (check_v3_target_stdint): New.
3264         * testsuite/lib/dg-options.exp (dg-require-cstdint): New.
3265         * testsuite/20_util/ratio/cons/cons1.cc: Use it.
3266         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
3267         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
3268         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
3269         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
3270         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
3271         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
3272         * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.
3274         * include/std/type_traits: Fix comment typo.
3276 2008-07-06  Roger Sayle  <roger@eyesopen.com>
3278         * include/std/system_error (is_error_code_enum): Use identifier
3279         _Tp instead of _T to avoid conflict with system macro on Darwin.
3280         (is_error_condition_enum): Likewise.
3282 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
3284         * include/bits/postypes.h: Do not include <stdint.h>.
3286         * include/Makefile.am: Reorder.
3288 2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
3290         * include/std/ratio: Prefer __INTMAX_MAX__ to INTMAX_MAX (INTMAX_MIN).
3292 2008-07-05  Chris Fairles  <chris.fairles@gmail.com>
3294         * include/std/ratio: Documentation for std::ratio class. Add conditions
3295         to ratio_less to prevent overflow.
3296         * testsuite/20_util/ratio/comparisons/comp2.cc: New.
3297         * testsuite/20_util/ratio/cons/cons_overflow.cc: Update dg-error line
3298         numbers.
3300 2008-07-04  Chris Fairles  <chris.fairles@gmail.com>
3302         * include/std/ratio: New, per N2661.
3303         * include/Makefile.am: Update.
3304         * include/Makefile.in: Regenerate.
3305         * testsuite/20_util/ratio/cons/cons1.cc: New.
3306         * testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
3307         * testsuite/20_util/ratio/operations/ops1.cc: Likewise.
3308         * testsuite/20_util/ratio/operations/ops2.cc: Likewise.
3309         * testsuite/20_util/ratio/operations/ops3.cc: Likewise.
3310         * testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
3311         * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.
3313 2008-07-04  Paolo Carlini  <paolo.carlini@oracle.com>
3315         PR libstdc++/36616
3316         * testsuite/22_locale/time_put/put/char/4.cc: Just use es_ES instead.
3317         * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
3319 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
3321         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3322         Improve check on long double limits.
3323         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3324         Likewise.
3325         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3326         stof.cc: Likewise.
3327         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3328         stod.cc: Likewise.
3330 2008-07-03  Paolo Carlini  <paolo.carlini@oracle.com>
3332         * libsupc++/Makefile.am: Add initializer_list to the headers.
3333         * libsupc++/Makefile.in: Regenerate.
3335         * libsupc++/initializer_list: Minor cosmetic changes.
3337 2008-07-02  Jason Merrill  <jason@redhat.com>
3339         * libsupc++/initializer_list: Uglify and wrap in
3340         __GXX_EXPERIMENTAL_CXX0X__.
3341         * include/bits/stl_map.h (insert(initializer_list)): Wrap.
3343 2008-07-02  Jason Merrill  <jason@redhat.com>
3345         * libsupc++/initializer_list: New file.
3346         * include/bits/stl_map.h (insert(initializer_list)): New method.
3348 2008-06-30  Alfred E. Heggestad  <aeh@db.org>
3350         * include/backward/backward_warning.h: Fix typo.
3352 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
3354         * src/string_conversions.cc: Remove.
3355         * config/abi/pre/gnu.ver: Delete exports.
3356         * src/Makefile.am: Update.
3357         * include/ext/string_conversions.h: Add.
3358         * include/Makefile.am: Update.
3359         * include/bits/basic_string.h: Include string_conversions.h,
3360         define numeric conversion functions.
3361         * include/ext/vstring.h: Likewise.
3362         * src/Makefile.in: Regenerate.
3363         * include/Makefile.in: Regenerate.
3365 2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>
3367         * include/bits/stl_algo.h (copy_n): Add in C++0x mode.
3368         * include/bits/algorithmfwd.h: Add.
3369         * include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
3370         in C++0x mode.
3371         * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
3372         move_iterators/1.cc: New
3373         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3374         * testsuite/25_algorithms/copy_n/1.cc: New.
3375         * testsuite/25_algorithms/copy_n/2.cc: Likewise.
3376         * testsuite/25_algorithms/copy_n/3.cc: Likewise.
3377         * testsuite/25_algorithms/copy_n/4.cc: Likewise.
3378         * testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
3379         * testsuite/25_algorithms/copy_n/requirements/
3380         explicit_instantiation/2.cc: Likewise.
3381         * testsuite/25_algorithms/partition_point/requirements/
3382         explicit_instantiation/pod.cc: Likewise.
3384 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
3386         * include/bits/stl_algo.h (partition_point): Add in C++0x mode.
3387         * include/bits/algorithmfwd.h: Add.
3388         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3389         * testsuite/25_algorithms/partition_point/1.cc: New.
3390         * testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
3391         * testsuite/25_algorithms/partition_point/requirements/
3392         explicit_instantiation/2.cc: Likewise.
3393         * testsuite/25_algorithms/partition_point/requirements/
3394         explicit_instantiation/pod.cc: Likewise.
3396 2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
3398         PR libstdc++/36660
3399         * include/ext/pb_ds/detail/resize_policy/
3400         sample_resize_trigger.hpp: Remove spurious namespace end.
3402 2008-06-27  Mark Mitchell  <mark@codesourcery.com>
3404         * libsupc++/vec.cc (__aeabi_vec_dtor_cookie): Handle NULL array
3405         address.
3406         (__aeabi_vec_delete): Likewise.
3407         (__aeabi_vec_delete3): Likewise.
3408         (__aeabi_vec_delete3_nodtor): Likewise.
3410 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
3412         * include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
3413         * include/bits/algorithmfwd.h: Add.
3414         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3415         * testsuite/25_algorithms/is_partitioned/1.cc: New.
3416         * testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
3417         * testsuite/25_algorithms/is_partitioned/requirements/
3418         explicit_instantiation/2.cc: Likewise.
3419         * testsuite/25_algorithms/is_partitioned/requirements/
3420         explicit_instantiation/pod.cc: Likewise.
3422 2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
3424         * include/bits/stl_numeric.h (iota): Add in C++0x mode.
3425         * testsuite/util/testsuite_character.h (pod_int): Add operator++
3426         in C++0x mode.
3427         * testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
3428         * testsuite/26_numerics/iota/1.cc: New.
3429         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
3430         2.cc: Likewise.
3431         * testsuite/26_numerics/iota/requirements/explicit_instantiation/
3432         pod.cc: Likewise.
3434         * include/ext/algorithm: Do not fiddle with the legacy headers.
3436         * testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
3437         style.
3438         * testsuite/26_numerics/accumulate/1.cc: Likewise.
3439         * testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
3440         * testsuite/26_numerics/inner_product/1.cc: Likewise.
3442 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
3444         * include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
3445         * include/bits/algorithmfwd.h: Add.
3446         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3447         * testsuite/25_algorithms/partition_copy/1.cc: New.
3448         * testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
3449         * testsuite/25_algorithms/partition_copy/requirements/
3450         explicit_instantiation/2.cc: Likewise.
3451         * testsuite/25_algorithms/partition_copy/requirements/
3452         explicit_instantiation/pod.cc: Likewise.
3454 2008-06-26  Chris Fairles  <chris.fairles@gmail.com>
3456         * testsuite/20_util/unique_ptr/cons/pointer_array.cc: New.
3457         * testsuite/20_util/unique_ptr/cons/pointer.cc: Likewise.
3458         * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc:
3459         Likewise.
3460         * testsuite/20_util/unique_ptr/assign/move_array.cc: Likewise.
3461         * testsuite/20_util/unique_ptr/assign/move.cc: Likewise.
3462         * testsuite/20_util/unique_ptr/specialized_algorithms/
3463         comparisons_array.cc: Likewise.
3464         * testsuite/20_util/unique_ptr/specialized_algorithms/comparisons.cc:
3465         Likewise
3466         * testsuite/20_util/unique_ptr/specialized_algorithms/swap.cc:
3467         Likewise.
3469 2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>
3471         * include/parallel/base.h (plus, multiplies): Use __typeof__,
3472         not typeof.
3474 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
3476         * testsuite/29_atomics/atomic_flag/cons/default.cc: Avoid -Wall
3477         warnings.
3478         * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Likewise.
3479         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc:
3480         Likewise.
3481         * testsuite/29_atomics/headers/stdatomic.h/types.c: Likewise.
3482         * testsuite/util/testsuite_common_types.h (struct assignable,
3483         struct default_constructible, struct copy_constructible,
3484         struct explicit_value_constructible): Use a tad of simulated
3485         concept checking techniques to avoid spurious warnings.
3486         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
3487         markers.
3488         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
3490 2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
3492         * include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
3493         any_of, none_of): Add in C++0x, per N2666.
3494         * include/bits/algorithmfwd.h: Update.
3495         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
3496         * testsuite/25_algorithms/all_of/check_type.cc: New.
3497         * testsuite/25_algorithms/all_of/1.cc: Likewise.
3498         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
3499         2.cc: Likewise.
3500         * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
3501         pod.cc: Likewise.
3502         * testsuite/25_algorithms/any_of/check_type.cc: Likewise.
3503         * testsuite/25_algorithms/any_of/1.cc: Likewise.
3504         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
3505         2.cc: Likewise.
3506         * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
3507         pod.cc: Likewise.
3508         * testsuite/25_algorithms/none_of/check_type.cc: Likewise.
3509         * testsuite/25_algorithms/none_of/1.cc: Likewise.
3510         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
3511         2.cc: Likewise.
3512         * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
3513         pod.cc: Likewise.
3514         * testsuite/25_algorithms/find_if_not/check_type.cc: Likewise.
3515         * testsuite/25_algorithms/find_if_not/1.cc: Likewise.
3516         * testsuite/25_algorithms/find_if_not/requirements/
3517         explicit_instantiation/2.cc: Likewise.
3518         * testsuite/25_algorithms/find_if_not/requirements/
3519         explicit_instantiation/pod.cc: Likewise.
3520         * testsuite/25_algorithms/copy_if/check_type.cc: Likewise.
3521         * testsuite/25_algorithms/remove_copy_if/check_type.cc: Likewise.
3522         * testsuite/25_algorithms/find_if/1.cc: Minor tweaks.
3524 2008-06-24  Benjamin Kosnik  <bkoz@redhat.com>
3526         * doc/xml/manual/parallel_mode.xml: Clarify use of explicit
3527         parallel algorithms.
3528         * doc/xml/manual/using.xml: Markup fixes caught by validation check.
3529         * doc/xml/manual/test.xml: Remove empty para tags.
3531         * doc/html/*: Regenerate.
3533 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
3535         * include/bits/stl_algo.h (remove_if): Cast __pred result to bool.
3536         (copy_if): Add, per N2666.
3537         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
3538         2.cc: New.
3539         * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
3540         pod.cc: Likewise.
3541         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
3543 2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
3544             Chalathip Thumkanon  <chalathip@gmail.com>
3546         PR libstdc++/36612
3547         * include/ext/pb_ds/exception.hpp (__throw_container_error,
3548         __throw_insert_error, __throw_join_error, __throw_resize_error):
3549         Mark inline.
3551 2008-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
3553         * include/bits/move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add,
3554         per DR 809.
3555         * include/bits/algorithmfwd.h: Add.
3556         * doc/xml/manual/intro.xml: Add an entry for DR 809.
3557         * testsuite/25_algorithms/swap/dr809.cc: New.
3559         * testsuite/25_algorithms/swap/requirements/explicit_instantiation/
3560         2.cc: Remove stray empty line.
3562 2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
3564         * include/bits/stl_move.h: Rename to move.h.
3565         * include/std/utility: Adjust.
3566         * include/ext/vstring_util.h: Likewise.
3567         * include/ext/throw_allocator.h: Likewise.
3568         * include/ext/pool_allocator.h: Likewise.
3569         * include/ext/bitmap_allocator.h: Likewise.
3570         * include/ext/new_allocator.h: Likewise.
3571         * include/ext/malloc_allocator.h: Likewise.
3572         * include/ext/array_allocator.h: Likewise.
3573         * include/ext/mt_allocator.h: Likewise.
3574         * include/bits/stl_algobase.h: Likewise.
3575         * include/bits/stl_heap.h: Likewise.
3576         * include/bits/stl_pair.h: Likewise.
3577         * include/bits/stl_iterator.h: Likewise.
3578         * testsuite/util/testsuite_allocator.h: Likewise.
3579         * testsuite/util/testsuite_iterators.h: Likewise.
3580         * include/Makefile.am: Likewise.
3581         * include/Makefile.in: Regenerate.
3583 2008-06-21  Chris Fairles  <chris.fairles@gmail.com>
3585         * include/bits/unique_ptr.h: New.
3586         * include/std/memory: Adjust.
3587         * include/Makefile.am: Add.
3588         * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
3589         explicit_instantiation.cc: New.
3590         * testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
3591         * include/Makefile.in: Regenerate.
3593 2008-06-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
3595         * include/c_global/climits, include/tr1/climits: Add parentheses.
3597 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3599         * configure: Regenerate.
3601 2008-06-17  Chris Fairles  <chris.fairles@gmail.com>
3603         * include/bits/stl_iterator_base_funcs.h (next, prev): Add in
3604         C++0x mode.
3605         * testsuite/24_iterators/operations/next.cc: New.
3606         * testsuite/24_iterators/operations/prev.cc: Likewise.
3608 2008-06-17  Paolo Carlini  <paolo.carlini@oracle.com>
3610         * src/string_conversions.cc (__to_xstring<>): New.
3611         (to_string, to_wstring): Use it.
3613 2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>
3615         * include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
3616         stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
3617         * src/string_conversions.cc: Add.
3618         * src/Makefile.am: Update.
3619         * config/abi/pre/gnu.ver: Adjust exports.
3620         * src/Makefile.in: Regenerate.
3621         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
3622         New.
3623         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
3624         Likewise.
3625         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
3626         Likewise.
3627         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
3628         Likewise.
3629         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
3630         Likewise.
3631         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
3632         Likewise.
3633         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
3634         Likewise.
3635         * testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
3636         Likewise.
3637         * testsuite/21_strings/basic_string/numeric_conversions/char/
3638         to_string.cc: Likewise.
3639         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3640         stod.cc: New.
3641         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3642         stof.cc: Likewise.
3643         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3644         stoi.cc: Likewise.
3645         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3646         stol.cc: Likewise.
3647         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3648         stold.cc: Likewise.
3649         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3650         stoll.cc: Likewise.
3651         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3652         stoul.cc: Likewise.
3653         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3654         stoull.cc: Likewise.
3655         * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
3656         to_wstring.cc: Likewise.
3658 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3660         * include/Makefile.am: Remove trailing white space, fix typo.
3661         (parallel_headers): Remove duplicate file, sort entries.
3662         * include/Makefile.in: Regenerate.
3664 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3666         * src/condition_variable.cc (~condition_variable): Drop unused
3667         variable.
3669 2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
3671         * include/bits/stl_deque.h (deque<>::push_back(_Args&&...),
3672         deque<>::push_front(_Args&&...)): Remove.
3673         (deque<>::push_back(value_type&&),
3674         deque<>::push_front(value_type&&)): Add.
3675         (deque<>::push_back(const value_type&),
3676         deque<>::push_front(const value_type&)): Add back.
3677         (deque<>::emplace_back(_Args&&...),
3678         deque<>::emplace_front(_Args&&...)): Declare...
3679         * include/bits/deque.tcc: ... and define.
3680         * include/bits/stl_list.h (list<>::push_back(_Args&&...),
3681         list<>::push_front(_Args&&...)): Remove.
3682         (list<>::push_back(value_type&&), list<>::push_front(value_type&&),
3683         list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
3684         Add.
3685         (list<>::push_back(const value_type&),
3686         list<>::push_front(const value_type&)): Add back.
3687         * include/bits/stl_vector.h (vector<>::push_back(_Args&&...)): Remove.
3688         (vector<>::push_back(value_type&&)): Add.
3689         (vector<>::push_back(const value_type&)): Add back.
3690         (vector<>::emplace_back(_Args&&...)): Declare...
3691         * include/bits/vector.tcc: ... and define.
3692         * include/bits/stl_queue.h (queue<>::push(_Args&&...),
3693         priority_queue<>::push(_Args&&...)): Remove.
3694         (queue<>::push(value_type&&), queue<>::emplace(_Args&&...),
3695         priority_queue<>::push(value_type&&),
3696         priority_queue<>::emplace(_Args&&...)): Add.
3697         (queue<>::push(const value_type&),
3698         priority_queue<>::push(const value_type&)): Add back.
3699         * include/bits/stl_stack.h (stack<>::push(_Args&&...)): Remove.
3700         (stack<>::push(value_type&&), stack<>::emplace(_Args&&...)): Add.
3701         (stack<>::push(const value_type&)): Add back.
3702         * include/debug/deque (deque<>::push_back(_Args&&...),
3703         deque<>::push_front(_Args&&...)): Remove.
3704         (deque<>::push_back(value_type&&), deque<>::push_front(value_type&&),
3705         deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)):
3706         Add.
3707         (deque<>::push_back(const value_type&),
3708         deque<>::push_front(const value_type&)): Add back.
3709         * include/debug/list (list<>::push_back(_Args&&...),
3710         list<>::push_front(_Args&&...)): Remove.
3711         (list<>::push_back(value_type&&), list<>::push_front(value_type&&),
3712         list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
3713         Add.
3714         (list<>::push_back(const value_type&),
3715         list<>::push_front(const value_type&)): Add back.
3716         * include/debug/vector (vector<>::push_back(_Args&&...)): Remove.
3717         (vector<>::push_back(value_type&&),
3718         vector<>::emplace_back(_Args&&...)): Add.
3719         (vector<>::push_back(const value_type&)): Add back.
3720         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3721         Adjust dg-error line numbers.
3722         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3723         Likewise.
3724         * testsuite/23_containers/deque/requirements/dr438/
3725         constructor_1_neg.cc: Likewise.
3726         * testsuite/23_containers/deque/requirements/dr438/
3727         constructor_2_neg.cc: Likewise.
3728         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3729         Adjust dg-error line numbers.
3730         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3731         Likewise.
3732         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3733         Likewise.
3734         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3735         Likewise.
3736         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3737         Adjust dg-error line numbers.
3738         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3739         Likewise.
3740         * testsuite/23_containers/vector/requirements/dr438/
3741         constructor_1_neg.cc: Likewise.
3742         * testsuite/23_containers/vector/requirements/dr438/
3743         constructor_2_neg.cc: Likewise.
3745 2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
3747         * include/tr1_impl/array (array<>::assign): Do not define in
3748         C++0x mode, per DR 776...
3749         (array<>::fill): ... define instead.
3750         * doc/xml/manual/intro.xml: Add an entry for DR 776.
3751         * testsuite/23_containers/array/requirements/fill.cc: New.
3753 2008-06-12  Paolo Carlini  <paolo.carlini@oracle.com>
3755         * include/std/complex (pow(const complex<>&, int)): Do not define in
3756         C++0x mode, per DR 844.
3757         * include/tr1/complex (pow(const complex<>&, int)): Remove.
3758         * doc/xml/manual/intro.xml: Add an entry for DR 844.
3759         * testsuite/26_numerics/complex/dr844.cc: New.
3760         * testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Adjust.
3762 2008-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
3764         * include/tr1_impl/hashtable (_Hashtable<>::cbegin(size_type),
3765         cend(size_type)): Add per DR 691.
3766         * testsuite/23_containers/unordered_map/requirements/cliterators.cc:
3767         New.
3768         * testsuite/23_containers/unordered_multimap/requirements/
3769         cliterators.cc: Likewise.
3770         * testsuite/23_containers/unordered_set/requirements/cliterators.cc:
3771         Likewise.
3772         * testsuite/23_containers/unordered_multiset/requirements/
3773         cliterators.cc: Likewise.
3774         * doc/xml/manual/intro.xml: Add an entry for DR 691.
3776 2008-06-11  Matthias Klose  <doko@ubuntu.com>
3778         * testsuite/30_threads/lock_error, testsuite/30_threads/once_flag:
3779         Remove empty directories.
3781 2008-06-07  Joseph Myers  <joseph@codesourcery.com>
3783         * configure.host (xscale, ep9312, m680[246]0, solaris2.5,
3784         solaris2.5.[0-9], solaris2.6, windiss*): Remove.
3785         * crossconfig.m4 (*-solaris2.5, *-solaris2.6, *-windiss*): Remove.
3786         * configure: Regenerate.
3787         * config/os/solaris/solaris2.5: Remove directory.
3788         * config/os/solaris/solaris2.6: Remove directory.
3789         * config/os/windiss: Remove directory.
3791 2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>
3793         * doc/xml/manual/using.xml: Outline exception topics.
3795         * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
3796         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3797         policy_access_fn_imps.hpp: Same.
3798         * include/ext/pb_ds/priority_queue.hpp: Same.
3799         * include/ext/throw_allocator.h: Same.
3801         * include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
3802         (sequence_tag): New tag. Doxygen markup fixes.
3804         * testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.
3806         * testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
3807         comment typo, include paths, format.
3808         * testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
3809         * testsuite/performance/ext/pb_ds/
3810         hash_random_int_erase_mem_usage.cc: Same.
3811         * testsuite/performance/ext/pb_ds/
3812         random_int_subscript_find_timing.cc: Same.
3813         * testsuite/performance/ext/pb_ds/
3814         priority_queue_text_push_timing.cc: Same.
3815         * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
3816         * testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
3817         * testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
3818         * testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
3819         * testsuite/performance/ext/pb_ds/
3820         priority_queue_random_int_push_timing.cc: Same.
3821         * testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
3822         * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
3823         * testsuite/performance/ext/pb_ds/
3824         priority_queue_text_push_pop_timing.cc: Same.
3825         * testsuite/performance/ext/pb_ds/
3826         priority_queue_text_join_timing.cc: Same.
3827         * testsuite/performance/ext/pb_ds/
3828         priority_queue_random_int_push_pop_timing.cc: Same.
3829         * testsuite/performance/ext/pb_ds/
3830         random_int_subscript_insert_timing.cc: Same.
3831         * testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
3832         * testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
3833         * testsuite/performance/ext/pb_ds/
3834         priority_queue_text_pop_mem_usage.cc: Same.
3835         * testsuite/performance/ext/pb_ds/
3836         hash_zlob_random_int_find_timing.cc: Same.
3837         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
3838         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
3839         * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
3840         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
3841         * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
3842         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
3843         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
3844         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
3845         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
3846         * testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
3847         * testsuite/util/regression/trait/erase_if_fn.hpp: Same.
3848         * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
3849         * testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
3850         * testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
3851         * testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
3852         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
3853         * testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
3854         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
3855         * testsuite/util/regression/trait/assoc/to_string.hpp: Same.
3856         * testsuite/util/regression/basic_type.hpp: Same.
3857         * testsuite/util/common_type/priority_queue/string_form.hpp: Same.
3858         * testsuite/util/common_type/priority_queue/detail/
3859         ds_string_form.hpp: Same.
3860         * testsuite/util/common_type/assoc/string_form.hpp: Same.
3861         * testsuite/util/common_type/assoc/detail/
3862         resize_policy_string_form.hpp: Same.
3863         * testsuite/util/common_type/assoc/detail/
3864         trigger_policy_string_form.hpp: Same.
3865         * testsuite/util/common_type/assoc/detail/
3866         comb_hash_fn_string_form.hpp: Same.
3867         * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
3868         * testsuite/util/common_type/assoc/detail/
3869         size_policy_string_form.hpp: Same.
3870         * testsuite/util/common_type/assoc/detail/
3871         probe_fn_string_form.hpp: Same.
3872         * testsuite/util/common_type/assoc/detail/
3873         list_update_policy_string_form.hpp: Same.
3874         * testsuite/util/common_type/assoc/detail/
3875         store_hash_string_form.hpp: Same.
3876         * testsuite/util/common_type/assoc/native_set.hpp: Same.
3877         * testsuite/util/io/prog_bar.cc: Same.
3879         * testsuite/util/regression/rand/io: Remove.
3880         * testsuite/util/regression/rand/io/priority_queue: Same.
3881         * testsuite/util/regression/rand/io/assoc: Same.
3882         * testsuite/util/regression/rand/io/priority_queue/
3883         xml_formatter.hpp: Consolidate this...
3884         * testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
3885         * testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
3886         * testsuite/util/regression/rand/xml_formatter.hpp: ...here.
3888         * testsuite/util/regression/rand/priority_queue/
3889         container_rand_regression_test.hpp:To ...
3890         container_rand_regression_test.h: ... this.
3891         * testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
3892         * testsuite/util/regression/rand/priority_queue/
3893         container_rand_regression_test.tcc: ... this.
3894         PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
3895         PB_DS_SET_DESTRUCT_PRINT: Fold inline.
3896         PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
3897         * testsuite/util/regression/rand/priority_queue/
3898         rand_regression_test.hpp: Adjust includes.
3900         * testsuite/util/regression/rand/assoc/
3901         container_rand_regression_test.hpp: To ...
3902         * testsuite/util/regression/rand/assoc/
3903         container_rand_regression_test.h: ... this.
3904         * testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
3905         * testsuite/util/regression/rand/assoc/
3906         container_rand_regression_test.tcc: ...this.
3907         * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
3908         includes.
3910         * testsuite/util/regression/priority_queue: Remove.
3911         * testsuite/util/regression/assoc: Remove.
3912         * testsuite/util/regression/priority_queue/
3913         common_type.hpp: Consolidate this...
3914         * testsuite/util/regression/assoc/common_type.hpp: ... and this
3915         * testsuite/util/regression/common_type.hpp: ...here.
3917         * testsuite/util/rng: Remove.
3918         * testsuite/util/rng/twister_rand_gen.cc: Consolidate...
3919         * testsuite/util/rng/twister_rand_gen.hpp: ... and this
3920         * testsuite/util/testsuite_rng.h: ...here.
3922         * testsuite/util/native_type/priority_queue: Remove.
3923         * testsuite/util/native_type/priority_queue/
3924         native_priority_queue.hpp: To...
3925         * testsuite/util/native_type/native_priority_queue.hpp: ...here.
3927         * testsuite/util/native_type/assoc: Remove.
3928         * testsuite/util/native_type/assoc/native_multimap.hpp: To...
3929         * testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
3930         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
3931         * testsuite/util/native_type/assoc/native_set.hpp: To...
3932         * testsuite/util/native_type/assoc/native_map.hpp: To...
3933         * testsuite/util/native_type/assoc/native_hash_set.hpp: To...
3934         * testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
3935         * testsuite/util/native_type/assoc/native_hash_map.hpp: To...
3936         * testsuite/util/native_type/native_multimap.hpp: ...here.
3937         * testsuite/util/native_type/native_tree_tag.hpp: ...here.
3938         * testsuite/util/native_type/native_hash_multimap.hpp: ...here.
3939         * testsuite/util/native_type/native_set.hpp: ...here.
3940         * testsuite/util/native_type/native_map.hpp: ...here.
3941         * testsuite/util/native_type/native_hash_set.hpp: ...here.
3942         * testsuite/util/native_type/native_hash_tag.hpp: ...here.
3943         * testsuite/util/native_type/native_hash_map.hpp: ...here.
3945         * testsuite/util/common_type/priority_queue/common_type.hpp:
3946         Make include guard distinct.
3947         * testsuite/util/common_type/assoc/common_type.hpp: Same.
3949 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
3951         * configure.ac: Do not check for gconv.h.
3952         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Do not test for gconv.h or
3953         gconf.h.  For glibc and uClibc systems, define
3954         _GLIBCXX_USE_RANDOM_TR1 and HAVE_MMAP and use AC_LC_MESSAGES and
3955         AM_ICONV.
3956         * configure, config.h.in: Regenerate.
3958 2008-06-06  Joseph Myers  <joseph@codesourcery.com>
3960         * testsuite/17_intro/headers/all.cc,
3961         testsuite/17_intro/headers/all_c++200x_compatibility.cc,
3962         testsuite/17_intro/headers/all_pedantic_errors.cc,
3963         testsuite/ext/headers.cc: Only include
3964         <ext/codecvt_specializations.h> and <ext/enc_filebuf.h> if
3965         _GLIBCXX_HAVE_ICONV.
3967 2008-06-05  Johannes Singler  <singler@ira.uka.de>
3969         * include/parallel/random_shuffle.h:
3970         (parallel_random_shuffle_drs) Get the actual number of
3971         threads after entering the parallel region. Indentation.
3972         * include/parallel/algo.h: (random_shuffle(begin, end))
3973         Add namespace qualification to avoid ambiguity.
3975 2008-06-04  Benjamin Kosnik  <bkoz@redhat.com>
3977         * include/ext/pb_ds/assoc_container.hpp: Change allocator typedef
3978         to allocator_type, as per existing conventions.
3979         * include/ext/pb_ds/detail/binomial_heap_base_/
3980         binomial_heap_base_.hpp: Same.
3981         * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
3982         * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
3983         * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
3984         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
3985         * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
3986         * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
3987         * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
3988         * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
3989         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
3990         left_child_next_sibling_heap_.hpp: Same.
3991         * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
3992         * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
3993         * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
3994         * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
3995         * include/ext/pb_ds/detail/rc_binomial_heap_/
3996         rc_binomial_heap_.hpp: Same.
3997         * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
3998         * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
3999         * include/ext/pb_ds/list_update_policy.hpp: Same.
4000         * include/ext/pb_ds/exception.hpp: Same.
4001         * include/ext/pb_ds/tree_policy.hpp: Same.
4002         * include/ext/pb_ds/trie_policy.hpp: Same.
4003         * include/ext/pb_ds/priority_queue.hpp: Same.
4004         * testsuite/util/regression/trait/assoc/trait.hpp: Same.
4005         * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
4006         * testsuite/util/regression/rand/priority_queue/detail/
4007         defs_fn_imps.hpp: Same.
4008         * testsuite/util/regression/rand/priority_queue/detail/
4009         operator_fn_imps.hpp: Same.
4010         * testsuite/util/regression/rand/priority_queue/
4011         container_rand_regression_test.hpp: Same.
4012         * testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
4013         * testsuite/util/regression/rand/assoc/detail/
4014         operator_fn_imps.hpp: Same.
4015         * testsuite/util/regression/rand/assoc/
4016         container_rand_regression_test.hpp: Same.
4017         * testsuite/util/native_type/assoc/native_multimap.hpp: Same.
4018         * testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
4019         * testsuite/util/common_type/assoc/detail/
4020         tree_supports_order_statistics.hpp: Same.
4021         * testsuite/util/common_type/assoc/detail/
4022         trie_supports_prefix_search.hpp: Same.
4023         * testsuite/util/common_type/assoc/detail/
4024         trie_supports_order_statistics.hpp: Same.
4026 2008-06-02  Sandra Loosemore  <sandra@codesourcery.com>
4027             Daniel Jacobowitz  <dan@codesourcery.com>
4029         * testsuite/27_io/basic_filebuf/sputbackc/char/9425.cc: Use
4030         dg-require-fileio.
4031         * testsuite/27_io/basic_filebuf/sputbackc/char/1-out.cc: Likewise.
4032         * testsuite/27_io/basic_filebuf/sputbackc/char/2-out.cc: Likewise.
4034 2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>
4036         * include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
4037         avoid a memory leak if the first __uninitialized_move_a throws.
4038         (vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
4039         to _M_insert_aux.
4040         * testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
4041         * testsuite/23_containers/vector/resize/moveable.cc: Likewise.
4043 2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
4044             Chris Jefferson  <chris@bubblescope.net>
4046         PR libstdc++/36338
4047         * include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
4048         (pop_heap): Slightly tweak.
4050 2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>
4052         * include/debug/bitset (bitset(const char*)): Implement DR 778
4053         in debug-mode too.
4055         * include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
4056         deal with char16_t and char32_t.
4058 2008-05-26  Paolo Carlini  <paolo.carlini@oracle.com>
4060         * include/c_global/cmath (pow(float, int), pow(double, int),
4061         pow(long double, int)): Do not define in C++0x mode, per DR 550.
4062         * include/tr1_impl/cmath (pow): Do not bring in unconditionally
4063         from namespace std.
4064         * include/tr1/cmath (pow(double, double), pow(float, float),
4065         pow(long double, long double), pow(_Tp, _Up)): Define.
4066         * include/tr1/complex (pow): Do not bring in from namespace std.
4067         (pow(const std::complex<_Tp>&, int), pow(const std::complex<_Tp>&,
4068         const _Tp&), pow(const _Tp&, const std::complex<_Tp>&),
4069         pow(const std::complex<_Tp>&, const std::complex<_Tp>&)): Define.
4070         * include/tr1_impl/complex (pow(const std::complex<_Tp>&,
4071         const _Up&), pow(const _Tp&, const std::complex<_Up>&),
4072         pow(const std::complex<_Tp>&, const std::complex<_Up>&)): Always
4073         define.
4074         * doc/xml/manual/intro.xml: Add an entry for DR 550.
4075         * testsuite/26_numerics/headers/cmath/dr550.cc: New.
4076         * testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Adjust.
4078 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
4080         * include/std/tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
4081         * include/std/date_time: Likewise.
4082         * include/std/system_error: Likewise.
4083         * include/std/type_traits: Likewise; fix typo in macro name.
4084         * include/std/regex: Likewise.
4085         * include/std/random: Likewise.
4086         * include/std/unordered_map: Likewise.
4087         * include/std/condition_variable: Likewise.
4088         * include/std/unordered_set: Likewise.
4089         * include/std/mutex: Likewise.
4090         * include/std/array: Likewise.
4092         * include/c_std/cmath: Fix obsolete comment.
4093         * include/c_global/cmath: Likewise.
4095 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
4097         * include/std/complex (complex<>::real(_Tp), complex<>::imag(_Tp),
4098         complex<float>::real(float), complex<float>::imag(float),
4099         complex<double>::real(double), complex<double>::imag(double),
4100         complex<long double>::real(long double),
4101         complex<long double>::imag(long double)): Add per DR 387.
4102         (complex<>::real(), complex<>::imag(), complex<float>::real(),
4103         complex<float>::imag(), complex<double>::real(),
4104         complex<double>::imag(), complex<long double>::real(),
4105         complex<long double>::imag(long double)): Adjust in C++0x mode.
4106         (real(complex<>&), imag(complex<>&), real(const complex<>&),
4107         imag(const complex<>&)): Likewise.
4108         * testsuite/26_numerics/complex/dr387.cc: New.
4109         * doc/xml/manual/intro.xml: Add an entry for DR 387.
4111 2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
4113         * include/std/complex: Trivial stylistic changes, define inline
4114         members inline, consistently with the rest of the library.
4115         (pow(const _Tp&, const complex<>&)): Minor tweak.
4117 2008-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
4119         * src/atomic.cc (atomic_flag_test_and_set_explicit,
4120         atomic_flag_clear_explicit): Suppress unused parameter warnings.
4122 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
4124         * include/std/tuple: Replace int -> size_t throughout per DR 775.
4125         * include/tr1_impl/array: Likewise.
4126         * include/tr1_impl/utility: Likewise.
4127         * doc/xml/manual/intro.xml: Add an entry for DR 775.
4129 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
4131         * doc/xml/manual/intro.xml: Adjust links to ISO documents.
4133 2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>
4135         * include/c_std/cmath (fpclassify): Use __builtin_fpclassify.
4136         * include/c_global/cmath (fpclassify): Likewise.
4138 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
4140         * include/tr1_impl/hashtable_policy.h (_Map_base<,,
4141         std::_Select1st<_Pair>, true,>::at): Add per DR 761.
4142         * testsuite/23_containers/unordered_map/dr761.cc: New.
4143         * doc/xml/manual/intro.xml: Add an entry for DR 761.
4145 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
4147         * testsuite/26_numerics/complex/dr781.cc: Add test variable.
4149 2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>
4151         * include/std/complex (proj(const std::complex<>&), proj(_Tp)):
4152         Add per DR 781.
4153         * include/tr1_impl/complex(polar(const _Tp&, const _Up&)): Move to...
4154         * include/tr1/complex: ... here.
4155         * doc/xml/manual/intro.xml: Add an entry for DR 781.
4156         * testsuite/26_numerics/complex/dr781.cc: Add.
4157         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Update.
4158         * configure: Regenerate.
4160 2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
4162         * include/std/bitset (bitset<>::bitset(const char*)): Add per DR 778.
4163         (bitset<>::_M_copy_from_ptr): Add.
4164         (bitset<>::_M_copy_from_string): Forward to the latter.
4165         * doc/xml/manual/intro.xml: Add an entry for DR 778.
4166         * testsuite/23_containers/bitset/cons/2.cc: Add.
4168 2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
4170         * doc/html/ext/lwg-active.html: Update to Revision R56.
4171         * doc/html/ext/lwg-closed.html: Likewise.
4172         * doc/html/ext/lwg-defects.html: Likewise.
4174 2008-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
4176         PR c++/33979 (partial)
4177         * include/tr1_impl/functional_hash.h (hash<char16_t>,
4178         hash<char32_t>): Add specializations.
4179         * include/tr1_impl/type_traits (is_integral<char16_t>,
4180         is_integral<char32_t>): Likewise.
4181         * include/std/limits (numeric_limits<char16_t>,
4182         numeric_limits<char32_t>): Likewise.
4183         * src/limits_c++0x.cc: Add.
4184         * src/Makefile.am: Update.
4185         * testsuite/20_util/hash/requirements/explicit_instantiation.cc:
4186         Update.
4187         * testsuite/20_util/is_integral/value.cc: New.
4188         * testsuite/20_util/is_integral/requirements/typedefs.cc: Likewise.
4189         * testsuite/20_util/is_integral/requirements/
4190         explicit_instantiation.cc: Likewise.
4191         * testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.
4192         * config/abi/pre/gnu.ver: Export new numeric_limits symbols at
4193         GLIBCXX_3.4.11.
4194         * configure: Regenerate.
4195         * src/Makefile.in: Likewise.
4196         * config.h.in: Likewise.
4198 2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>
4200         * include/std/system_error: Align to current draft specifications.
4201         * src/system_error.cc: Same.
4202         * src/functexcept.cc: Adjust for corrected system_error construction.
4203         * include/std/ostream: Adjust error_code inserter.
4204         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
4205         * config/abi/pre/gnu.ver: Add new exports.
4207         * testsuite/util/testsuite_error.h: Consolidate error testing
4208         utilities here.
4209         * testsuite/19_diagnostics/error_code/cons/1.cc: Use
4210         testsuite_error, adjust line numbers and constructor calls.
4211         * testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
4212         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
4213         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
4214         * testsuite/19_diagnostics/error_category/cons/default.cc: Same.
4215         * testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
4216         * testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
4217         * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
4218         Same.
4219         * testsuite/19_diagnostics/system_error/cons-1.cc: Same.
4220         * testsuite/19_diagnostics/system_error/what-1.cc: Same.
4221         * testsuite/19_diagnostics/system_error/what-2.cc: Same.
4222         * testsuite/19_diagnostics/system_error/what-big.cc: Same.
4223         * testsuite/19_diagnostics/system_error/what-3.cc: Same.
4224         * testsuite/19_diagnostics/system_error/what-4.cc: Same.
4226 2008-05-15  Bernd Schmidt  <bernd.schmidt@analog.com>
4228         * configure.ac: Don't check AC_LIBTOOL_DLOPEN if using newlib.
4229         * configure: Regenerate.
4231 2008-05-15  Johannes Singler  <singler@ira.uka.de>
4233         * xml/manual/parallel_mode.xml:
4234         General revision and documentation of new compile-time
4235         options for sorting.
4237 2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>
4239         * include/std/mutex (mutex::try_lock): Eat errors.
4240         (mutex::unlock): Same.
4241         (recursive_mutex::try_lock): Eat errors.
4242         (recursive_mutex::unlock): Same.
4243         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Add
4244         -pthreads, adjust line numbers.
4245         * testsuite/30_threads/mutex/native_handle/1.cc: Same.
4246         * testsuite/30_threads/mutex/cons/1.cc: Same.
4247         * testsuite/30_threads/mutex/try_lock/1.cc: Same.
4248         * testsuite/30_threads/mutex/try_lock/2.cc: Same.
4249         * testsuite/30_threads/mutex/lock/1.cc: Same.
4250         * testsuite/30_threads/mutex/unlock/1.cc: Same.
4251         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Same.
4252         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Same.
4253         * testsuite/30_threads/recursive_mutex/cons/1.cc: Same.
4255 2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>
4257         * include/std/sstream: Adjust braces.
4258         * include/bits/fstream.tcc: Same.
4259         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Add
4260         -shared-libgcc.
4261         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
4263         * doc/doxygen/user.cfg.in: Remove thread include.
4265 2008-05-13  David Daney  <ddaney@avtrex.com>
4267         * config/cpu/mips/atomicity.h: Remove file.
4268         * config/cpu/mips: Remove directory.
4269         * configure.host: Remove host specific handling for mips*-*-*.
4271 2008-05-12  Stefano Soffia  <soffia@cs.unipr.it>
4272             Paolo Carlini  <paolo.carlini@oracle.com>
4274         * include/debug/vector (vector<>::_M_requires_reallocation): Just
4275         use this->capacity().
4276         (vector<>::capacity): Move non-pedantic / pedantic logic here.
4277         * testsuite/23_containers/vector/
4278         debug_mode_requires_reallocation-2.cc: New.
4280         * testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
4281         Rename to debug_mode_requires_reallocation-1.cc
4283 2008-05-10  Roberto Bagnara  <bagnara@cs.unipr.it>
4284             Paolo Carlini  <paolo.carlini@oracle.com>
4286         * include/debug/vector (vector<>::_M_requires_reallocation): Fix macro.
4287         * testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
4288         New.
4290 2008-05-07  Johannes Singler  <singler@ira.uka.de>
4292         * include/parallel/quicksort.h:
4293         (parallel_sort_qs_conquer) Explicitly request number of threads
4294         in the parallel clause.
4295         (parallel_sort_qs) Remove setting the number of threads globally.
4297 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
4299         * include/std/mutex (mutex::mutex): Fix usage of initializing macro.
4300         (recursive_mutex::recursive_mutex): Same.
4301         (once_flag::once_flag): Same.
4302         * testsuite/30_threads/mutex/cons/assign_neg.cc: Fix line numbers.
4303         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
4304         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
4305         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
4307 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
4309         * include/std/condition_variable: New.
4310         * include/std/mutex: New.
4311         * src/condition_variable.cc: New.
4312         * src/mutex.cc: New.
4313         * include/bits/functexcept.h: Add __throw_system_error varients.
4314         * src/functexcept.cc: Same.
4315         * config/abi/pre/gnu.ver: Add exports.
4317         * doc/xml/manual/using.xml: Add new includes.
4318         * doc/doxygen/user.cfg.in: Doxygen support.
4319         * doc/doxygen/doxygroups.cc: Same.
4321         * include/Makefile.am: Add mutex, condition_variable.
4322         * include/Makefile.in: Regenerated.
4323         * src/Makefile.am: Add mutex.cc, condition_variable.cc.
4324         * src/Makefile.in: Regenerated.
4326         * testsuite/30_threads: New.
4327         * testsuite/30_threads/lock_error: New.
4328         * testsuite/30_threads/mutex: New.
4329         * testsuite/30_threads/mutex/dest: New.
4330         * testsuite/30_threads/mutex/dest/destructor_locked.cc: New.
4331         * testsuite/30_threads/mutex/native_handle: New.
4332         * testsuite/30_threads/mutex/native_handle/1.cc: New.
4333         * testsuite/30_threads/mutex/cons: New.
4334         * testsuite/30_threads/mutex/cons/assign_neg.cc: New.
4335         * testsuite/30_threads/mutex/cons/1.cc: New.
4336         * testsuite/30_threads/mutex/cons/copy_neg.cc: New.
4337         * testsuite/30_threads/mutex/requirements: New.
4338         * testsuite/30_threads/mutex/requirements/typedefs.cc: New.
4339         * testsuite/30_threads/mutex/try_lock: New.
4340         * testsuite/30_threads/mutex/try_lock/1.cc: New.
4341         * testsuite/30_threads/mutex/try_lock/2.cc: New.
4342         * testsuite/30_threads/mutex/lock: New.
4343         * testsuite/30_threads/mutex/lock/1.cc: New.
4344         * testsuite/30_threads/mutex/unlock: New.
4345         * testsuite/30_threads/mutex/unlock/1.cc: New.
4346         * testsuite/30_threads/recursive_mutex: New.
4347         * testsuite/30_threads/recursive_mutex/dest: New.
4348         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: New.
4349         * testsuite/30_threads/recursive_mutex/native_handle: New.
4350         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: New.
4351         * testsuite/30_threads/recursive_mutex/cons: New.
4352         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: New.
4353         * testsuite/30_threads/recursive_mutex/cons/1.cc: New.
4354         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: New.
4355         * testsuite/30_threads/recursive_mutex/requirements: New.
4356         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc: New.
4357         * testsuite/30_threads/lock_guard: New.
4358         * testsuite/30_threads/lock_guard/requirements: New.
4359         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: New.
4360         * testsuite/30_threads/lock_guard/requirements/
4361         explicit_instantiation.cc: New.
4362         * testsuite/30_threads/headers: New.
4363         * testsuite/30_threads/headers/mutex: New.
4364         * testsuite/30_threads/headers/mutex/types_std_c++0x.cc: New.
4365         * testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: New.
4366         * testsuite/30_threads/headers/condition_variable: New.
4367         * testsuite/30_threads/headers/condition_variable/
4368         types_std_c++0x.cc: New.
4369         * testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: New.
4370         * testsuite/30_threads/once_flag: New.
4371         * testsuite/30_threads/unique_lock: New.
4372         * testsuite/30_threads/unique_lock/requirements: New.
4373         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: New.
4374         * testsuite/30_threads/unique_lock/requirements/
4375         explicit_instantiation.cc: New.
4376         * testsuite/17_intro/headers/c++200x/all.cc: Add new includes.
4378 2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>
4380         PR libstdc++/36130
4381         * include/bits/c++config: Namespace macros and setup only in C++.
4382         * testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: New.
4384 2008-05-06  Johannes Singler  <singler@ira.uka.de>
4386         * include/parallel/multiway_merge.h:
4387           (multiway_merge_*_unguarded):
4388           Pass sentinel directly, to allow correct determination.
4389           (multiway_merge_loser_tree_unguarded):
4390           Remove over-cautious assertion.
4391           (calls to multiway_merge_*_splitting):
4392           Parametrize with type that is correct in all cases.
4393         * include/parallel/losertree.h:
4394           (delete_min_insert (in many classes)):
4395           Correct and standardize assertions.
4397 2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>
4399         * testsuite/util/testsuite_visualization.h: Move contents into...
4400         * testsuite/util/testsuite_performance.h: ...here.
4401         * testsuite/util/testsuite_common_types.h: Move
4402         performance-related test infrastructure into
4403         testsuite_performance.
4404         * testsuite/performance/25_algorithms/search_n.cc: Fix includes.
4405         * testsuite/performance/23_containers/find/map.cc: Same.
4406         * testsuite/performance/23_containers/create/map.cc: Same.
4407         * testsuite/performance/23_containers/insert_erase/associative.cc: Same.
4408         * testsuite/performance/23_containers/insert/sequence.cc: Same.
4409         * testsuite/performance/23_containers/insert/associative.cc: Same.
4410         * testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
4411         * testsuite/performance/23_containers/index/map.cc: Same.
4412         * testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
4413         * testsuite/performance/23_containers/create_sort/list.cc: Same.
4414         * testsuite/performance/23_containers/sort_search/list.cc: Same.
4415         * testsuite/performance/23_containers/producer_consumer/sequence.cc:
4416         Same.
4417         * testsuite/performance/23_containers/producer_consumer/associative.cc:
4418         Same.
4420         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
4421         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
4423 2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>
4425         * 20_util/make_signed/requirements/typedefs-1.cc: Correct requirements.
4426         * 20_util/make_unsigned/requirements/typedefs-1.cc: Same.
4428 2008-05-01  Benjamin Kosnik  <bkoz@redhat.com>
4430         * include/bits/c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.
4432 2008-04-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4434         * include/Makefile.am (install-headers): Cope with empty
4435         parallel_headers.
4436         * include/Makefile.in: Regenerate.
4438 2008-04-29  Benjamin Kosnik  <bkoz@redhat.com>
4440         * include/bits/c++config: Remove space between '#' and 'undef' for
4441         _GLIBCXX_LONG_DOUBLE_COMPAT.
4443 2008-04-29  Joseph Myers  <joseph@codesourcery.com>
4445         * Makefile.am (install-html, install-pdf): Add dummy targets.
4446         * Makefile.in: Regenerate.
4447         * doc/Makefile.am (install-html, install-pdf): Remove.
4448         * doc/Makefile.in: Regenerate.
4450 2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
4452         * include/bits/c++config: Move os_defines and cpu_defines after
4453         namespace definitions and base macros.
4455 2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>
4457         PR libstdc++/35887
4458         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Revert back to just
4459         checking for omp.h.
4460         * configure: Regenerate.
4462 2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
4464         PR libstdc++/35922
4465         * include/std/unordered_map: Include debug/unordered_map if
4466         _GLIBCXX_DEBUG.
4467         * testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
4468         * testsuite/23_containers/unordered_map/requirements/
4469         debug_container.cc: ...here.
4470         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
4471         * testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
4472         * testsuite/23_containers/unordered_set/requirements/
4473         debug_container.cc: ...here.
4474         * testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.
4476 2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>
4478         PR libstdc++/35887
4479         * acinclude.m4: (GLIBCXX_ENABLE_PARALLEL): Check for thread support.
4480         * configure.ac: Re-order compiler macros.
4481         * configure: Regenerated.
4483 2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>
4485         PR libstdc++/35887
4486         * configure.ac: Add default argument to GLIBCXX_ENABLE_PARALLEL.
4487         Move atomic warnings to GLIBCXX_ENABLE_ATOMIC_BUILTINS.
4488         * acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Check for --disable-libgomp.
4489         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Add warning information.
4490         * configure: Regenerate.
4491         * include/Makefile.am (parallel_headers): Make conditional on
4492         ENABLE_PARALLEL.
4493         * include/Makefile.in: Regenerate.
4495 2008-04-24  Paolo Carlini  <pcarlini@suse.de>
4497         PR libstdc++/35969
4498         * include/debug/list (merge): Use _M_transfer_iter, consistently
4499         with the splice members.
4500         * testsuite/23_containers/list/operations/35969.cc: New.
4502         * testsuite/23_containers/list/operators: Rename to
4503         testsuite/23_containers/list/operations.
4505 2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>
4507         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
4508         all used __sync builtins, in two sizes.
4509         * config.h.in: Regenerate.
4510         * configure: Regenerate.
4511         * src/atomic.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_1.
4512         * include/ext/atomicity.h: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
4513         * libsupc++/guard.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
4514         * doc/xml/manual/concurrency.xm: Update docs.
4516 2008-04-23  Benjamin Kosnik  <bkoz@redhat.com>
4518         * config/os/hpux/os_defines.h: Use _GLIBCXX_BEGIN_NAMESPACE,
4519         _GLIBCXX_BEGIN_EXTERN_C, etc.
4521 2008-04-23  Johannes Singler  <singler@ira.uka.de>
4523         * include/parallel/quicksort.h: Reformat,
4524         (parallel_sort_qs): Do not pass number of elements.
4525         * include/parallel/balanced_quicksort.h: Reformat,
4526         (parallel_sort_qsb): Do not pass number of elements.
4527         * include/parallel/tags.h:
4528         Introduce new tags for compile-time choice.
4529         * include/parallel/merge.h:
4530         (parallel_merge_advance):Beautified.
4531         * include/parallel/algo.h: Reformatting (spaces for tabs)
4532         New sort and stable_sort variants, corresponding to the tags.
4533         * include/parallel/sort.h:
4534         New sort and stable_sort variants, corresponding to the tags.
4535         Changed determining the desired number of threads.
4537 2008-04-23  Johannes Singler  <singler@ira.uka.de>
4539         * include/parallel/multiway_merge.h
4540         (multiway_merge_loser_tree):
4541         Leave checks to callers, add precondition instead.
4542         (multiway_merge_loser_tree_unguarded): Likewise.
4543         (multiway_merge_loser_tree_sentinel): Likewise.
4544         (sequential_multiway_merge): Added checks for total length 0.
4545         (parallel_multiway_merge): Skip empty sequences.
4546         (multiway_merge, all variants):
4547         Remove temporary variable, return directly.
4548         (stable_multiway_merge, all variants): Likewise.
4549         (multiway_merge_sentinels, all variants):  Likewise.
4550         (stable_multiway_merge_sentinels, all variants): Likewise.
4551         * include/parallel/multiseq_selection.h
4552         (multiseq_partition): More detailed assertions.
4554 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4556         * acinclude.m4 (GLIBCXX_CHECK_SETRLIMIT, GLIBCXX_ENABLE_C99)
4557         (GLIBCXX_CHECK_C99_TR1, GLIBCXX_CHECK_RANDOM_TR1)
4558         (GLIBCXX_ENABLE_VISIBILITY): Fix cache variable names.
4559         (GLIBCXX_CHECK_SYSTEM_ERROR): Likewise.  Factorize.
4560         * configure: Regenerate.
4562 2008-04-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4564         PR libstdc++/35954
4565         * include/Makefile.am (pch*_output): Do not touch pch*_output_anchor.
4566         Call 'mkdir -p' unconditionally, but ignore its return value.
4567         * include/Makefile.in: Regenerate.
4569         * include/Makefile.am: Fix most stamp rules to regenerate
4570         the links for all sources newer than the stamp file.
4571         * include/Makefile.in: Regenerate.
4572         * Makefile.in: Likewise.
4573         * src/Makefile.in: Likewise.
4574         * doc/Makefile.in: Likewise.
4575         * po/Makefile.in: Likewise.
4576         * libmath/Makefile.in: Likewise.
4577         * libsupc++/Makefile.in: Likewise.
4578         * testsuite/Makefile.in: Likewise.
4580 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
4582         PR bootstrap/35457
4583         * aclocal.m4: Regenerate.
4584         * configure: Regenerate.
4586 2008-04-16  Andreas Tobler  <a.tobler@schweiz.org>
4588         PR libstdc++/35915
4589         * configure.ac: Use GCC_HEADER_STDINT.
4590         * src/atomic.cc: Include gstdint.h
4591         * configure: Regenerate.
4592         * Makefile.in: Likewise.
4593         * doc/Makefile.in: Likewise.
4594         * include/Makefile.in: Likewise.
4595         * libmath/Makefile.in: Likewise.
4596         * libsupc++/Makefile.in: Likewise.
4597         * po/Makefile.in: Likewise.
4598         * src/Makefile.in: Likewise.
4599         * testsuite/Makefile.in: Likewise.
4600         * aclocal.m4: Likewise.
4602 2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>
4604         PR libstdc++/35816
4605         * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Set CXXFLAGS to
4606         -O0 when checking for atomic builtins.
4607         * configure: Regenerate.
4609 2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>
4611         * include/bits/c++config: Guard _LDBL_ macros with __cplusplus.
4613 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
4615         * doc/html/*: Regenerate.
4617 2008-04-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4619         * doc/xml/manual/bitmap_allocator.xml: Improve wording a bit.
4620         * doc/xml/authors.xml: Fix typos.
4621         * doc/xml/faq.xml: Likewise.
4622         * doc/xml/manual/abi.xml: Likewise.
4623         * doc/xml/manual/allocator.xml: Likewise.
4624         * doc/xml/manual/appendix_contributing.xml: Likewise.
4625         * doc/xml/manual/backwards_compatibility.xml: Likewise.
4626         * doc/xml/manual/build_hacking.xml: Likewise.
4627         * doc/xml/manual/codecvt.xml: Likewise.
4628         * doc/xml/manual/concurrency.xml: Likewise.
4629         * doc/xml/manual/ctype.xml: Likewise.
4630         * doc/xml/manual/debug_mode.xml: Likewise.
4631         * doc/xml/manual/diagnostics.xml: Likewise.
4632         * doc/xml/manual/evolution.xml: Likewise.
4633         * doc/xml/manual/extensions.xml: Likewise.
4634         * doc/xml/manual/locale.xml: Likewise.
4635         * doc/xml/manual/messages.xml: Likewise.
4636         * doc/xml/manual/parallel_mode.xml: Likewise.
4637         * doc/xml/manual/status_cxx200x.xml: Likewise.
4638         * doc/xml/manual/strings.xml: Likewise.
4639         * doc/xml/manual/support.xml: Likewise.
4640         * doc/xml/manual/test.xml: Likewise.
4641         * doc/xml/manual/using.xml: Likewise.
4643 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
4644             Johannes Singler  <singler@ira.uka.de>
4646         * doc/xml/manual/parallel_mode.xml: Remove map/set bulk
4647         insertors. Correct omp_set_num_threads example.
4649 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
4651         * include/c_global/cstdatomic: C++ types only, format, doxygen markup.
4652         * include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup.
4653         * src/atomic.c: Format, doxygen markup, edits.
4655         * include/Makefile.am (cstdatomic, stdatomic.h): Add.
4656         * src/Makefile.am (atomic.c): Add.
4657         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New.
4658         * configure.ac: Call it.
4659         * include/Makefile.in: Regenerate.
4660         * src/Makefile.in: Same.
4661         * Makefile.in: Same.
4662         * doc/Makefile.in: Same.
4663         * po/Makefile.in: Same.
4664         * libmath/Makefile.in: Same.
4665         * include/Makefile.in: Same.
4666         * testsuite/Makefile.in: Same.
4667         * libsupc++/Makefile.in: Same.
4668         * config.h.in: Same.
4669         * configure: Same.
4671         * config/abi/pre/gnu.ver: Add atomics exports.
4673         * include/ext/typelist.h (apply_generator): New.
4674         * include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New.
4675         (_GLIBCXX_END_EXTERN_C): New.
4676         Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when
4677         compiling as C.
4678         * testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L
4679         flag for libstdc++.
4680         * testsuite/util/testsuite_common_types.h (integral_types): New
4681         typelist.
4682         (atomics, atomics_tl): Same.
4683         (assignable, default_constructible, copy_constructible,
4684         explicit_value_constructible): New.
4685         * testsuite/17_intro/headers/c++200x/all.cc: Test new headers.
4686         * testsuite/29_atomics: New.
4687         * testsuite/29_atomics/atomic_address: Same.
4688         * testsuite/29_atomics/atomic_address/cons: Same.
4689         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same.
4690         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
4691         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
4692         * testsuite/29_atomics/atomic_address/cons/default.cc: Same.
4693         * testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
4694         * testsuite/29_atomics/atomic_flag: Same.
4695         * testsuite/29_atomics/atomic_flag/cons: Same.
4696         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
4697         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
4698         * testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
4699         * testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
4700         * testsuite/29_atomics/atomic_flag/requirements: Same.
4701         * testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc:
4702         Same.
4703         * testsuite/29_atomics/atomic_flag/
4704         atomic_global_fence_compatibility.cc: Same.
4705         * testsuite/29_atomics/atomic_flag/test_and_set: Same.
4706         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
4707         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
4708         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
4709         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
4710         * testsuite/29_atomics/headers: Same.
4711         * testsuite/29_atomics/headers/cstdatomic: Same.
4712         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same.
4713         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
4714         * testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same.
4715         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
4716         * testsuite/29_atomics/headers/stdatomic.h: Same.
4717         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
4718         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
4719         * testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
4720         * testsuite/29_atomics/atomic: Same.
4721         * testsuite/29_atomics/atomic/cons: Same.
4722         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Same.
4723         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
4724         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
4725         * testsuite/29_atomics/atomic/cons/default.cc: Same.
4726         * testsuite/29_atomics/atomic/requirements: Same.
4727         * testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same.
4728         * testsuite/29_atomics/atomic/requirements/explicit_instantiation/
4729         1.cc: Same.
4731 2008-04-10  Lawrence Crowl  <crowl@google.com>
4733         * include/c_global/cstdatomic: New.
4734         * include/c_compatibility/stdatomic.h: New.
4735         * src/atomic.c: New.
4737 2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>
4739         * include/std/tuple: Consistency check for include guard, doxygen
4740         file markup.
4741         * include/std/date_time: Same.
4742         * include/std/type_traits: Same.
4743         * include/std/regex: Same.
4744         * include/std/array: Same.
4745         * include/std/system_error: Same, add error_code ctor.
4747 2008-04-07  Johannes Singler  <singler@ira.uka.de>
4749         * include/parallel/multiway_merge.h: Moved decisions to
4750         compile-time instead of run-time.
4751         * include/parallel/losertree.h: Removed obsolete variants, added
4752         variant that uses pointers in the loser tree.
4753         * include/parallel/types.h: Remove obsolete settings options from enum.
4754         * include/parallel/features.h: Remove obsolete compile-time switches.
4755         * include/parallel/compiletime_settings.h: Remove obsolete variant
4756         that copies back *after* sorting.
4757         * include/parallel/tags.h: Add one new tag for compile-time switch.
4758         * include/parallel/merge.h: Adapt to changes in multiway_merge.h.
4759         * include/parallel/multiway_mergesort.h: Adapt to changes in
4760         multiway_merge.h. Factor out splitting variants. Remove obsolete
4761         variant that copies back *after* sorting.
4762         * include/parallel/sort.h: Adapt to changes in multiway_mergesort.h.
4763         * testsuite/25_algorithms/sort/35588.cc: Added test case from /
4764         for PR 35588.
4766 2008-03-29  Paolo Carlini  <pcarlini@suse.de>
4768         PR libstdc++/35725
4769         * include/bits/stl_algobase.h (__fill_a(_ForwardIterator,
4770         _ForwardIterator, _Tp), __fill_a(_Tp*, _Tp*, _Tp),
4771         __fill_n_a(_OutputIterator, _Size, _Tp), __fill_n_a(_Tp*, _Size,
4772         _Tp)): Fix signatures.
4773         * testsuite/25_algorithms/fill/35725.cc: New.
4774         * testsuite/25_algorithms/fill_n/35725.cc: Likewise.
4776 2008-03-29  Matthias Klose  <doko@ubuntu.com>
4778         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
4779         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
4780         * config/abi/post/mips-linux-gnu/baseline_symbols.txt: Likewise.
4781         * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Likewise.
4783 2008-03-27  Ian Lance Taylor  <iant@google.com>
4785         * acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
4786         glibcxx_ld_is_gold.  Check for gold in --gc-sections test.
4787         (GLIBCXX_ENABLE_SYMVERS): Check for gold.
4788         * aclocal.m4, configure: Rebuild.
4790 2008-03-26  Benjamin Kosnik  <bkoz@redhat.com>
4792         * testsuite/util/testsuite_abi.h: Remove symbol_objects,
4793         symbol_names typedefs.
4794         * testsuite/util/testsuite_abi.cc (compare_symbols): Correct check
4795         for long double compatiblity symbols, simplify data structures used.
4797 2008-03-25  Benjamin Kosnik  <bkoz@redhat.com>
4799         * scripts/run_doxygen: Remove html_output_dir. Downgrade to
4800         Doxygen 1.5.1.
4801         * doc/doxygen/style.css: Delete.
4802         * doc/doxygen/user.cfg.in: Regenerate with Doxygen 1.5.1.
4803         (INPUT): Update.
4804         (PREDEFINED): Update.
4805         (HTML_OUTPUT): Remove html_output_dir, use html.
4806         (HTML_STYLESHEET): Remove style.css.
4807         * doc/doxygen/tables.html: Remove style.css use.
4808         * doc/doxygen/mainpage.html: Nested lists for Namespaces and Classes.
4809         * doc/doxygen/doxygroups.cc: Namespace edits.
4810         * doc/doxygen/Intro.3: Correct typo.
4812         * doc/xml/api.xml: Add gcc-4.3 links.
4813         * doc/html/api.html: Regenerate.
4815         * include/debug/debug.h: Document namepaces here.
4816         * include/parallel/base.h: Same.
4817         * include/ext/typelist.h: Same.
4818         * include/ext/pb_ds/tag_and_trait.hpp: Same.
4820         * include/tr1_impl/random: Adjust line break.
4821         * include/tr1_impl/unordered_map: Correct and or add markup.
4822         * include/tr1_impl/boost_shared_ptr.h: Correct and or add markup.
4823         * include/tr1_impl/functional_hash.h: Same.
4824         * include/tr1_impl/cmath: Same.
4825         * include/tr1_impl/functional: Same.
4826         * include/tr1_impl/unordered_set: Same.
4827         * include/tr1_impl/complex: Same.
4828         * include/tr1_impl/type_traits: Same.
4829         * include/tr1_impl/regex: Same.
4830         * include/tr1_impl/array: Same.
4831         * include/std/tuple: Same.
4832         * include/std/date_time: Same.
4833         * include/std/system_error: Same.
4834         * include/std/type_traits: Same.
4835         * include/ext/enc_filebuf.h: Same.
4836         * include/ext/throw_allocator.h: Same.
4837         * include/ext/pool_allocator.h: Same.
4838         * include/ext/bitmap_allocator.h: Same.
4839         * include/ext/concurrence.h: Same.
4840         * include/ext/codecvt_specializations.h: Same.
4841         * include/ext/stdio_sync_filebuf.h: Same.
4842         * include/ext/array_allocator.h: Same.
4843         * include/ext/mt_allocator.h: Same.
4844         * include/bits/locale_classes.h: Same.
4845         * include/bits/locale_facets.h: Same.
4846         * include/bits/codecvt.h: Same.
4847         * include/bits/char_traits.h: Same.
4848         * include/bits/allocator.h: Same.
4849         * include/bits/locale_facets_nonio.h: Same.
4850         * include/tr1/poly_laguerre.tcc: Same.
4851         * include/tr1/riemann_zeta.tcc: Same.
4852         * include/tr1/beta_function.tcc: Same.
4853         * include/tr1/tuple: Same.
4854         * include/tr1/exp_integral.tcc: Same.
4855         * include/tr1/gamma.tcc: Same.
4856         * include/tr1/hypergeometric.tcc: Same.
4857         * include/tr1/modified_bessel_func.tcc: Same.
4858         * include/tr1/legendre_function.tcc: Same.
4859         * include/tr1/type_traits: Same.
4860         * include/tr1/special_function_util.h: Same.
4861         * include/tr1/bessel_function.tcc: Same.
4862         * include/tr1/cmath: Same.
4863         * include/tr1/poly_hermite.tcc: Same.
4864         * include/tr1/ell_integral.tcc: Same.
4865         * config/abi/compatibility.h: Adjust file name.
4867         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
4868         line numbers.
4869         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
4870         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
4872 2008-03-23  Paolo Carlini  <pcarlini@suse.de>
4874         * doc/xml/faq.xml: Fix various links.
4875         * doc/xml/api.xml: Likewise.
4876         * doc/xml/manual/parallel_mode.xml: Likewise.
4877         * doc/html/faq.html: Regenerate.
4878         * doc/html/api.html: Likewise.
4879         * doc/html/manual/bk01pt12ch31s03.html: Likewise.
4881 2008-03-20  Benjamin Kosnik  <bkoz@redhat.com>
4883         * testsuite/util/testsuite_abi.cc: Add support for not counting
4884         GLIBCXX_LDBL_* compat symbols missing if no long double compat
4885         symbols under test.
4887 2008-03-20  Paolo Carlini  <pcarlini@suse.de>
4889         PR libstdc++/35637
4890         * include/tr1_impl/type_traits (struct __in_array): Add back.
4891         (is_function): Use it.
4892         * testsuite/tr1/4_metaprogramming/is_function/35637.cc: New.
4894 2008-03-20  Johannes Singler  <singler@ira.uka.de>
4896         * include/parallel/set_operations.h (set_intersection): Remove.
4898 2008-03-19  Benjamin Kosnik  <bkoz@redhat.com>
4900         PR libstdc++/35256
4901         * doc/xml/manual/parallel_mode.xml: Correct configuration documentation.
4902         * doc/html/manual/bk01pt12ch31s04.html: Regenerate.
4904 2008-03-18  Benjamin Kosnik  <bkoz@redhat.com>
4906         * configure.ac (libtool_VERSION): To 6:11:0.
4907         * configure: Regenerate.
4908         * aclocal.m4: Regenerate.
4910 2008-03-16  Paolo Carlini  <pcarlini@suse.de>
4912         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
4913         Update.
4914         * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
4915         * include/precompiled/stdc++.h: Likewise.
4917 2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>
4919         * include/std/date_time: New file.
4920         * src/date_time.cc: New file.
4921         * config/abi/pre/gnu.ver: Added <date_time> symbols in version
4922         GLIBCXX_3.4.11 and changed two patterns in version GLIBCXX_3.4
4923         that matched new symbols.
4924         * include/Makefile.am: Add date_time in std headers.
4925         * src/Makefile.am: Add date_time.cc to source files.
4926         * include/Makefile.in: Regenerate.
4927         * src/Makefile.in: Likewise.
4929 2008-03-16  Pedro Lamarão  <pedro.lamarao@gmail.com>
4931         * testsuite/31_date_time/headers/date_time/types_std.cc: New.
4932         * testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
4933         * testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
4934         * testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
4935         * testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
4936         * testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
4937         * testsuite/31_date_time/system_time/requirements: Likewise.
4938         * testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
4940 2008-03-16  Paolo Carlini  <pcarlini@suse.de>
4942         * config.h.in: Regenerate.
4944 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4946         * aclocal.m4: Regenerate.
4947         * configure: Likewise.
4948         * Makefile.in: Likewise.
4949         * doc/Makefile.in: Likewise.
4950         * include/Makefile.in: Likewise.
4951         * libmath/Makefile.in: Likewise.
4952         * libsupc++/Makefile.in: Likewise.
4953         * po/Makefile.in: Likewise.
4954         * src/Makefile.in: Likewise.
4955         * testsuite/Makefile.in: Likewise.
4957 2008-03-13  Dennis Czeremin  <dennis.czeremin@smiths-heimann.com>
4959         PR libstdc++/35566
4960         * include/bits/stl_multimap.h (multimap<>::multimap(_InputIterator,
4961         _InputIterator)): Forward to _M_insert_equal, not _M_insert_unique.
4963 2008-03-13  Paolo Carlini  <pcarlini@suse.de>
4965         PR libstdc++/35541
4966         * include/debug/functions.h (__check_sorted_set_aux): Fix signature.
4967         * testsuite/25_algorithms/set_difference/35541.cc: New.
4969 2008-03-07  Jakub Jelinek  <jakub@redhat.com>
4971         * config/abi/pre/gnu.ver: Move <system_error> related
4972         symbols to GLIBCXX_3.4.11 symbol version.
4973         * testsuite/util/testsuite_abi.cc (check_version): Allow
4974         GLIBCXX_3.4.11.
4976 2008-03-06  Chris Jefferson  <chris@bubblescope.net>
4977             Paolo Carlini  <pcarlini@suse.de>
4979         PR libstdc++/35480
4980         * include/tr1/tuple (operator==, operator<): Fix.
4981         * include/std/tuple (operator==, operator<): Likewise.
4982         * testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: New.
4983         * testsuite/20_util/tuple/comparison_operators/35480.cc: Likewise.
4985 2008-03-04  Joseph Myers  <joseph@codesourcery.com>
4987         * crossconfig.m4 (*-mingw32*): Define HAVE_STRTOF and
4988         HAVE_STRTOLD.
4989         * configure: Regenerate.
4991 2008-03-02  Hans-Peter Nilsson  <hp@axis.com>
4993         * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc,
4994         testsuite/tr1/2_general_utilities/shared_ptr/assign/shared_ptr_neg.cc:
4995         Mark changed error message prelude, adding "in file included from",
4996         using dg-excess-errors.
4998 2008-03-01  Jakub Jelinek  <jakub@redhat.com>
5000         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5001         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
5002         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
5003         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
5004         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
5005         Likewise.
5006         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
5007         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
5009 2008-02-29  Jakub Jelinek  <jakub@redhat.com>
5011         * config/abi/pre/gnu.ver: Remove
5012         _ZNKSt3tr14hashIgEclEg@@GLIBCXX_3.4.10 and
5013         _ZNKSt4hashIgEclEg@@GLIBCXX_3.4.10 export.
5014         * config/os/gnu-linux/ldbl-extra.ver: Export
5015         _ZNKSt3tr14hashIgEclEg@@GLIBCXX_LDBL_3.4.10
5016         and _ZNKSt4hashIgEclEg@@GLIBCXX_LDBL_3.4.10.
5017         * src/hash.cc: Only define long double hash specialization if
5018         _GLIBCXX_LONG_DOUBLE_COMPAT_IMPL is defined.
5019         * src/compatibility-ldbl.cc: Include "hash.cc".
5020         (_GLIBCXX_LONG_DOUBLE_COMPAT_IMPL): Define.
5021         (_ZNKSt4hashIeEclEe): New alias.
5022         * testsuite/util/testsuite_abi.cc (check_version): Support
5023         GLIBCXX_LDBL_3.4.10.
5025 2008-02-25  Jan Beulich  <jbeulich@novell.com>
5027         * acinclude.m4: Also check for EIDRM and ETXTBSY.
5028         * configure: Re-generate.
5029         * config/os/generic/error_constants.h (namespace posix_error):
5030         Also wrap uses of EIDRM and ETXTBSY in conditionals.
5031         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
5032         Likewise.
5034 2008-02-20  Jason Merrill  <jason@redhat.com>
5036         * include/bits/c++config: Use 'inline namespace' instead of
5037         strong using.
5039 2008-02-18  Pedro Lamarao <pedro.lamarao@mndfck.org>
5041         * include/std/tuple: Fixes for moveable, non-copyable types.
5042         * testsuite/20_util/tuple/moveable2.cc: New.
5044 2008-02-18  Paolo Carlini  <pcarlini@suse.de>
5046         * include/std/tuple (operator+(tuple<>&&, tuple<>&&): Remove.
5048 2008-02-17  Ed Smith-Rowland  <3dw4rd@verizon.net>
5050         * include/tr1/poly_laguerre.tcc: Doxygen fixes.
5051         * include/tr1/exp_integral.tcc: Same.
5052         * include/tr1/gamma.tcc: Same.
5053         * include/tr1/hypergeometric.tcc: Same.
5055 2008-02-17  Benjamin Kosnik  <bkoz@redhat.com>
5057         PR libstdc++/34797
5058         * include/parallel/settings.h (_Settings): Reconstruct Settings class
5059         here, uglify, remove anonymous namespace and static
5060         members. Convert to datum.
5061         * include/parallel/types.h: Move Settings:: enumerations here, uglify.
5062         * src/parallel_settings.cc: New, definition for _Settings member
5063         functions.
5064         * include/parallel/multiway_merge.h: Same.
5065         * include/parallel/for_each.h: Same.
5066         * include/parallel/workstealing.h: Same.
5067         * include/parallel/base.h: Same.
5068         * include/parallel/numeric
5069         * include/parallel/features.h: Same.
5070         * include/parallel/quicksort.h: Same.
5071         * include/parallel/equally_split.h: Same.
5072         * include/parallel/algorithmfwd.h: Same.
5073         * include/parallel/omp_loop_static.h: Same.
5074         * include/parallel/random_shuffle.h: Same.
5075         * include/parallel/balanced_quicksort.h: Same.
5076         * include/parallel/tags.h: Same.
5077         * include/parallel/multiway_mergesort.h: Same.
5078         * include/parallel/numericfwd.h: Same.
5079         * include/parallel/partition.h: Same.
5080         * include/parallel/partial_sum.h: Same.
5081         * include/parallel/find.h: Same.
5082         * include/parallel/algo.h: Same.
5083         * include/parallel/omp_loop.h: Same.
5084         * include/parallel/sort.h: Same.
5086         * src/Makefile.am (parallel_sources): Add parallel_settings.cc.
5087         * src/Makefile.in: Regenerate.
5089         * config/abi/pre/gnu.ver: Export _Settings::get and _Settings::set.
5091 2008-02-17  Paolo Carlini  <pcarlini@suse.de>
5093         PR libstdc++/35221
5094         * include/parallel/types.h: Reinstate integer types typedefs.
5095         * include/parallel/multiseq_selection.h: Adjust.
5096         * include/parallel/compatibility.h: Likewise.
5097         * include/parallel/random_shuffle.h: Likewise.
5098         * include/parallel/random_number.h: Likewise.
5099         * include/parallel/base.h: Likewise.
5101 2008-02-17  Paolo Carlini  <pcarlini@suse.de>
5103         PR libstdc++/35209
5104         * config/abi/pre/gnu.ver: Export stdio_sync_filebuf symbols.
5105         * testsuite/ext/stdio_sync_filebuf/char/35209.cc: New.
5106         * testsuite/ext/stdio_sync_filebuf/wchar_t/35209.cc: Likewise.
5108 2008-02-16  Benjamin Kosnik  <bkoz@redhat.com>
5110         * include/parallel/random_number.h: Use TR1's mersenne_twister.
5111         (random_number::genrand_bits()): Remove.
5112         (random_number::set_seed): Remove.
5114 2008-02-15  Benjamin Kosnik  <bkoz@redhat.com>
5116         * include/parallel/types.h: Remove enum parallelism.
5118 2008-02-15  Benjamin Kosnik  <bkoz@redhat.com>
5120         * include/parallel/types.h: Move enum parallelism here.  Use
5121         tr1/cstdint's int16_t, uint16_t, int32_t, uint32_t, int64_t,
5122         uint64_t.
5123         * include/parallel/multiseq_selection.h: Adjust for cstdint.
5124         * include/parallel/compatibility.h: Same.
5125         * include/parallel/tags.h: Just compile-time tags.
5126         * include/parallel/base.h: Put namespace bits here.
5128         * src/Makefile.am (PARALLEL_FLAGS): Use it.
5129         * src/Makefile.in: Regenerate.
5131         * testsuite/25_algorithms/nth_element/1.cc: Add test variable.
5133 2008-02-15  Hans-Peter Nilsson  <hp@axis.com>
5135         * testsuite/config/default.exp: Load gcc dejapatches.exp.
5137 2008-02-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5139         * testsuite/27_io/fpos/14320-1.cc: Check for "long long" and
5140         remove XFAIL.
5142 2008-02-14  Benjamin Kosnik  <bkoz@redhat.com>
5144         * config/os/generic/error_constants.h (posix_errno): Guard
5145         not_supported use of ENOTSUP.
5146         * acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add check for ENOTSUP
5147         for OpenBSD.
5148         * aclocal.m4: Regenerate.
5149         * configure: Rengerate.
5150         * config.h.in: Same.
5152 2008-02-13  Benjamin Kosnik  <bkoz@redhat.com>
5154         * doc/doxygen/mainpage.html: Correct links.
5156 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
5158         * doc/html/*: Populate with regenerated files.
5160 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
5162         * doc/html/*: Remove all but contents of ext/pb_ds.
5163         * doc/html/index.html: New.
5164         * doc/html/README: New.
5166 2008-02-11  Benjamin Kosnik  <bkoz@redhat.com>
5168         * doc/doxygen/mainpage.html: Add in corrected links.
5169         * README: Edit, move most into...
5170         * doc/xml/manual/appendix_contributing.xml (Directory Layout): ...here.
5171         (Documentation Style): Revise.
5172         * doc/xml/spine.xml: Edit file names.
5173         * doc/Makefile.am: Edit xml_sources.
5174         * doc/Makefile.in: Regenerate.
5176 2008-02-11  Paolo Carlini  <pcarlini@suse.de>
5178         * configure: Regenerate with documented autoconf and automake
5179         versions (i.e., 2.59 and 1.9.6).
5180         * Makefile.in: Likewise.
5181         * src/Makefile.in: Likewise.
5182         * doc/Makefile.in: Likewise.
5183         * po/Makefile.in: Likewise.
5184         * libmath/Makefile.in: Likewise.
5185         * include/Makefile.in: Likewise.
5186         * libsupc++/Makefile.in: Likewise.
5187         * testsuite/Makefile.in: Likewise.
5188         * aclocal.m4: Likewise.
5190 2008-02-10  Benjamin Kosnik  <bkoz@redhat.com>
5192         Convert documentation to DocBook.
5193         * doc/Makefile.am (doc-doxygen-html): Changed to doc-html-doxygen.
5194         (doc-doxygen-man): Changed to doc-man-doxygen.
5195         (doc-performance): Changed to doc-html-performance.
5196         (doc-xml-doxygen): New.
5197         (doc-xml-single): New.
5198         (doc-xml-validate): New.
5199         (doc-html): New.
5200         (doc-html-single): New.
5201         (doc-fo): New.
5202         (doc-pdf): New.
5203         (doc-pdf-fop-xml): New.
5204         (doc-pdf-fop-fo): New.
5205         (doc-pdf-xmlto): New.
5206         (doc-pdf-xmlroff): New.
5207         (doc-pdf-prince): New.
5208         * doc/xml: New directory.
5209         * doc/xml/authors.xml: New.
5210         * doc/xml/images: New directory.
5211         * doc/xml/images/confdeps.png: Add.
5212         * doc/xml/images/confdeps.dot: Add.
5213         * doc/xml/faq.xml: New.
5214         * doc/xml/api.xml: New.
5215         * doc/xml/gnu: New directory.
5216         * doc/xml/gnu/gpl-3.0.xml: New.
5217         * doc/xml/gnu/fdl-1.2.xml: New.
5218         * doc/xml/gnu/gpl-2.0.xml: New.
5219         * doc/xml/manual: New directory.
5220         * doc/xml/manual/mt_allocator.xml: New.
5221         * doc/xml/manual/allocator.xml: New.
5222         * doc/xml/manual/ctype.xml: New.
5223         * doc/xml/manual/numerics.xml: New.
5224         * doc/xml/manual/codecvt.xml: New.
5225         * doc/xml/manual/concurrency.xml: New.
5226         * doc/xml/manual/backwards_compatibility.xml: New.
5227         * doc/xml/manual/intro.xml: New.
5228         * doc/xml/manual/shared_ptr.xml: New.
5229         * doc/xml/manual/abi.xml: New.
5230         * doc/xml/manual/status_cxxtr1.xml: New.
5231         * doc/xml/manual/auto_ptr.xml: New.
5232         * doc/xml/manual/build.xml: New.
5233         * doc/xml/manual/internals.xml: New.
5234         * doc/xml/manual/parallel_mode.xml: New.
5235         * doc/xml/manual/status_cxx1998.xml: New.
5236         * doc/xml/manual/containers.xml: New.
5237         * doc/xml/manual/io.xml: New.
5238         * doc/xml/manual/appendix_porting.xml: New.
5239         * doc/xml/manual/utilities.xml: New.
5240         * doc/xml/manual/bitmap_allocator.xml: New.
5241         * doc/xml/manual/support.xml: New.
5242         * doc/xml/manual/configure.xml: New.
5243         * doc/xml/manual/build_hacking.xml: New.
5244         * doc/xml/manual/evolution.xml: New.
5245         * doc/xml/manual/using.xml: New.
5246         * doc/xml/manual/debug.xml: New.
5247         * doc/xml/manual/localization.xml: New.
5248         * doc/xml/manual/strings.xml: New.
5249         * doc/xml/manual/debug_mode.xml: New.
5250         * doc/xml/manual/locale.xml: New.
5251         * doc/xml/manual/extensions.xml: New.
5252         * doc/xml/manual/appendix_contributing.xml: New.
5253         * doc/xml/manual/messages.xml: New.
5254         * doc/xml/manual/diagnostics.xml: New.
5255         * doc/xml/manual/appendix_free.xml: New.
5256         * doc/xml/manual/algorithms.xml: New.
5257         * doc/xml/manual/iterators.xml: New.
5258         * doc/xml/manual/spine.xml: New.
5259         * doc/xml/manual/test.xml: New.
5260         * doc/xml/manual/status_cxx200x.xml: New.
5261         * doc/xml/spine.xml: New.
5263         * doc/xml/book.txml: New. Template file.
5264         * doc/xml/chapter.txml: Same.
5265         * doc/xml/class.txml: Same.
5267         * doc/doxygen/guide.html: Removed, integrated into other docs.
5268         * doc/doxygen/user.cfg.in: Clean up XML generation.
5269         * doc/doxygen/run_doxygen: Move to..
5270         * scripts/run_doxygen: ...here.
5272         * configure: Regenerate.
5273         * Makefile.in: Regenerate.
5274         * src/Makefile.in: Regenerate.
5275         * doc/Makefile.in: Regenerate.
5276         * po/Makefile.in: Regenerate.
5277         * libmath/Makefile.in: Regenerate.
5278         * include/Makefile.in: Regenerate.
5279         * libsupc++/Makefile.in: Regenerate.
5280         * testsuite/Makefile.in: Regenerate.
5281         * aclocal.m4: Regenerate.
5283 2008-02-10  Paolo Carlini  <pcarlini@suse.de>
5285         PR libstdc++/16251
5286         * include/std/istream (basic_istream<>::basic_istream()): Call
5287         this->init().
5288         (basic_iostream<>::basic_iostream(basic_streambuf<>*)): Don't
5289         do it here, per 27.6.1.5.1/1.
5290         * include/std/ostream (basic_ostream<>::basic_ostream()): Call
5291         this->init().
5292         * testsuite/27_io/basic_iostream/cons/16251.C: New.
5294         * testsuite/27_io/basic_iostream/cons/2020.cc: Minor tweaks.
5296 2008-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5298         * include/backward/auto_ptr.h: Fix comment typos.
5299         * include/bits/algorithmfwd.h: Likewise.
5300         * include/bits/basic_ios.h: Likewise.
5301         * include/bits/c++config: Likewise.
5302         * include/bits/char_traits.h: Likewise.
5303         * include/bits/codecvt.h: Likewise.
5304         * include/bits/gslice.h: Likewise.
5305         * include/bits/ios_base.h: Likewise.
5306         * include/bits/locale_facets.h: Likewise.
5307         * include/bits/locale_facets_nonio.tcc: Likewise.
5308         * include/bits/postypes.h: Likewise.
5309         * include/bits/sstream.tcc: Likewise.
5310         * include/bits/stl_algo.h: Likewise.
5311         * include/bits/stl_deque.h: Likewise.
5312         * include/bits/stl_iterator.h: Likewise.
5313         * include/bits/stl_iterator_base_types.h Likewise.
5314         * include/bits/stl_list.h: Likewise.
5315         * include/bits/stl_map.h: Likewise.
5316         * include/bits/stl_multimap.h: Likewise.
5317         * include/bits/stl_multiset.h: Likewise.
5318         * include/bits/stl_set.h: Likewise.
5319         * include/bits/stl_vector.h: Likewise.
5320         * include/bits/valarray_array.h: Likewise.
5321         * include/debug/safe_base.h: Likewise.
5322         * include/ext/bitmap_allocator.h: Likewise.
5323         * include/ext/codecvt_specializations.h Likewise.
5324         * include/ext/mt_allocator.h: Likewise.
5325         * include/ext/rc_string_base.h: Likewise.
5326         * include/ext/rope: Likewise.
5327         * include/parallel/checkers.h: Likewise.
5328         * include/parallel/find.h: Likewise.
5329         * include/parallel/multiseq_selection.h: Likewise.
5330         * include/parallel/partition.h: Likewise.
5331         * include/parallel/settings.h: Likewise.
5332         * include/std/bitset: Likewise.
5333         * include/std/complex: Likewise.
5334         * include/std/fstream: Likewise.
5335         * include/std/istream: Likewise.
5336         * include/std/limits: Likewise.
5337         * include/std/ostream: Likewise.
5338         * include/std/stdexcept: Likewise.
5339         * include/std/streambuf: Likewise.
5340         * include/tr1/bessel_function.tcc: Likewise.
5341         * include/tr1/cmath: Likewise.
5342         * include/tr1/ell_integral.tcc: Likewise.
5343         * include/tr1/hypergeometric.tcc: Likewise.
5344         * include/tr1/legendre_function.tcc: Likewise.
5345         * include/tr1_impl/random: Likewise.
5346         * include/tr1_impl/regex: Likewise.
5348 2008-01-31  Paolo Carlini  <pcarlini@suse.de>
5350         * testsuite/27_io/basic_istream/extractors_character/pod/3983-2.cc:
5351         Avoid -Wall warnings.
5352         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
5353         Likewise.
5354         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
5355         Likewise.
5356         * testsuite/tr1/6_containers/hash/operators/size_t.cc: Likewise.
5357         * testsuite/tr1/6_containers/tuple/cons/big_tuples.cc: Likewise.
5358         * testsuite/tr1/6_containers/tuple/cons/constructor.cc: Likewise.
5359         * testsuite/tr1/6_containers/array/cons/aggregate_initialization.cc:
5360         Likewise.
5361         * testsuite/tr1/6_containers/array/requirements/contiguous.cc:
5362         Likewise.
5363         * testsuite/tr1/6_containers/array/requirements/member_swap.cc:
5364         Likewise.
5365         * testsuite/tr1/6_containers/array/requirements/assign.cc: Likewise.
5366         * testsuite/tr1/6_containers/array/specialized_algorithms/swap.cc:
5367         Likewise.
5368         * testsuite/tr1/6_containers/array/comparison_operators/
5369         less_or_equal.cc: Likewise.
5370         * testsuite/tr1/6_containers/array/comparison_operators/
5371         greater_or_equal.cc: Likewise.
5372         * testsuite/tr1/6_containers/array/comparison_operators/less.cc:
5373         Likewise.
5374         * testsuite/tr1/6_containers/array/comparison_operators/equal.cc:
5375         Likewise.
5376         * testsuite/tr1/6_containers/array/comparison_operators/not_equal.cc:
5377         Likewise.
5378         * testsuite/tr1/6_containers/array/comparison_operators/greater.cc:
5379         Likewise.
5380         * testsuite/tr1/6_containers/array/tuple_interface/get.cc: Likewise.
5381         * testsuite/tr1/6_containers/array/element_access/at_out_of_range.cc:
5382         Likewise.
5383         * testsuite/tr1/6_containers/array/element_access/back.cc: Likewise.
5384         * testsuite/tr1/6_containers/array/element_access/front.cc: Likewise.
5385         * testsuite/tr1/6_containers/array/element_access/data.cc: Likewise.
5386         * testsuite/tr1/6_containers/array/iterators/end_is_one_past.cc:
5387         Likewise.
5388         * testsuite/tr1/6_containers/array/capacity/empty.cc: Likewise.
5389         * testsuite/tr1/6_containers/array/capacity/max_size.cc: Likewise.
5390         * testsuite/tr1/6_containers/array/capacity/size.cc: Likewise.
5391         * testsuite/thread/guard.cc: Likewise.
5392         * testsuite/20_util/tuple/cons/big_tuples.cc: Likewise.
5393         * testsuite/20_util/tuple/cons/constructor.cc: Likewise.
5394         * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
5395         * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
5396         * testsuite/20_util/shared_ptr/creation/alloc.cc: Likewise.
5397         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
5398         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
5399         Likewise.
5401 2008-01-26  David Edelsohn  <edelsohn@gnu.org>
5403         PR target/34794
5404         * config/os/aix/os_defines.h: Define __COMPATMATH__.
5406 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
5408         * configure: Regenerate.
5410 2008-01-21  Matthias Klose  <doko@ubuntu.com>
5412         * doc/doxygen/user.cfg.in: Set SHORT_NAMES to YES.
5414 2008-01-19  Paolo Carlini  <pcarlini@suse.de>
5416         * configure: Regenerate.
5417         * Makefile.in: Likewise.
5418         * src/Makefile.in: Likewise.
5419         * doc/Makefile.in: Likewise.
5420         * po/Makefile.in: Likewise.
5421         * libmath/Makefile.in: Likewise.
5422         * include/Makefile.in: Likewise.
5423         * libsupc++/Makefile.in: Likewise.
5424         * testsuite/Makefile.in: Likewise.
5425         * aclocal.m4: Likewise.
5427 2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>
5429         * docs/*: To...
5430         * doc/*: ...here.
5431         * testsuite/Makefile.am: Move doc-performance to...
5432         * Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
5433         * doc/Makefile.am: Consolidate documentation creation here.
5434         (doc-doxygen-html): New.
5435         (doc-doxygen-man): New.
5436         (doc-performance): New.
5437         * doc/Makefile.in: New.
5438         * acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
5439         * doc/doxygen/guide.html: Edit for unified html configuration.
5440         * doc/doxygen/mainpage.html: Same.
5441         * doc/doxygen/run_doxygen: Same, more namespace fixups for man
5442         generation.
5443         * doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
5445         * include/tr1_impl/random: Remove maint from doxygen markup.
5446         * include/tr1_impl/functional: Same.
5447         * include/std/tuple: Same.
5448         * include/std/streambuf: Same.
5449         * include/std/bitset: Same.
5450         * include/std/limits: Same.
5451         * include/std/fstream: Same.
5452         * include/std/istream: Same.
5453         * include/std/sstream: Same.
5454         * include/ext/pool_allocator.h: Same.
5455         * include/ext/rc_string_base.h: Same.
5456         * include/bits/basic_ios.h: Same.
5457         * include/bits/stl_list.h: Same.
5458         * include/bits/stl_map.h: Same.
5459         * include/bits/locale_classes.h: Same.
5460         * include/bits/stl_set.h: Same.
5461         * include/bits/stl_iterator_base_types.h: Same.
5462         * include/bits/basic_string.h: Same.
5463         * include/bits/stl_multimap.h: Same.
5464         * include/bits/stl_vector.h: Same.
5465         * include/bits/ios_base.h: Same.
5466         * include/bits/stl_deque.h: Same.
5467         * include/bits/postypes.h: Same.
5468         * include/bits/stl_multiset.h: Same.
5469         * include/bits/stl_algo.h: Same.
5470         * include/bits/stl_iterator.h: Same.
5471         * include/bits/stl_tempbuf.h: Same.
5472         * include/bits/stl_construct.h: Same.
5473         * include/bits/stl_relops.h: Same.
5474         * include/tr1/tuple: Same.
5475         * include/backward/auto_ptr.h: Same.
5477         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
5478         Fixups for line number changes.
5479         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
5480         * testsuite/23_containers/vector/requirements/dr438/
5481         constructor_1_neg.cc: Same.
5482         * testsuite/23_containers/vector/requirements/dr438/
5483         constructor_2_neg.cc: Same.
5484         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
5485         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
5486         * testsuite/23_containers/deque/requirements/dr438/
5487         constructor_1_neg.cc: Same.
5488         * testsuite/23_containers/deque/requirements/dr438/
5489         constructor_2_neg.cc: Same.
5490         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
5491         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
5492         * testsuite/23_containers/list/requirements/dr438/
5493         constructor_1_neg.cc: Same.
5494         * testsuite/23_containers/list/requirements/dr438/
5495         constructor_2_neg.cc: Same.
5496         * testsuite/20_util/auto_ptr/assign_neg.cc: Same.
5498         * aclocal.m4: Regenerate.
5499         * config.h.in: Regenerate.
5500         * configure: Regenerate.
5501         * Makefile.in: Regenerate.
5502         * src/Makefile.in: Regenerate.
5503         * po/Makefile.in: Regenerate.
5504         * libmath/Makefile.in: Regenerate.
5505         * include/Makefile.in: Regenerate.
5506         * libsupc++/Makefile.in: Regenerate.
5507         * testsuite/Makefile.in: Regenerate.
5509         * scripts/make_graphs.py: Correct paths for new layout.
5511 2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>
5513         * acinclude.m4 (AC_LC_MESSAGES): Remove serial.
5514         * linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
5515         * configure: Regenerate.
5516         * aclocal.m4: Regenerate.
5518 2008-01-14  Paolo Carlini  <pcarlini@suse.de>
5520         * include/parallel/list_partition.h: Formatting fixes, inline tweaks.
5521         * include/parallel/numeric: Likewise.
5522         * include/parallel/balanced_quicksort.h: Likewise.
5523         * include/parallel/unique_copy.h: Likewise.
5524         * include/parallel/algobase.h: Likewise.
5525         * include/parallel/algo.h: Likewise.
5527 2008-01-14  Seongbae Park <seongbae.park@gmail.com>
5529         * crossconfig.m4: Add missing header checks, C99 TR1 check,
5530         and sigsetjmp check.
5532 2008-01-14  Paolo Carlini  <pcarlini@suse.de>
5534         * include/parallel/tree.h: Remove.
5535         * include/Makefile.am: Update.
5536         * include/Makefile.in: Rebuild.
5538         * src/Makefile.am: Remove spurious trailing backslash.
5539         * src/Makefile.in: Rebuild.
5540         * po/Makefile.in: Likewise.
5541         * libmath/Makefile.in: Likewise.
5542         * testsuite/Makefile.in: Likewise.
5543         * libsupc++/Makefile.in: Likewise.
5544         * aclocal.m4: Likewise.
5545         * Makefile.in: Likewise.
5546         * configure: Likewise.
5548 2008-01-12  Paolo Carlini  <pcarlini@suse.de>
5550         PR libstdc++/34730
5551         * include/debug/functions.h (__check_sorted_set,
5552         __check_sorted_set_aux): Add.
5553         (__check_sorted): Check StrictWeakOrdering.
5554         * include/debug/macros.h (__glibcxx_check_strict_weak_ordering,
5555         __glibcxx_check_strict_weak_ordering_pred): Remove.
5556         (__glibcxx_check_sorted, __glibcxx_check_sorted_pred): Adjust.
5557         (__glibcxx_check_sorted_set, __glibcxx_check_sorted_set_pred): Add.
5558         * include/debug/debug.h (__glibcxx_requires_sorted_set,
5559         __glibcxx_requires_sorted_set_pred): Add.
5560         * include/bits/stl_algo.h (merge, includes, set_union,
5561         set_intersection, set_difference, set_symmetric_difference):
5562         Adjust, use __glibcxx_requires_sorted_set* instead.
5563         * testsuite/25_algorithms/set_intersection/34730.cc: New.
5565 2008-01-09  Paolo Carlini  <pcarlini@suse.de>
5567         * include/parallel/multiway_merge.h: Reformat to 80 columns;
5568         adjust some inline specifiers; other minor style fixes.
5569         * include/parallel/losertree.h: Likewise.
5570         * include/parallel/list_partition.h: Likewise.
5571         * include/parallel/multiseq_selection.h: Likewise.
5572         * include/parallel/workstealing.h: Likewise.
5573         * include/parallel/base.h: Likewise.
5574         * include/parallel/par_loop.h: Likewise.
5575         * include/parallel/numeric: Likewise.
5576         * include/parallel/quicksort.h: Likewise.
5577         * include/parallel/algorithmfwd.h: Likewise.
5578         * include/parallel/for_each_selectors.h: Likewise.
5579         * include/parallel/omp_loop_static.h: Likewise.
5580         * include/parallel/random_shuffle.h: Likewise.
5581         * include/parallel/balanced_quicksort.h: Likewise.
5582         * include/parallel/set_operations.h: Likewise.
5583         * include/parallel/tree.h: Likewise.
5584         * include/parallel/merge.h: Likewise.
5585         * include/parallel/unique_copy.h: Likewise.
5586         * include/parallel/settings.h: Likewise.
5587         * include/parallel/multiway_mergesort.h: Likewise.
5588         * include/parallel/numericfwd.h: Likewise.
5589         * include/parallel/search.h: Likewise.
5590         * include/parallel/partition.h: Likewise.
5591         * include/parallel/compatibility.h: Likewise.
5592         * include/parallel/partial_sum.h: Likewise.
5593         * include/parallel/find.h: Likewise.
5594         * include/parallel/algo.h: Likewise.
5595         * include/parallel/queue.h: Likewise.
5596         * include/parallel/omp_loop.h: Likewise.
5597         * include/parallel/sort.h: Likewise.
5598         * include/parallel/random_number.h: Likewise.
5600 2008-01-09  Benjamin Kosnik  <bkoz@redhat.com>
5602         * docs/html/17_intro/api.html: Fix markup for rope.h.
5604 2008-01-09  Paolo Carlini  <pcarlini@suse.de>
5606         * include/parallel/iterator.h: Reformat to 80 columns; adjust some
5607         inline specifiers.
5608         * include/parallel/find_selectors.h: Likewise.
5609         * include/parallel/losertree.h: Likewise.
5610         * include/parallel/list_partition.h: Likewise.
5611         * include/parallel/for_each.h: Likewise.
5612         * include/parallel/multiseq_selection.h: Likewise.
5613         * include/parallel/algorithmfwd.h: Likewise.
5614         * include/parallel/for_each_selectors.h: Likewise.
5615         * include/parallel/balanced_quicksort.h: Likewise.
5616         * include/parallel/merge.h: Likewise.
5617         * include/parallel/algobase.h: Likewise.
5618         * include/parallel/find.h: Likewise.
5619         * include/parallel/algo.h: Likewise.
5620         * include/parallel/checkers.h: Likewise.
5622 2008-01-09  Francesco Biscani  <bluescarni@gmail.com>
5624         * include/tr1_impl/hashtable (_Hashtable): Fix friend declaration
5625         of __detail::_Map_base<>.
5627 2008-01-08  Paolo Carlini  <pcarlini@suse.de>
5629         * testsuite/22_locale/global_templates/user_facet_hierarchies.cc: Do
5630         not include <cassert>.
5631         * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
5632         Likewise.
5633         * testsuite/util/testsuite_common_types.h: Include <algorithm>.
5635 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
5637         * configure.ac (--enable-linux-futex): Add new configure option.
5638         (HAVE_LINUX_FUTEX): New AC_DEFINE.
5639         * Makefile.in: Rebuilt.
5640         * aclocal.m4: Rebuilt.
5641         * configure: Rebuilt.
5642         * config.h.in: Rebuilt.
5643         * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
5644         _GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
5645         * config/cpu/arm/cxxabi_tweaks.h (_GLIBCXX_GUARD_BIT,
5646         _GLIBCXX_GUARD_PENDING_BIT, _GLIBCXX_GUARD_WAITING_BIT): Define.
5647         * libsupc++/guard.cc: Include climits and syscall.h.
5648         (_GLIBCXX_USE_FUTEX): Define if futex syscall and atomic builtins
5649         are supported.
5650         (_GLIBCXX_FUTEX_WAIT, _GLIBCXX_FUTEX_WAKE): Likewise.
5651         (__guard_test_bit): New static inline.
5652         (__cxa_guard_acquire, __cxa_guard_release, __cxa_guard_abort): Use
5653         atomic builtins and futex syscall if _GLIBCXX_USE_FUTEX.
5655 2008-01-07  Paolo Carlini  <pcarlini@suse.de>
5657         PR libstdc++/34680
5658         * include/bits/locale_classes.h (has_facet<>, use_facet<>): Do not
5659         use dynamic_cast when run-time type identification is disabled; do
5660         not mark inline; only declare, define...
5661         * include/bits/locale_classes.tcc: ... here.
5663 2008-01-06  Ted Phelps  <phelps@gnusto.com>
5665         PR c++/34152
5666         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Check
5667         _GLIBCXX_HAVE_GETIPINFO instead of HAVE_GETIPINFO.
5669 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
5671         PR libstdc++/34095
5672         * include/parallel/multiway_merge.h (multiway_merge_bubble,
5673         parallel_multiway_merge): Together with ::operator new use
5674         ::operator delete.
5675         * include/parallel/losertree.h (LoserTree<>::~LoserTree): Likewise.
5676         * include/parallel/quicksort.h (parallel_sort_qs_divide): Likewise.
5677         * include/parallel/random_shuffle.h (parallel_random_shuffle_drs_pu,
5678         sequential_random_shuffle): Likewise.
5679         * include/parallel/tree.h (_M_not_sorted_bulk_insertion_construction):
5680         Likewise.
5681         * include/parallel/multiway_mergesort.h (parallel_sort_mwms_pu,
5682         parallel_sort_mwms): Likewise.
5683         * include/parallel/partial_sum.h (parallel_partial_sum_linear):
5684         Likewise.
5685         * testsuite/25_algorithms/sort/34095.cc: New.
5687 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
5689         * testsuite/25_algorithms/sort/34636.cc: Fix Copyright year.
5691 2008-01-01  Paolo Carlini  <pcarlini@suse.de>
5693         PR libstdc++/34636
5694         * include/parallel/algobase.h (lexicographical_compare_switch(...,
5695         random_access_iterator_tag, random_access_iterator_tag)): Careful
5696         with undereferenceable iterators.
5697         * testsuite/25_algorithms/sort/34636.cc: New.