1 2009-04-02 Jakub Jelinek <jakub@redhat.com>
3 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
5 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
7 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
8 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
9 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
10 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
11 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
12 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
13 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
15 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
17 2009-03-31 Jason Merrill <jason@redhat.com>
19 * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.
22 * include/tr1_impl/type_traits (is_function): Add partial
23 specializations with function cv-quals.
24 (__is_function_helper): Remove.
25 (is_member_pointer): Don't define in terms of is_member_*_pointer.
27 2009-03-30 Ian Lance Taylor <iant@google.com>
29 * include/backward/hashtable.h (clear): Return quickly if the
32 2009-03-27 Ian Lance Taylor <iant@google.com>
34 * include/backward/hashtable.h (_S_num_primes): Change to 29.
35 (__stl_prime_list): Add 5 at the start of the list.
37 2009-03-25 Edward Smith-Rowland <3dw4rd@verizon.net>
39 * include/std/fstream (basic_filebuf<>::open(const std::string&,
40 ios_base::openmode), basic_ifstream<>::basic_ifstream(const
41 std::string&, ios_base::openmode), basic_ifstream<>::
42 open(const std::string&, ios_base::openmode), basic_ofstream<>::
43 basic_ofstream(const std::string&, ios_base::openmode),
44 basic_ofstream<>::open(const std::string&, ios_base::openmode),
45 basic_fstream<>::basic_fstream(const std::string&, ios_base::openmode),
46 basic_fstream<>::open(const std::string&, ios_base::openmode)):
48 * testsuite/27_io/basic_ofstream/open/char/2.cc: New.
49 * testsuite/27_io/basic_ofstream/cons/char/2.cc: Likewise.
50 * testsuite/27_io/basic_fstream/open/char/1.cc: Likewise.
51 * testsuite/27_io/basic_fstream/cons/char/1.cc: Likewise.
52 * testsuite/27_io/basic_ifstream/open/char/2.cc: Likewise.
53 * testsuite/27_io/basic_ifstream/cons/char/2.cc: Likewise.
54 * testsuite/27_io/basic_filebuf/open/char/5.cc: Likewise.
56 2009-03-25 Paolo Carlini <paolo.carlini@oracle.com>
58 * testsuite/27_io/basic_ofstream/cons/char/2.cc: Rename to...
59 * testsuite/27_io/basic_ofstream/cons/char/1.cc: ... this.
60 * testsuite/27_io/basic_fstream/cons/3.cc: Rename to...
61 * testsuite/27_io/basic_fstream/cons/1.cc: ... this.
63 2009-03-25 Paolo Carlini <paolo.carlini@oracle.com>
65 * include/bits/forward_list.h (_Fwd_list_node_base<>::
66 _M_transfer_after, _M_reverse_after): Move out of line...
67 * include/bits/forward_list.tcc: ... here.
68 (forward_list<>::reverse): Move inline...
69 * include/bits/forward_list.h: ... here; minor cosmetic changes.
71 2009-03-22 Mark Mitchell <mark@codesourcery.com>
73 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
75 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc:
77 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc:
79 * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc:
82 2009-03-22 Mark Mitchell <mark@codesourcery.com>
84 * testsuite/25_algorithms/search_n/iterator.cc: Update copyright
86 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
87 * testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
89 * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
91 * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
93 * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
95 2009-03-22 Mark Mitchell <mark@codesourcery.com>
97 * testsuite/25_algorithms/search_n/iterator.cc: Condition
98 iterations for simulators.
99 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
100 * testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
101 Condition stream width for simulators.
102 * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
104 * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
106 * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
108 2009-03-17 Benjamin Kosnik <bkoz@redhat.com>
110 * doc/xml/manual/appendix_contributing.xml: Add docbook style
111 sheet version information. Table-ize docbook element examples.
112 * doc/xml/manual/using.xml: Human-readable header
113 markup. Alphabetized. Add new headers.
114 * doc/html: Regenerate.
116 2009-03-15 Paolo Carlini <paolo.carlini@oracle.com>
118 * doc/xml/faq.xml: Fix link to setup documentation.
120 2009-03-14 Paolo Carlini <paolo.carlini@oracle.com>
122 * include/std/type_traits (__add_lvalue_reference_helper,
123 __add_rvalue_reference_helper): As an optimization, rewrite
124 condition (avoid is_function).
126 2009-03-13 Paolo Carlini <paolo.carlini@oracle.com>
129 * testsuite/20_util/shared_ptr/cons/39405.cc: New.
130 * testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc: Likewise.
132 2009-03-12 Benjamin Kosnik <bkoz@redhat.com>
134 * testsuite/30_threads/condition_variable_any/native_handle/
135 typesizes.cc: Include tweaks.
136 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
137 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
138 * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
139 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
140 * testsuite/30_threads/condition_variable/native_handle/
143 2009-03-11 Jonathan Wakely <jwakely.gcc@gmail.com>
145 * include/bits/shared_ptr.h: Add include guards.
146 * include/tr1/shared_ptr.h: Likewise.
148 2009-03-11 Jonathan Wakely <jwakely.gcc@gmail.com>
150 * include/std/iostream: Fix doxygen link.
151 * include/bits/forward_list.h: Fix doxygen markup.
152 * include/ext/vstring.h: Escape backslash in doxygen comment.
153 * include/bits/basic_string.h: Likewise.
155 2009-03-10 Paolo Carlini <paolo.carlini@oracle.com>
157 * doc/xml/faq.xml: Fix links to implementation status pages.
159 2009-03-10 Paolo Carlini <paolo.carlini@oracle.com>
161 * include/std/complex (operator+(const complex<>&, const _Tp&),
162 operator+(const _Tp&, const complex<>&),
163 operator-(const complex<>&, const _Tp&),
164 operator-(const _Tp&, const complex<>&)): Do not assume real()
165 returns a reference (against DR 387).
166 * testsuite/26_numerics/complex/dr387_2.cc: New.
168 2009-03-02 Benjamin Kosnik <bkoz@redhat.com>
170 * testsuite/thread/pthread4.cc: Move...
171 * testsuite/21_strings/basic_string/pthread4.cc: ...here.
172 * testsuite/thread/pthread5.cc: Move...
173 * testsuite/23_containers/list/pthread5.cc: ...here.
174 * testsuite/thread/pthread6.cc: Move...
175 * testsuite/23_containers/map/pthread6.cc: ...here.
176 * testsuite/thread/pthread7-rope.cc: Move...
177 * testsuite/ext/rope/pthread7-rope.cc: ...here.
178 * testsuite/thread/guard.cc: Move...
179 * testsuite/18_support/pthread_guard.cc: ...here.
180 * testsuite/thread/18185.cc: Move...
181 * testsuite/21_strings/basic_string/pthread18185.cc: ...here.
182 * testsuite/thread/pthread1.cc: Move...
183 * testsuite/23_containers/list/pthread1.cc: ...here.
184 * testsuite/thread/pthread2.cc: Move...
185 * testsuite/27_io/basic_ofstream/pthread2.cc: ...here.
186 * testsuite/thread/pthread3.cc: Move...
187 * testsuite/27_io/basic_ostringstream/pthread3.cc: ...here.
189 * testsuite/libstdc++-dg/conformance.exp: Remove thread directory.
190 * testsuite/thread: Remove.
192 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
194 * configure: Regenerate.
196 2009-02-23 Adam Nemet <anemet@caviumnetworks.com>
198 * testsuite/libstdc++-abi/abi.exp: Add multilib support.
199 * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove MULTISUBDIR
201 * configure: Regenerate.
202 * testsuite/Makefile.am (baseline_file): Remove variable.
203 (site.exp): Set baseline_dir rather than baseline_file.
204 (check-abi): Pass AM_RUNTESTFLAGS and RUNTESTFLAGS to runtest.
205 * testsuite/Makefile.in: Regenerate.
207 2009-02-20 Benjamin Kosnik <bkoz@redhat.com>
209 * testsuite/30_threads/thread/this_thread: Move...
210 * testsuite/30_threads/this_thread: ...here.
211 * testsuite/20_util/unique_ptr/assign/assign.cc: Move...
212 * testsuite/20_util/unique_ptr/assign/assign_neg.cc: ...here.
213 * testsuite/20_util/ratio/cons/cons_overflow.cc: Move...
214 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: ...here.
215 * testsuite/20_util/ratio/operations/ops_overflow.cc: Move...
216 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: ...here.
218 2009-02-20 Benjamin Kosnik <bkoz@redhat.com>
220 * doc/doxygen/user.cfg.in: Tweaks.
221 * doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
224 * include/tr1_impl/unordered_map: Just use most specialized
226 * include/tr1_impl/unordered_set: Same.
227 * include/tr1_impl/array: Same.
228 * include/bits/stl_list.h: Same.
229 * include/bits/stl_map.h: Same.
230 * include/bits/stl_queue.h: Same.
231 * include/bits/stl_set.h: Same.
232 * include/bits/stl_stack.h: Same.
233 * include/bits/forward_list.h: Same.
234 * include/bits/basic_string.h: Same.
235 * include/bits/stl_multimap.h: Same.
236 * include/bits/stl_vector.h: Same.
237 * include/bits/stl_deque.h: Same.
238 * include/bits/stl_multiset.h: Same.
239 * include/bits/stl_bvector.h: Same.
241 * include/backward/binders.h: Change binder module to binders.
243 * include/std/complex: Add complex_numers module.
244 * include/tr1_impl/complex: Same.
246 * include/std/valarray: Add numeric_arrays module.
247 * include/bits/gslice_array.h: Same.
248 * include/bits/gslice.h: Same.
249 * include/bits/mask_array.h: Same.
250 * include/bits/slice_array.h: Same.
251 * include/bits/indirect_array.h: Same.
253 * include/bits/allocator.h: Add allocators module.
254 * include/ext/throw_allocator.h
255 * include/ext/pool_allocator.h
256 * include/ext/bitmap_allocator.h
257 * include/ext/new_allocator.h
258 * include/ext/malloc_allocator.h
259 * include/ext/array_allocator.h
260 * include/ext/mt_allocator.h
261 * include/ext/debug_allocator.h
262 * include/ext/extptr_allocator.h
264 * include/tr1_impl/functional: Move namespace markup here.
265 * include/tr1_impl/regex: Same.
267 * include/tr1_impl/type_traits: Add metaprogramming module.
268 * include/std/type_traits: Same.
270 * include/std/memory: Add memory module.
272 * include/std/ratio: Add ratio module.
274 * include/std/chrono: Move namespace markup here, add time module.
276 * include/std/thread: Move namespace markup here, add concurrency
278 * include/std/mutex: Use concurrency module.
279 * include/std/condition_variable: Same.
282 * include/bits/ios_base.h: Refine io module.
283 * include/bits/basic_ios.h: Same.
284 * include/std/fstream: Same.
285 * include/std/istream: Same.
286 * include/std/ostream: Same.
287 * include/std/sstream: Same.
289 * include/ext/vstring.h: Correct parameter markup.
291 * include/bits/shared_ptr.h: Add pointer_abstractions module.
292 * include/bits/unique_ptr.h: Same.
294 * include/bits/algorithmfwd.h: Add mutating_algorithms,
295 non_mutating_algorithms, sorting_algorithms. Adjust nesting.
296 * include/bits/stl_heap.h: Add markup for new groupings.
297 * include/bits/stl_algobase.h: Same.
298 * include/bits/stl_algo.h: Same.
300 * include/c_compatibility/stdatomic.h: Add atomics module.
301 * include/c_global/cstdatomic: Same.
303 * libsupc++/exception: Add exceptions module.
304 * libsupc++/typeinfo: Same.
305 * libsupc++/new: Same.
306 * libsupc++/exception_ptr.h: Same.
307 * include/std/system_error: Same.
308 * include/std/stdexcept: Same.
310 * libsupc++/cxxabi.h: Move doxygroups.cc markup here.
311 * libsupc++/cxxabi-forced.h: Same.
313 * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
314 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
315 * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
316 * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
317 * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
318 * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
319 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
320 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
321 * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
322 * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
323 * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
324 * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
325 * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
326 * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
327 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
328 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
329 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
330 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
331 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
332 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
333 * testsuite/23_containers/vector/requirements/dr438/
334 constructor_1_neg.cc: Same.
335 * testsuite/23_containers/vector/requirements/dr438/
336 constructor_2_neg.cc: Same.
337 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
338 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
339 * testsuite/23_containers/deque/requirements/dr438/
340 constructor_1_neg.cc: Same.
341 * testsuite/23_containers/deque/requirements/dr438/
342 constructor_2_neg.cc: Same.
343 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
344 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
345 * testsuite/23_containers/list/requirements/dr438/
346 constructor_1_neg.cc: Same.
347 * testsuite/23_containers/list/requirements/dr438/
348 constructor_2_neg.cc: Same.
349 * testsuite/20_util/duration/cons/1_neg.cc: Same.
350 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
351 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
352 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
353 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
354 * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
355 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
356 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
357 * testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
358 * testsuite/20_util/ratio/operations/ops_overflow.cc: Same.
360 2009-02-18 Benjamin Kosnik <bkoz@redhat.com>
362 * doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
363 * doc/doxygen/user.cfg.in: Update.
364 * scripts/run_doxygen: Adjust for new group names.
366 * include/tr1_impl/random: Update doxygen group markup.
367 * include/tr1_impl/unordered_map: Same.
368 * include/tr1_impl/unordered_set: Same.
369 * include/tr1_impl/array: Same.
370 * include/std/numeric: Same.
371 * include/std/utility: Same.
372 * include/std/bitset: Same.
373 * include/std/iosfwd: Same.
374 * include/bits/stl_list.h: Same.
375 * include/bits/stl_map.h: Same.
376 * include/bits/stl_algobase.h: Same.
377 * include/bits/stl_queue.h: Same.
378 * include/bits/stl_set.h: Same.
379 * include/bits/stl_stack.h: Same.
380 * include/bits/stl_iterator_base_types.h: Same.
381 * include/bits/forward_list.h: Same.
382 * include/bits/basic_string.h: Same.
383 * include/bits/stl_multimap.h: Same.
384 * include/bits/stl_vector.h: Same.
385 * include/bits/stl_deque.h: Same.
386 * include/bits/stl_multiset.h: Same.
387 * include/bits/stl_algo.h: Same.
388 * include/bits/stl_bvector.h: Same.
389 * include/bits/algorithmfwd.h: Same.
390 * include/bits/stl_function.h: Same.
391 * include/tr1/cmath: Same.
392 * include/backward/binders.h: Same.
394 2009-02-17 Benjamin Kosnik <bkoz@redhat.com>
396 * include/std/system_error (system_category): To system_category().
397 (generic_category): To generic_category. DR 890.
398 * src/system_error.cc: Define.
399 * include/bits/functexcept.h: Only one __throw_system_error.
400 * src/functexcept.cc: Same.
401 * include/std/mutex: Fixup for changes above.
402 * testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
403 * testsuite/19_diagnostics/error_code/cons/1.cc: Same.
404 * testsuite/19_diagnostics/system_error/cons-1.cc: Same.
405 * config/abi/pre/gnu.ver: Clean up exports.
407 2009-02-17 Jonathan Wakely <jwakely.gcc@gmail.com>
409 * include/std/thread: Fix typo.
410 * src/thread.cc (thread::join): Use NULL.
412 2009-02-15 Paolo Carlini <paolo.carlini@oracle.com>
415 * src/locale_facets.cc (__verify_grouping(const char*, size_t,
416 const string&)): Also check that the value != CHAR_MAX.
417 * include/bits/locale_facets.tcc (__numpunct_cache<>::
418 _M_cache(const locale&), __add_grouping(_CharT*, _CharT,
419 const char*, size_t, const _CharT*, const _CharT*)): Likewise.
420 * include/bits/locale_facets_nonio.tcc (__moneypunct_cache<>::
421 _M_cache(const locale&)): Likewise.
422 * testsuite/22_locale/money_put/put/wchar_t/39168.cc: New.
423 * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
424 * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
425 * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
426 * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
427 * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
429 2009-02-13 Chris Fairles <cfairles@gcc.gnu.org>
430 Benjamin Kosnik <bkoz@redhat.com>
432 * include/std/thread (_Impl_base): Move _M_id out and into ...
433 (thread): ...here. Call _M_make_routine in body of constructors.
434 Adjust data member usage to reflect changes.
435 (_M_make_routine): From _M_make_shared_data.
436 (_M_start_thread): Add __shared_base_type argument.
437 * src/thread.cc: Fixups for above.
438 * config/abi/pre/gnu.ver: Adjust exports.
439 * testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
440 * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
441 * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
443 2009-02-12 Benjamin Kosnik <bkoz@redhat.com>
445 * testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
446 (compare_type_to_native_type): ...this, add alignment check.
447 * testsuite/30_threads/condition_variable_any/native_handle/
448 typesizes.cc: Modify as above.
449 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
450 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
451 * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
452 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
453 * testsuite/30_threads/condition_variable/native_handle/
455 * testsuite/30_threads/recursive_timed_mutex/native_handle/
458 * testsuite/30_threads/thread/cons/1.cc: Add comments.
459 * testsuite/30_threads/thread/cons/2.cc: Same.
460 * testsuite/30_threads/thread/cons/3.cc: Same.
461 * testsuite/30_threads/thread/cons/4.cc: Same.
462 * testsuite/30_threads/thread/cons/5.cc: Same.
463 * testsuite/30_threads/thread/cons/6.cc: Same.
464 * testsuite/30_threads/thread/cons/7.cc: Same.
465 * testsuite/30_threads/thread/cons/8.cc: Same.
467 * testsuite/30_threads/thread/cons/9.cc: New.
468 * testsuite/30_threads/thread/cons/moveable.cc: New.
470 * src/condition_variable.cc: Clean up whitespace.
471 * include/std/condition_variable: Same.
473 2009-02-09 Benjamin Kosnik <bkoz@redhat.com>
475 * include/std/condition_variable (condition_variable): Remove
476 _M_internal_mutex. Add private __native_type typedef.
477 * src/condition_variable.cc (condition_variable::notify_one):
478 Remove _M_internal_mutex use. Use typedef.
479 (condition_variable::notify_all): Same.
480 * include/std/mutex (mutex): Add private __native_type typedef. Use it.
481 (recursive_mutex): Same.
483 (recursive_timed_mutex): Same.
484 (once_flag): Make __native_type typedef private.
486 * include/std/thread (this_thread): Add minimal markup.
488 * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
490 * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
491 * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
492 * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
493 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
494 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
495 * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
496 * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
497 * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
498 * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
499 * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
500 * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
501 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
502 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
504 * testsuite/util/thread/all.h: Testsuite utilities for testing thread.
505 * testsuite/30_threads/condition_variable_any/native_handle/
507 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
508 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
509 * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
510 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
511 * testsuite/30_threads/condition_variable/native_handle/
513 * testsuite/30_threads/recursive_timed_mutex/native_handle/
516 2009-02-09 Jack Howarth <howarth@bromo.med.uc.edu>
519 * libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
522 2009-02-09 Adam Nemet <anemet@caviumnetworks.com>
524 * configure.host: Set abi_baseline_pair for mips64*-linux.
525 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.
527 2009-02-08 Chris Fairles <cfairles@gcc.gnu.org>
529 * include/std/thread (this_thread::get_id): Inline.
531 2009-02-08 Chris Fairles <cfairles@gcc.gnu.org>
533 * include/std/thread (thread<>::thread(_Callable)): Explicitly use
534 _Callable as template argument for _M_make_shared_data.
535 * testsuite/30_threads/thread/cons/6.cc: New.
536 * testsuite/30_threads/thread/cons/7.cc: New.
537 * testsuite/30_threads/thread/cons/8.cc: New.
539 2009-02-07 Benjamin Kosnik <bkoz@redhat.com>
541 * testsuite/30_threads/thread/member: To..
542 * testsuite/30_threads/thread/members: ...this.
543 * testsuite/30_threads/condition_variable/member: To...
544 * testsuite/30_threads/condition_variable/members: ...this.
546 2009-02-06 Benjamin Kosnik <bkoz@redhat.com>
548 * include/std/thread (thread::id): Move definition inside thread.
549 Use native_handle_type. Remove this_thread::get_id friend.
550 Change __thread_data_ptr to __shared_base_ptr.
551 (thread::id::id(native_handle_type): Make public. Still explicit.
552 Use native_handle_type. Change _M_thread_id to _M_thread.
553 (thread::__thread_data_base): Rename to _Impl_base. Use id, change
554 _M_thread_handle to _M_id.
555 (thread::__thread_data): Rename to _Impl.
557 (thread::_M_make_thread_data): Return derived type.
558 (thread::hardware_concurrency): Add definition for default case.
559 (thread::get_id): Now can define inline.
560 (thread): Change _M_thread_data to _M_data.
561 (this_thread::get_id): Now can define inline.
562 * src/thread.cc (__thread_proxy): Rename to
563 execute_native_thread_routine.
564 Fixup for other renames.
565 * testsuite/30_threads/thread/cons/assign_neg.cc: New.
566 * testsuite/30_threads/thread/cons/copy_neg.cc: New.
567 * testsuite/30_threads/thread/algorithm: Move to..
568 * testsuite/30_threads/thread/swap: ...this.
569 * testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
570 * testsuite/30_threads/thread/id/operators.cc: New.
572 2009-02-05 Chris Fairles <cfairles@gcc.gnu.org>
574 * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
575 (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
576 (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
577 exposing it in public std::tuple interface.
579 2009-02-05 Chris Fairles <cfairles@gcc.gnu.org>
580 Benjamin Kosnik <bkoz@redhat.com>
582 * include/std/thread (__thread_data_base): Nest class in std::thread.
583 (__thread_data): Likewise.
584 (__thread_data_ptr): Nest typedef in std::thread.
585 * src/thread.cc (__thread_proxy): Qualify the above names.
586 * config/abi/pre/gnu.ver: Remove unused exports.
588 2009-02-04 Benjamin Kosnik <bkoz@redhat.com>
590 * include/bits/unique_ptr.h: Remove private __this_type typedef.
591 * include/bits/stl_vector.h: Remove private vector_type typedef.
592 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
594 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
595 * testsuite/23_containers/vector/requirements/dr438/
596 constructor_1_neg.cc: Same.
597 * testsuite/23_containers/vector/requirements/dr438/
598 constructor_2_neg.cc: Same.
599 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
600 * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
602 2009-02-03 Paolo Carlini <paolo.carlini@oracle.com>
605 * libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
606 deal consistently with __try and __catch too.
607 * src/localename.cc: Replace try -> __try, catch -> __catch.
608 * src/ios.cc: Likewise.
609 * src/locale.cc: Likewise.
610 * src/istream.cc: Likewise.
611 * src/thread.cc: Likewise.
612 * src/compatibility.cc: Likewise.
613 * src/bitmap_allocator.cc: Likewise.
614 * src/ios_init.cc: Likewise.
615 * include/debug/deque: Likewise.
616 * include/debug/list: Likewise.
617 * include/tr1_impl/hashtable: Likewise.
618 * include/std/bitset: Likewise.
619 * include/ext/pb_ds/detail/resize_policy/
620 hash_load_check_resize_trigger_imp.hpp: Likewise.
621 * include/ext/pb_ds/detail/resize_policy/
622 hash_standard_resize_policy_imp.hpp: Likewise.
623 * include/ext/pb_ds/detail/cc_hash_table_map_/
624 resize_fn_imps.hpp: Likewise.
625 * include/ext/pb_ds/detail/cc_hash_table_map_/
626 constructor_destructor_fn_imps.hpp: Likewise.
627 * include/ext/pb_ds/detail/pat_trie_/
628 split_join_branch_bag.hpp: Likewise.
629 * include/ext/pb_ds/detail/pat_trie_/
630 constructors_destructor_fn_imps.hpp: Likewise.
631 * include/ext/pb_ds/detail/bin_search_tree_/
632 constructors_destructor_fn_imps.hpp: Likewise.
633 * include/ext/pb_ds/detail/gp_hash_table_map_/
634 resize_fn_imps.hpp: Likewise.
635 * include/ext/pb_ds/detail/gp_hash_table_map_/
636 constructor_destructor_fn_imps.hpp: Likewise.
637 * include/ext/pb_ds/detail/binary_heap_/
638 constructors_destructor_fn_imps.hpp: Likewise.
639 * include/ext/pb_ds/detail/binary_heap_/
640 erase_fn_imps.hpp: Likewise.
641 * include/ext/pb_ds/detail/binary_heap_/
642 split_join_fn_imps.hpp: Likewise.
643 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
644 constructors_destructor_fn_imps.hpp: Likewise.
645 * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
646 * include/ext/pb_ds/detail/list_update_map_/
647 constructor_destructor_fn_imps.hpp: Likewise.
648 * include/ext/slist: Likewise.
649 * include/ext/memory: Likewise.
650 * include/ext/rc_string_base.h: Likewise.
651 * include/ext/ropeimpl.h: Likewise.
652 * include/ext/vstring.tcc: Likewise.
653 * include/ext/rope: Likewise.
654 * include/ext/sso_string_base.h: Likewise.
655 * include/bits/shared_ptr.h: Likewise.
656 * include/bits/stl_list.h: Likewise.
657 * include/bits/locale_classes.tcc: Likewise.
658 * include/bits/locale_facets.tcc: Likewise.
659 * include/bits/locale_classes.h: Likewise.
660 * include/bits/forward_list.h: Likewise.
661 * include/bits/stl_vector.h: Likewise.
662 * include/bits/stl_deque.h: Likewise.
663 * include/bits/istream.tcc: Likewise.
664 * include/bits/stl_uninitialized.h: Likewise.
665 * include/bits/ostream.tcc: Likewise.
666 * include/bits/vector.tcc: Likewise.
667 * include/bits/stl_tempbuf.h: Likewise.
668 * include/bits/deque.tcc: Likewise.
669 * include/bits/basic_string.tcc: Likewise.
670 * include/bits/ostream_insert.h: Likewise.
671 * include/bits/locale_facets_nonio.tcc: Likewise.
672 * include/bits/stl_tree.h: Likewise.
673 * include/bits/fstream.tcc: Likewise.
674 * include/tr1/shared_ptr.h: Likewise.
675 * include/tr1/hypergeometric.tcc: Likewise.
676 * include/backward/hashtable.h: Likewise.
677 * libsupc++/exception_ptr.h: Likewise.
678 * libsupc++/eh_personality.cc: Likewise.
679 * libsupc++/eh_call.cc: Likewise.
680 * config/locale/gnu/monetary_members.cc: Likewise.
681 * config/locale/gnu/time_members.h: Likewise.
682 * config/locale/generic/time_members.h: Likewise.
684 2009-02-03 Johannes Singler <singler@ira.uka.de>
686 * include/parallel/algorithmfwd.h:
687 Add parallelism default for many declarations.
688 * include/parallel/numericfwd.h: Likewise.
689 * include/parallel/iterator.h: Use iterator_traits as usual.
690 * include/parallel/par_loop.h:
691 Include equally_split.h.
692 (for_each_template_random_access_ed):
693 Avoid calling the Result default constructor.
694 * include/parallel/numeric: Replace
695 for_each_template_random_access by
696 for_each_template_random_access_ed in numeric functions.
698 2009-02-02 Benjamin Kosnik <bkoz@redhat.com>
700 * config/os/gnu-linux/os_defines.h: Remove superfluous
703 2009-02-02 Jakub Jelinek <jakub@redhat.com>
705 * testsuite/21_strings/c_strings/char/3.cc: New test.
706 * testsuite/21_strings/c_strings/wchar_t/3.cc: New test.
708 2009-01-30 Ulrich Drepper <drepper@redhat.com>
709 Jakub Jelinek <jakub@redhat.com>
711 PR libstdc++/30928 (partial, works together with recent glibcs)
712 * include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
713 Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
715 * include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
716 Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
718 * include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
719 Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
721 * include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
722 Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
724 * testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
725 argument is const char *, assign result to const char * var, not
727 * testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
728 argument is const wchar_t *, assign result to const wchar_t * var, not
731 2009-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
733 * include/std/thread: Remove unused headers.
734 (__thread_data_base): Remove unused mutex and base.
735 (thread::~thread): Only detach if joinable.
736 (thread::joinable): Test if thread data ptr is empty.
737 (thread::_M_thread_data_mutex): Remove.
738 (thread::_M_get_thread_data): Remove.
739 (thread::_M_make_thread_data): Remove overload, use make_shared.
740 (thread::id::id): Make constructor explicit.
741 * src/thread.cc (thread::join,thread::detach): Throw if not joinable.
742 (thread::_M_start_thread): Break shared_ptr cycle on error.
743 (__thread_proxy): Use shared_ptr swap instead of copy and reset.
744 * testsuite/30_threads/thread/member/4.cc: New.
745 * testsuite/30_threads/thread/member/5.cc: New.
747 2009-01-28 Benjamin Kosnik <bkoz@redhat.com>
749 * testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
750 (standard_layout): Just use !has_virtual_destructor for now.
751 * testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
752 * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
753 * testsuite/30_threads/recursive_mutex/requirements/
754 standard_layout.cc: New.
755 * testsuite/30_threads/condition_variable/requirements/
756 standard_layout.cc: New.
757 * testsuite/29_atomics/atomic_address/requirements/
758 standard_layout.cc: Adjust.
759 * testsuite/29_atomics/atomic_flag/requirements/
760 standard_layout.cc: Same.
761 * testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
762 * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
763 * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
764 * testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
765 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
767 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
768 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
769 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
770 * testsuite/29_atomics/atomic/requirements/standard_layout.cc:
771 Remove, not required.
773 2009-01-22 Jonathan Wakely <jwakely.gcc@gmail.com>
775 * include/std/thread (__thread_data_base, thread): Rename member
776 functions to match coding style.
777 (thread::thread,thread::operator=): Define move operations.
778 * src/thread.cc (__thread_data_base, thread): Rename member functions.
779 * config/abi/pre/gnu.ver: Adjust.
781 2009-01-22 Benjamin Kosnik <bkoz@redhat.com>
784 * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Disable symbol versioning
786 * configure: Regenerate.
788 2009-01-22 Dodji Seketeli <dodji@redhat.com>
790 * include/ext/bitmap_allocator.h: Reverting changes related to PR
793 2009-01-21 Benjamin Kosnik <bkoz@redhat.com>
795 * testsuite/29_atomics/headers/stdatomic.h/functions.c: Remove
798 2009-01-21 Dodji Seketeli <dodji@redhat.com>
800 * include/ext/bitmap_allocator.h: the typedefs should be made public
801 if we want them to be accessible. This has been revealed by the patch
802 that fixes PR c++/26693 in g++.
804 2009-01-20 Benjamin Kosnik <bkoz@redhat.com>
805 Uros Bizjak <ubizjak@gmail.com>
808 * config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
809 * config/os/gnu-linux/ldbl-extra.ver: Tweak.
811 2009-01-20 Benjamin Kosnik <bkoz@redhat.com>
812 Rainer Emrich <r.emrich@de.tecosim.com>
815 * crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and
816 GLIBCXX_CHECK_STDLIB_SUPPORT for mingw crosses.
817 * configure: Regenerate.
819 2009-01-18 Jonathan Wakely <jwakely.gcc@gmail.com>
821 * include/std/thread (__thread_data_base::__run): Make non-const.
822 * testsuite/30_threads/thread/cons/5.cc: New.
824 2009-01-16 Benjamin Kosnik <bkoz@redhat.com>
826 * src/Makefile.am (sources): Add math_stubs_float.cc.
827 * src/Makefile.in: Regenerate.
828 * src/math_stubs_float.cc: New, from libmath/stubs.c.
830 2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
832 * src/Makefile.am (sources): Add math_stubs_long_double.cc.
833 * src/Makefile.in: Regenerate.
834 * src/math_stubs_long_double.cc: New, from libmath/stubs.c.
836 2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
839 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
841 2009-01-15 Benjamin Kosnik <bkoz@redhat.com>
844 * Makefile.am (hosted_source): Remove libmath directory.
845 * Makefile.in: Regenerate.
846 * linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
847 (AC_REPLACE_MATHFUNCS): Remove.
848 (GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
849 in GLIBCXX_CHECK_C99_TR1.
850 * acinclude.m4: Remove libmath, need_math.
851 * crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
852 HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
853 * configure.ac: Same.
854 * configure: Regenerate.
855 * fragment.am: Fix comment.
856 * config.h.in: Regenerate.
857 * src/Makefile.in: Regenerate.
858 * src/Makefile.am: Remove libmath references.
859 * doc/Makefile.in: Regenerate.
860 * po/Makefile.in: Regenerate.
861 * include/Makefile.in: Regenerate.
862 * libsupc++/Makefile.in: Regenerate.
863 * testsuite/Makefile.in: Regenerate.
865 * src/compatibility.cc: Also export long double versions of "C" math
866 library if hppa-linux.
867 * config/abi/pre/gnu.ver: Remove unused __signbit exports.
868 * doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
871 * libmath/signbit.c: Same.
872 * libmath/stubs.c: Same.
873 * libmath/Makefile.in: Same.
874 * libmath/copysignf.c: Same.
875 * libmath/mathconf.h: Same.
876 * libmath/signbitf.c: Same.
877 * libmath/Makefile.am: Same.
878 * libmath/signbitl.c: Same.
880 2009-01-15 Chris Fairles <cfairles@gcc.gnu.org>
881 Paolo Carlini <paolo.carlini@oracle.com>
883 * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
884 [GLIBCXX_CHECK_NANOSLEEP]): Remove.
885 ([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
886 * configure.ac: Adjust.
887 * doc/xml/manual/configure.xml: Update.
888 * testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
889 * testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
890 * testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
891 * configure: Regenerate.
892 * config.h.in: Likewise.
894 * src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
895 thread::joinable, thread::swap, this_thread::get_id,
896 this_thread::yield): Define inline...
897 * include/std/thread: ... here.
898 * config/abi/pre/gnu.ver: Adjust.
900 2009-01-13 Uros Bizjak <ubizjak@gmail.com>
902 * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc:
903 Add dg-timeout-factor 2.0.
904 * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
905 * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
906 * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
907 * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
908 * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Ditto.
909 * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
911 2009-01-13 Uros Bizjak <ubizjak@gmail.com>
913 * scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
914 field from readelf output.
916 2009-01-12 Benjamin Kosnik <bkoz@redhat.com>
919 * crossconfig.m4 (hpux): Update for 10.20, 11, 11.20.
920 * configure: Regenerate.
922 2009-01-12 Benjamin Kosnik <bkoz@redhat.com>
924 * crossconfig.m4 (linux): Add GCC_CHECK_TLS to define
926 Use GLIBCXX_CHECK_COMPILER_FEATURES to compute SECTION_FLAGS.
928 2009-01-11 Jonathan Wakely <jwakely.gcc@gmail.com>
930 * include/tr1_impl/regex (basic_regex::basic_regex): Use range
931 constructor for _M_pattern.
932 * testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
933 string.cc: Test construction from different basic_string type.
934 * testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
937 2009-01-07 Benjamin Kosnik <bkoz@redhat.com>
938 Jonathan Larmour <jifl@eCosCentric.com>
941 * config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
943 (__gnu_cxx::__exchange_and_add): Use it.
944 * src/atomic.cc (get_atomic_mutex): New.
945 * src/debug.cc (get_safe_base_mutex): New.
946 * src/locale.cc (get_locale_cache_mutex): New.
947 * src/mt_allocator.cc (get_freelist): New.
948 (get_freelist_mutex): New.
949 * src/pool_allocator.cc (get_palloc_mutex): New.
950 * include/std/mutex (__once_functor_lock): To
951 (__get_once_functor_lock): ...this.
952 * src/mutex.cc (__once_mutex): Don't export, use
953 (get_once_mutex): ...this.
954 * config/abi/pre/gnu.ver: Adjust exports.
956 2009-01-07 Jakub Jelinek <jakub@redhat.com>
959 * libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
960 referenceCount field again.
961 (__cxxabiv1::__cxa_refcounted_exception): New struct.
962 (__cxxabiv1::__get_refcounted_exception_header_from_obj,
963 __cxxabiv1::__get_refcounted_exception_header_from_ue): New static
965 * libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
966 __cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
967 instead of __cxa_exception.
968 * libsupc++/eh_throw.cc (__gxx_exception_cleanup,
969 __cxxabiv1::__cxa_throw): Likewise.
970 * libsupc++/eh_ptr.cc (std::rethrow_exception,
971 std::__exception_ptr::exception_ptr::_M_addref,
972 std::__exception_ptr::exception_ptr::_M_release,
973 __gxx_dependent_exception_cleanup): Likewise.
974 * testsuite/18_support/exception/38732.cc: New test.
977 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
978 * src/compatibility.cc: Don't use .symver directives if
979 _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
980 * config.h.in: Regenerated.
981 * configure: Likewise.
983 2009-01-07 Paolo Carlini <paolo.carlini@oracle.com>
986 * include/bits/stl_pair.h: Document C++03 pair vs swap.
988 2009-01-06 Benjamin Kosnik <bkoz@redhat.com>
990 * src/locale_init.cc (locale::_S_initialize_once): Move construction
992 (locale::classic): Here.
994 2009-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
996 * include/tr1_impl/regex: Fix bad return statements and typos.
998 2009-01-05 Benjamin Kosnik <bkoz@redhat.com>
1000 * include/tr1_impl/regex: Remove unimplemented function definitions.
1001 * testsuite/28_regex/init-list.cc: Compile only.
1002 * testsuite/tr1/7_regular_expressions/regex/cons/char/
1003 c_string_extended.cc: Same.
1004 * testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
1005 * testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.
1007 2009-01-05 Benjamin Kosnik <bkoz@redhat.com>
1010 * crossconfig.m4: Define HAVE_FABSF for hpux crosses.
1011 * configure: Regenerate.
1013 2009-01-05 Ben Elliston <bje@au.ibm.com>
1015 * configure.ac (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove invocation.
1016 * configure: Regenerate.
1018 2009-01-05 Ben Elliston <bje@au.ibm.com>
1020 * configure.ac: Exchange the order of GLIBCXX_ENABLE_THREADS and
1021 GLIBCXX_ENABLE_ATOMIC_BUILTINS macro invocations.
1022 * configure: Regenerate.
1024 2009-01-04 Richard Guenther <rguenther@suse.de>
1027 * include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
1028 integer type for storage, arithmetic and comparisons.
1029 * testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.
1031 2009-01-04 Paolo Carlini <paolo.carlini@oracle.com>
1034 * include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
1035 _Fwd_list_const_iterator::_M_next): Fix return type.
1037 2009-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1039 * Revert last commit, reopen and suspend libstdc++/38678.
1041 2009-01-01 Paolo Carlini <paolo.carlini@oracle.com>
1044 * include/std/istream (basic_istream<>::_M_read): New.
1045 * include/bits/istream.tcc (basic_istream<>::_M_read): Define.
1046 (basic_istream<>::read, basic_istream<>::readsome): Use it.
1047 * include/std/ostream (basic_ostream<>::_M_write_): New.
1048 (basic_ostream<>::_M_write): Adjust.
1049 * include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
1050 * testsuite/27_io/basic_istream/read/char/38678.cc: New.
1051 * testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
1052 * testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
1053 * testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
1055 2008-12-22 Jonathan Larmour <jifl@eCosCentric.com>
1057 * include/ext/concurrence.h: Fix __gthread_cond_t initialisation
1058 function macro name.
1060 2008-12-22 Benjamin Kosnik <bkoz@redhat.com>
1062 * doc/doxygen/stdheader.cc: Add cstdlib.
1063 * doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.
1065 2008-12-21 Andrew Pinski <pinskia@gmail.com>
1068 * configure: Regenerate.
1070 2008-12-21 Paolo Carlini <paolo.carlini@oracle.com>
1073 * include/tr1_impl/functional (function<>::target,
1074 function<>::target_type): Provide only when __GXX_RTTI is defined.
1075 (_Function_base::_M_manager, _Ref_manager<>::_M_manager,
1076 _Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
1079 2008-12-19 Ben Elliston <bje@au.ibm.com>
1081 * acinclude.m4: Guard a variable test against an empty string.
1082 * configure: Regenerate.
1084 2008-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
1086 * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
1087 Add xfail on all targets except darwin.
1088 * libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
1090 * libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
1091 for xfailing on all targets except linux.
1093 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1095 * configure: Regenerate.
1097 2008-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
1099 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1100 Don't xfail test on darwin8 or later.
1102 2008-12-16 Jack Howarth <howarth@bromo.med.uc.edu>
1104 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1105 Don't xfail excessive errors on darwin8 or later.
1107 2008-12-15 Benjamin Kosnik <bkoz@redhat.com>
1109 * include/c_global/cstdatomic: Remove assert include.
1110 * include/debug/debug.h: Consolidate __replacement_assert...
1111 * include/parallel/base.h: Consolidate __replacement_assert...
1112 * include/bits/c++config: ...here.
1113 * include/bits/atomic_0.h: Use it.
1114 * include/bits/atomic_2.h: Same.
1115 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
1116 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
1118 2008-12-13 Benjamin Kosnik <bkoz@redhat.com>
1120 * src/atomic.cc: Revert last change.
1121 * include/bits/atomic_2.h: Move cassert include to...
1122 * include/c_global/cstdatomic: ...here.
1123 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
1124 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
1126 2008-12-12 Benjamin Kosnik <bkoz@redhat.com>
1128 * src/Makefile.am: Remove -x c++ for atomic build rules.
1129 * src/Makefile.in: Regenerate.
1130 * src/atomic.cc: Move mutex include before cstdatomic.
1132 2008-12-12 H.J. Lu <hongjiu.lu@intel.com>
1135 * testsuite/util/regression/trait/assoc/type_trait.hpp
1136 (regression_test_type_traits): Add const to pair_type_rebind.
1138 2008-12-12 Benjamin Kosnik <bkoz@redhat.com>
1140 * src/atomic.cc: Correct guards to match mutex.cc.
1142 2008-12-11 Benjamin Kosnik <bkoz@redhat.com>
1143 Richard Henderson <rth@redhat.com>
1145 * include/c_global/cstdatomic: Update to N2798.
1146 (atomic): Remove explicit constructors as per DR 845.
1147 * include/bits/atomic_0.h: New. Switchable implementation.
1148 * include/bits/atomic_2.h: New. Lock-free implementation.
1149 * include/c_compatibility/stdatomic.h: Use foward headers.
1150 * include/bits/atomicfwd_cxx.h: New.
1151 * include/bits/atomicfwd_c.h: New.
1152 * src/atomic.cc: Adjust.
1153 * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
1154 unconditionally use default/deleted syntax.
1155 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
1156 * include/Makefile.am (bits_headers): Add atomicfwd_c.h,
1157 atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
1158 * include/Makefile.in: Regenerate.
1159 * configure: Regenerate.
1160 * config.h.in: Regenerate.
1161 * config/abi/pre/gnu.ver: Adjust exports.
1163 * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
1164 * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
1165 * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
1166 * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
1167 * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
1168 * testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
1169 * testsuite/29_atomics/atomic_address/cons/copy_neg.cc
1170 * testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
1171 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
1172 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
1173 * testsuite/29_atomics/atomic_integral/cons/default.cc: New.
1174 * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
1175 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1176 * testsuite/29_atomics/atomic_integral/requirements/
1177 standard_layout.cc: New.
1178 * testsuite/29_atomics/atomic_integral/operators/
1179 integral_assignment.cc: New.
1180 * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
1181 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
1182 * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
1183 * testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
1184 * testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
1185 * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
1186 * testsuite/29_atomics/atomic_integral/operators/
1187 integral_conversion.cc: New.
1188 * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
1189 * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
1190 * testsuite/29_atomics/atomic_flag/requirements/
1191 standard_layout.cc: Same.
1192 * testsuite/29_atomics/atomic_flag/
1193 atomic_global_fence_compatibility.cc: Kill.
1194 * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
1195 * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
1196 * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
1197 * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
1198 * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
1199 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
1200 * testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
1201 * testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
1202 * testsuite/29_atomics/atomic/cons/copy_neg.cc
1203 * testsuite/29_atomics/atomic/cons/direct_list.cc: New.
1204 * testsuite/29_atomics/atomic/cons/copy_list.cc: New.
1205 * testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
1206 * testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
1207 * testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
1208 * testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
1209 * testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
1210 * testsuite/util/testsuite_common_types.h: ...here.
1211 (atomic_integrals_no_bool): New.
1212 (atomic_integrals): New.
1213 (has_increment_operators, has_decrement_operators)
1214 (direct_list_initializable, single_value_constructible)
1215 (standard_layout, has_bitwise_operators, integral_convertable)
1216 (integral_assignable): Add.
1218 2008-12-11 Jakub Jelinek <jakub@redhat.com>
1221 * testsuite/26_numerics/headers/cmath/37582.cc: New.
1223 2008-12-08 Paolo Carlini <paolo.carlini@oracle.com>
1225 * include/tr1_impl/cmath: Undef remquof / remquol too; add using
1227 * acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
1228 * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
1229 * configure: Regenerate.
1231 2008-12-08 Edward Smith-Rowland <3dw4rd@verizon.net>
1233 * include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
1235 2008-12-06 Paolo Carlini <paolo.carlini@oracle.com>
1238 * include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
1239 * doc/xml/manual/appendix_contributing.xml: Add __ea to the list
1242 2008-12-05 Tom Tromey <tromey@redhat.com>
1244 * include/tr1_impl/functional (_Mu): Fix typo.
1246 2008-12-05 Paolo Carlini <paolo.carlini@oracle.com>
1249 * include/bits/locale_facets_nonio.tcc (money_get<>::
1250 _M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
1251 string&)): Fix, reject decimal point when frac_digits <= 0.
1252 * testsuite/22_locale/money_get/get/char/38399.cc: New.
1253 * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
1254 * testsuite/22_locale/money_get/get/char/5.cc: Adjust.
1255 * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
1257 2008-12-05 Paolo Carlini <paolo.carlini@oracle.com>
1260 * testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
1262 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
1263 * testsuite/22_locale/locale/cons/7.cc: Likewise.
1265 2008-12-04 Paolo Carlini <paolo.carlini@oracle.com>
1268 * config/locale/gnu/numeric_members.cc (numpunct<char>::
1269 _M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
1270 Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
1271 * config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
1272 _M_initialize_moneypunct, moneypunct<char, false>::
1273 _M_initialize_moneypunct, moneypunct<wchar_t, true>::
1274 _M_initialize_moneypunct, moneypunct<wchar_t, false>::
1275 _M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
1276 __MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
1277 * testsuite/22_locale/locale/cons/38368.cc: New.
1279 2008-12-02 Paolo Carlini <paolo.carlini@oracle.com>
1281 PR libstdc++/38365 (cont)
1282 * src/localename.cc (locale::locale(const locale&, const locale&,
1283 category)): Revert last changes.
1284 (locale::_Impl::_M_replace_categories(const _Impl*, category)):
1285 Fix here instead; rework.
1287 2008-12-02 Paolo Carlini <paolo.carlini@oracle.com>
1290 * src/localename.cc (locale::locale(const locale&, const locale&,
1292 * testsuite/22_locale/locale/cons/38365.cc: New.
1294 2008-12-01 Benjamin Kosnik <bkoz@redhat.com>
1297 * include/std/iostream: Correct URL.
1298 * include/std/streambuf: Same.
1299 * include/std/bitset: Same.
1300 * include/std/iosfwd: Same.
1301 * include/std/fstream: Same.
1302 * include/std/istream: Same.
1303 * include/std/ostream: Same.
1304 * include/std/sstream: Same.
1305 * include/bits/basic_ios.h: Same.
1306 * include/bits/stl_map.h: Same.
1307 * include/bits/stl_set.h: Same.
1308 * include/bits/stl_multimap.h: Same.
1309 * include/bits/ios_base.h: Same.
1310 * include/bits/stl_multiset.h: Same.
1311 * include/bits/char_traits.h: Same.
1312 * include/bits/stl_relops.h: Same.
1313 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1314 * testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
1316 2008-11-26 Janis Johnson <janis187@us.ibm.com>
1319 * testsuite/lib/libstdc++.exp: Include new timeout library files.
1320 (libstdc++_init): Define tool_timeout.
1321 (dg-test): Override DejaGnu proc.
1322 (v3_target_compile): Set timeout value from new proc.
1323 (v3_target_compile_as_c): Ditto.
1325 2008-11-24 Paolo Carlini <paolo.carlini@oracle.com>
1327 PR libstdc++/38244 (cont, debug bits)
1328 * include/debug/bitset (bitset<>::bitset(const char*, char, char)):
1329 Remove, do not implement DR 778.
1331 2008-11-24 Paolo Carlini <paolo.carlini@oracle.com>
1334 * include/std/bitset (bitset<>::bitset(const char*, char, char)):
1335 Remove, do not implement DR 778.
1336 * doc/xml/manual/intro.xml: Remove entry for DR 778.
1337 * testsuite/23_containers/bitset/cons/2.cc: Remove.
1338 * testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
1339 * testsuite/23_containers/bitset/cons/38244.cc: Add.
1341 2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
1343 * testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
1344 * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1346 2008-11-21 Paolo Carlini <paolo.carlini@oracle.com>
1349 * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1350 ios_base&, char_type, const void*)): Fix.
1351 * testsuite/22_locale/num_put/put/char/38210.cc: New.
1352 * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1354 2008-11-20 Paolo Carlini <paolo.carlini@oracle.com>
1357 * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1358 ios_base&, char_type, bool)): Fix.
1359 * testsuite/22_locale/num_put/put/char/38196.cc: New.
1360 * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
1362 2008-11-18 Paolo Carlini <paolo.carlini@oracle.com>
1364 * include/tr1_impl/cinttypes: Remove redundant pragma system_header.
1365 * include/tr1_impl/cfenv: Likewise.
1366 * include/tr1_impl/cstdint: Likewise.
1368 2008-11-13 Paolo Carlini <paolo.carlini@oracle.com>
1371 * include/c_global/csignal: Do not use include_next.
1372 * include/c_global/cstdlib: Likewise.
1373 * include/c_global/cstdio: Likewise.
1374 * include/c_global/cstdarg: Likewise.
1375 * include/c_global/cctype: Likewise.
1376 * include/c_global/cerrno: Likewise.
1377 * include/c_global/cmath: Likewise.
1378 * include/c_global/clocale: Likewise.
1379 * include/c_global/climits: Likewise.
1380 * include/c_global/cassert: Likewise.
1381 * include/c_global/csetjmp: Likewise.
1382 * include/c_global/cwchar: Likewise.
1383 * include/c_global/cfloat: Likewise.
1384 * include/c_global/cstdbool: Likewise.
1385 * include/c_global/cstring: Likewise.
1386 * include/c_global/cstddef: Likewise.
1387 * include/c_global/cwctype: Likewise.
1388 * include/tr1/cstdbool: Likewise.
1389 * include/tr1_impl/cinttypes: Do not include <inttypes.h>.
1390 * include/c_global/cinttypes: Do it here.
1391 * include/tr1/cinttypes: Likewise.
1392 * include/tr1_impl/cfenv: Do not include <fenv.h>.
1393 * include/c_global/cfenv: Do it here.
1394 * include/tr1/cfenv: Likewise.
1395 * include/tr1_impl/cstdint: Do not include <stdint.h>.
1396 * include/c_global/cstdint: Do it here.
1397 * include/tr1/cstdint: Likewise.
1398 * include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
1399 * include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
1400 * include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
1402 * include/c_compatibility/math.h: Minor tweak, add comment.
1404 2008-11-12 Steve Ellcey <sje@cup.hp.com>
1406 * configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
1407 * configure: Regenerate to get new GCC_CHECK_UNWIND_GETIPINFO.
1409 2008-11-12 Paolo Carlini <paolo.carlini@oracle.com>
1411 PR libstdc++/37986 (cont)
1412 * include/tr1_impl/random (struct _Adaptor): Use only remove_reference
1414 (struct _Adaptor<_Engine*, _Distribution>): Add.
1415 * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1418 2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
1421 * include/tr1_impl/random (struct _Adaptor): Use remove_pointer
1422 and remove_reference on _Engine.
1423 * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1426 2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
1428 * testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.
1430 2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
1432 * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
1433 * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1436 2008-11-11 Bob Walters <bob.s.walters@gmail.com>
1438 * include/bits/forward_list.h: Support non-standard pointer types
1439 (_Fwd_list_node_base): Add _Alloc template parameter.
1440 (_Fwd_list_node<>): Likewise.
1441 (_Fwd_list_iterator<>): Likewise.
1442 (_Fwd_list_const_iterator<>): Likewise.
1443 (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
1444 Use _Alloc<_Tp>::pointer.
1445 (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
1446 (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
1447 _M_insert_after, _M_put_node, _M_erase_after): Likewise.
1448 (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
1449 (forward_list<>): Use __static_pointer_cast in place of static_cast,
1450 and __const_pointer_cast in place of const_cast.
1451 * include/bits/forward_list.tcc
1452 (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
1453 of standard pointers, __static_pointer_cast in place of static_cast.
1454 (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
1456 (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
1457 splice_after, remove, remove_if, merge): Likewise.
1458 * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
1459 * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
1461 * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
1463 * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
1465 * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
1467 * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
1469 * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
1471 * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
1473 * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
1475 * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
1477 * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
1479 * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
1481 * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
1483 * testsuite/23_containers/forward_list/ext_pointer/requirements/
1484 explicit_instantiation/1.cc: Likewise.
1485 * testsuite/23_containers/forward_list/ext_pointer/requirements/
1486 explicit_instantiation/3.cc: Likewise.
1487 * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
1489 2008-11-11 Paolo Carlini <paolo.carlini@oracle.com>
1491 * include/ext/extptr_allocator.h: Minor tweaks.
1492 * include/ext/pointer.h: Likewise.
1493 * include/ext/cast.h: Likewise.
1495 2008-11-10 Paolo Carlini <paolo.carlini@oracle.com>
1498 * config/locale/gnu/monetary_members.cc (moneypunct<>::
1499 _M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
1500 delete for __wcs_ps and __wcs_ns.
1502 2008-11-07 Bob Walters <bob.s.walters@gmail.com>
1504 * include/ext/pointer.h: New, add experimental support for non-standard
1505 pointer types in containers via the allocator::pointer typedef.
1506 (Currently only supported/working with std::vector)
1507 * include/ext/cast.h: New, add overload-able pointer casting functions
1508 for use in containers supporting non-standard pointer types.
1509 * include/ext/extptr_allocator.h: New, add _ExtPtr_allocator.
1510 * include/Makefile.am: Update.
1511 * include/precompiled/extc++.h: Likewise.
1512 * include/Makefile.in: Regenerate.
1513 * testsuite/ext/ext_pointer/1.cc: New.
1514 * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
1515 * testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
1516 * testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
1517 * testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
1518 * testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
1519 * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1521 * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
1523 * testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
1525 * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1527 * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1530 2008-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
1534 * include/tr1_impl/functional (result_of,reference_wrapper): Update
1535 to use C++0x features.
1536 * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1537 * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1539 * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1541 * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1543 2008-11-05 Jonathan Wakely <jwakely.gcc@gmail.com>
1547 * include/tr1_impl/functional (result_of,reference_wrapper): Update
1548 to use C++0x features.
1549 * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1550 * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1552 * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1554 * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1556 2008-11-03 Paolo Carlini <paolo.carlini@oracle.com>
1558 * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1559 iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
1560 * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1561 * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1563 2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1565 PR libstdc++/37958 (cont again)
1566 * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1567 iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1568 * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1569 * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1571 2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1573 * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
1574 num_get<>::do_get(, unsigned short&),
1575 num_get<>::do_get(, unsigned int&),
1576 num_get<>::do_get(, unsigned long&),
1577 num_get<>::do_get(, long long&),
1578 num_get<>::do_get(, unsigned long long&),
1579 num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
1580 num_put<>::do_put(, long long),
1581 num_put<>::do_put(, unsigned long long)): Move inline...
1582 * include/bits/locale_facets.h: ... here.
1584 2008-11-01 Paolo Carlini <paolo.carlini@oracle.com>
1586 PR libstdc++/37958 (cont)
1587 * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1588 iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1590 2008-11-01 Jonathan Wakely <jwakely.gcc@gmail.com>
1592 * include/bits/shared_ptr.h: Update comparisons to match WP.
1593 (_Sp_counted_ptr): Make copy and assignment members deleted.
1594 (_Sp_counted_deleter): Remove private copy and assignment members.
1595 (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
1596 friend operator< with overloaded _M_less member functions to allow
1597 comparison with either shared_count or weak_count.
1598 (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
1599 (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
1600 for ownership-based ordering.
1601 (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
1603 (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
1604 (operator!=(__shared_ptr,__shared_ptr)): Likewise.
1605 (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
1606 pointer specialization.
1607 (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
1608 weak_ptr::operator>=): Remove operator< and delete all comparisons.
1609 (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
1610 (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
1611 (operator==(shared_ptr,shared_ptr): Likewise.
1612 (operator!=(shared_ptr,shared_ptr): Likewise.
1613 (swap(shared_ptr,shared_ptr)): Fix parameter types.
1614 (swap(weak_ptr,weak_ptr)): Add missing overload.
1615 * testsuite/20_util/owner_less/cmp.cc: New.
1616 * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
1617 * testsuite/20_util/shared_ptr/comparison/less.cc: New.
1618 * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
1619 * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
1620 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
1622 2008-10-31 Paolo Carlini <paolo.carlini@oracle.com>
1625 * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1626 iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
1627 * testsuite/22_locale/num_get/get/char/37958.cc: New.
1628 * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1630 2008-10-27 Paolo Carlini <paolo.carlini@oracle.com>
1634 2008-10-18 Douglas Gregor <doug.gregor@gmail.com>
1636 * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1637 (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1638 Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1639 Remove the old variadic constructor, and instead provide several
1640 variadic constructors that avoid failing when attempting to
1641 initialize a pointer from a null pointer constant.
1642 * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1643 initialization of pointers from the null pointer constant.
1645 2008-10-27 Paolo Carlini <paolo.carlini@oracle.com>
1648 * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
1649 * include/bits/basic_string.h: Guard string conversions with
1650 !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
1651 * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
1653 * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
1654 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1656 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1658 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1660 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1662 * testsuite/21_strings/basic_string/numeric_conversions/char/
1663 stoull.cc: Likewise.
1664 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1666 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1668 * testsuite/21_strings/basic_string/numeric_conversions/char/
1669 to_string.cc: Likewise.
1670 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1673 2008-10-24 Paolo Carlini <paolo.carlini@oracle.com>
1675 * config/os/generic/error_constants.h (enum errc): Remove
1676 no_posix_equivalent.
1677 * config/os/mingw32/error_constants.h (enum errc): Likewise.
1678 * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
1681 2008-10-24 Jakub Jelinek <jakub@redhat.com>
1683 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
1684 (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
1686 (%/site.exp, check-DEJAGNU%): New targets.
1687 (check-am): Run $(MAKE) check-DEJAGNU.
1688 * testsuite/Makefile.in: Regenerated.
1690 2008-10-23 Chris Fairles <cfairles@gcc.gnu.org>
1692 * config/os/generic/error_constants.h (errc): Use long type.
1693 * config/os/mingw32/error_constants.h (errc): Likewise.
1695 2008-10-22 Chris Fairles <cfairles@gcc.gnu.org>
1697 * include/std/system_error (is_error_code_enum): Specialize for errc.
1698 (error_category::error_category): Defaulted and protected.
1699 (error_category::~error_category): New, virtual.
1700 (error_category::error_category(const error_category&),
1701 error_category::operator=(const error_category&)): Deleted.
1702 (get_system_category, get_posix_category): Remove (DR 890).
1703 (system_category): External linkage (DR 890).
1704 (posix_category): Remove.
1705 (generic_category): Add. External linkage (DR 890).
1706 (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
1707 (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
1708 error_code::assign, use generic_category.
1709 (error_condition::error_condition,
1710 error_condition::error_condition<>(_ErrorConditionEnum)): Use
1712 (error_condition::clear,
1713 error_condition::operator=<>(_ErrorConditionEnum)): Forward to
1714 error_code::assign, use generic_category.
1715 (make_error_code, make_error_condition): Define in namespace std.
1716 * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
1717 unique_lock<>::try_lock_until<>(duration),
1718 unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
1719 * src/system_error.cc (system_error_category, generic_error_category):
1721 (gnu_error_category): Remove.
1722 (get_system_category, get_posix_category): Remove (DR 890).
1723 (system_category, generic_category): Define.
1724 * src/functexcept.cc (__throw_system_error): Use generic_category.
1725 * config/abi/pre/gnu.ver: Export system_category and generic_category,
1726 remove get_system_category and get_generic_category (DR 890).
1727 * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
1728 enum class type. Fix spelling.
1729 * config/os/mingw32/error_constants.h (posix_errno): Likewise.
1730 * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
1732 * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
1733 * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
1734 * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
1735 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
1736 dg-error line numbers.
1737 * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
1739 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
1740 * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
1741 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1743 * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
1744 * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
1745 Remove using tests since errc is not a namespace.
1746 * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
1747 * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
1748 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
1750 * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
1752 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1754 2008-10-20 Paolo Carlini <paolo.carlini@oracle.com>
1756 * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
1757 (_Args&&...)): Add in C++0x mode.
1758 * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
1759 _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
1762 * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
1763 Node_allocator for improved accuracy.
1764 * testsuite/tr1/6_containers/unordered_multimap/capacity/
1765 29134-multimap.cc: Adjust.
1766 * testsuite/tr1/6_containers/unordered_multimap/capacity/
1767 29134-map.cc: Likewise.
1768 * testsuite/tr1/6_containers/unordered_multimap/capacity/
1769 29134-multiset.cc: Adjust.
1770 * testsuite/tr1/6_containers/unordered_multimap/capacity/
1771 29134-set.cc: Likewise.
1773 2008-10-19 Paolo Carlini <paolo.carlini@oracle.com>
1775 * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
1776 (_Args&&...)): Add in C++0x mode.
1777 (_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
1778 use _M_get_Node_allocator.
1779 (_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
1781 * testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
1783 * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
1785 2008-10-18 Douglas Gregor <doug.gregor@gmail.com>
1787 * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
1788 (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
1789 Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
1790 Remove the old variadic constructor, and instead provide several
1791 variadic constructors that avoid failing when attempting to
1792 initialize a pointer from a null pointer constant.
1793 * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
1794 initialization of pointers from the null pointer constant.
1796 2008-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1798 * include/bits/forward_list.tcc (forward_list<>::
1799 _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
1802 2008-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1804 * include/bits/forward_list.h (forward_list<>::
1805 forward_list(size_type)): Tweak, use _Base default constructor.
1807 2008-10-17 Paolo Carlini <paolo.carlini@oracle.com>
1809 * include/bits/forward_list.h (forward_list<>::insert_after): Minor
1812 2008-10-16 Edward Smith-Rowland <3dw4rd@verizon.net>
1814 * include/bits/forward_list.h: Factor list construction to dispatch
1816 * include/bits/forward_list.tcc: Likewise.
1817 * testsuite/23_containers/forward_list/modifiers/2.cc:
1819 2008-10-16 Paolo Carlini <paolo.carlini@oracle.com>
1821 * include/bits/forward_list.tcc (operator==): Use auto.
1823 2008-10-16 Paolo Carlini <paolo.carlini@oracle.com>
1825 * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
1826 Move out of line, tweak to return _Fwd_list_node_base*.
1827 (forward_list<>::insert_after(const_iterator, const _Tp&),
1828 forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
1829 * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
1832 * include/bits/forward_list.h (forward_list<>): Consistently qualify
1833 calls of base class functions with this->.
1834 * include/bits/forward_list.tcc (forward_list<>): Likewise.
1836 * include/bits/forward_list.h: Move some functions out of line...
1837 * include/bits/forward_list.tcc: ... here.
1839 * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
1841 2008-10-15 Paolo Carlini <paolo.carlini@oracle.com>
1843 * include/bits/forward_list.h: Remove pointless const qualifiers in
1845 * include/bits/forward_list.tcc: Likewise.
1847 * include/bits/forward_list.h (forward_list<>::pointer,
1848 const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
1849 * testsuite/23_containers/forward_list/requirements/
1850 explicit_instantiation/1.cc: New.
1851 * testsuite/23_containers/forward_list/requirements/
1852 explicit_instantiation/1.cc: Likewise.
1854 2008-10-15 Paolo Carlini <paolo.carlini@oracle.com>
1856 * include/bits/forward_list.h (forward_list<>::max_size): Use
1857 Node_allocator; minor cosmetic changes.
1858 * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
1860 2008-10-15 Edward Smith-Rowland <3dw4rd@verizon.net>
1862 * include/std/forward_list: New.
1863 * include/bits/forward_list.h: Likewise.
1864 * include/bits/forward_list.tcc: Likewise.
1865 * include/precompiled/stdc++.h: Modified to include forward_list.
1866 * include/Makefile.am: Add forward_list, forward_list.h, and
1868 * include/Makefile.in: Regenerate.
1869 * testsuite/23_containers/forward_list/modifiers/1.cc: New.
1870 * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
1871 * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
1872 * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
1873 * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
1874 * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
1875 * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
1876 * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
1877 * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
1878 * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
1879 * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
1880 * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
1881 * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
1882 * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
1883 * testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
1884 * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
1885 * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
1886 * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
1887 * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
1888 * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
1889 * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
1890 * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
1891 * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
1892 * testsuite/23_containers/forward_list/comparable.cc: Likewise.
1893 * testsuite/23_containers/forward_list/moveable.cc: Likewise.
1894 * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
1895 * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
1896 * testsuite/17_intro/headers/c++200x/all: Likewise.
1898 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com>
1900 * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
1902 (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
1903 (list<>::_M_erase(iterator): Likewise, in C++0x mode.
1904 * include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
1905 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1906 Adjust dg-error line number.
1907 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1909 * testsuite/23_containers/list/requirements/dr438/
1910 constructor_1_neg.cc: Likewise.
1911 * testsuite/23_containers/list/requirements/dr438/
1912 constructor_2_neg.cc: Likewise.
1914 2008-10-14 Paolo Carlini <paolo.carlini@oracle.com>
1916 * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
1917 for improved accuracy.
1918 * include/bits/stl_list.h (list<>::max_size): Likewise.
1919 * testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
1920 * testsuite/23_containers/set/capacity/29134.cc: Likewise.
1921 * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
1922 * testsuite/23_containers/list/capacity/29134.cc: Likewise.
1923 * testsuite/23_containers/map/capacity/29134.cc: Likewise.
1925 2008-10-10 Paolo Carlini <paolo.carlini@oracle.com>
1927 * testsuite/20_util/reference_wrapper/24803.cc: Avoid uninitialized
1930 2008-10-10 Paolo Carlini <paolo.carlini@oracle.com>
1932 * include/std/system_error (native_category): Remove.
1933 (posix_category): Add.
1934 (error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
1935 Fix _M_cat initialization.
1936 (error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
1937 (error_condition::_M_cat, error_condtion::operator=
1938 (_ErrorConditionEnum)): Implement resolution of DR 804.
1939 (error_condition::error_condition(_ErrorConditionEnum, typename
1940 enable_if<>:type*): Fix.
1941 (error_condition::clear, error_condition::assign): Implement.
1942 (operator==, operator!=): Fix uglification of parameters.
1943 (make_error_code, make_error_condition): Define in namespace
1945 (operator<<(basic_ostream<>&, const error_code&)): Define here.
1946 * include/std/ostream (operator<<(basic_ostream<>&,
1947 const error_code&)): Do not define here.
1948 * testsuite/19_diagnostics/error_condition/cons/1.cc: New.
1949 * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
1950 * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
1952 * testsuite/19_diagnostics/error_condition/operators/equal.cc:
1954 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
1956 * testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
1957 * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
1958 dg-error line numbers.
1959 * testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
1961 * testsuite/util/testsuite_error.h: Minor tweaks.
1962 * testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
1964 2008-10-10 Chris Fairles <cfairles@gcc.gnu.org>
1966 * testsuite/20_util/duration/cons/1.cc: Remove invalid check of
1967 uninitialized duration.
1969 2008-10-08 Bob Walters <bob.s.walters@gmail.com>
1971 * include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
1972 _M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
1973 _M_deallocate): Use _Tp_alloc_type::pointer.
1975 2008-10-07 Jason Merrill <jason@redhat.com>
1978 * testsuite/abi/demangle/abi_examples/20.cc: Adjust expected spacing.
1979 * testsuite/abi/demangle/abi_text/02.cc: Likewise.
1980 * testsuite/abi/demangle/regression/cw-16.cc: Likewise.
1982 2008-10-07 Paolo Carlini <paolo.carlini@oracle.com>
1984 * include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
1985 const reverse_iterator<>&), operator-(const __normal_iterator<>&,
1986 const __normal_iterator<>&), operator-(const move_iterator<>&,
1987 const move_iterator<>&)): Use the auto -> return type syntax,
1990 2008-10-06 Jason Merrill <jason@redhat.com>
1992 * config/abi/pre/gnu.ver: Update char16/32_t manglings.
1994 2008-10-05 Paolo Carlini <paolo.carlini@oracle.com>
1996 * testsuite/20_util/reference_wrapper/invoke.cc: New.
1997 * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
1998 * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
2000 2008-10-01 Andrew Pinski <andrew_pinski@playstation.sony.com>
2002 * config/locale/generic/c_locale.cc (__convert_to_v): Fix
2003 !__FLT_HAS_INFINITY__ case.
2005 2008-09-30 Chris Fairles <cfairles@gcc.gnu.org>
2007 * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
2009 * testsuite/20_util/tuple/swap.cc: New.
2011 2008-09-30 Paolo Carlini <paolo.carlini@oracle.com>
2013 PR libstdc++/30085 (again)
2014 * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
2015 Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
2016 unordered_map / unordered_multimap; add missing member functions.
2017 * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
2018 Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
2019 * include/debug/safe_association.h: Remove.
2020 * include/Makefile.am: Adjust.
2021 * include/Makefile.in: Regenerate.
2022 * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
2025 2008-09-28 Paolo Carlini <paolo.carlini@oracle.com>
2027 * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
2028 void reset(U)): Add as deleted function, per DR 821 [Ready].
2029 * include/bits/unique_ptr.h: Prefer everywhere deleted to private
2030 member function declarations; minor formatting tweaks.
2031 * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
2032 * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
2035 2008-09-28 Chris Fairles <cfairles@gcc.gnu.org>
2037 * include/std/mutex (try_lock): Implement generic try_lock.
2038 * testsuite/30_threads/try_lock/1.cc: New.
2039 * testsuite/30_threads/try_lock/2.cc: Likewise.
2040 * testsuite/30_threads/try_lock/3.cc: Likewise.
2041 * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
2042 * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2043 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
2044 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
2045 * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2046 * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2047 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2049 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
2051 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
2052 Steve Ellcey <sje@cup.hp.com>
2054 * configure: Regenerate for new libtool.
2055 * aclocal.m4: Ditto.
2056 * Makefile.in: Ditto.
2057 * src/Makefile.in: Ditto.
2058 * doc/Makefile.in: Ditto.
2059 * po/Makefile.in: Ditto.
2060 * libmath/Makefile.in: Ditto.
2061 * include/Makefile.in: Ditto.
2062 * libsupc++/Makefile.in: Ditto.
2063 * testsuite/Makefile.in: Ditto.
2065 2008-09-24 Paolo Carlini <paolo.carlini@oracle.com>
2067 * include/std/bitset: Adjust comment to reflect DR 853.
2068 * include/debug/bitset: Likewise.
2069 * doc/xml/manual/intro.xml: Add an entry for DR 853.
2071 2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
2073 Implement DR 396 [Ready].
2074 * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
2075 size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
2076 char, char), bitset<>::to_string(_CharT, _CharT),
2077 bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
2078 size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
2079 (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
2080 const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
2081 (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
2082 std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
2083 * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
2084 size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
2085 char, char), bitset<>::to_string(_CharT, _CharT)): Add.
2086 * doc/xml/manual/intro.xml: Add an entry for DR 396.
2087 * testsuite/23_containers/bitset/cons/dr396.cc: Add.
2088 * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
2090 2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
2092 * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
2093 * testsuite/25_algorithms/max/37547.cc: Likewise.
2094 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
2096 2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
2098 * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
2099 typedef monotonic_clock to system_clock and instead declare new class.
2100 * src/chrono.cc: Conditionally define monotonic_clock::now().
2101 * include/std/condition_variable (wait_until): Throw exception if
2102 __gthread_cond_timedwait returns with error other than timed_out. Use
2103 system_clock as known clock type (__clock_t) and add overloads for known
2104 and unknown clocks. In the unknown case, sync to the known clock.
2105 Implement overload taking a predicate.
2106 (wait_for): Implement overload taking a predicate.
2107 * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
2108 * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
2110 * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
2112 * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
2113 * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
2114 * testsuite/30_threads/condition_variable/member/1.cc: New.
2115 * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
2117 2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
2120 * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
2121 when strtold is not available.
2122 * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2124 2008-09-23 Benjamin Kosnik <bkoz@redhat.com>
2126 PR libstdc++/37391 continued.
2127 * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
2128 specify full path for source file links.
2129 * doc/html/ext/pb_ds/pq_examples.html: Same.
2131 2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
2133 * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
2134 by value parameters.
2135 * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
2137 2008-09-22 Paolo Carlini <paolo.carlini@oracle.com>
2139 PR libstdc++/32422, DR 23 [Ready in R60]
2140 * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
2141 ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
2142 double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
2143 char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
2144 DR 23 and deal correctly with broken exponents.
2145 * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
2146 float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
2147 char*, double&, ios_base::iostate&, const __c_locale&),
2148 __convert_to_v(const char*, long double&, ios_base::iostate&, const
2149 __c_locale&)): Likewise.
2150 * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
2151 _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
2152 (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
2153 ios_base::iostate&, string&): Change grouping check to set instead of
2154 OR failbit; do not check for eofbit here...
2155 (num_get<>::do_get(iter_type, iter_type, ios_base&,
2156 ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
2157 ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
2158 iter_type, ios_base&, ios_base::iostate&, long double&),
2159 num_get<>::__do_get(iter_type, iter_type, ios_base&,
2160 ios_base::iostate&, double&)): ... do it here instead.
2161 (num_get<>::do_get(iter_type, iter_type, ios_base&,
2162 ios_base::iostate&, bool&)): Implement DR 23.
2163 (num_get<>::do_get(iter_type, iter_type, ios_base&,
2164 ios_base::iostate&, void*&)): Adjust.
2165 * doc/xml/manual/intro.xml: Add and entry for DR 23.
2166 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
2168 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2170 * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2171 * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2172 * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2173 * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2174 * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2175 * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2176 * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2177 * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2178 * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2179 * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2181 2008-09-22 Benjamin Kosnik <bkoz@redhat.com>
2184 * doc/html/ext/pb_ds/*.html: Fix external links.
2186 2008-09-22 Benjamin Kosnik <bkoz@redhat.com>
2188 * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
2189 condition_variable, and thread output.
2191 2008-09-22 Paolo Carlini <paolo.carlini@oracle.com>
2193 * doc/html/ext/lwg-closed.html: Update to Revision R59.
2194 * doc/html/ext/lwg-active.html: Likewise.
2195 * doc/html/ext/lwg-defects.html: Likewise.
2196 * doc/xml/manual/intro.xml: Adjust.
2198 2008-09-21 Paolo Carlini <paolo.carlini@oracle.com>
2200 * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
2201 consistently with the other overload for initializer_list.
2203 2008-09-19 Johannes Singler <singler@ira.uka.de>
2206 * include/parallel/base.h: Rename log2 to __log2.
2207 (__log2) Avoid infinite loop for n <= 0, return 0.
2208 * include/parallel/losertree.h: Rename log2 to __log2.
2209 * include/parallel/multiseq_selection.h: Likewise.
2210 * include/parallel/random_shuffle.h: Likewise.
2212 2008-09-18 Paolo Carlini <paolo.carlini@oracle.com>
2214 * include/bits/shared_ptr.h (__shared_count<>::
2215 __shared_count(_Ptr, _Deleter), __shared_count<>::
2216 __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
2217 __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
2218 Qualify new with ::.
2220 2008-09-17 Paolo Carlini <paolo.carlini@oracle.com>
2223 * include/bits/stl_algo.h (min(initializer_list<>),
2224 min(initializer_list<>, Compare), max(initializer_list<>),
2225 max(initializer_list<>, Compare), minmax(initializer_list<>),
2226 minmax(initializer_list<>, Compare)): Fix return type.
2227 * include/bits/algorithmfwd.h: Adjust.
2228 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2229 * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2231 * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2233 * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2235 * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2237 * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2239 * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2241 * testsuite/25_algorithms/max/37547.cc: New.
2242 * testsuite/25_algorithms/min/37547.cc: Likewise.
2243 * testsuite/25_algorithms/minmax/37547.cc: Likewise.
2245 2008-09-16 Chris Fairles <chris.fairles@gmail.com>
2247 * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2249 * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2251 * testsuite/25_algorithms/min/3.cc: Likewise.
2252 * testsuite/25_algorithms/min/4.cc: Likewise.
2253 * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2255 * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2257 * testsuite/25_algorithms/max/3.cc: Likewise.
2258 * testsuite/25_algorithms/max/4.cc: Likewise.
2259 * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2261 * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2263 * testsuite/25_algorithms/minmax/2.cc: Likewise.
2264 * testsuite/25_algorithms/minmax/3.cc: Likewise.
2266 2008-09-16 Paolo Carlini <paolo.carlini@oracle.com>
2268 * include/bits/stl_algo.h (min(initializer_list<>),
2269 min(initializer_list<>, Compare), max(initializer_list<>),
2270 max(initializer_list<>, Compare), minmax(initializer_list<>),
2271 minmax(initializer_list<>, Compare)): Add in C++0x mode.
2272 * include/bits/algorithmfwd.h: Add.
2273 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2275 2008-09-13 Chris Fairles <chris.fairles@gmail.com>
2277 * testsuite/30_threads/thread/algorithm/1.cc: Join thread before
2279 * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2280 * testsuite/30_threads/thread/this_thread/3.cc: Define test variable.
2281 * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2283 2008-09-12 Chris Fairles <chris.fairles@gmail.com>
2284 Benjamin Kosnik <bkoz@redhat.com>
2286 * include/std/thread: New.
2287 * include/Makefile.am: Update.
2288 * include/Makefile.in: Regenerate.
2289 * src/thread.cc: New.
2290 * src/Makefile.am: Update.
2291 * src/Makefile.in: Regenerate.
2292 * acinclude.m4: Add check for nanosleep.
2293 * configure.ac: Call it.
2294 * configure: Regenerate.
2295 * config.h.in: Likewise.
2296 * config/abi/pre/gnu.ver: Add exports.
2297 * doc/doxygen/user.cfg.in: Add thread header.
2298 * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
2299 * testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
2300 * testsuite/30_threads/thread/cons/1.cc: New.
2301 * testsuite/30_threads/thread/cons/2.cc: Likewise.
2302 * testsuite/30_threads/thread/cons/3.cc: Likewise.
2303 * testsuite/30_threads/thread/cons/4.cc: Likewise.
2304 * testsuite/30_threads/thread/algorithm/1.cc: Likewise.
2305 * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2306 * testsuite/30_threads/thread/member/1.cc: Likewise.
2307 * testsuite/30_threads/thread/member/2.cc: Likewise.
2308 * testsuite/30_threads/thread/member/3.cc: Likewise.
2309 * testsuite/30_threads/thread/this_thread/1.cc: Likewise.
2310 * testsuite/30_threads/thread/this_thread/2.cc: Likewise.
2311 * testsuite/30_threads/thread/this_thread/3.cc: Likewise.
2312 * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2313 * testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
2314 * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
2315 * testsuite/17_intro/headers/c++200x/all.cc: Add thread.
2316 * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
2317 Add thread, condition_variable and mutex.
2319 2008-09-10 Paolo Carlini <paolo.carlini@oracle.com>
2321 * src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
2322 Remove specializations.
2323 * src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
2324 * include/bits/locale_facets.tcc (use_facet<ctype<char> >,
2325 use_facet<ctype<wchar_t>): Declare as extern template.
2326 * include/bits/locale_facets.h (use_facet<ctype<char> >,
2327 use_facet<ctype<wchar_t>): Do not declare as specializations.
2329 2008-09-10 Paolo Carlini <paolo.carlini@oracle.com>
2331 * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
2332 ctype<char>::_M_widen_init): Don't define here.
2333 * config/locale/gnu/ctype_members.cc: Likewise.
2334 * config/locale/generic/ctype_members.cc: Likewise.
2335 * src/ctype.cc: Define here.
2337 2008-09-10 Paolo Carlini <paolo.carlini@oracle.com>
2340 * include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
2341 ctype<char>::_M_widen_init): Don't define inline.
2342 * config/locale/darwin/ctype_members.cc: ... define here.
2343 * config/locale/gnu/ctype_members.cc: ... likewise.
2344 * config/locale/generic/ctype_members.cc: ... likewise.
2345 * config/abi/pre/gnu.ver: Export.
2347 2008-09-09 Benjamin Kosnik <bkoz@redhat.com>
2349 * doc/xml/manual/abi.xml: Update for new releases.
2350 * doc/doxygen/user.cfg.in: Include C compatibility headers.
2351 * doc/html/*: Regenerate.
2353 2008-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2355 * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACROS after
2356 inclusion of <inttypes.h>.
2357 * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
2358 __STDC_CONSTANT_MACROS after <stdint.h>.
2359 * include/bits/postypes.h: Likewise.
2361 2008-09-09 Andreas Schwab <schwab@suse.de>
2363 * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check
2364 not to redefine main.
2366 2008-09-07 Paolo Carlini <paolo.carlini@oracle.com>
2368 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
2369 wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2370 * include/tr1_impl/cinttypes: Use the latter.
2371 * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
2372 * configure: Regenerate.
2373 * config.h.in: Likewise.
2375 2008-09-05 Peter Dimov <pdimov@mmltd.net>
2377 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New.
2379 2008-09-05 Paolo Carlini <paolo.carlini@oracle.com>
2381 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename
2383 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ...
2386 2008-09-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2389 * include/Makefile.am: Update headers.
2390 * include/Makefile.in: Regenerate.
2391 * include/std/memory: Update headers.
2392 * include/tr1/memory: Likewise.
2393 * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
2394 separate implementations for std and tr1.
2395 * include/bits/boost_sp_shared_count.h: Remove.
2396 * include/tr1/boost_sp_shared_count.h: Remove.
2397 * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
2398 and boost_shared_ptr.h into one file.
2399 (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
2400 and rvalue-reference support as per current WP.
2401 * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
2402 and boost_shared_ptr.h into one file.
2403 * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
2404 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
2405 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
2406 * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
2407 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
2408 * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
2409 * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
2410 * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
2411 * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
2413 2008-09-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2415 * doc/xml/manual/locale.xml: Fix typo.
2417 2008-09-04 Paolo Carlini <paolo.carlini@oracle.com>
2419 * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
2421 * configure: Regenerate.
2423 2008-09-04 Chris Fairles <chris.fairles@gmail.com>
2425 * include/std/mutex (once_flag): Construct __gthread_once_t in a
2426 temporary variable before assigning to _M_once to avoid initialization
2429 2008-09-03 Paolo Carlini <paolo.carlini@oracle.com>
2431 * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
2432 GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
2434 * Makefile.in: Regenerate.
2435 * src/Makefile.in: Likewise.
2436 * doc/Makefile.in: Likewise.
2437 * po/Makefile.in: Likewise.
2438 * libmath/Makefile.in: Likewise.
2439 * include/Makefile.in: Likewise.
2440 * libsupc++/Makefile.in: Likewise.
2441 * testsuite/Makefile.in: Likewise.
2443 2008-09-03 Paolo Carlini <paolo.carlini@oracle.com>
2445 * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
2446 check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
2447 * configure: Regenerate.
2449 2008-09-03 Paolo Carlini <paolo.carlini@oracle.com>
2451 * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
2452 * configure: Regenerate.
2454 2008-09-03 Chris Fairles <chris.fairles@gmail.com>
2456 * include/std/condition_variable: Use new deleted ctors.
2457 * include/std/mutex: Likewise plus implement timed_mutex,
2458 recursive_timed_mutex and call_once.
2459 * src/condition_variable.cc: Implement wait(). Use gthread types.
2460 Remove _GTHREADS_HAS_COND checks in favor of global
2461 _GLIBCXX_HAS_GTHREADS.
2462 * src/mutex.cc (call_once): Implementation using TLS with mutex
2464 * config/abi/pre/gnu.ver: Add exported symbols.
2465 * testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
2466 * testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
2467 * testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
2468 dg-require-gthreads and dg-require-cstdint.
2469 * testsuite/30_threads/lock_guard/requirements/
2470 explicit_instantiation.cc: Likewise.
2471 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2472 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2473 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2474 * testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
2475 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2476 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2477 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2478 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2479 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2481 * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2482 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2483 * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
2485 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2486 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2487 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2488 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2489 * testsuite/30_threads/unique_lock/requirements/
2490 explicit_instantiation.cc: Likewise.
2491 * testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
2492 * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
2493 lines for deleted members.
2494 * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2495 * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2496 * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2497 * testsuite/30_threads/call_once/once_flag.cc: New.
2498 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2499 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2500 * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
2501 * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
2502 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2503 * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
2505 * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
2507 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2508 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2509 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2510 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2511 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
2512 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2513 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
2514 * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
2515 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2516 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2517 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2518 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2519 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2520 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2521 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2522 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2524 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2526 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2528 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2530 * testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
2531 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2533 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2534 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
2536 * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
2538 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2539 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2540 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2541 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2542 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2543 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2545 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2547 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2549 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2550 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2551 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2552 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2553 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2554 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2555 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2556 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2557 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2558 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2559 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2560 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2562 2008-09-01 Mark Mitchell <mark@codesourcery.com>
2564 * include/std/type_traits (__make_unsigned_selector<>): Consider
2565 enums of size smaller than short.
2566 (__make_signed_selector<>): Likewise.
2567 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2568 Adjust line numbers.
2569 * testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
2570 Adjust line numbers.
2571 * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
2572 Ensure test_enum is the same size as short.
2573 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2574 Ensure test_enum is the same size as short.
2576 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2578 * acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
2579 * configure: Regenerated.
2580 * Makefile.in: Regenerated.
2581 * src/Makefile.in: Regenerated.
2582 * doc/Makefile.in: Regenerated.
2583 * po/Makefile.in: Regenerated.
2584 * libmath/Makefile.in: Regenerated.
2585 * include/Makefile.in: Regenerated.
2586 * libsupc++/Makefile.in: Regenerated.
2587 * testsuite/Makefile.in: Regenerated.
2589 2008-08-29 Mark Mitchell <mark@codesourcery.com>
2591 * testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
2592 when testing on a simultor.
2594 2008-08-28 Paolo Carlini <paolo.carlini@oracle.com>
2596 * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2597 Rename to .../typedefs.cc.
2598 * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2600 * testsuite/tr1/6_containers/unordered_multiset/requirements/
2601 typedef.cc: Likewise.
2602 * testsuite/tr1/6_containers/unordered_multimap/requirements/
2603 typedef.cc: Likewise.
2604 * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2606 * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2608 * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2610 * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2613 2008-08-28 Chris Fairles <chris.fairles@gmail.com>
2615 * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
2616 support used by c++0x thread library.
2617 * configure.ac: Test unconditionally.
2618 * configure: Regenerate.
2619 * config.h.in: Regenerate.
2621 2008-08-27 Benjamin Kosnik <bkoz@redhat.com>
2623 * doc/Makefile.am: Edit xml file list.
2624 * doc/Makefile.in: Regenerate.
2625 * configure: Regenerate.
2626 * doc/xml/manual/intro.xml: Edit, correct links, structure.
2627 * doc/xml/manual/configure.xml: Same.
2628 * doc/xml/manual/debug.xml: Same.
2629 * doc/xml/manual/test.xml: Same.
2630 * doc/xml/manual/build.xml: Remove.
2631 * doc/xml/manual/prerequisites.xml: Add.
2632 * doc/html/*: Regenerate.
2634 2008-08-27 Paolo Carlini <paolo.carlini@oracle.com>
2636 * include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
2637 const_pointer typedefs.
2638 * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
2640 * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
2642 * testsuite/tr1/6_containers/unordered_multiset/requirements/
2643 typedef.cc: Likewise.
2644 * testsuite/tr1/6_containers/unordered_multimap/requirements/
2645 typedef.cc: Likewise.
2646 * testsuite/23_containers/unordered_set/requirements/typedef.cc:
2648 * testsuite/23_containers/unordered_map/requirements/typedef.cc:
2650 * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
2652 * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
2655 2008-08-27 Paul Brook <paul@codesourcery.com>
2657 * libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
2658 __get_object_from_ambiguous_exception.
2660 2008-08-26 Ben Elliston <bje@au.ibm.com>
2662 * src/mt_allocator.cc (__pool): Fix error in comment.
2664 2008-08-25 Paolo Carlini <paolo.carlini@oracle.com>
2666 * linkage.m4 ([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1],
2667 [GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT]): Remove
2668 * configure.ac: Do not call the latter.
2669 * crossconfig.m4: Likewise.
2670 * libmath/mathconf.h: Adjust.
2671 * configure: Regenerate.
2672 * config.h.in: Likewise.
2674 2008-08-24 Paolo Carlini <paolo.carlini@oracle.com>
2676 * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
2677 two test -r instead of an AC_TRY_RUN.
2678 * configure: Regenerate.
2679 * config.h.in: Likewise.
2681 2008-08-24 Paolo Carlini <paolo.carlini@oracle.com>
2683 * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
2684 * doc/xml/manual/configure.xml: Likewise.
2686 2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
2688 * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
2690 * configure: Regenerate.
2692 2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
2694 * acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
2695 GCC_TRY_COMPILE_OR_LINK.
2696 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
2697 [GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
2698 [no] by default, since it includes TRY_LINK checks. librt is also
2699 searched, if requested.
2700 * doc/xml/manual/configure.xml: Document the latter.
2701 * configure.ac: Move the above checks outside native-only.
2702 * configure: Regenerate.
2704 2008-08-23 Paolo Carlini <paolo.carlini@oracle.com>
2706 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
2707 * testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
2708 * testsuite/18_support/exception_ptr/current_exception.cc: Use it.
2709 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
2710 * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
2712 2008-08-23 Sebastian Redl <sebastian.redl@getdesigned.at>
2714 Add (again) exception propagation support as per N2179. Feature is
2715 available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
2716 * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2717 copy_exception, rethrow_exception): New file, implement exception
2719 * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2720 rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2721 * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2722 (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2723 __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2724 __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2725 __gxx_dependent_exception_class, __get_object_from_ue,
2726 __get_object_from_ambiguous_exception): Add.
2727 (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2728 (__is_gxx_exception_class): Handle dependent exceptions.
2729 * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2730 * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2731 * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2732 * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2733 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2734 __cxa_free_dependent_exception): Add.
2735 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2737 * libsupc++/exception: Conditionally include exception_ptr.h.
2738 * libsupc++/Makefile.am: Register new files.
2739 * libsupc++/Makefile.in: Regenerate.
2740 * config/abi/pre/gnu.ver: Add new symbols.
2741 * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2742 core functionality of current_exception().
2743 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2744 core functionality of rethrow_exception().
2745 * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2746 exception objects during exception propagation.
2748 2008-08-22 Paolo Carlini <paolo.carlini@oracle.com>
2750 Revert again the N2179 patch.
2752 2008-08-21 Sebastian Redl <sebastian.redl@getdesigned.at>
2754 * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
2755 __cxa_free_dependent_exception.
2757 2008-08-20 Paolo Carlini <paolo.carlini@oracle.com>
2759 * include/bits/char_traits.h (char_traits<char16_t>::
2760 assign(char_type*, size_t, char_type), char_traits<char32_t>::
2761 assign(char_type*, size_t, char_type)): For now, just open-code.
2763 2008-08-20 Paolo Carlini <paolo.carlini@oracle.com>
2765 PR c++/33979 (partial)
2766 * include/bits/postypes.h (u16streampos, u32streampos): Add.
2767 * include/bits/char_traits.h (char_traits<char16_t>,
2768 char_traits<char32_t>): Add.
2769 * include/bits/stringfwd.h (u16string, u32string): Add.
2770 * include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
2771 * testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
2773 * testsuite/21_strings/char_traits/requirements/
2774 explicit_instantiation/short/1.cc: Likewise.
2775 * testsuite/21_strings/char_traits/requirements/
2776 explicit_instantiation/char32_t/1.cc: Likewise.
2777 * testsuite/21_strings/char_traits/requirements/
2778 explicit_instantiation/wchar_t/1.cc: Likewise.
2779 * testsuite/21_strings/char_traits/requirements/
2780 explicit_instantiation/char16_t/1.cc: Likewise.
2781 * testsuite/21_strings/char_traits/requirements/
2782 explicit_instantiation/char/1.cc: Likewise.
2783 * testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
2785 * testsuite/21_strings/basic_string/requirements/
2786 explicit_instantiation/char32_t/1.cc: Likewise.
2787 * testsuite/21_strings/basic_string/requirements/
2788 explicit_instantiation/wchar_t/1.cc: Likewise.
2789 * testsuite/21_strings/basic_string/requirements/
2790 explicit_instantiation/char16_t/1.cc: Likewise.
2791 * testsuite/21_strings/basic_string/requirements/
2792 explicit_instantiation/char/1.cc: Likewise.
2793 * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
2794 * testsuite/ext/vstring/requirements/explicit_instantiation/
2795 char32_t/1.cc: Likewise.
2796 * testsuite/ext/vstring/requirements/explicit_instantiation/
2797 char16_t/1.cc: Likewise.
2799 2008-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2802 * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
2804 * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
2806 * testsuite/27_io/objects/char/12048-1.cc: Likewise.
2807 * testsuite/27_io/objects/char/12048-3.cc: Likewise.
2808 * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
2809 * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
2810 * testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
2811 * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
2812 * testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
2813 * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
2814 * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
2815 * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
2816 * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
2817 * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
2818 * testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
2819 * testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
2820 * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
2821 * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
2822 * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
2823 * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
2824 * testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
2825 * testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
2826 * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
2827 * include/std/regex: Include <sstream>.
2828 * include/tr1/regex: Likewise.
2830 2008-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2832 * configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
2834 * configure: Regenerate.
2836 2008-08-18 Paolo Carlini <paolo.carlini@oracle.com>
2839 * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
2840 check the macros too.
2841 * configure: Regenerate.
2843 2008-08-17 Paolo Carlini <paolo.carlini@oracle.com>
2845 * acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
2847 * configure.ac: Run unconditionally AC_LC_MESSAGES.
2848 * crossconfig.m4: Adjust.
2849 * configure: Regenerate.
2851 2008-08-17 Paolo Carlini <paolo.carlini@oracle.com>
2853 * acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
2854 [GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
2855 Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
2856 with -fno-exceptions as flags.
2857 * configure.ac: Run unconditionally GLIBCXX_CHECK_LFS,
2858 GLIBCXX_CHECK_POLL, GLIBCXX_CHECK_S_ISREG_OR_S_IFREG,
2859 GLIBCXX_CHECK_WRITEV and commonized AC_CHECK_HEADERS.
2860 * crossconfig.m4: Adjust; remove AC_CHECK_HEADERS commonized
2862 * configure: Regenerate.
2864 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
2866 Re-instate last patch, amended to use __exchange_and_add_dispatch
2867 and __atomic_add_dispatch in eh_ptr.cc and eh_throw.cc.
2869 2008-08-13 Paolo Carlini <paolo.carlini@oracle.com>
2871 Revert the last patch.
2873 2008-08-13 Sebastian Redl <sebastian.redl@getdesigned.at>
2875 Add exception propagation support as per N2179.
2876 * libsupc++/exception_ptr.h (exception_ptr, current_exception,
2877 copy_exception, rethrow_exception): New file, implement exception
2879 * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
2880 rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
2881 * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
2882 (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
2883 __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
2884 __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
2885 __gxx_dependent_exception_class, __get_object_from_ue,
2886 __get_object_from_ambiguous_exception): Add.
2887 (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
2888 (__is_gxx_exception_class): Handle dependent exceptions.
2889 * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
2890 * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
2891 * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
2892 * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
2893 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
2894 __cxa_free_dependent_exception): Add.
2895 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
2897 * libsupc++/exception: Conditionally include exception_ptr.h.
2898 * libsupc++/Makefile.am: Register new files.
2899 * libsupc++/Makefile.in: Regenerate.
2900 * config/abi/pre/gnu.ver: Add new symbols.
2901 * testsuite/18_support/exception_ptr/current_exception.cc: Test the
2902 core functionality of current_exception().
2903 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
2904 core functionality of rethrow_exception().
2905 * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
2906 exception objects during exception propagation.
2908 2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
2911 * include/bits/stl_pair.h: Fix documentation URL in comment.
2913 2008-08-12 Johannes Singler <singler@ira.uka.de>
2915 * include/paralle/losertree.h
2916 (LoserTreePointerBase<>::~LoserTreePointerBase):
2917 Replace delete by appropriate delete[].
2919 2008-08-12 Paolo Carlini <paolo.carlini@oracle.com>
2921 * configure.ac: Run unconditionally GLIBCXX_CHECK_INT64_T and
2922 GLIBCXX_CHECK_C99_TR1; remove sigsetjmp and mmap checks (unused).
2923 * crossconfig.m4: Adjust; remove HAVE_GETPAGESIZE defines (unused).
2924 * configure: Regenerate.
2925 * config.h.in: Likewise.
2927 * acinclude.m4: Minor formatting fixes.
2929 2008-08-11 Stephen M. Webb <stephenw@xandros.com>
2931 * include/tr1_impl/regex: Formatting fixes.
2932 * testsuite/tr1/7_regular_expressions/regex_traits/char/value.cc:
2934 * testsuite/tr1/7_regular_expressions/regex_traits/wchar_t/value.cc:
2937 2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
2939 * config/locale/generic/c_locale.cc: Include <cstdio>.
2941 2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
2943 * configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
2944 * configure: Regenerate.
2946 2008-08-10 Paolo Carlini <paolo.carlini@oracle.com>
2948 * include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
2949 (_DEFINE_SPEC_BODY): Remove.
2950 (__is_void_helper, __is_integral_helper, __is_floating_point_helper,
2951 __is_member_object_pointer_helper, __is_member_function_pointer_helper,
2952 __remove_pointer_helper): Add.
2953 (is_void, is_integral, is_floating_point, is_member_object_pointer,
2954 is_member_function_pointer, remove_pointer): Use the latter.
2955 * include/tr1/type_traits (_DEFINE_SPEC): Simplify.
2956 (_DEFINE_SPEC_HELPER): Remove.
2957 (__is_signed_helper, __is_unsigned_helper): Add.
2958 (is_signed, is_unsigned): Use the latter.
2960 2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
2962 Revert fix for libstdc++/35637, thanks to other/36901.
2963 * include/tr1_impl/type_traits (__is_function_helper): New, uses
2965 (is_function): Forward to the latter.
2966 (__in_array): Remove.
2968 2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
2970 * config/locale/darwin/ctype_members.cc: Include <cstdio>.
2972 2008-08-08 Paolo Carlini <paolo.carlini@oracle.com>
2974 * include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and
2975 _IOS_BASE_SEEK_END at the end of the file.
2976 * include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF.
2978 2008-08-07 Stephen M. Webb <stephenw@xandros.com>
2980 * include/tr1_impl/regex (match_results<>::cbegin, cend): Add, per
2983 2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
2985 * acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
2986 common values of EOF, SEEK_CUR, SEEK_END.
2987 * configure.ac: Use it.
2988 * include/bits/ios_base.h: Likewise.
2989 * include/bits/char_traits.h: Likewise.
2990 * config/locale/gnu/ctype_members.cc: Include <cstdio>.
2991 * config/locale/generic/ctype_members.cc: Likewise.
2992 * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
2993 * testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
2994 * configure: Regenerate.
2995 * config.h.in: Likewise.
2997 2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
2999 * acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
3000 is actually a typedef to long or long long.
3001 * include/bits/postypes.h: If int64_t is actually a typedef for
3002 long or long long don't include <stdint.h> unnecessarily.
3003 * configure: Regenerate.
3004 * config.h.in: Likewise.
3006 2008-08-05 Paolo Carlini <paolo.carlini@oracle.com>
3008 * testsuite/util/testsuite_api.h (diamond_derivation<>::test):
3009 Expect ambiguity together with the standard exception classes.
3010 * testsuite/27_io/ios_base/failure/cons_virtual_derivation.cc: Remove
3012 * testsuite/19_diagnostics/logic_error/cons_virtual_derivation.cc:
3014 * testsuite/19_diagnostics/runtime_error/cons_virtual_derivation.cc:
3016 * testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc:
3018 * testsuite/18_support/bad_alloc/cons_virtual_derivation.cc: Likewise.
3019 * testsuite/18_support/bad_cast/cons_virtual_derivation.cc: Likewise.
3020 * testsuite/18_support/bad_exception/cons_virtual_derivation.cc:
3022 * testsuite/18_support/bad_typeid/cons_virtual_derivation.cc:
3024 * testsuite/ext/concurrence_lock_error/cons_virtual_derivation.cc:
3026 * testsuite/ext/forced_exception_error/cons_virtual_derivation.cc:
3028 * testsuite/ext/concurrence_unlock_error/cons_virtual_derivation.cc:
3030 * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
3033 2008-08-04 Paolo Carlini <paolo.carlini@oracle.com>
3035 * include/bits/postypes.h: Reinstate inclusion of <stdint.h>;
3036 also define the __STDC_* macros.
3037 (streamoff): Adjust.
3039 * include/tr1_impl/cstdint: Check that the __STDC_* macros are
3040 not defined before defining.
3042 2008-08-01 Paolo Bonzini <bonzini@gnu.org>
3043 Chris Fairles <chris.fairles@gmail.com>
3045 * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Reinstate clock_gettime
3046 search, but only in libposix4, never link librt.
3047 * src/Makefile.am: Reinstate previous change to add GLIBCXX_LIBS.
3048 * configure: Regenerate.
3049 * configure.in: Likewise.
3050 * Makefile.in: Likewise.
3051 * src/Makefile.in: Likewise.
3052 * libsup++/Makefile.in: Likewise.
3053 * po/Makefile.in: Likewise.
3054 * doc/Makefile.in: Likewise.
3056 2008-07-31 Chris Fairles <chris.fairles@gmail.com>
3058 * include/std/chrono (duration): Use explicitly defaulted ctor, cctor,
3059 dtor and assignment. Add diagnostics as per 20.8.3 paragraphs 2, 3
3060 and 4 in WD. Other minor tweaks.
3061 * testsuite/20_util/duration/cons/1_neg.cc: Adjust line numbers.
3062 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: New.
3063 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
3064 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
3066 2008-07-31 Paolo Carlini <paolo.carlini@oracle.com>
3068 * testsuite/lib/libstdc++.exp (libstdc++_init): Set v3-libgomp.
3069 (check_v3_target_parallel_mode): Robustify, just follow the
3070 structure of testsuite/Makefile.am.
3072 2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
3074 * include/debug/set.h: Minor formatting fixes.
3075 * include/debug/multiset.h: Likewise.
3076 * include/debug/safe_association.h: Likewise.
3077 * include/debug/vector: Likewise.
3078 * include/debug/map.h: Likewise.
3079 * include/debug/string: Likewise.
3080 * include/debug/multimap.h: Likewise.
3081 * include/bits/stl_list.h: Likewise.
3082 * include/bits/stl_map.h: Likewise.
3083 * include/bits/stl_set.h: Likewise.
3084 * include/bits/stl_multimap.h: Likewise.
3085 * include/bits/stl_vector.h: Likewise.
3086 * include/bits/stl_multiset.h: Likewise.
3087 * include/bits/stl_bvector.h: Likewise.
3089 2008-07-29 Paolo Carlini <paolo.carlini@oracle.com>
3091 * include/std/utility: Include <initializer_list>, per the current WP.
3093 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
3094 don't use -std=gnu++0x unnecessarily.
3095 * testsuite/18_support/numeric_limits/char16_32_t.cc: Use
3097 * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
3098 * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.
3100 2008-07-28 Paolo Carlini <paolo.carlini@oracle.com>
3103 * include/tr1_impl/boost_shared_ptr.h
3104 (__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
3105 __enable_shared_from_this_helper.
3106 * testsuite/20_util/shared_ptr/creation/36949.cc: New.
3108 2008-07-24 Paolo Carlini <paolo.carlini@oracle.com>
3112 2008-07-23 Chris Fairles <chris.fairles@gmail.com>
3114 * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
3115 Holds the lib that defines clock_gettime (-lrt or -lposix4).
3116 * src/Makefile.am: Use it.
3117 * configure: Regenerate.
3118 * configure.in: Likewise.
3119 * Makefile.in: Likewise.
3120 * src/Makefile.in: Likewise.
3121 * libsup++/Makefile.in: Likewise.
3122 * po/Makefile.in: Likewise.
3123 * doc/Makefile.in: Likewise.
3125 2008-07-23 Chris Fairles <chris.fairles@gmail.com>
3127 * include/std/condition_variable: Update to N2691 WD.
3128 * include/std/mutex: Likewise.
3129 * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
3130 * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
3131 * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
3132 * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
3134 2008-07-23 Chris Fairles <chris.fairles@gmail.com>
3136 * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
3137 Holds the lib that defines clock_gettime (-lrt or -lposix4).
3138 * src/Makefile.am: Use it.
3139 * configure: Regenerate.
3140 * configure.in: Likewise.
3141 * Makefile.in: Likewise.
3142 * src/Makefile.in: Likewise.
3143 * libsup++/Makefile.in: Likewise.
3144 * po/Makefile.in: Likewise.
3145 * doc/Makefile.in: Likewise.
3147 2008-07-22 Paolo Carlini <paolo.carlini@oracle.com>
3149 * include/ext/sso_string_base.h
3150 (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
3151 const _Alloc&)): Remove.
3152 * include/ext/rc_string_base.h
3153 (__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
3154 const _Alloc&)): Likewise.
3155 * include/ext/vstring.h
3156 (__versa_string<>::__versa_string(std::initializer_list<_CharT>,
3157 const _Alloc&)): Adjust.
3159 2008-07-21 Jason Merrill <jason@redhat.com>
3161 Add initializer_list support as per N2679.
3162 * include/debug/unordered_map: Add initializer_list support.
3163 * include/debug/safe_association.h: Likewise.
3164 * include/debug/unordered_set: Likewise.
3165 * include/debug/vector: Likewise.
3166 * include/debug/deque: Likewise.
3167 * include/debug/map.h: Likewise.
3168 * include/debug/set.h: Likewise.
3169 * include/debug/string: Likewise.
3170 * include/debug/list: Likewise.
3171 * include/debug/multimap.h: Likewise.
3172 * include/tr1_impl/unordered_map: Likewise.
3173 * include/tr1_impl/hashtable: Likewise.
3174 * include/tr1_impl/unordered_set: Likewise.
3175 * include/tr1_impl/regex: Likewise.
3176 * include/std/valarray: Likewise.
3177 * include/std/unordered_map: Likewise.
3178 * include/std/unordered_set: Likewise.
3179 * include/bits/stl_list.h: Likewise.
3180 * include/bits/stl_map.h: Likewise.
3181 * include/bits/stl_set.h: Likewise.
3182 * include/bits/basic_string.h: Likewise.
3183 * include/bits/basic_string.tcc: Likewise.
3184 * include/bits/stl_multimap.h: Likewise.
3185 * include/bits/stl_vector.h: Likewise.
3186 * include/bits/stl_deque.h: Likewise.
3187 * include/bits/stl_multiset.h: Likewise.
3188 * include/bits/stl_bvector.h: Likewise.
3189 * include/ext/vstring.h: Likewise.
3190 * include/ext/rc_string_base.h: Likewise.
3191 * include/ext/sso_string_base.h: Likewise.
3192 * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
3193 * src/Makefile.in: Likewise.
3194 * config/abi/pre/gnu.ver: Add new w?string exports.
3195 * testsuite/21_strings/basic_string/init-list.cc: New test.
3196 * testsuite/23_containers/vector/init-list.cc: New test.
3197 * testsuite/23_containers/deque/init-list.cc: New test.
3198 * testsuite/23_containers/list/init-list.cc: New test.
3199 * testsuite/23_containers/map/init-list.cc: New test.
3200 * testsuite/23_containers/multimap/init-list.cc: New test.
3201 * testsuite/23_containers/set/init-list.cc: New test.
3202 * testsuite/23_containers/multiset/init-list.cc: New test.
3203 * testsuite/23_containers/unordered_map/init-list.cc: New test.
3204 * testsuite/23_containers/unordered_multimap/init-list.cc: New test.
3205 * testsuite/23_containers/unordered_set/init-list.cc: New test.
3206 * testsuite/23_containers/unordered_multiset/init-list.cc: New test.
3207 * testsuite/26_numerics/valarray/init-list.cc: New test.
3208 * testsuite/28_regex/init-list.cc: New test.
3209 * testsuite/ext/vstring/init-list.cc: New test.
3210 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3211 Update error lineno.
3212 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3213 Update error lineno.
3214 * testsuite/23_containers/vector/requirements/dr438/
3215 constructor_1_neg.cc: Update error lineno.
3216 * testsuite/23_containers/vector/requirements/dr438/
3217 constructor_2_neg.cc: Update error lineno.
3218 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3219 Update error lineno.
3220 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3221 Update error lineno.
3222 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
3223 Update error lineno.
3224 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
3225 Update error lineno.
3226 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3227 Update error lineno.
3228 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3229 Update error lineno.
3230 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3231 Update error lineno.
3232 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3233 Update error lineno.
3235 2008-07-21 Mark Mitchell <mark@codesourcery.com>
3237 * config/os/gnu-linux/arm-eabi-extra.ver: New file.
3238 * configure.host: Use it for arm*-*-linux-*eabi.
3240 2008-07-19 Paolo Carlini <paolo.carlini@oracle.com>
3242 * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
3243 (assert_node_consistent): Avoid ambiguous else warning.
3245 * include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.
3247 * include/bits/c++config: In debug-mode (and parallel-mode) set
3248 _GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
3249 templates only for basic_string (per libstdc++/21674).
3250 * include/bits/basic_string.tcc: Use extern templates when
3251 _GLIBCXX_EXTERN_TEMPLATE > 0.
3253 2008-07-18 Kris Van Hees <kris.van.hees@oracle.com>
3254 Holger Hopp <holger.hopp@sap.com>
3256 * config/abi/pre/gnu.ver: Support char16_t and char32_t.
3257 * testsuite/util/testsuite_abi.cc (check_version): Add
3258 CXXABI_1.3.3 to known_versions.
3260 2008-07-16 Paolo Carlini <paolo.carlini@oracle.com>
3262 * include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
3263 Enable only when _Tp != bool.
3265 * testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.
3267 2008-07-18 Paolo Carlini <paolo.carlini@oracle.com>
3269 * testsuite/lib/libstdc++.exp (check_v3_target_c_std): Avoid unused
3270 variable warnings leading to spurious fails of the test.