OSDN Git Service

2009-04-06 Benjamin Kosnik <bkoz@redhat.com>
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>
2
3         * include/Makefile.am (${pch1a_output}): Use gnu++0x flags instead
4         of debug.
5         * include/Makefile.in: Regenerate.
6         * include/precompiled/stdc++.h: Add.
7
8         * doc/xml/api.xml: Add gcc-4.4 link.
9         * doc/html/api.html: Regenerate.
10
11 2009-04-06  Benjamin Kosnik  <bkoz@redhat.com>
12
13         * include/bits/random.h: Adjust doxygen markup.
14         * doc/doxygen/user.cfg.in: Prefer C++0x to tr1 includes.
15
16         * testsuite/26_numerics/random/piecewise_linear_distribution/
17         operators/serialize.cc: Use typedefs.
18
19 2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
20
21         * config/cpu/sh/atomicity.h: Put the SH4A specific functions in the
22         __gnu_cxx namespace.  Remove "static inline".
23
24 2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>
25
26         * include/bits/random.tcc (linear_congruential_engine<>::
27         seed(seed_seq&)): Fix typo in last fix for __m == 0.
28
29 2009-04-06  Paolo Carlini  <paolo.carlini@oracle.com>
30
31         * include/bits/random.h (operator==): Mark all inline.
32         (mersenne_twister_engine): Enable #if 0 checks.
33
34         * include/bits/random.h: Formatting tweaks.
35
36 2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>
37
38         * include/bits/random.tcc (piecewise_linear_distribution<>::
39         operator()(_UniformRandomNumberGenerator&, const param_type&)):
40         Remove spurious closed parenthesis.
41
42 2009-04-05  Paolo Carlini  <paolo.carlini@oracle.com>
43
44         PR libstdc++/39644 (partial)
45         * include/bits/random.tcc (linear_congruential_engine<>::
46         seed(seed_seq&), independent_bits_engine<>::operator(),
47         generate_canonical(_UniformRandomNumberGenerator&)): Avoid log2l.
48
49 2009-04-04  Edward Smith-Rowland  <3dw4rd@verizon.net>
50
51         * include/bits/random.h (struct _ShiftMin1): Fix small typo and
52         thinko.
53         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
54         default.cc: Enable.
55
56 2009-04-04  Paolo Carlini  <paolo.carlini@oracle.com>
57
58         PR libstdc++/39629 (partial)
59         * testsuite/26_numerics/random/independent_bits_engine/cons/
60         base_move.cc: Use uint_fast64_t instead of unsigned long.
61         * testsuite/26_numerics/random/independent_bits_engine/cons/
62         seed1.cc: Likewise.
63         * testsuite/26_numerics/random/independent_bits_engine/cons/
64         seed2.cc: Likewise.
65         * testsuite/26_numerics/random/independent_bits_engine/cons/
66         base_copy.cc: Likewise.
67         * testsuite/26_numerics/random/independent_bits_engine/cons/
68         default.cc: Likewise.
69         * testsuite/26_numerics/random/independent_bits_engine/cons/
70         seed_seq.cc: Likewise.
71         * testsuite/26_numerics/random/independent_bits_engine/
72         requirements/typedefs.cc: Likewise.
73         * testsuite/26_numerics/random/independent_bits_engine/
74         operators/equal.cc: Likewise.
75         * testsuite/26_numerics/random/independent_bits_engine/
76         operators/serialize.cc: Likewise.
77         * testsuite/26_numerics/random/mt19937_64.cc: Use ull.
78
79 2009-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
80
81         * include/tr1_impl/random: Remove, empty.
82         * include/tr1_impl/random.tcc: Likewise.
83
84         * include/std/random: Minor clean-ups, formatting fixes, adjust
85         copyright years.
86         * include/bits/random.tcc: Likewise.
87         * include/bits/random.h: Likewise.
88         * include/tr1/random: Likewise.
89         * include/tr1/random.tcc: Likewise.
90         * include/tr1/random.h: Likewise.
91
92 2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>
93
94         * doc/xml/api.xml: Add gcc-4.4.0 doxygen link.
95         * doc/html/api.html: Regenerate.
96
97 2009-04-02  Benjamin Kosnik  <bkoz@redhat.com>
98
99         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
100         Change to mersenne_twister_engine, add same defaults as
101         mersenne_twister_engine/cons/default.cc.
102         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Same.
103
104         * include/bits/random.tcc (seed_seq::seed_seq): Uglify parameter
105         to __il.
106         * include/bits/random.h (mersenne_twister_engine): Qualify
107         _ShiftMin1 with namespace __detail.
108         (__detail::_ShiftMin1): Use __gnu_cxx::__numeric_traits::max until
109         constexpr std::numeric_limits::max() can be used.
110         (mersenne_twister_engine): Split apart static asserts into one
111         assert per message. Temporarily disable the last three.
112
113 2009-04-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
114
115         * include/Makefile.am: Update to N2836. Modified for new random headers.
116         * include/Makefile.in: Ditto.
117         * include/tr1_impl/random: Moved to tr1/random.h
118         * include/tr1_impl/random.tcc: Moved to tr1
119         * include/tr1/random: Just point to moved tr1 random headers.
120         * include/tr1/random.tcc: Moved from tr1_impl.
121         * include/tr1/random.h: Moved from tr1_impl/random.
122         * include/std/random: Modified to point to std random headers.
123         * include/bits/random.tcc: New implementation of std random facilities.
124         * include/bits/random.h: Ditto.
125         * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Changed.
126         * testsuite/26_numerics/random/linear_congruential_engine/cons/
127         seed1.cc: New.
128         * testsuite/26_numerics/random/linear_congruential_engine/cons/
129         seed2.cc: New.
130         * testsuite/26_numerics/random/linear_congruential_engine/cons/
131         default.cc: New.
132         * testsuite/26_numerics/random/linear_congruential_engine/requirements/
133         non_uint_neg.cc: New.
134         * testsuite/26_numerics/random/linear_congruential_engine/requirements/
135         typedefs.cc: New.
136         * testsuite/26_numerics/random/linear_congruential_engine/operators/
137         equal.cc: New.
138         * testsuite/26_numerics/random/linear_congruential_engine/operators/
139         serialize.cc: New.
140         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
141         seed1.cc: New.
142         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
143         seed2.cc: New.
144         * testsuite/26_numerics/random/mersenne_twister_engine/cons/
145         default.cc: New.
146         * testsuite/26_numerics/random/mersenne_twister_engine/requirements/
147         typedefs.cc: New.
148         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
149         equal.cc: New.
150         * testsuite/26_numerics/random/mersenne_twister_engine/operators/
151         serialize.cc: New.
152         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
153         seed1.cc: New.
154         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
155         seed2.cc: New.
156         * testsuite/26_numerics/random/subtract_with_carry_engine/cons/
157         default.cc: New.
158         * testsuite/26_numerics/random/subtract_with_carry_engine/requirements/
159         typedefs.cc: New.
160         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
161         equal.cc: New.
162         * testsuite/26_numerics/random/subtract_with_carry_engine/operators/
163         serialize.cc: New.
164         * testsuite/26_numerics/random/discard_block_engine/cons/
165         base_move.cc: New.
166         * testsuite/26_numerics/random/discard_block_engine/cons/
167         seed1.cc: New.
168         * testsuite/26_numerics/random/discard_block_engine/cons/
169         seed2.cc: New.
170         * testsuite/26_numerics/random/discard_block_engine/cons/
171         base_copy.cc: New.
172         * testsuite/26_numerics/random/discard_block_engine/cons/
173         default.cc: New.
174         * testsuite/26_numerics/random/discard_block_engine/cons/
175         seed_seq.cc: New.
176         * testsuite/26_numerics/random/discard_block_engine/requirements/
177         typedefs.cc: New.
178         * testsuite/26_numerics/random/discard_block_engine/operators/
179         equal.cc: New.
180         * testsuite/26_numerics/random/discard_block_engine/operators/
181         serialize.cc: New.
182         * testsuite/26_numerics/random/independent_bits_engine/cons/
183         base_move.cc: New.
184         * testsuite/26_numerics/random/independent_bits_engine/cons/
185         seed1.cc: New.
186         * testsuite/26_numerics/random/independent_bits_engine/cons/
187         seed2.cc: New.
188         * testsuite/26_numerics/random/independent_bits_engine/cons/
189         base_copy.cc: New.
190         * testsuite/26_numerics/random/independent_bits_engine/cons/
191         default.cc: New.
192         * testsuite/26_numerics/random/independent_bits_engine/cons/
193         seed_seq.cc: New.
194         * testsuite/26_numerics/random/independent_bits_engine/requirements/
195         typedefs.cc: New.
196         * testsuite/26_numerics/random/independent_bits_engine/operators/
197         equal.cc: New.
198         * testsuite/26_numerics/random/independent_bits_engine/operators/
199         serialize.cc: New.
200         * testsuite/26_numerics/random/shuffle_order_engine/cons/
201         base_move.cc: New.
202         * testsuite/26_numerics/random/shuffle_order_engine/cons/
203         seed1.cc: New.
204         * testsuite/26_numerics/random/shuffle_order_engine/cons/
205         seed2.cc: New.
206         * testsuite/26_numerics/random/shuffle_order_engine/cons/
207         base_copy.cc: New.
208         * testsuite/26_numerics/random/shuffle_order_engine/cons/
209         default.cc: New.
210         * testsuite/26_numerics/random/shuffle_order_engine/cons/
211         seed_seq.cc: New.
212         * testsuite/26_numerics/random/shuffle_order_engine/requirements/
213         typedefs.cc: New.
214         * testsuite/26_numerics/random/shuffle_order_engine/operators/
215         equal.cc: New.
216         * testsuite/26_numerics/random/shuffle_order_engine/operators/
217         serialize.cc
218         * testsuite/26_numerics/random/mt19937.cc: New.
219         * testsuite/26_numerics/random/mt19937_64.cc: New.
220         * testsuite/26_numerics/random/minstd_rand.cc: New.
221         * testsuite/26_numerics/random/minstd_rand0.cc: New.
222         * testsuite/26_numerics/random/ranlux24_base.cc: New.
223         * testsuite/26_numerics/random/ranlux48_base.cc: New.
224         * testsuite/26_numerics/random/ranlux24.cc: New.
225         * testsuite/26_numerics/random/ranlux48.cc: New.
226         * testsuite/26_numerics/random/knuth_b.cc: New.
227         * testsuite/26_numerics/random/default_random_engine.cc: New.
228         * testsuite/26_numerics/random/chi_squared_distribution/cons/
229         parms.cc: New.
230         * testsuite/26_numerics/random/chi_squared_distribution/cons/
231         default.cc: New.
232         * testsuite/26_numerics/random/chi_squared_distribution/requirements/
233         typedefs.cc: New.
234         * testsuite/26_numerics/random/chi_squared_distribution/operators/
235         serialize.cc: New.
236         * testsuite/26_numerics/random/normal_distribution/cons/
237         parms.cc: New.
238         * testsuite/26_numerics/random/normal_distribution/cons/
239         default.cc: New.
240         * testsuite/26_numerics/random/normal_distribution/requirements/
241         typedefs.cc: New.
242         * testsuite/26_numerics/random/normal_distribution/operators/
243         serialize.cc: New.
244         * testsuite/26_numerics/random/seed_seq/cons/range.cc: New.
245         * testsuite/26_numerics/random/seed_seq/cons/default.cc: New.
246         * testsuite/26_numerics/random/seed_seq/requirements/typedefs.cc: New.
247         * testsuite/26_numerics/random/uniform_int_distribution/cons/
248         parms_neg.cc: New.
249         * testsuite/26_numerics/random/uniform_int_distribution/cons/
250         parms.cc: New.
251         * testsuite/26_numerics/random/uniform_int_distribution/cons/
252         default.cc: New.
253         * testsuite/26_numerics/random/uniform_int_distribution/requirements/
254         typedefs.cc: New.
255         * testsuite/26_numerics/random/uniform_int_distribution/operators/
256         serialize.cc: New.
257         * testsuite/26_numerics/random/uniform_real_distribution/cons/
258         parms_neg.cc: New.
259         * testsuite/26_numerics/random/uniform_real_distribution/cons/
260         parms.cc: New.
261         * testsuite/26_numerics/random/uniform_real_distribution/cons/
262         default.cc: New.
263         * testsuite/26_numerics/random/uniform_real_distribution/requirements/
264         typedefs.cc: New.
265         * testsuite/26_numerics/random/uniform_real_distribution/operators/
266         serialize.cc: New.
267         * testsuite/26_numerics/random/poisson_distribution/cons/
268         parms.cc: New.
269         * testsuite/26_numerics/random/poisson_distribution/cons/
270         default.cc: New.
271         * testsuite/26_numerics/random/poisson_distribution/requirements/
272         typedefs.cc
273         * testsuite/26_numerics/random/poisson_distribution/operators/
274         serialize.cc: New.
275         * testsuite/26_numerics/random/bernoulli_distribution/cons/
276         parms.cc: New.
277         * testsuite/26_numerics/random/bernoulli_distribution/cons/
278         default.cc: New.
279         * testsuite/26_numerics/random/bernoulli_distribution/requirements/
280         typedefs.cc: New.
281         * testsuite/26_numerics/random/bernoulli_distribution/operators/
282         serialize.cc: New.
283         * testsuite/26_numerics/random/discrete_distribution/cons/
284         range.cc: New.
285         * testsuite/26_numerics/random/discrete_distribution/cons/
286         initlist.cc: New.
287         * testsuite/26_numerics/random/discrete_distribution/cons/
288         default.cc: New.
289         * testsuite/26_numerics/random/discrete_distribution/cons/
290         num_xbound_fun.cc: New.
291         * testsuite/26_numerics/random/discrete_distribution/requirements/
292         typedefs.cc: New.
293         * testsuite/26_numerics/random/discrete_distribution/operators/
294         serialize.cc: New.
295         * testsuite/26_numerics/random/weibull_distribution/cons/
296         parms.cc: New.
297         * testsuite/26_numerics/random/weibull_distribution/cons/
298         default.cc: New.
299         * testsuite/26_numerics/random/weibull_distribution/requirements/
300         typedefs.cc: New.
301         * testsuite/26_numerics/random/weibull_distribution/operators/
302         serialize.cc: New.
303         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
304         parms.cc: New.
305         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
306         default.cc: New.
307         * testsuite/26_numerics/random/negative_binomial_distribution/
308         requirements/typedefs.cc: New.
309         * testsuite/26_numerics/random/negative_binomial_distribution/
310         operators/serialize.cc: New.
311         * testsuite/26_numerics/random/cauchy_distribution/cons/
312         parms.cc: New.
313         * testsuite/26_numerics/random/cauchy_distribution/cons/
314         default.cc: New.
315         * testsuite/26_numerics/random/cauchy_distribution/requirements/
316         typedefs.cc: New.
317         * testsuite/26_numerics/random/cauchy_distribution/operators/
318         serialize.cc: New.
319         * testsuite/26_numerics/random/gamma_distribution/cons/
320         parms.cc: New.
321         * testsuite/26_numerics/random/gamma_distribution/cons/
322         default.cc: New.
323         * testsuite/26_numerics/random/gamma_distribution/requirements/
324         typedefs.cc: New.
325         * testsuite/26_numerics/random/gamma_distribution/operators/
326         serialize.cc: New.
327         * testsuite/26_numerics/random/fisher_f_distribution/cons/
328         parms.cc: New.
329         * testsuite/26_numerics/random/fisher_f_distribution/cons/
330         default.cc: New.
331         * testsuite/26_numerics/random/fisher_f_distribution/requirements/
332         typedefs.cc: New.
333         * testsuite/26_numerics/random/fisher_f_distribution/operators/
334         serialize.cc: New.
335
336         * testsuite/26_numerics/random/exponential_distribution/cons/
337         parms.cc: New.
338         * testsuite/26_numerics/random/exponential_distribution/cons/
339         default.cc: New.
340         * testsuite/26_numerics/random/exponential_distribution/requirements/
341         typedefs.cc: New.
342         * testsuite/26_numerics/random/exponential_distribution/operators/
343         serialize.cc: New.
344         * testsuite/26_numerics/random/lognormal_distribution/cons/
345         parms.cc: New.
346         * testsuite/26_numerics/random/lognormal_distribution/cons/
347         default.cc: New.
348         * testsuite/26_numerics/random/lognormal_distribution/requirements/
349         typedefs.cc: New.
350         * testsuite/26_numerics/random/lognormal_distribution/operators/
351         serialize.cc: New.
352         * testsuite/26_numerics/random/binomial_distribution/cons/
353         parms.cc: New.
354         * testsuite/26_numerics/random/binomial_distribution/cons/
355         default.cc: New.
356         * testsuite/26_numerics/random/binomial_distribution/requirements/
357         typedefs.cc: New.
358         * testsuite/26_numerics/random/binomial_distribution/operators/
359         serialize.cc: New.
360         * testsuite/26_numerics/random/random_device/cons/
361         token.cc: New.
362         * testsuite/26_numerics/random/random_device/cons/
363         default.cc: New.
364         * testsuite/26_numerics/random/random_device/requirements/
365         typedefs.cc: New.
366         * testsuite/26_numerics/random/extreme_value_distribution/cons/
367         parms.cc: New.
368         * testsuite/26_numerics/random/extreme_value_distribution/cons/
369         default.cc: New.
370         * testsuite/26_numerics/random/extreme_value_distribution/requirements/
371         typedefs.cc: New.
372         * testsuite/26_numerics/random/extreme_value_distribution/operators/
373         serialize.cc: New.
374         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
375         range.cc: New.
376         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
377         default.cc: New.
378         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
379         num_xbound_fun.cc: New.
380         * testsuite/26_numerics/random/piecewise_linear_distribution/cons/
381         initlist_fun.cc: New.
382         * testsuite/26_numerics/random/piecewise_linear_distribution/
383         requirements/typedefs.cc: New.
384         * testsuite/26_numerics/random/piecewise_linear_distribution/operators/
385         serialize.cc: New.
386         * testsuite/26_numerics/random/student_t_distribution/cons/
387         parms.cc: New.
388         * testsuite/26_numerics/random/student_t_distribution/cons/
389         default.cc: New.
390         * testsuite/26_numerics/random/student_t_distribution/requirements/
391         typedefs.cc: New.
392         * testsuite/26_numerics/random/student_t_distribution/operators/
393         serialize.cc: New.
394         * testsuite/26_numerics/random/geometric_distribution/cons/
395         parms.cc: New.
396         * testsuite/26_numerics/random/geometric_distribution/cons/
397         default.cc: New.
398         * testsuite/26_numerics/random/geometric_distribution/requirements/
399         typedefs.cc: New.
400         * testsuite/26_numerics/random/geometric_distribution/operators/
401         serialize.cc: New.
402         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
403         range.cc: New.
404         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
405         default.cc: New.
406         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
407         num_xbound_fun.cc: New.
408         * testsuite/26_numerics/random/piecewise_constant_distribution/cons/
409         initlist_fun.cc: New.
410         * testsuite/26_numerics/random/piecewise_constant_distribution/
411         requirements/typedefs.cc: New.
412         * testsuite/26_numerics/random/piecewise_constant_distribution/
413         operators/serialize.cc: New.
414
415 2009-04-02  Dodji Seketeli  <dodji@redhat.com>
416
417         * include/ext/bitmap_allocator.h: The typedefs should be made public
418         if we want them to be accessible. This has been revealed by the patch
419         that fixes PR c++/26693 in g++.
420
421 2009-04-02  Jakub Jelinek  <jakub@redhat.com>
422
423         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
424         Regenerated.
425         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
426         Regenerated.
427         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
428         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
429         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
430         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
431         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Regenerated.
432         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
433         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
434         Regenerated.
435         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
436
437 2009-03-31  Jason Merrill  <jason@redhat.com>
438
439         * libsupc++/unwind-cxx.h: Correct __cxa_call_terminate prototype.
440
441         PR libstdc++/39310
442         * include/tr1_impl/type_traits (is_function): Add partial
443         specializations with function cv-quals.
444         (__is_function_helper): Remove.
445         (is_member_pointer): Don't define in terms of is_member_*_pointer.
446
447 2009-03-30  Ian Lance Taylor  <iant@google.com>
448
449         * include/backward/hashtable.h (clear): Return quickly if the
450         table is empty.
451
452 2009-03-27  Ian Lance Taylor  <iant@google.com>
453
454         * include/backward/hashtable.h (_S_num_primes): Change to 29.
455         (__stl_prime_list): Add 5 at the start of the list.
456
457 2009-03-25  Edward Smith-Rowland  <3dw4rd@verizon.net>
458
459         * include/std/fstream (basic_filebuf<>::open(const std::string&,
460         ios_base::openmode), basic_ifstream<>::basic_ifstream(const
461         std::string&, ios_base::openmode), basic_ifstream<>::
462         open(const std::string&, ios_base::openmode), basic_ofstream<>::
463         basic_ofstream(const std::string&, ios_base::openmode),
464         basic_ofstream<>::open(const std::string&, ios_base::openmode),
465         basic_fstream<>::basic_fstream(const std::string&, ios_base::openmode),
466         basic_fstream<>::open(const std::string&, ios_base::openmode)):
467         Add in C++0x mode.
468         * testsuite/27_io/basic_ofstream/open/char/2.cc: New.
469         * testsuite/27_io/basic_ofstream/cons/char/2.cc: Likewise.
470         * testsuite/27_io/basic_fstream/open/char/1.cc: Likewise.
471         * testsuite/27_io/basic_fstream/cons/char/1.cc: Likewise.
472         * testsuite/27_io/basic_ifstream/open/char/2.cc: Likewise.
473         * testsuite/27_io/basic_ifstream/cons/char/2.cc: Likewise.
474         * testsuite/27_io/basic_filebuf/open/char/5.cc: Likewise.
475
476 2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
477
478         * testsuite/27_io/basic_ofstream/cons/char/2.cc: Rename to...
479         * testsuite/27_io/basic_ofstream/cons/char/1.cc: ... this.    
480         * testsuite/27_io/basic_fstream/cons/3.cc: Rename to...
481         * testsuite/27_io/basic_fstream/cons/1.cc: ... this.
482
483 2009-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
484
485         * include/bits/forward_list.h (_Fwd_list_node_base<>::
486         _M_transfer_after, _M_reverse_after): Move out of line...
487         * include/bits/forward_list.tcc: ... here.
488         (forward_list<>::reverse): Move inline...
489         * include/bits/forward_list.h: ... here; minor cosmetic changes.
490
491 2009-03-22  Mark Mitchell  <mark@codesourcery.com>
492
493         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/
494         28277.cc: Likewise.
495         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-3.cc:
496         Likewise.
497         * testsuite/27_io/basic_ostream/inserters_character/wchar_t/28277-4.cc:
498         Likewise.
499         * testsuite/ext/vstring/inserters_extractors/wchar_t/28277.cc:
500         Likewise.
501
502 2009-03-22  Mark Mitchell  <mark@codesourcery.com>
503
504         * testsuite/25_algorithms/search_n/iterator.cc: Update copyright
505         year(s).
506         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
507         * testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
508         Likewise.
509         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
510         Likewise.
511         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
512         Likewise.
513         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
514
515 2009-03-22  Mark Mitchell  <mark@codesourcery.com>
516
517         * testsuite/25_algorithms/search_n/iterator.cc: Condition
518         iterations for simulators.
519         * testsuite/25_algorithms/heap/moveable.cc: Likewise.
520         * testsuite/21_strings/basic_string/inserters_extractors/char/28277.cc
521         Condition stream width for simulators.
522         * testsuite/27_io/basic_ostream/inserters_character/char/28277-3.cc:
523         Likewise.
524         * testsuite/27_io/basic_ostream/inserters_character/char/28277-4.cc:
525         Likewise.
526         * testsuite/ext/vstring/inserters_extractors/char/28277.cc: Likewise.
527
528 2009-03-17  Benjamin Kosnik  <bkoz@redhat.com>
529
530         * doc/xml/manual/appendix_contributing.xml: Add docbook style
531         sheet version information. Table-ize docbook element examples.
532         * doc/xml/manual/using.xml: Human-readable header
533         markup. Alphabetized. Add new headers.
534         * doc/html: Regenerate.
535
536 2009-03-15  Paolo Carlini  <paolo.carlini@oracle.com>
537
538         * doc/xml/faq.xml: Fix link to setup documentation.
539
540 2009-03-14  Paolo Carlini  <paolo.carlini@oracle.com>
541
542         * include/std/type_traits (__add_lvalue_reference_helper,
543         __add_rvalue_reference_helper): As an optimization, rewrite
544         condition (avoid is_function).
545
546 2009-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
547
548         PR libstdc++/39405
549         * testsuite/20_util/shared_ptr/cons/39405.cc: New.
550         * testsuite/tr1/2_general_utilities/shared_ptr/cons/39405.cc: Likewise.
551
552 2009-03-12  Benjamin Kosnik  <bkoz@redhat.com>
553
554         * testsuite/30_threads/condition_variable_any/native_handle/
555         typesizes.cc: Include tweaks.
556         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
557         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
558         * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
559         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
560         * testsuite/30_threads/condition_variable/native_handle/
561         typesizes.cc: Same.
562
563 2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
564
565         * include/bits/shared_ptr.h: Add include guards.
566         * include/tr1/shared_ptr.h: Likewise.
567
568 2009-03-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
569
570         * include/std/iostream: Fix doxygen link.
571         * include/bits/forward_list.h: Fix doxygen markup.
572         * include/ext/vstring.h: Escape backslash in doxygen comment.
573         * include/bits/basic_string.h: Likewise.
574
575 2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
576
577         * doc/xml/faq.xml: Fix links to implementation status pages.
578
579 2009-03-10  Paolo Carlini  <paolo.carlini@oracle.com>
580
581         * include/std/complex (operator+(const complex<>&, const _Tp&),
582         operator+(const _Tp&, const complex<>&),
583         operator-(const complex<>&, const _Tp&),
584         operator-(const _Tp&, const complex<>&)): Do not assume real()
585         returns a reference (against DR 387).
586         * testsuite/26_numerics/complex/dr387_2.cc: New.
587
588 2009-03-02  Benjamin Kosnik  <bkoz@redhat.com>
589
590         * testsuite/thread/pthread4.cc: Move...
591         * testsuite/21_strings/basic_string/pthread4.cc: ...here.
592         * testsuite/thread/pthread5.cc: Move...
593         * testsuite/23_containers/list/pthread5.cc: ...here.
594         * testsuite/thread/pthread6.cc: Move...
595         * testsuite/23_containers/map/pthread6.cc: ...here.
596         * testsuite/thread/pthread7-rope.cc: Move...
597         * testsuite/ext/rope/pthread7-rope.cc: ...here.
598         * testsuite/thread/guard.cc: Move...
599         * testsuite/18_support/pthread_guard.cc: ...here.
600         * testsuite/thread/18185.cc: Move...
601         * testsuite/21_strings/basic_string/pthread18185.cc: ...here.
602         * testsuite/thread/pthread1.cc: Move...
603         * testsuite/23_containers/list/pthread1.cc: ...here.
604         * testsuite/thread/pthread2.cc: Move...
605         * testsuite/27_io/basic_ofstream/pthread2.cc: ...here.
606         * testsuite/thread/pthread3.cc: Move...
607         * testsuite/27_io/basic_ostringstream/pthread3.cc: ...here.
608
609         * testsuite/libstdc++-dg/conformance.exp: Remove thread directory.
610         * testsuite/thread: Remove.
611
612 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
613
614         * configure: Regenerate.
615
616 2009-02-23  Adam Nemet  <anemet@caviumnetworks.com>
617
618         * testsuite/libstdc++-abi/abi.exp: Add multilib support.
619         * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove MULTISUBDIR
620         from baseline_dir.
621         * configure: Regenerate.
622         * testsuite/Makefile.am (baseline_file): Remove variable.
623         (site.exp): Set baseline_dir rather than baseline_file.
624         (check-abi): Pass AM_RUNTESTFLAGS and RUNTESTFLAGS to runtest.
625         * testsuite/Makefile.in: Regenerate.
626
627 2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>
628
629         * testsuite/30_threads/thread/this_thread: Move...
630         * testsuite/30_threads/this_thread: ...here.
631         * testsuite/20_util/unique_ptr/assign/assign.cc: Move...
632         * testsuite/20_util/unique_ptr/assign/assign_neg.cc: ...here.
633         * testsuite/20_util/ratio/cons/cons_overflow.cc: Move...
634         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: ...here.
635         * testsuite/20_util/ratio/operations/ops_overflow.cc: Move...
636         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: ...here.
637
638 2009-02-20  Benjamin Kosnik  <bkoz@redhat.com>
639
640         * doc/doxygen/user.cfg.in: Tweaks.
641         * doc/doxygen/doxygroups.cc: Prefer markup that can be elsewhere,
642         be elsewhere.
643
644         * include/tr1_impl/unordered_map: Just use most specialized
645         container module.
646         * include/tr1_impl/unordered_set: Same.
647         * include/tr1_impl/array: Same.
648         * include/bits/stl_list.h: Same.
649         * include/bits/stl_map.h: Same.
650         * include/bits/stl_queue.h: Same.
651         * include/bits/stl_set.h: Same.
652         * include/bits/stl_stack.h: Same.
653         * include/bits/forward_list.h: Same.
654         * include/bits/basic_string.h: Same.
655         * include/bits/stl_multimap.h: Same.
656         * include/bits/stl_vector.h: Same.
657         * include/bits/stl_deque.h: Same.
658         * include/bits/stl_multiset.h: Same.
659         * include/bits/stl_bvector.h: Same.
660
661         * include/backward/binders.h: Change binder module to binders.
662
663         * include/std/complex: Add complex_numers module.
664         * include/tr1_impl/complex: Same.
665
666         * include/std/valarray: Add numeric_arrays module.
667         * include/bits/gslice_array.h: Same.
668         * include/bits/gslice.h: Same.
669         * include/bits/mask_array.h: Same.
670         * include/bits/slice_array.h: Same.
671         * include/bits/indirect_array.h: Same.
672
673         * include/bits/allocator.h: Add allocators module.
674         * include/ext/throw_allocator.h
675         * include/ext/pool_allocator.h
676         * include/ext/bitmap_allocator.h
677         * include/ext/new_allocator.h
678         * include/ext/malloc_allocator.h
679         * include/ext/array_allocator.h
680         * include/ext/mt_allocator.h
681         * include/ext/debug_allocator.h
682         * include/ext/extptr_allocator.h
683
684         * include/tr1_impl/functional: Move namespace markup here.
685         * include/tr1_impl/regex: Same.
686
687         * include/tr1_impl/type_traits: Add metaprogramming module.
688         * include/std/type_traits: Same.
689
690         * include/std/memory: Add memory module.
691
692         * include/std/ratio: Add ratio module.
693
694         * include/std/chrono: Move namespace markup here, add time module.
695
696         * include/std/thread: Move namespace markup here, add concurrency
697         module.
698         * include/std/mutex: Use concurrency module.
699         * include/std/condition_variable: Same.
700
701
702         * include/bits/ios_base.h: Refine io module.
703         * include/bits/basic_ios.h: Same.
704         * include/std/fstream: Same.
705         * include/std/istream: Same.
706         * include/std/ostream: Same.
707         * include/std/sstream: Same.
708
709         * include/ext/vstring.h: Correct parameter markup.
710
711         * include/bits/shared_ptr.h: Add pointer_abstractions module.
712         * include/bits/unique_ptr.h: Same.
713
714         * include/bits/algorithmfwd.h: Add mutating_algorithms,
715         non_mutating_algorithms, sorting_algorithms. Adjust nesting.
716         * include/bits/stl_heap.h: Add markup for new groupings.
717         * include/bits/stl_algobase.h: Same.
718         * include/bits/stl_algo.h: Same.
719
720         * include/c_compatibility/stdatomic.h: Add atomics module.
721         * include/c_global/cstdatomic: Same.
722
723         * libsupc++/exception: Add exceptions module.
724         * libsupc++/typeinfo: Same.
725         * libsupc++/new: Same.
726         * libsupc++/exception_ptr.h: Same.
727         * include/std/system_error: Same.
728         * include/std/stdexcept: Same.
729
730         * libsupc++/cxxabi.h: Move doxygroups.cc markup here.
731         * libsupc++/cxxabi-forced.h: Same.
732
733         * testsuite/27_io/ios_base/cons/assign_neg.cc: Fix up line numbers.
734         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
735         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Same.
736         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
737         * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
738         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
739         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
740         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
741         * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
742         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
743         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
744         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
745         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
746         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
747         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
748         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
749         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
750         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
751         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
752         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
753         * testsuite/23_containers/vector/requirements/dr438/
754         constructor_1_neg.cc: Same.
755         * testsuite/23_containers/vector/requirements/dr438/
756         constructor_2_neg.cc: Same.
757         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
758         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
759         * testsuite/23_containers/deque/requirements/dr438/
760         constructor_1_neg.cc: Same.
761         * testsuite/23_containers/deque/requirements/dr438/
762         constructor_2_neg.cc: Same.
763         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
764         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
765         * testsuite/23_containers/list/requirements/dr438/
766         constructor_1_neg.cc: Same.
767         * testsuite/23_containers/list/requirements/dr438/
768         constructor_2_neg.cc: Same.
769         * testsuite/20_util/duration/cons/1_neg.cc: Same.
770         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
771         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
772         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
773         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
774         * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
775         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
776         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
777         * testsuite/20_util/ratio/cons/cons_overflow.cc: Same.
778         * testsuite/20_util/ratio/operations/ops_overflow.cc: Same.
779
780 2009-02-18  Benjamin Kosnik  <bkoz@redhat.com>
781
782         * doc/doxygen/doxygroups.cc: Move algorithm groups into algorithmfwd.h.
783         * doc/doxygen/user.cfg.in: Update.
784         * scripts/run_doxygen: Adjust for new group names.
785
786         * include/tr1_impl/random: Update doxygen group markup.
787         * include/tr1_impl/unordered_map: Same.
788         * include/tr1_impl/unordered_set: Same.
789         * include/tr1_impl/array: Same.
790         * include/std/numeric: Same.
791         * include/std/utility: Same.
792         * include/std/bitset: Same.
793         * include/std/iosfwd: Same.
794         * include/bits/stl_list.h: Same.
795         * include/bits/stl_map.h: Same.
796         * include/bits/stl_algobase.h: Same.
797         * include/bits/stl_queue.h: Same.
798         * include/bits/stl_set.h: Same.
799         * include/bits/stl_stack.h: Same.
800         * include/bits/stl_iterator_base_types.h: Same.
801         * include/bits/forward_list.h: Same.
802         * include/bits/basic_string.h: Same.
803         * include/bits/stl_multimap.h: Same.
804         * include/bits/stl_vector.h: Same.
805         * include/bits/stl_deque.h: Same.
806         * include/bits/stl_multiset.h: Same.
807         * include/bits/stl_algo.h: Same.
808         * include/bits/stl_bvector.h: Same.
809         * include/bits/algorithmfwd.h: Same.
810         * include/bits/stl_function.h: Same.
811         * include/tr1/cmath: Same.
812         * include/backward/binders.h: Same.
813
814 2009-02-17  Benjamin Kosnik  <bkoz@redhat.com>
815
816         * include/std/system_error (system_category): To system_category().
817         (generic_category): To generic_category. DR 890.
818         * src/system_error.cc: Define.
819         * include/bits/functexcept.h: Only one __throw_system_error.
820         * src/functexcept.cc: Same.
821         * include/std/mutex: Fixup for changes above.
822         * testsuite/19_diagnostics/error_condition/cons/1.cc: Same.
823         * testsuite/19_diagnostics/error_code/cons/1.cc: Same.
824         * testsuite/19_diagnostics/system_error/cons-1.cc: Same.
825         * config/abi/pre/gnu.ver: Clean up exports.
826
827 2009-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
828
829         * include/std/thread: Fix typo.
830         * src/thread.cc (thread::join): Use NULL.
831
832 2009-02-15  Paolo Carlini  <paolo.carlini@oracle.com>
833
834         PR libstdc++/39168
835         * src/locale_facets.cc (__verify_grouping(const char*, size_t,
836         const string&)): Also check that the value != CHAR_MAX.
837         * include/bits/locale_facets.tcc (__numpunct_cache<>::
838         _M_cache(const locale&), __add_grouping(_CharT*, _CharT,
839         const char*, size_t, const _CharT*, const _CharT*)): Likewise.
840         * include/bits/locale_facets_nonio.tcc (__moneypunct_cache<>::
841         _M_cache(const locale&)): Likewise.
842         * testsuite/22_locale/money_put/put/wchar_t/39168.cc: New.
843         * testsuite/22_locale/money_put/put/char/39168.cc: Likewise.
844         * testsuite/22_locale/money_get/get/wchar_t/39168.cc: Likewise.
845         * testsuite/22_locale/money_get/get/char/39168.cc: Likewise.
846         * testsuite/22_locale/num_get/get/wchar_t/39168.cc: Likewise.
847         * testsuite/22_locale/num_get/get/char/39168.cc: Likewise.
848
849 2009-02-13  Chris Fairles  <cfairles@gcc.gnu.org>
850             Benjamin Kosnik  <bkoz@redhat.com>
851
852         * include/std/thread (_Impl_base): Move _M_id out and into ...
853         (thread): ...here. Call _M_make_routine in body of constructors.
854         Adjust data member usage to reflect changes.
855         (_M_make_routine): From _M_make_shared_data.
856         (_M_start_thread): Add __shared_base_type argument.
857         * src/thread.cc: Fixups for above.
858         * config/abi/pre/gnu.ver: Adjust exports.
859         * testsuite/30_threads/thread/native_handle/typesizes.cc: Enable.
860         * testsuite/30_threads/thread/cons/assign_neg.cc: Adjust line numbers.
861         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
862
863 2009-02-12  Benjamin Kosnik  <bkoz@redhat.com>
864
865         * testsuite/util/thread/all.h (compare_type_to_native_type_sizes): To...
866         (compare_type_to_native_type): ...this, add alignment check.
867         * testsuite/30_threads/condition_variable_any/native_handle/
868         typesizes.cc: Modify as above.
869         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
870         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
871         * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
872         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
873         * testsuite/30_threads/condition_variable/native_handle/
874         typesizes.cc: Same.
875         * testsuite/30_threads/recursive_timed_mutex/native_handle/
876         typesizes.cc: Same.
877
878         * testsuite/30_threads/thread/cons/1.cc: Add comments.
879         * testsuite/30_threads/thread/cons/2.cc: Same.
880         * testsuite/30_threads/thread/cons/3.cc: Same.
881         * testsuite/30_threads/thread/cons/4.cc: Same.
882         * testsuite/30_threads/thread/cons/5.cc: Same.
883         * testsuite/30_threads/thread/cons/6.cc: Same.
884         * testsuite/30_threads/thread/cons/7.cc: Same.
885         * testsuite/30_threads/thread/cons/8.cc: Same.
886
887         * testsuite/30_threads/thread/cons/9.cc: New.
888         * testsuite/30_threads/thread/cons/moveable.cc: New.
889
890         * src/condition_variable.cc: Clean up whitespace.
891         * include/std/condition_variable: Same.
892
893 2009-02-09  Benjamin Kosnik  <bkoz@redhat.com>
894
895         * include/std/condition_variable (condition_variable): Remove
896         _M_internal_mutex. Add private __native_type typedef.
897         * src/condition_variable.cc (condition_variable::notify_one):
898         Remove _M_internal_mutex use. Use typedef.
899         (condition_variable::notify_all): Same.
900         * include/std/mutex (mutex): Add private __native_type typedef. Use it.
901         (recursive_mutex): Same.
902         (timed_mutex): Same.
903         (recursive_timed_mutex): Same.
904         (once_flag): Make __native_type typedef private.
905
906         * include/std/thread (this_thread): Add minimal markup.
907
908         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
909         Adjust line numbers.
910         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Same.
911         * testsuite/30_threads/mutex/cons/assign_neg.cc: Same.
912         * testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
913         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Same.
914         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Same.
915         * testsuite/30_threads/thread/cons/assign_neg.cc: Same.
916         * testsuite/30_threads/thread/cons/copy_neg.cc: Same.
917         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
918         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.
919         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Same.
920         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Same.
921         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: Same.
922         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Same.
923
924         * testsuite/util/thread/all.h: Testsuite utilities for testing thread.
925         * testsuite/30_threads/condition_variable_any/native_handle/
926         typesizes.cc: New.
927         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Same.
928         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Same.
929         * testsuite/30_threads/thread/native_handle/typesizes.cc: Same.
930         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: Same.
931         * testsuite/30_threads/condition_variable/native_handle/
932         typesizes.cc: Same.
933         * testsuite/30_threads/recursive_timed_mutex/native_handle/
934         typesizes.cc: Same.
935
936 2009-02-09  Jack Howarth  <howarth@bromo.med.uc.edu>
937
938         PR testsuite/33300
939         * libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
940         on darwin for lp64.
941
942 2009-02-09  Adam Nemet  <anemet@caviumnetworks.com>
943
944         * configure.host: Set abi_baseline_pair for mips64*-linux.
945         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: New file.
946
947 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
948
949         * include/std/thread (this_thread::get_id): Inline.
950
951 2009-02-08  Chris Fairles  <cfairles@gcc.gnu.org>
952
953         * include/std/thread (thread<>::thread(_Callable)): Explicitly use
954         _Callable as template argument for _M_make_shared_data.
955         * testsuite/30_threads/thread/cons/6.cc: New.
956         * testsuite/30_threads/thread/cons/7.cc: New.
957         * testsuite/30_threads/thread/cons/8.cc: New.
958
959 2009-02-07  Benjamin Kosnik  <bkoz@redhat.com>
960
961         * testsuite/30_threads/thread/member: To..
962         * testsuite/30_threads/thread/members: ...this.
963         * testsuite/30_threads/condition_variable/member: To...
964         * testsuite/30_threads/condition_variable/members: ...this.
965
966 2009-02-06  Benjamin Kosnik  <bkoz@redhat.com>
967
968         * include/std/thread (thread::id): Move definition inside thread.
969         Use native_handle_type. Remove this_thread::get_id friend.
970         Change __thread_data_ptr to __shared_base_ptr.
971         (thread::id::id(native_handle_type): Make public. Still explicit.
972         Use native_handle_type. Change _M_thread_id to _M_thread.
973         (thread::__thread_data_base): Rename to _Impl_base. Use id, change
974         _M_thread_handle to _M_id.
975         (thread::__thread_data): Rename to _Impl.
976         Fixup for renames.
977         (thread::_M_make_thread_data): Return derived type.
978         (thread::hardware_concurrency): Add definition for default case.
979         (thread::get_id): Now can define inline.
980         (thread): Change _M_thread_data to _M_data.
981         (this_thread::get_id): Now can define inline.
982         * src/thread.cc (__thread_proxy): Rename to
983         execute_native_thread_routine.
984         Fixup for other renames.
985         * testsuite/30_threads/thread/cons/assign_neg.cc: New.
986         * testsuite/30_threads/thread/cons/copy_neg.cc: New.
987         * testsuite/30_threads/thread/algorithm: Move to..
988         * testsuite/30_threads/thread/swap: ...this.
989         * testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
990         * testsuite/30_threads/thread/id/operators.cc: New.
991
992 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
993
994         * include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
995         (_Head_base<>::__swap_impl): Rename to _M_swap_impl.
996         (_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
997         exposing it in public std::tuple interface.
998
999 2009-02-05  Chris Fairles  <cfairles@gcc.gnu.org>
1000             Benjamin Kosnik  <bkoz@redhat.com>
1001
1002         * include/std/thread (__thread_data_base): Nest class in std::thread.
1003         (__thread_data): Likewise.
1004         (__thread_data_ptr): Nest typedef in std::thread.
1005         * src/thread.cc (__thread_proxy): Qualify the above names.
1006         * config/abi/pre/gnu.ver: Remove unused exports.
1007
1008 2009-02-04  Benjamin Kosnik  <bkoz@redhat.com>
1009
1010         * include/bits/unique_ptr.h: Remove private __this_type typedef.
1011         * include/bits/stl_vector.h: Remove private vector_type typedef.
1012         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1013         Fix line numbers.
1014         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
1015         * testsuite/23_containers/vector/requirements/dr438/
1016         constructor_1_neg.cc: Same.
1017         * testsuite/23_containers/vector/requirements/dr438/
1018         constructor_2_neg.cc: Same.
1019         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Same.
1020         * testsuite/20_util/unique_ptr/assign/assign.cc: Same.
1021
1022 2009-02-03  Paolo Carlini  <paolo.carlini@oracle.com>
1023
1024         PR libstdc++/25191
1025         * libsupc++/exception_defines.h: Depending on __EXCEPTIONS,
1026         deal consistently with __try and __catch too.
1027         * src/localename.cc: Replace try -> __try, catch -> __catch.
1028         * src/ios.cc: Likewise.
1029         * src/locale.cc: Likewise.
1030         * src/istream.cc: Likewise.
1031         * src/thread.cc: Likewise.
1032         * src/compatibility.cc: Likewise.
1033         * src/bitmap_allocator.cc: Likewise.
1034         * src/ios_init.cc: Likewise.
1035         * include/debug/deque: Likewise.
1036         * include/debug/list: Likewise.
1037         * include/tr1_impl/hashtable: Likewise.
1038         * include/std/bitset: Likewise.
1039         * include/ext/pb_ds/detail/resize_policy/
1040         hash_load_check_resize_trigger_imp.hpp: Likewise.
1041         * include/ext/pb_ds/detail/resize_policy/
1042         hash_standard_resize_policy_imp.hpp: Likewise.
1043         * include/ext/pb_ds/detail/cc_hash_table_map_/
1044         resize_fn_imps.hpp: Likewise.
1045         * include/ext/pb_ds/detail/cc_hash_table_map_/
1046         constructor_destructor_fn_imps.hpp: Likewise.
1047         * include/ext/pb_ds/detail/pat_trie_/
1048         split_join_branch_bag.hpp: Likewise.
1049         * include/ext/pb_ds/detail/pat_trie_/
1050         constructors_destructor_fn_imps.hpp: Likewise.
1051         * include/ext/pb_ds/detail/bin_search_tree_/
1052         constructors_destructor_fn_imps.hpp: Likewise.
1053         * include/ext/pb_ds/detail/gp_hash_table_map_/
1054         resize_fn_imps.hpp: Likewise.
1055         * include/ext/pb_ds/detail/gp_hash_table_map_/
1056         constructor_destructor_fn_imps.hpp: Likewise.
1057         * include/ext/pb_ds/detail/binary_heap_/
1058         constructors_destructor_fn_imps.hpp: Likewise.
1059         * include/ext/pb_ds/detail/binary_heap_/
1060         erase_fn_imps.hpp: Likewise.
1061         * include/ext/pb_ds/detail/binary_heap_/
1062         split_join_fn_imps.hpp: Likewise.
1063         * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1064         constructors_destructor_fn_imps.hpp: Likewise.
1065         * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
1066         * include/ext/pb_ds/detail/list_update_map_/
1067         constructor_destructor_fn_imps.hpp: Likewise.
1068         * include/ext/slist: Likewise.
1069         * include/ext/memory: Likewise.
1070         * include/ext/rc_string_base.h: Likewise.
1071         * include/ext/ropeimpl.h: Likewise.
1072         * include/ext/vstring.tcc: Likewise.
1073         * include/ext/rope: Likewise.
1074         * include/ext/sso_string_base.h: Likewise.
1075         * include/bits/shared_ptr.h: Likewise.
1076         * include/bits/stl_list.h: Likewise.
1077         * include/bits/locale_classes.tcc: Likewise.
1078         * include/bits/locale_facets.tcc: Likewise.
1079         * include/bits/locale_classes.h: Likewise.
1080         * include/bits/forward_list.h: Likewise.
1081         * include/bits/stl_vector.h: Likewise.
1082         * include/bits/stl_deque.h: Likewise.
1083         * include/bits/istream.tcc: Likewise.
1084         * include/bits/stl_uninitialized.h: Likewise.
1085         * include/bits/ostream.tcc: Likewise.
1086         * include/bits/vector.tcc: Likewise.
1087         * include/bits/stl_tempbuf.h: Likewise.
1088         * include/bits/deque.tcc: Likewise.
1089         * include/bits/basic_string.tcc: Likewise.
1090         * include/bits/ostream_insert.h: Likewise.
1091         * include/bits/locale_facets_nonio.tcc: Likewise.
1092         * include/bits/stl_tree.h: Likewise.
1093         * include/bits/fstream.tcc: Likewise.
1094         * include/tr1/shared_ptr.h: Likewise.
1095         * include/tr1/hypergeometric.tcc: Likewise.
1096         * include/backward/hashtable.h: Likewise.
1097         * libsupc++/exception_ptr.h: Likewise.
1098         * libsupc++/eh_personality.cc: Likewise.
1099         * libsupc++/eh_call.cc: Likewise.
1100         * config/locale/gnu/monetary_members.cc: Likewise.
1101         * config/locale/gnu/time_members.h: Likewise.
1102         * config/locale/generic/time_members.h: Likewise.
1103
1104 2009-02-03  Johannes Singler  <singler@ira.uka.de>
1105
1106         * include/parallel/algorithmfwd.h:
1107         Add parallelism default for many declarations.
1108         * include/parallel/numericfwd.h: Likewise.
1109         * include/parallel/iterator.h: Use iterator_traits as usual.
1110         * include/parallel/par_loop.h:
1111         Include equally_split.h.
1112         (for_each_template_random_access_ed):
1113         Avoid calling the Result default constructor.
1114         * include/parallel/numeric: Replace
1115         for_each_template_random_access by
1116         for_each_template_random_access_ed in numeric functions.
1117
1118 2009-02-02  Benjamin Kosnik  <bkoz@redhat.com>
1119
1120         * config/os/gnu-linux/os_defines.h: Remove superfluous
1121         __NO_STRING_INLINES.
1122
1123 2009-02-02  Jakub Jelinek  <jakub@redhat.com>
1124
1125         * testsuite/21_strings/c_strings/char/3.cc: New test.
1126         * testsuite/21_strings/c_strings/wchar_t/3.cc: New test.
1127
1128 2009-01-30  Ulrich Drepper  <drepper@redhat.com>
1129             Jakub Jelinek  <jakub@redhat.com>
1130
1131         PR libstdc++/30928 (partial, works together with recent glibcs)
1132         * include/c_std/cstring (memchr, strchr, strpbrk, strrchr, strstr):
1133         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
1134         defined.
1135         * include/c_std/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
1136         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
1137         defined.
1138         * include/c_global/cstring (memchr, strchr, strpbrk, strrchr, strstr):
1139         Provide inlines only if __CORRECT_ISO_CPP_STRING_H_PROTO is not
1140         defined.
1141         * include/c_global/cwchar (wcschr, wcspbrk, wcsrchr, wcsstr, wmemchr):
1142         Provide inlines only if __CORRECT_ISO_CPP_WCHAR_H_PROTO is not
1143         defined.
1144         * testsuite/21_strings/c_strings/char_t/2.cc (test02): If first
1145         argument is const char *, assign result to const char * var, not
1146         char *.
1147         * testsuite/21_strings/c_strings/wchar_t/2.cc (test02): If first
1148         argument is const wchar_t *, assign result to const wchar_t * var, not
1149         wchar_t *.
1150
1151 2009-01-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
1152
1153         * include/std/thread: Remove unused headers.
1154         (__thread_data_base): Remove unused mutex and base.
1155         (thread::~thread): Only detach if joinable.
1156         (thread::joinable): Test if thread data ptr is empty.
1157         (thread::_M_thread_data_mutex): Remove.
1158         (thread::_M_get_thread_data): Remove.
1159         (thread::_M_make_thread_data): Remove overload, use make_shared.
1160         (thread::id::id): Make constructor explicit.
1161         * src/thread.cc (thread::join,thread::detach): Throw if not joinable.
1162         (thread::_M_start_thread): Break shared_ptr cycle on error.
1163         (__thread_proxy): Use shared_ptr swap instead of copy and reset.
1164         * testsuite/30_threads/thread/member/4.cc: New.
1165         * testsuite/30_threads/thread/member/5.cc: New.
1166
1167 2009-01-28  Benjamin Kosnik  <bkoz@redhat.com>
1168
1169         * testsuite/util/testsuite_common_types.h (has_trivial_cons_dtor): New.
1170         (standard_layout): Just use !has_virtual_destructor for now.
1171         * testsuite/30_threads/mutex/requirements/standard_layout.cc: New.
1172         * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: New.
1173         * testsuite/30_threads/recursive_mutex/requirements/
1174         standard_layout.cc: New.
1175         * testsuite/30_threads/condition_variable/requirements/
1176         standard_layout.cc: New.
1177         * testsuite/29_atomics/atomic_address/requirements/
1178         standard_layout.cc: Adjust.
1179         * testsuite/29_atomics/atomic_flag/requirements/
1180         standard_layout.cc: Same.
1181         * testsuite/29_atomics/atomic_address/requirements/trivial.cc: New.
1182         * testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
1183         * testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
1184         * testsuite/30_threads/condition_variable/requirements/typedefs.cc: New.
1185         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Adjust
1186         line numbers.
1187         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
1188         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
1189         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
1190         * testsuite/29_atomics/atomic/requirements/standard_layout.cc:
1191         Remove, not required.
1192
1193 2009-01-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1194
1195         * include/std/thread (__thread_data_base, thread): Rename member
1196         functions to match coding style.
1197         (thread::thread,thread::operator=): Define move operations.
1198         * src/thread.cc (__thread_data_base, thread): Rename member functions.
1199         * config/abi/pre/gnu.ver: Adjust.
1200
1201 2009-01-22  Benjamin Kosnik  <bkoz@redhat.com>
1202
1203         PR libstdc++/38384
1204         * acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Disable symbol versioning
1205         on HPUX.
1206         * configure: Regenerate.
1207
1208 2009-01-21  Benjamin Kosnik  <bkoz@redhat.com>
1209
1210         * testsuite/29_atomics/headers/stdatomic.h/functions.c: Remove
1211         atomic_flag_fence.
1212
1213 2009-01-21  Dodji Seketeli  <dodji@redhat.com>
1214
1215 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
1216             Uros Bizjak  <ubizjak@gmail.com>
1217
1218         PR libstdc++/38834
1219         * config/abi/pre/gnu.ver: Correct char16_t and char32_t exports.
1220         * config/os/gnu-linux/ldbl-extra.ver: Tweak.
1221
1222 2009-01-20  Benjamin Kosnik  <bkoz@redhat.com>
1223             Rainer Emrich  <r.emrich@de.tecosim.com>
1224
1225         PR libstdc++/38919
1226         * crossconfig.m4: Use GLIBCXX_CHECK_MATH_SUPPORT and
1227         GLIBCXX_CHECK_STDLIB_SUPPORT for mingw crosses.
1228         * configure: Regenerate.
1229
1230 2009-01-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1231
1232         * include/std/thread (__thread_data_base::__run): Make non-const.
1233         * testsuite/30_threads/thread/cons/5.cc: New.
1234
1235 2009-01-16  Benjamin Kosnik  <bkoz@redhat.com>
1236
1237         * src/Makefile.am (sources): Add math_stubs_float.cc.
1238         * src/Makefile.in: Regenerate.
1239         * src/math_stubs_float.cc: New, from libmath/stubs.c.
1240
1241 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
1242
1243         * src/Makefile.am (sources): Add math_stubs_long_double.cc.
1244         * src/Makefile.in: Regenerate.
1245         * src/math_stubs_long_double.cc: New, from libmath/stubs.c.
1246
1247 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
1248
1249         PR libstdc++/32666
1250         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1251
1252 2009-01-15  Benjamin Kosnik  <bkoz@redhat.com>
1253
1254         PR libstdc++/32666
1255         * Makefile.am (hosted_source): Remove libmath directory.
1256         * Makefile.in: Regenerate.
1257         * linkage.m4 (GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT): Remove.
1258         (AC_REPLACE_MATHFUNCS): Remove.
1259         (GLIBCXX_CHECK_MATH_SUPPORT): Remove copysign, copysignl checks as done
1260         in GLIBCXX_CHECK_C99_TR1.
1261         * acinclude.m4: Remove libmath, need_math.
1262         * crossconfig.m4: Remove use of HAVE_COPYSIGN, HAVE_COPYSIGNL,
1263         HAVE_COPYSIGNF, GLIBCXX_CHECK_COMPLEX_MATH_SUPPORT, need_libmath.
1264         * configure.ac: Same.
1265         * configure: Regenerate.
1266         * fragment.am: Fix comment.
1267         * config.h.in: Regenerate.
1268         * src/Makefile.in: Regenerate.
1269         * src/Makefile.am: Remove libmath references.
1270         * doc/Makefile.in: Regenerate.
1271         * po/Makefile.in: Regenerate.
1272         * include/Makefile.in: Regenerate.
1273         * libsupc++/Makefile.in: Regenerate.
1274         * testsuite/Makefile.in: Regenerate.
1275
1276         * src/compatibility.cc: Also export long double versions of "C" math
1277         library if hppa-linux.
1278         * config/abi/pre/gnu.ver: Remove unused __signbit exports.
1279         * doc/xml/manual/appendix_contributing.xml: Remove libmath reference.
1280
1281         * libmath: Remove.
1282         * libmath/signbit.c: Same.
1283         * libmath/stubs.c: Same.
1284         * libmath/Makefile.in: Same.
1285         * libmath/copysignf.c: Same.
1286         * libmath/mathconf.h: Same.
1287         * libmath/signbitf.c: Same.
1288         * libmath/Makefile.am: Same.
1289         * libmath/signbitl.c: Same.
1290
1291 2009-01-15  Chris Fairles  <cfairles@gcc.gnu.org>
1292             Paolo Carlini  <paolo.carlini@oracle.com>
1293
1294         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME],
1295         [GLIBCXX_CHECK_NANOSLEEP]): Remove.
1296         ([GLIBCXX_ENABLE_LIBSTDCXX_TIME]): Add.
1297         * configure.ac: Adjust.
1298         * doc/xml/manual/configure.xml: Update.
1299         * testsuite/lib/libstdc++.exp (check_v3_target_sched_yield): Add.
1300         * testsuite/lib/dg-options.exp (dg-require-sched-yield): Add.
1301         * testsuite/30_threads/thread/this_thread/2.cc: Use the latter.
1302         * configure: Regenerate.
1303         * config.h.in: Likewise.
1304
1305         * src/thread.cc (thread::thread(), thread::~thread, thread::get_id,
1306         thread::joinable, thread::swap, this_thread::get_id,
1307         this_thread::yield): Define inline...
1308         * include/std/thread: ... here.
1309         * config/abi/pre/gnu.ver: Adjust.
1310
1311 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
1312
1313         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc:
1314         Add dg-timeout-factor 2.0.
1315         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Ditto.
1316         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Ditto.
1317         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Ditto.
1318         * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Ditto.
1319         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Ditto.
1320         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Ditto.
1321
1322 2009-01-13  Uros Bizjak  <ubizjak@gmail.com>
1323
1324         * scripts/extract_symvers: Add sed script to remove ' [<other>: xx] '
1325         field from readelf output.
1326
1327 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
1328
1329         PR libstdc++/38384
1330         * crossconfig.m4 (hpux): Update for 10.20, 11, 11.20.
1331         * configure: Regenerate.
1332
1333 2009-01-12  Benjamin Kosnik  <bkoz@redhat.com>
1334
1335         * crossconfig.m4 (linux): Add GCC_CHECK_TLS to define
1336         _GLIBCXX_HAVE_TLS.
1337         Use GLIBCXX_CHECK_COMPILER_FEATURES to compute SECTION_FLAGS.
1338
1339 2009-01-11  Jonathan Wakely  <jwakely.gcc@gmail.com>
1340
1341         * include/tr1_impl/regex (basic_regex::basic_regex): Use range
1342         constructor for _M_pattern.
1343         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/char/
1344         string.cc: Test construction from different basic_string type.
1345         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/wchar_t/
1346         string.cc: Likewise.
1347
1348 2009-01-07  Benjamin Kosnik  <bkoz@redhat.com>
1349             Jonathan Larmour  <jifl@eCosCentric.com>
1350
1351         PR libstdc++/36801
1352         * config/cpu/generic/atomicity_mutex/atomicity.h (get_atomic_mutex):
1353         New.
1354         (__gnu_cxx::__exchange_and_add): Use it.
1355         * src/atomic.cc (get_atomic_mutex): New.
1356         * src/debug.cc (get_safe_base_mutex): New.
1357         * src/locale.cc (get_locale_cache_mutex): New.
1358         * src/mt_allocator.cc (get_freelist): New.
1359         (get_freelist_mutex): New.
1360         * src/pool_allocator.cc (get_palloc_mutex): New.
1361         * include/std/mutex (__once_functor_lock): To
1362         (__get_once_functor_lock): ...this.
1363         * src/mutex.cc (__once_mutex): Don't export, use
1364         (get_once_mutex): ...this.
1365         * config/abi/pre/gnu.ver: Adjust exports.
1366
1367 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
1368
1369         PR libstdc++/38732
1370         * libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
1371         referenceCount field again.
1372         (__cxxabiv1::__cxa_refcounted_exception): New struct.
1373         (__cxxabiv1::__get_refcounted_exception_header_from_obj,
1374         __cxxabiv1::__get_refcounted_exception_header_from_ue): New static
1375         inline functions.
1376         * libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
1377         __cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
1378         instead of __cxa_exception.
1379         * libsupc++/eh_throw.cc (__gxx_exception_cleanup,
1380         __cxxabiv1::__cxa_throw): Likewise.
1381         * libsupc++/eh_ptr.cc (std::rethrow_exception,
1382         std::__exception_ptr::exception_ptr::_M_addref,
1383         std::__exception_ptr::exception_ptr::_M_release,
1384         __gxx_dependent_exception_cleanup): Likewise.
1385         * testsuite/18_support/exception/38732.cc: New test.
1386
1387         PR libstdc++/38092
1388         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New test.
1389         * src/compatibility.cc: Don't use .symver directives if
1390         _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE is not defined.
1391         * config.h.in: Regenerated.
1392         * configure: Likewise.
1393
1394 2009-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
1395
1396         PR libstdc++/38466
1397         * include/bits/stl_pair.h: Document C++03 pair vs swap.
1398
1399 2009-01-06  Benjamin Kosnik  <bkoz@redhat.com>
1400
1401         * src/locale_init.cc (locale::_S_initialize_once): Move construction
1402         of classic locale...
1403         (locale::classic): Here.
1404
1405 2009-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1406
1407         * include/tr1_impl/regex: Fix bad return statements and typos.
1408
1409 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
1410
1411         * include/tr1_impl/regex: Remove unimplemented function definitions.
1412         * testsuite/28_regex/init-list.cc: Compile only.
1413         * testsuite/tr1/7_regular_expressions/regex/cons/char/
1414         c_string_extended.cc: Same.
1415         * testsuite/tr1/7_regular_expressions/basic_regex/assign/*: Same.
1416         * testsuite/tr1/7_regular_expressions/basic_regex/ctors/*: Same.
1417
1418 2009-01-05  Benjamin Kosnik  <bkoz@redhat.com>
1419
1420         PR libstdc++/38384
1421         * crossconfig.m4: Define HAVE_FABSF for hpux crosses.
1422         * configure: Regenerate.
1423
1424 2009-01-05  Ben Elliston  <bje@au.ibm.com>
1425
1426         * configure.ac (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove invocation.
1427         * configure: Regenerate.
1428
1429 2009-01-05  Ben Elliston  <bje@au.ibm.com>
1430
1431         * configure.ac: Exchange the order of GLIBCXX_ENABLE_THREADS and
1432         GLIBCXX_ENABLE_ATOMIC_BUILTINS macro invocations.
1433         * configure: Regenerate.
1434
1435 2009-01-04  Richard Guenther  <rguenther@suse.de>
1436
1437         PR libstdc++/38720
1438         * include/ext/pointer.h (_Relative_pointer_impl): Use an unsigned
1439         integer type for storage, arithmetic and comparisons.
1440         * testsuite/ext/ext_pointer/1_neg.cc: Adjust line numbers.
1441
1442 2009-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
1443
1444         PR libstdc++/38719
1445         * include/bits/forward_list.h (_Fwd_list_iterator<>::_M_next,
1446         _Fwd_list_const_iterator::_M_next): Fix return type.
1447
1448 2009-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
1449
1450         * Revert last commit, reopen and suspend libstdc++/38678.
1451
1452 2009-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
1453
1454         PR libstdc++/38678
1455         * include/std/istream (basic_istream<>::_M_read): New.
1456         * include/bits/istream.tcc (basic_istream<>::_M_read): Define.
1457         (basic_istream<>::read, basic_istream<>::readsome): Use it.
1458         * include/std/ostream (basic_ostream<>::_M_write_): New.
1459         (basic_ostream<>::_M_write): Adjust.
1460         * include/bits/ostream.tcc (basic_ostream<>::_M_write_): Define.
1461         * testsuite/27_io/basic_istream/read/char/38678.cc: New.
1462         * testsuite/27_io/basic_istream/read/wchar_t/38678.cc: Likewise.
1463         * testsuite/27_io/basic_ostream/write/char/38678.cc: Likewise.
1464         * testsuite/27_io/basic_ostream/write/wchar_t/38678.cc: Likewise.
1465
1466 2008-12-22  Jonathan Larmour  <jifl@eCosCentric.com>
1467
1468         * include/ext/concurrence.h: Fix __gthread_cond_t initialisation
1469         function macro name.
1470
1471 2008-12-22  Benjamin Kosnik  <bkoz@redhat.com>
1472
1473         * doc/doxygen/stdheader.cc: Add cstdlib.
1474         * doc/doxygen/user.cfg.in: Regenerate for doxygen 1.5.7.
1475
1476 2008-12-21  Andrew Pinski  <pinskia@gmail.com>
1477
1478         PR target/38300
1479         * configure: Regenerate.
1480
1481 2008-12-21  Paolo Carlini  <paolo.carlini@oracle.com>
1482
1483         PR libstdc++/38596
1484         * include/tr1_impl/functional (function<>::target,
1485         function<>::target_type): Provide only when __GXX_RTTI is defined.
1486         (_Function_base::_M_manager, _Ref_manager<>::_M_manager,
1487         _Function_handler<void(_ArgTypes...), _Member _Class::*>::_M_manager):
1488         Adjust.
1489
1490 2008-12-19  Ben Elliston  <bje@au.ibm.com>
1491
1492         * acinclude.m4: Guard a variable test against an empty string.
1493         * configure: Regenerate.
1494
1495 2008-12-18  Jack Howarth  <howarth@bromo.med.uc.edu>
1496
1497         * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
1498         Add xfail on all targets except darwin.
1499         * libstdc++-v3/testsuite/21_strings/basic_string/element_access/char/
1500         1674.cc: Same.
1501         * libstdc++-v3/testsuite/22_locale/ctype/is/char/2.cc: Correct syntax
1502         for xfailing on all targets except linux.
1503
1504 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1505
1506         * configure: Regenerate.
1507
1508 2008-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
1509
1510         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1511         Don't xfail test on darwin8 or later.
1512
1513 2008-12-16  Jack Howarth  <howarth@bromo.med.uc.edu>
1514
1515         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1516         Don't xfail excessive errors on darwin8 or later.
1517
1518 2008-12-15  Benjamin Kosnik  <bkoz@redhat.com>
1519
1520         * include/c_global/cstdatomic: Remove assert include.
1521         * include/debug/debug.h: Consolidate __replacement_assert...
1522         * include/parallel/base.h: Consolidate __replacement_assert...
1523         * include/bits/c++config: ...here.
1524         * include/bits/atomic_0.h: Use it.
1525         * include/bits/atomic_2.h: Same.
1526         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
1527         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
1528
1529 2008-12-13  Benjamin Kosnik  <bkoz@redhat.com>
1530
1531         * src/atomic.cc: Revert last change.
1532         * include/bits/atomic_2.h: Move cassert include to...
1533         * include/c_global/cstdatomic: ...here.
1534         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
1535         * testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
1536
1537 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
1538
1539         * src/Makefile.am: Remove -x c++ for atomic build rules.
1540         * src/Makefile.in: Regenerate.
1541         * src/atomic.cc: Move mutex include before cstdatomic.
1542
1543 2008-12-12  H.J. Lu  <hongjiu.lu@intel.com>
1544
1545         PR libstdc++/37144
1546         * testsuite/util/regression/trait/assoc/type_trait.hpp
1547         (regression_test_type_traits): Add const to pair_type_rebind.
1548
1549 2008-12-12  Benjamin Kosnik  <bkoz@redhat.com>
1550
1551         * src/atomic.cc: Correct guards to match mutex.cc.
1552
1553 2008-12-11  Benjamin Kosnik  <bkoz@redhat.com>
1554             Richard Henderson  <rth@redhat.com>
1555
1556         * include/c_global/cstdatomic: Update to N2798.
1557         (atomic): Remove explicit constructors as per DR 845.
1558         * include/bits/atomic_0.h: New. Switchable implementation.
1559         * include/bits/atomic_2.h: New. Lock-free implementation.
1560         * include/c_compatibility/stdatomic.h: Use foward headers.
1561         * include/bits/atomicfwd_cxx.h: New.
1562         * include/bits/atomicfwd_c.h: New.
1563         * src/atomic.cc: Adjust.
1564         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Remove,
1565         unconditionally use default/deleted syntax.
1566         (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for 2, 8.
1567         * include/Makefile.am (bits_headers): Add atomicfwd_c.h,
1568         atomicfwd_cxx.h, atomic_0.h, atomic_2.h.
1569         * include/Makefile.in: Regenerate.
1570         * configure: Regenerate.
1571         * config.h.in: Regenerate.
1572         * config/abi/pre/gnu.ver: Adjust exports.
1573
1574         * testsuite/27_io/ios_base/types/fmtflags/bitmask_operators.cc: Adjust.
1575         * testsuite/27_io/ios_base/types/openmode/bitmask_operators.cc: Same.
1576         * testsuite/27_io/ios_base/types/iostate/bitmask_operators.cc: Same.
1577         * testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
1578         * testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Move to..
1579         * testsuite/29_atomics/atomic_address/cons/single_value.cc: ...this.
1580         * testsuite/29_atomics/atomic_address/cons/copy_neg.cc
1581         * testsuite/29_atomics/atomic_integral/cons/single_value.cc: New.
1582         * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: New.
1583         * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: New.
1584         * testsuite/29_atomics/atomic_integral/cons/default.cc: New.
1585         * testsuite/29_atomics/atomic_integral/cons/direct_list.cc: New.
1586         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1587         * testsuite/29_atomics/atomic_integral/requirements/
1588         standard_layout.cc: New.
1589         * testsuite/29_atomics/atomic_integral/operators/
1590         integral_assignment.cc: New.
1591         * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: New.
1592         * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: New.
1593         * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: New.
1594         * testsuite/29_atomics/atomic_integral/operators/increment.cc: New.
1595         * testsuite/29_atomics/atomic_integral/operators/decrement.cc: New.
1596         * testsuite/29_atomics/atomic_integral/operators/bitwise.cc: New.
1597         * testsuite/29_atomics/atomic_integral/operators/
1598         integral_conversion.cc: New.
1599         * testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Adjust.
1600         * testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
1601         * testsuite/29_atomics/atomic_flag/requirements/
1602         standard_layout.cc: Same.
1603         * testsuite/29_atomics/atomic_flag/
1604         atomic_global_fence_compatibility.cc: Kill.
1605         * testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Adjust.
1606         * testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
1607         * testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
1608         * testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
1609         * testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
1610         * testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
1611         * testsuite/29_atomics/atomic/cons/explicit_value.cc: Move to...
1612         * testsuite/29_atomics/atomic/cons/single_value.cc: ...this.
1613         * testsuite/29_atomics/atomic/cons/copy_neg.cc
1614         * testsuite/29_atomics/atomic/cons/direct_list.cc: New.
1615         * testsuite/29_atomics/atomic/cons/copy_list.cc: New.
1616         * testsuite/29_atomics/atomic/requirements/standard_layout.cc: New.
1617         * testsuite/29_atomics/atomic/requirements/base_classes.cc: New.
1618         * testsuite/29_atomics/atomic/operators/integral_assignment.cc: New.
1619         * testsuite/29_atomics/atomic/operators/integral_conversion.cc: New.
1620         * testsuite/util/testsuite_hooks.h (bitmask_operators): Move...
1621         * testsuite/util/testsuite_common_types.h: ...here.
1622         (atomic_integrals_no_bool): New.
1623         (atomic_integrals): New.
1624         (has_increment_operators, has_decrement_operators)
1625         (direct_list_initializable, single_value_constructible)
1626         (standard_layout, has_bitwise_operators, integral_convertable)
1627         (integral_assignable): Add.
1628
1629 2008-12-11  Jakub Jelinek  <jakub@redhat.com>
1630
1631         PR c++/37582
1632         * testsuite/26_numerics/headers/cmath/37582.cc: New.
1633
1634 2008-12-08  Paolo Carlini  <paolo.carlini@oracle.com>
1635
1636         * include/tr1_impl/cmath: Undef remquof / remquol too; add using
1637         declarations.
1638         * acinclude.m4 [GLIBCXX_CHECK_C99_TR1]: Check remquof / remquol too.
1639         * testsuite/tr1/8_c_compatibility/cmath/functions.cc: Adjust.
1640         * configure: Regenerate.
1641
1642 2008-12-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
1643
1644         * include/bits/forward_list.h: Fixed spurious "forward_swap" in doxy.
1645
1646 2008-12-06  Paolo Carlini  <paolo.carlini@oracle.com>
1647
1648         PR libstdc++/38421
1649         * include/tr1/ell_integral.tcc: Avoid __ea, future SPU badname.
1650         * doc/xml/manual/appendix_contributing.xml: Add __ea to the list
1651         of badnames.
1652
1653 2008-12-05  Tom Tromey  <tromey@redhat.com>
1654
1655         * include/tr1_impl/functional (_Mu): Fix typo.
1656
1657 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
1658
1659         PR libstdc++/38399
1660         * include/bits/locale_facets_nonio.tcc (money_get<>::
1661         _M_extract(iter_type, iter_type, ios_base&, ios_base::iostate&,
1662         string&)): Fix, reject decimal point when frac_digits <= 0.
1663         * testsuite/22_locale/money_get/get/char/38399.cc: New.
1664         * testsuite/22_locale/money_get/get/wchar_t/38399.cc: Likewise.
1665         * testsuite/22_locale/money_get/get/char/5.cc: Adjust.
1666         * testsuite/22_locale/money_get/get/wchar_t/5.cc: Likewise.
1667
1668 2008-12-05  Paolo Carlini  <paolo.carlini@oracle.com>
1669
1670         PR libstdc++/38411
1671         * testsuite/22_locale/numpunct/members/char/2.cc: Use is_IS instead
1672         of fr_FR.
1673         * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
1674         * testsuite/22_locale/locale/cons/7.cc: Likewise.
1675
1676 2008-12-04  Paolo Carlini  <paolo.carlini@oracle.com>
1677
1678         PR libstdc++/38368
1679         * config/locale/gnu/numeric_members.cc (numpunct<char>::
1680         _M_initialize_numpunct, numpunct<wchar_t>::_M_initialize_numpunct):
1681         Fix for THOUSANDS_SEP == '\0' consistently with "C" locale.
1682         * config/locale/gnu/monetary_members.cc (moneypunct<char, true>::
1683         _M_initialize_moneypunct, moneypunct<char, false>::
1684         _M_initialize_moneypunct, moneypunct<wchar_t, true>::
1685         _M_initialize_moneypunct, moneypunct<wchar_t, false>::
1686         _M_initialize_moneypunct): Fix for __MON_DECIMAL_POINT == '\0' or
1687         __MON_THOUSANDS_SEP == '\0' consistently with "C" locale.
1688         * testsuite/22_locale/locale/cons/38368.cc: New.
1689
1690 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
1691
1692         PR libstdc++/38365 (cont)
1693         * src/localename.cc (locale::locale(const locale&, const locale&,
1694         category)): Revert last changes.
1695         (locale::_Impl::_M_replace_categories(const _Impl*, category)):
1696         Fix here instead; rework.
1697
1698 2008-12-02  Paolo Carlini  <paolo.carlini@oracle.com>
1699
1700         PR libstdc++/38365
1701         * src/localename.cc (locale::locale(const locale&, const locale&,
1702         category)): Fix.
1703         * testsuite/22_locale/locale/cons/38365.cc: New.
1704
1705 2008-12-01  Benjamin Kosnik  <bkoz@redhat.com>
1706
1707         PR libstdc++/38080
1708         * include/std/iostream: Correct URL.
1709         * include/std/streambuf: Same.
1710         * include/std/bitset: Same.
1711         * include/std/iosfwd: Same.
1712         * include/std/fstream: Same.
1713         * include/std/istream: Same.
1714         * include/std/ostream: Same.
1715         * include/std/sstream: Same.
1716         * include/bits/basic_ios.h: Same.
1717         * include/bits/stl_map.h: Same.
1718         * include/bits/stl_set.h: Same.
1719         * include/bits/stl_multimap.h: Same.
1720         * include/bits/ios_base.h: Same.
1721         * include/bits/stl_multiset.h: Same.
1722         * include/bits/char_traits.h: Same.
1723         * include/bits/stl_relops.h: Same.
1724         * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
1725         * testsuite/27_io/ios_base/cons/copy_neg.cc: Ditto.
1726
1727 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
1728
1729         PR testsuite/28870
1730         * testsuite/lib/libstdc++.exp: Include new timeout library files.
1731         (libstdc++_init): Define tool_timeout.
1732         (dg-test): Override DejaGnu proc.
1733         (v3_target_compile): Set timeout value from new proc.
1734         (v3_target_compile_as_c): Ditto.
1735
1736 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
1737
1738         PR libstdc++/38244 (cont, debug bits)
1739         * include/debug/bitset (bitset<>::bitset(const char*, char, char)):
1740         Remove, do not implement DR 778.
1741
1742 2008-11-24  Paolo Carlini  <paolo.carlini@oracle.com>
1743
1744         PR libstdc++/38244
1745         * include/std/bitset (bitset<>::bitset(const char*, char, char)):
1746         Remove, do not implement DR 778.
1747         * doc/xml/manual/intro.xml: Remove entry for DR 778.
1748         * testsuite/23_containers/bitset/cons/2.cc: Remove.
1749         * testsuite/23_containers/bitset/cons/dr396.cc: Tweak.
1750         * testsuite/23_containers/bitset/cons/38244.cc: Add.
1751
1752 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
1753
1754         * testsuite/22_locale/num_put/put/char/38210.cc: Tweak.
1755         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1756
1757 2008-11-21  Paolo Carlini  <paolo.carlini@oracle.com>
1758
1759         PR libstdc++/38210
1760         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1761         ios_base&, char_type, const void*)): Fix.
1762         * testsuite/22_locale/num_put/put/char/38210.cc: New.
1763         * testsuite/22_locale/num_put/put/wchar_t/38210.cc: Likewise.
1764
1765 2008-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
1766
1767         PR libstdc++/38196
1768         * include/bits/locale_facets.tcc (num_put<>::do_put(iter_type,
1769         ios_base&, char_type, bool)): Fix.
1770         * testsuite/22_locale/num_put/put/char/38196.cc: New.
1771         * testsuite/22_locale/num_put/put/wchar_t/38196.cc: Likewise.
1772
1773 2008-11-18  Paolo Carlini  <paolo.carlini@oracle.com>
1774
1775         * include/tr1_impl/cinttypes: Remove redundant pragma system_header.
1776         * include/tr1_impl/cfenv: Likewise.
1777         * include/tr1_impl/cstdint: Likewise.
1778
1779 2008-11-13  Paolo Carlini  <paolo.carlini@oracle.com>
1780
1781         PR libstdc++/38000
1782         * include/c_global/csignal: Do not use include_next.
1783         * include/c_global/cstdlib: Likewise.
1784         * include/c_global/cstdio: Likewise.
1785         * include/c_global/cstdarg: Likewise.
1786         * include/c_global/cctype: Likewise.
1787         * include/c_global/cerrno: Likewise.
1788         * include/c_global/cmath: Likewise.
1789         * include/c_global/clocale: Likewise.
1790         * include/c_global/climits: Likewise.
1791         * include/c_global/cassert: Likewise.
1792         * include/c_global/csetjmp: Likewise.
1793         * include/c_global/cwchar: Likewise.
1794         * include/c_global/cfloat: Likewise.
1795         * include/c_global/cstdbool: Likewise.
1796         * include/c_global/cstring: Likewise.
1797         * include/c_global/cstddef: Likewise.
1798         * include/c_global/cwctype: Likewise.
1799         * include/tr1/cstdbool: Likewise.
1800         * include/tr1_impl/cinttypes: Do not include <inttypes.h>.
1801         * include/c_global/cinttypes: Do it here.
1802         * include/tr1/cinttypes: Likewise.
1803         * include/tr1_impl/cfenv: Do not include <fenv.h>.
1804         * include/c_global/cfenv: Do it here.
1805         * include/tr1/cfenv: Likewise.
1806         * include/tr1_impl/cstdint: Do not include <stdint.h>.
1807         * include/c_global/cstdint: Do it here.
1808         * include/tr1/cstdint: Likewise.
1809         * include/c_compatibility/fenv.h: Include <tr1_impl/cfenv>.
1810         * include/c_compatibility/stdint.h: Include <tr1_impl/cstdint>.
1811         * include/c_compatibility/inttypes.h: Include <tr1_impl/cinttypes>.
1812
1813         * include/c_compatibility/math.h: Minor tweak, add comment.
1814
1815 2008-11-12  Steve Ellcey  <sje@cup.hp.com>
1816
1817         * configure.ac: Move call to GCC_CHECK_UNWIND_GETIPINFO.
1818         * configure: Regenerate to get new GCC_CHECK_UNWIND_GETIPINFO.
1819
1820 2008-11-12  Paolo Carlini  <paolo.carlini@oracle.com>
1821
1822         PR libstdc++/37986 (cont)
1823         * include/tr1_impl/random (struct _Adaptor): Use only remove_reference
1824         on _Engine.
1825         (struct _Adaptor<_Engine*, _Distribution>): Add.
1826         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1827         37986.cc: Extend.
1828
1829 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1830
1831         PR libstdc++/37986
1832         * include/tr1_impl/random (struct _Adaptor): Use remove_pointer
1833         and remove_reference on _Engine.
1834         * testsuite/tr1/5_numerical_facilities/random/variate_generator/
1835         37986.cc: New.
1836
1837 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1838
1839         * testsuite/ext/ext_pointer/1_neg.cc: Adjust dg-error line numbers.
1840
1841 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1842
1843         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc: Fix.
1844         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1845         Likewise.
1846
1847 2008-11-11  Bob Walters  <bob.s.walters@gmail.com>
1848
1849         * include/bits/forward_list.h: Support non-standard pointer types
1850         (_Fwd_list_node_base): Add _Alloc template parameter.
1851         (_Fwd_list_node<>): Likewise.
1852         (_Fwd_list_iterator<>): Likewise.
1853         (_Fwd_list_const_iterator<>): Likewise.
1854         (_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
1855         Use _Alloc<_Tp>::pointer.
1856         (_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
1857         (_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
1858         _M_insert_after, _M_put_node, _M_erase_after): Likewise.
1859         (_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
1860         (forward_list<>): Use __static_pointer_cast in place of static_cast,
1861         and __const_pointer_cast in place of const_cast.
1862         * include/bits/forward_list.tcc
1863         (_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
1864         of standard pointers, __static_pointer_cast in place of static_cast.
1865         (_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
1866         Likewise.
1867         (forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
1868         splice_after, remove, remove_if, merge): Likewise.
1869         * testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
1870         * testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
1871         Likewise.
1872         * testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
1873         Likewise.
1874         * testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
1875         Likewise.
1876         * testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
1877         Likewise.
1878         * testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
1879         Likewise.
1880         * testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
1881         Likewise.
1882         * testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
1883         Likewise.
1884         * testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
1885         Likewise.
1886         * testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
1887         Likewise.
1888         * testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
1889         Likewise.
1890         * testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
1891         Likewise.
1892         * testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
1893         Likewise.
1894         * testsuite/23_containers/forward_list/ext_pointer/requirements/
1895         explicit_instantiation/1.cc: Likewise.
1896         * testsuite/23_containers/forward_list/ext_pointer/requirements/
1897         explicit_instantiation/3.cc: Likewise.
1898         * testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.
1899
1900 2008-11-11  Paolo Carlini  <paolo.carlini@oracle.com>
1901
1902         * include/ext/extptr_allocator.h: Minor tweaks.
1903         * include/ext/pointer.h: Likewise.
1904         * include/ext/cast.h: Likewise.
1905
1906 2008-11-10  Paolo Carlini  <paolo.carlini@oracle.com>
1907
1908         PR libstdc++/38067
1909         * config/locale/gnu/monetary_members.cc (moneypunct<>::
1910         _M_initialize_moneypunct(__c_locale, const char*)): Use correct vector
1911         delete for __wcs_ps and __wcs_ns.
1912
1913 2008-11-07  Bob Walters  <bob.s.walters@gmail.com>
1914
1915         * include/ext/pointer.h: New, add experimental support for non-standard
1916         pointer types in containers via the allocator::pointer typedef.
1917         (Currently only supported/working with std::vector)
1918         * include/ext/cast.h: New, add overload-able pointer casting functions
1919         for use in containers supporting non-standard pointer types.
1920         * include/ext/extptr_allocator.h: New, add _ExtPtr_allocator.
1921         * include/Makefile.am: Update.
1922         * include/precompiled/extc++.h: Likewise.
1923         * include/Makefile.in: Regenerate.
1924         * testsuite/ext/ext_pointer/1.cc: New.
1925         * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
1926         * testsuite/23_containers/vector/ext_pointer/citerators.cc: New.
1927         * testsuite/23_containers/vector/ext_pointer/data_access.cc: Likewise.
1928         * testsuite/23_containers/vector/ext_pointer/resize.cc: Likewise.
1929         * testsuite/23_containers/vector/ext_pointer/types/1.cc: Likewise.
1930         * testsuite/23_containers/vector/ext_pointer/modifiers/element.cc:
1931         Likewise.
1932         * testsuite/23_containers/vector/ext_pointer/modifiers/erase.cc:
1933         Likewise.
1934         * testsuite/23_containers/vector/ext_pointer/modifiers/insert.cc:
1935         Likewise.
1936         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1937         1.cc: Likewise.
1938         * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
1939         3.cc: Likewise.
1940
1941 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1942
1943         PR libstdc++/38017
1944         Revert:
1945         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1946         to use C++0x features.
1947         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1948         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1949         New.
1950         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1951         New.
1952         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1953
1954 2008-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1955
1956         PR libstdc++/24803
1957         PR libstdc++/37351
1958         * include/tr1_impl/functional (result_of,reference_wrapper): Update
1959         to use C++0x features.
1960         * testsuite/20_util/function_objects/return_types/result_of.cc: New.
1961         * testsuite/20_util/function_objects/return_types/result_of_neg.cc:
1962         New.
1963         * testsuite/20_util/function_objects/return_types/result_of_ref.cc:
1964         New.
1965         * testsuite/20_util/reference_wrapper/24803.cc: Uncomment FIXMEs.
1966
1967 2008-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
1968
1969         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1970         iter_type, ios_base&, ios_base::iostate&, bool&): Tidy.
1971         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1972         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1973
1974 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1975
1976         PR libstdc++/37958 (cont again)
1977         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1978         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
1979         * testsuite/22_locale/num_get/get/char/37958.cc: Extend.
1980         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
1981
1982 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1983
1984         * include/bits/locale_facets.tcc (num_get<>::do_get(, long&),
1985         num_get<>::do_get(, unsigned short&),
1986         num_get<>::do_get(, unsigned int&),
1987         num_get<>::do_get(, unsigned long&),
1988         num_get<>::do_get(, long long&),
1989         num_get<>::do_get(, unsigned long long&),
1990         num_put<>::do_put(, long), num_put<>::do_put(, unsigned long),
1991         num_put<>::do_put(, long long),
1992         num_put<>::do_put(, unsigned long long)): Move inline...
1993         * include/bits/locale_facets.h: ... here.
1994
1995 2008-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
1996
1997         PR libstdc++/37958 (cont)
1998         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
1999         iter_type, ios_base&, ios_base::iostate&, bool&): Fix again.
2000
2001 2008-11-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
2002
2003         * include/bits/shared_ptr.h: Update comparisons to match WP.
2004         (_Sp_counted_ptr): Make copy and assignment members deleted.
2005         (_Sp_counted_deleter): Remove private copy and assignment members.
2006         (__shared_count::_M_less,__weak_count::_M_less,operator<): Replace
2007         friend operator< with overloaded _M_less member functions to allow
2008         comparison with either shared_count or weak_count.
2009         (__shared_ptr::_M_less,__weak_ptr::_M_less): Replace with...
2010         (__shared_ptr::owner_before,__weak_ptr::owner_before): New overloads
2011         for ownership-based ordering.
2012         (operator<(__shared_ptr,__shared_ptr)): Compare stored pointers,
2013         make non-friend.
2014         (operator==(__shared_ptr,__shared_ptr)): Make non-friend.
2015         (operator!=(__shared_ptr,__shared_ptr)): Likewise.
2016         (less<__shared_ptr<>>,less<shared_ptr<>>,_Sp_less): Explicitly call
2017         pointer specialization.
2018         (__weak_ptr::operator<,weak_ptr::operator<=,weak_ptr::operator>,
2019         weak_ptr::operator>=): Remove operator< and delete all comparisons.
2020         (_Sp_owner_less,owner_less): Predicate for ownership-based ordering.
2021         (operator<(shared_ptr,shared_ptr): Overload for derived shared_ptr.
2022         (operator==(shared_ptr,shared_ptr): Likewise.
2023         (operator!=(shared_ptr,shared_ptr): Likewise.
2024         (swap(shared_ptr,shared_ptr)): Fix parameter types.
2025         (swap(weak_ptr,weak_ptr)): Add missing overload.
2026         * testsuite/20_util/owner_less/cmp.cc: New.
2027         * testsuite/20_util/shared_ptr/comparison/cmp.cc: Test other ops.
2028         * testsuite/20_util/shared_ptr/comparison/less.cc: New.
2029         * testsuite/20_util/shared_ptr/observers/owner_before.cc: New.
2030         * testsuite/20_util/weak_ptr/observers/owner_before.cc: New.
2031         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: New.
2032
2033 2008-10-31  Paolo Carlini  <paolo.carlini@oracle.com>
2034
2035         PR libstdc++/37958
2036         * include/bits/locale_facets.tcc (num_get<>::do_get(iter_type,
2037         iter_type, ios_base&, ios_base::iostate&, bool&): Fix.
2038         * testsuite/22_locale/num_get/get/char/37958.cc: New.
2039         * testsuite/22_locale/num_get/get/wchar_t/37958.cc: Likewise.
2040
2041 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
2042
2043         PR libstdc++/37919
2044         Revert:
2045         2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
2046
2047         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
2048         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
2049         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
2050         Remove the old variadic constructor, and instead provide several
2051         variadic constructors that avoid failing when attempting to
2052         initialize a pointer from a null pointer constant.
2053         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
2054         initialization of pointers from the null pointer constant.
2055
2056 2008-10-27  Paolo Carlini  <paolo.carlini@oracle.com>
2057
2058         PR libstdc++/37522
2059         * config/os/mingw32/os_defines.h: Define _GLIBCXX_HAVE_BROKEN_VSWPRINTF
2060         * include/bits/basic_string.h: Guard string conversions with
2061         !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF) too.
2062         * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
2063         New.
2064         * testsuite/lib/dg-options.exp (dg-require-string-conversions): New.
2065         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2066         Use the latter.
2067         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2068         Likewise.
2069         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2070         Likewise.
2071         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2072         Likewise.
2073         * testsuite/21_strings/basic_string/numeric_conversions/char/
2074         stoull.cc: Likewise.
2075         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2076         Likewise.
2077         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2078         Likewise.
2079         * testsuite/21_strings/basic_string/numeric_conversions/char/
2080         to_string.cc: Likewise.
2081         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2082         Likewise.
2083
2084 2008-10-24  Paolo Carlini  <paolo.carlini@oracle.com>
2085
2086         * config/os/generic/error_constants.h (enum errc): Remove
2087         no_posix_equivalent.
2088         * config/os/mingw32/error_constants.h (enum errc): Likewise.
2089         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc:
2090         Adjust.
2091
2092 2008-10-24  Jakub Jelinek  <jakub@redhat.com>
2093
2094         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
2095         (RUNTESTDEFAULTFLAGS, EXPECT, check_DEJAGNU_normal_targets): New
2096         variables.
2097         (%/site.exp, check-DEJAGNU%): New targets.
2098         (check-am): Run $(MAKE) check-DEJAGNU.
2099         * testsuite/Makefile.in: Regenerated.
2100
2101 2008-10-23  Chris Fairles  <cfairles@gcc.gnu.org>
2102
2103         * config/os/generic/error_constants.h (errc): Use long type.
2104         * config/os/mingw32/error_constants.h (errc): Likewise.
2105
2106 2008-10-22  Chris Fairles  <cfairles@gcc.gnu.org>
2107
2108         * include/std/system_error (is_error_code_enum): Specialize for errc.
2109         (error_category::error_category): Defaulted and protected.
2110         (error_category::~error_category): New, virtual.
2111         (error_category::error_category(const error_category&),
2112         error_category::operator=(const error_category&)): Deleted.
2113         (get_system_category, get_posix_category): Remove (DR 890).
2114         (system_category): External linkage (DR 890).
2115         (posix_category): Remove.
2116         (generic_category): Add. External linkage (DR 890).
2117         (error_code::error_code<>(_ErrorCodeEnum)): Use generic_category.
2118         (error_code::clear, error_code::operator=<>(_ErrorCodeEnum)): Forward to
2119         error_code::assign, use generic_category.
2120         (error_condition::error_condition,
2121         error_condition::error_condition<>(_ErrorConditionEnum)): Use
2122         generic_category.
2123         (error_condition::clear,
2124         error_condition::operator=<>(_ErrorConditionEnum)): Forward to
2125         error_code::assign, use generic_category.
2126         (make_error_code, make_error_condition): Define in namespace std.
2127         * include/std/mutex (unique_lock<>::lock, unique_lock<>::try_lock,
2128         unique_lock<>::try_lock_until<>(duration),
2129         unique_lock<>::try_lock_for<>(duration)): Replace posix_error with errc.
2130         * src/system_error.cc (system_error_category, generic_error_category):
2131         New.
2132         (gnu_error_category): Remove.
2133         (get_system_category, get_posix_category): Remove (DR 890).
2134         (system_category, generic_category): Define.
2135         * src/functexcept.cc (__throw_system_error): Use generic_category.
2136         * config/abi/pre/gnu.ver: Export system_category and generic_category,
2137         remove get_system_category and get_generic_category (DR 890).
2138         * config/os/generic/error_constants.h (posix_errno): Rename to errc, use
2139         enum class type. Fix spelling.
2140         * config/os/mingw32/error_constants.h (posix_errno): Likewise.
2141         * testsuite/19_diagnostics/error_code/cons/1.cc: Use errc and
2142         generic_category.
2143         * testsuite/19_diagnostics/error_code/operators/bool.cc: Use errc.
2144         * testsuite/19_diagnostics/error_code/operators/equal.cc: Likewise.
2145         * testsuite/19_diagnostics/error_code/operators/not_equal.cc: Likewise.
2146         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Update
2147         dg-error line numbers.
2148         * testsuite/19_diagnostics/error_condition/cons/1.cc: Use
2149         generic_category.
2150         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Use errc.
2151         * testsuite/19_diagnostics/error_condition/operators/equal.cc: Likewise.
2152         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
2153         Likewise.
2154         * testsuite/19_diagnostics/headers/system_error/errc_std_c++0x.cc: New.
2155         * testsuite/19_diagnostics/headers/system_error/types_std_c++0x.cc:
2156         Remove using tests since errc is not a namespace.
2157         * testsuite/19_diagnostics/system_error/cons-1.cc: Use errc.
2158         * testsuite/19_diagnostics/system_error/what-4.cc: Likewise.
2159         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/error_code.cc:
2160         Likewise.
2161         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
2162         Likewise.
2163         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2164
2165 2008-10-20  Paolo Carlini  <paolo.carlini@oracle.com>
2166
2167         * include/tr1_impl/hashtable_policy.h (_Hash_node<>::_Hash_node<>
2168         (_Args&&...)): Add in C++0x mode.
2169         * include/tr1_impl/hashtable (_Hashtable<>::_M_allocate_node,
2170         _Hashtable<>::_M_deallocate_node): Use _M_get_Node_allocator in
2171         C++0x mode.
2172
2173         * include/tr1_impl/hashtable (_Hashtable<>::max_size): Use
2174         Node_allocator for improved accuracy.
2175         * testsuite/tr1/6_containers/unordered_multimap/capacity/
2176         29134-multimap.cc: Adjust.
2177         * testsuite/tr1/6_containers/unordered_multimap/capacity/
2178         29134-map.cc: Likewise.
2179         * testsuite/tr1/6_containers/unordered_multimap/capacity/
2180         29134-multiset.cc: Adjust.
2181         * testsuite/tr1/6_containers/unordered_multimap/capacity/
2182         29134-set.cc: Likewise.
2183
2184 2008-10-19  Paolo Carlini  <paolo.carlini@oracle.com>
2185
2186         * include/bits/stl_tree.h (_Rb_tree_node<>::_Rb_tree_node<>
2187         (_Args&&...)): Add in C++0x mode.
2188         (_Rb_tree<>::_M_create_node<>(_Args&&...)): Add in C++0x mode,
2189         use _M_get_Node_allocator.
2190         (_Rb_tree<>::_M_destroy_node(_Link_type): Use _M_get_Node_allocator
2191         in C++0x mode.
2192         * testsuite/23_containers/set/operators/1_neg.cc: Adjust dg-error
2193         line numbers.
2194         * testsuite/23_containers/map/operators/1_neg.cc: Likewise.
2195
2196 2008-10-18  Douglas Gregor  <doug.gregor@gmail.com>
2197
2198         * include/bits/stl_pair.h (__may_be_null_pointer_init): New.
2199         (pair::pair): Eliminate the redundant pair(U1&&, U2&&) constructor.
2200         Add lvalue pair<U1, U2> constructor to handle non-const pair lvalues.
2201         Remove the old variadic constructor, and instead provide several
2202         variadic constructors that avoid failing when attempting to
2203         initialize a pointer from a null pointer constant.
2204         * testsuite/20_util/pair/moveable.cc (test3): Add new tests with
2205         initialization of pointers from the null pointer constant.
2206
2207 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2208
2209         * include/bits/forward_list.tcc (forward_list<>::
2210         _M_initialize_dispatch(_InputIterator, _InputIterator, __false_type)):
2211         Simplify.
2212
2213 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2214
2215         * include/bits/forward_list.h (forward_list<>::
2216         forward_list(size_type)): Tweak, use _Base default constructor.
2217
2218 2008-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
2219
2220         * include/bits/forward_list.h (forward_list<>::insert_after): Minor
2221         cosmetic changes.
2222
2223 2008-10-16  Edward Smith-Rowland  <3dw4rd@verizon.net>
2224
2225         * include/bits/forward_list.h: Factor list construction to dispatch
2226         routines.
2227         * include/bits/forward_list.tcc: Likewise.
2228         * testsuite/23_containers/forward_list/modifiers/2.cc:
2229
2230 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2231
2232         * include/bits/forward_list.tcc (operator==): Use auto.
2233
2234 2008-10-16  Paolo Carlini  <paolo.carlini@oracle.com>
2235
2236         * include/bits/forward_list.h (_Fwd_list_base<>::_M_insert_after):
2237         Move out of line, tweak to return _Fwd_list_node_base*.
2238         (forward_list<>::insert_after(const_iterator, const _Tp&),
2239         forward_list<>::insert_after(const_iterator, _Tp&&)): Use it.
2240         * include/bits/forward_list.tcc (_Fwd_list_base<>::_M_insert_after):
2241         Define.
2242
2243         * include/bits/forward_list.h (forward_list<>): Consistently qualify
2244         calls of base class functions with this->.
2245         * include/bits/forward_list.tcc (forward_list<>): Likewise.
2246
2247         * include/bits/forward_list.h: Move some functions out of line...
2248         * include/bits/forward_list.tcc: ... here.
2249
2250         * include/bits/forward_list.h (forward_list<>::resize(size_type)): Fix.
2251
2252 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
2253
2254         * include/bits/forward_list.h: Remove pointless const qualifiers in
2255         const_casts.
2256         * include/bits/forward_list.tcc: Likewise.
2257
2258         * include/bits/forward_list.h (forward_list<>::pointer,
2259         const_pointer, reference, const_reference): Fix, use _Tp_alloc_type.
2260         * testsuite/23_containers/forward_list/requirements/
2261         explicit_instantiation/1.cc: New.
2262         * testsuite/23_containers/forward_list/requirements/
2263         explicit_instantiation/1.cc: Likewise.
2264
2265 2008-10-15  Paolo Carlini  <paolo.carlini@oracle.com>
2266
2267         * include/bits/forward_list.h (forward_list<>::max_size): Use
2268         Node_allocator; minor cosmetic changes.
2269         * testsuite/23_containers/forward_list/capacity/1.cc: Adjust.
2270
2271 2008-10-15  Edward Smith-Rowland  <3dw4rd@verizon.net>
2272
2273         * include/std/forward_list: New.
2274         * include/bits/forward_list.h: Likewise.
2275         * include/bits/forward_list.tcc: Likewise.
2276         * include/precompiled/stdc++.h: Modified to include forward_list.
2277         * include/Makefile.am: Add forward_list, forward_list.h, and
2278         forward_list.tcc.
2279         * include/Makefile.in: Regenerate.
2280         * testsuite/23_containers/forward_list/modifiers/1.cc: New.
2281         * testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
2282         * testsuite/23_containers/forward_list/modifiers/3.cc: Likewise.
2283         * testsuite/23_containers/forward_list/modifiers/4.cc: Likewise.
2284         * testsuite/23_containers/forward_list/modifiers/5.cc: Likewise.
2285         * testsuite/23_containers/forward_list/cons/1.cc: Likewise.
2286         * testsuite/23_containers/forward_list/cons/2.cc: Likewise.
2287         * testsuite/23_containers/forward_list/cons/3.cc: Likewise.
2288         * testsuite/23_containers/forward_list/cons/4.cc: Likewise.
2289         * testsuite/23_containers/forward_list/cons/5.cc: Likewise.
2290         * testsuite/23_containers/forward_list/cons/6.cc: Likewise.
2291         * testsuite/23_containers/forward_list/cons/7.cc: Likewise.
2292         * testsuite/23_containers/forward_list/cons/8.cc: Likewise.
2293         * testsuite/23_containers/forward_list/cons/9.cc: Likewise.
2294         * testsuite/23_containers/forward_list/requirements/1.cc: Likewise.
2295         * testsuite/23_containers/forward_list/operations/1.cc: Likewise.
2296         * testsuite/23_containers/forward_list/operations/2.cc: Likewise.
2297         * testsuite/23_containers/forward_list/operations/3.cc: Likewise.
2298         * testsuite/23_containers/forward_list/operations/4.cc: Likewise.
2299         * testsuite/23_containers/forward_list/operations/5.cc: Likewise.
2300         * testsuite/23_containers/forward_list/operations/6.cc: Likewise.
2301         * testsuite/23_containers/forward_list/operations/7.cc: Likewise.
2302         * testsuite/23_containers/forward_list/capacity/1.cc: Likewise.
2303         * testsuite/23_containers/forward_list/comparable.cc: Likewise.
2304         * testsuite/23_containers/forward_list/moveable.cc: Likewise.
2305         * testsuite/23_containers/headers/forward_list/synopsis.cc: Likewise.
2306         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Update.
2307         * testsuite/17_intro/headers/c++200x/all: Likewise.
2308
2309 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2310
2311         * include/bits/stl_list.h (_List_node<>::_List_node<>(_Args&&...)):
2312         Add in C++0x mode.
2313         (list<>::_M_create_node<>(_Args&&...)): Use _M_get_Node_allocator.
2314         (list<>::_M_erase(iterator): Likewise, in C++0x mode.
2315         * include/bits/list.tcc (_List_base<>::_M_clear): Likewise.
2316         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2317         Adjust dg-error line number.
2318         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2319         Likewise.
2320         * testsuite/23_containers/list/requirements/dr438/
2321         constructor_1_neg.cc: Likewise.
2322         * testsuite/23_containers/list/requirements/dr438/
2323         constructor_2_neg.cc: Likewise.
2324
2325 2008-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
2326
2327         * include/bits/stl_tree.h (_Rb_tree<>::max_size): Use Node_allocator
2328         for improved accuracy.
2329         * include/bits/stl_list.h (list<>::max_size): Likewise.
2330         * testsuite/23_containers/multimap/capacity/29134.cc: Adjust.
2331         * testsuite/23_containers/set/capacity/29134.cc: Likewise.
2332         * testsuite/23_containers/multiset/capacity/29134.cc: Likewise.
2333         * testsuite/23_containers/list/capacity/29134.cc: Likewise.
2334         * testsuite/23_containers/map/capacity/29134.cc: Likewise.
2335
2336 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
2337
2338         * testsuite/20_util/reference_wrapper/24803.cc: Avoid uninitialized
2339         warnings.
2340
2341 2008-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
2342
2343         * include/std/system_error (native_category): Remove.
2344         (posix_category): Add.
2345         (error_code::error_code(_ErrorCodeEnum, typename enable_if<>:type*):
2346         Fix _M_cat initialization.
2347         (error_code::operator=(_ErrorCodeEnum)): Assign _M_cat too.
2348         (error_condition::_M_cat, error_condtion::operator=
2349         (_ErrorConditionEnum)): Implement resolution of DR 804.
2350         (error_condition::error_condition(_ErrorConditionEnum, typename
2351         enable_if<>:type*): Fix.
2352         (error_condition::clear, error_condition::assign): Implement.
2353         (operator==, operator!=): Fix uglification of parameters.
2354         (make_error_code, make_error_condition): Define in namespace
2355         posix_error.
2356         (operator<<(basic_ostream<>&, const error_code&)): Define here.
2357         * include/std/ostream (operator<<(basic_ostream<>&,
2358         const error_code&)): Do not define here.
2359         * testsuite/19_diagnostics/error_condition/cons/1.cc: New.
2360         * testsuite/19_diagnostics/error_condition/operators/bool.cc: Likewise.
2361         * testsuite/19_diagnostics/error_condition/operators/bool_neg.cc:
2362         Likewise.
2363         * testsuite/19_diagnostics/error_condition/operators/equal.cc:
2364         Likewise.
2365         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc:
2366         Likewise.
2367         * testsuite/19_diagnostics/error_code/cons/1.cc: Tweak.
2368         * testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Adjust
2369         dg-error line numbers.
2370         * testsuite/30_threads/unique_lock/locking/2.cc: Tweak.
2371
2372         * testsuite/util/testsuite_error.h: Minor tweaks.
2373         * testsuite/util/testsuite_hooks.cc: Avoid uninitialized warning.
2374
2375 2008-10-10  Chris Fairles  <cfairles@gcc.gnu.org>
2376
2377         * testsuite/20_util/duration/cons/1.cc: Remove invalid check of
2378         uninitialized duration.
2379
2380 2008-10-08  Bob Walters  <bob.s.walters@gmail.com>
2381
2382         * include/bits/stl_vector.h (_Vector_base<>::_Vector_impl::_M_start,
2383         _M_finish, _M_end_of_storage, _Vector_base<>::_M_allocate,
2384         _M_deallocate): Use _Tp_alloc_type::pointer.
2385
2386 2008-10-07  Jason Merrill  <jason@redhat.com>
2387
2388         PR libstdc++/37761
2389         * testsuite/abi/demangle/abi_examples/20.cc: Adjust expected spacing.
2390         * testsuite/abi/demangle/abi_text/02.cc: Likewise.
2391         * testsuite/abi/demangle/regression/cw-16.cc: Likewise.
2392
2393 2008-10-07  Paolo Carlini  <paolo.carlini@oracle.com>
2394
2395         * include/bits/stl_iterator.h (operator-(const reverse_iterator<>&,
2396         const reverse_iterator<>&), operator-(const __normal_iterator<>&,
2397         const __normal_iterator<>&), operator-(const move_iterator<>&,
2398         const move_iterator<>&)): Use the auto -> return type syntax,
2399         implement DR 685.
2400
2401 2008-10-06  Jason Merrill  <jason@redhat.com>
2402
2403         * config/abi/pre/gnu.ver: Update char16/32_t manglings.
2404
2405 2008-10-05  Paolo Carlini  <paolo.carlini@oracle.com>
2406
2407         * testsuite/20_util/reference_wrapper/invoke.cc: New.
2408         * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
2409         * testsuite/20_util/reference_wrapper/typedefs.cc: Likewise.
2410
2411 2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>
2412
2413         * config/locale/generic/c_locale.cc (__convert_to_v): Fix
2414         !__FLT_HAS_INFINITY__ case.
2415
2416 2008-09-30  Chris Fairles  <cfairles@gcc.gnu.org>
2417
2418         * include/std/tuple (tuple<>::swap): Implement swap for tuple as per
2419         DR 522 [Ready].
2420         * testsuite/20_util/tuple/swap.cc: New.
2421
2422 2008-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
2423
2424         PR libstdc++/30085 (again)
2425         * include/debug/unordered_map (unordered_map<>, unordered_multimap<>):
2426         Do not derive from _Safe_association, derive from _GLIBCXX_STD_D::
2427         unordered_map / unordered_multimap; add missing member functions.
2428         * include/debug/unordered_set (unordered_set<>, unordered_multiset<>):
2429         Likewise for _GLIBCXX_STD_D::unordered_set / unordered_multiset.
2430         * include/debug/safe_association.h: Remove.
2431         * include/Makefile.am: Adjust.
2432         * include/Makefile.in: Regenerate.
2433         * testsuite/23_containers/unordered_multimap/init-list.cc: Remove
2434         xfail.
2435
2436 2008-09-28  Paolo Carlini  <paolo.carlini@oracle.com>
2437
2438         * include/bits/unique_ptr.h (unique_ptr<_Tp[]>::template<typename U>
2439         void reset(U)): Add as deleted function, per DR 821 [Ready].
2440         * include/bits/unique_ptr.h: Prefer everywhere deleted to private
2441         member function declarations; minor formatting tweaks.
2442         * testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: New.
2443         * testsuite/20_util/unique_ptr/assign/assign.cc: Adjust DejaGNU
2444         directives.
2445
2446 2008-09-28  Chris Fairles  <cfairles@gcc.gnu.org>
2447
2448         * include/std/mutex (try_lock): Implement generic try_lock.
2449         * testsuite/30_threads/try_lock/1.cc: New.
2450         * testsuite/30_threads/try_lock/2.cc: Likewise.
2451         * testsuite/30_threads/try_lock/3.cc: Likewise.
2452         * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
2453         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2454         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
2455         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
2456         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2457         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2458         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2459         Likewise.
2460         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: Likewise.
2461
2462 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
2463             Steve Ellcey  <sje@cup.hp.com>
2464
2465         * configure: Regenerate for new libtool.
2466         * aclocal.m4: Ditto.
2467         * Makefile.in: Ditto.
2468         * src/Makefile.in: Ditto.
2469         * doc/Makefile.in: Ditto.
2470         * po/Makefile.in: Ditto.
2471         * libmath/Makefile.in: Ditto.
2472         * include/Makefile.in: Ditto.
2473         * libsupc++/Makefile.in: Ditto.
2474         * testsuite/Makefile.in: Ditto.
2475
2476 2008-09-24  Paolo Carlini  <paolo.carlini@oracle.com>
2477
2478         * include/std/bitset: Adjust comment to reflect DR 853.
2479         * include/debug/bitset: Likewise.
2480         * doc/xml/manual/intro.xml: Add an entry for DR 853.
2481
2482 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
2483
2484         Implement DR 396 [Ready].
2485         * include/std/bitset (bitset<>::bitset(const std::basic_string<>&,
2486         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
2487         char, char), bitset<>::to_string(_CharT, _CharT),
2488         bitset<>::_M_copy_from_string(const std::basic_string<>&, size_t,
2489         size_t, _CharT, _CharT), bitset<>::_M_copy_to_string
2490         (std::basic_string<>&, _CharT, _CharT), bitset<>::_M_copy_from_ptr(
2491         const _CharT*, size_t, size_t, size_t, _CharT, _CharT)): Add.
2492         (operator>>(std::basic_istream<>&, bitset<_Nb>&), operator<<(
2493         std::basic_ostream<>&, const bitset<_Nb>&)): Adjust.
2494         * include/debug/bitset (bitset<>::bitset(const std::basic_string<>&,
2495         size_t, size_t, _CharT, _CharT), bitset<>::bitset(const char*,
2496         char, char), bitset<>::to_string(_CharT, _CharT)): Add.
2497         * doc/xml/manual/intro.xml: Add an entry for DR 396.
2498         * testsuite/23_containers/bitset/cons/dr396.cc: Add.
2499         * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
2500
2501 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
2502
2503         * testsuite/25_algorithms/min/37547.cc: Return void to avoid warnings.
2504         * testsuite/25_algorithms/max/37547.cc: Likewise.
2505         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
2506
2507 2008-09-23  Chris Fairles  <cfairles@gcc.gnu.org>
2508
2509         * include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
2510         typedef monotonic_clock to system_clock and instead declare new class.
2511         * src/chrono.cc: Conditionally define monotonic_clock::now().
2512         * include/std/condition_variable (wait_until): Throw exception if
2513         __gthread_cond_timedwait returns with error other than timed_out. Use
2514         system_clock as known clock type (__clock_t) and add overloads for known
2515         and unknown clocks. In the unknown case, sync to the known clock.
2516         Implement overload taking a predicate.
2517         (wait_for): Implement overload taking a predicate.
2518         * config/abi/pre/gnu.ver: Add exports for monotonic_clock.
2519         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
2520         line numbers.
2521         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
2522         Likewise.
2523         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
2524         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
2525         * testsuite/30_threads/condition_variable/member/1.cc: New.
2526         * testsuite/30_threads/condition_variable/member/2.cc: Likewise.
2527
2528 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
2529
2530         PR libstdc++/37624
2531         * testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
2532         when strtold is not available.
2533         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2534
2535 2008-09-23  Benjamin Kosnik  <bkoz@redhat.com>
2536
2537         PR libstdc++/37391 continued.
2538         * doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
2539         specify full path for source file links.
2540         * doc/html/ext/pb_ds/pq_examples.html: Same.
2541
2542 2008-09-23  Paolo Carlini  <paolo.carlini@oracle.com>
2543
2544         * include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't use const
2545         by value parameters.
2546         * include/bits/locale_facets.h (__pad<>::_S_pad): Likewise.
2547
2548 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
2549
2550         PR libstdc++/32422, DR 23 [Ready in R60]
2551         * config/locale/gnu/c_locale.cc (__convert_to_v(const char*, float&,
2552         ios_base::iostate&, const __c_locale&), __convert_to_v(const char*,
2553         double&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
2554         char*, long double&, ios_base::iostate&, const __c_locale&)): Implement
2555         DR 23 and deal correctly with broken exponents.
2556         * config/locale/generic/c_locale.cc (__convert_to_v(const char*,
2557         float&, ios_base::iostate&, const __c_locale&), __convert_to_v(const
2558         char*, double&, ios_base::iostate&, const __c_locale&),
2559         __convert_to_v(const char*, long double&, ios_base::iostate&, const
2560         __c_locale&)): Likewise.
2561         * include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
2562         _InIter, ios_base&, ios_base::iostate&, _ValueT&)): Likewise.
2563         (num_get<>::_M_extract_float(_InIter, _InIter, ios_base&,
2564         ios_base::iostate&, string&): Change grouping check to set instead of
2565         OR failbit; do not check for eofbit here...
2566         (num_get<>::do_get(iter_type, iter_type, ios_base&,
2567         ios_base::iostate&, float&), num_get<>::do_get(iter_type, iter_type,
2568         ios_base&, ios_base::iostate&, double&), num_get<>::do_get(iter_type,
2569         iter_type, ios_base&, ios_base::iostate&, long double&),
2570         num_get<>::__do_get(iter_type, iter_type, ios_base&,
2571         ios_base::iostate&, double&)): ... do it here instead.
2572         (num_get<>::do_get(iter_type, iter_type, ios_base&,
2573         ios_base::iostate&, bool&)): Implement DR 23.
2574         (num_get<>::do_get(iter_type, iter_type, ios_base&,
2575         ios_base::iostate&, void*&)): Adjust.
2576         * doc/xml/manual/intro.xml: Add and entry for DR 23.
2577         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
2578         Adjust.
2579         * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
2580         Likewise.
2581         * testsuite/22_locale/num_get/get/wchar_t/22131.cc: Likewise.
2582         * testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
2583         * testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.
2584         * testsuite/22_locale/num_get/get/wchar_t/15.cc: Likewise.
2585         * testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
2586         * testsuite/22_locale/num_get/get/char/22131.cc: Likewise.
2587         * testsuite/22_locale/num_get/get/char/10.cc: Likewise.
2588         * testsuite/22_locale/num_get/get/char/12.cc: Likewise.
2589         * testsuite/22_locale/num_get/get/char/15.cc: Likewise.
2590         * testsuite/22_locale/num_get/get/char/16.cc: Likewise.
2591
2592 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
2593
2594         PR libstdc++/37391
2595         * doc/html/ext/pb_ds/*.html: Fix external links.
2596
2597 2008-09-22  Benjamin Kosnik  <bkoz@redhat.com>
2598
2599         * doc/doxygen/user.cfg.in: Define _GLIBCXX_HAS_GTHREADS for mutex,
2600         condition_variable, and thread output.
2601
2602 2008-09-22  Paolo Carlini  <paolo.carlini@oracle.com>
2603
2604         * doc/html/ext/lwg-closed.html: Update to Revision R59.
2605         * doc/html/ext/lwg-active.html: Likewise.
2606         * doc/html/ext/lwg-defects.html: Likewise.
2607         * doc/xml/manual/intro.xml: Adjust.
2608
2609 2008-09-21  Paolo Carlini  <paolo.carlini@oracle.com>
2610
2611         * include/bits/stl_algo.h (minmax(initializer_list<>): Use make_pair,
2612         consistently with the other overload for initializer_list.
2613
2614 2008-09-19  Johannes Singler  <singler@ira.uka.de>
2615
2616         PR libstdc++/37470
2617         * include/parallel/base.h: Rename log2 to __log2.
2618           (__log2) Avoid infinite loop for n <= 0, return 0.
2619         * include/parallel/losertree.h: Rename log2 to __log2.
2620         * include/parallel/multiseq_selection.h: Likewise.
2621         * include/parallel/random_shuffle.h: Likewise.
2622
2623 2008-09-18  Paolo Carlini  <paolo.carlini@oracle.com>
2624
2625         * include/bits/shared_ptr.h (__shared_count<>::
2626         __shared_count(_Ptr, _Deleter), __shared_count<>::
2627         __shared_count(_Ptr, _Deleter, _Alloc), __shared_count<>::
2628         __shared_count(_Sp_make_shared_tag, _Tp*, _Alloc, _Args&&...)):
2629         Qualify new with ::.
2630
2631 2008-09-17  Paolo Carlini  <paolo.carlini@oracle.com>
2632
2633         PR libstdc++/37547
2634         * include/bits/stl_algo.h (min(initializer_list<>),
2635         min(initializer_list<>, Compare), max(initializer_list<>),
2636         max(initializer_list<>, Compare), minmax(initializer_list<>),
2637         minmax(initializer_list<>, Compare)): Fix return type.
2638         * include/bits/algorithmfwd.h: Adjust.
2639         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2640         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2641         Likewise.
2642         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2643         pod2.cc: Likewise.
2644         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2645         Likewise.
2646         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2647         pod2.cc: Likewise.
2648         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2649         3.cc: Likewise.
2650         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2651         pod2.cc: Likewise.
2652         * testsuite/25_algorithms/max/37547.cc: New.
2653         * testsuite/25_algorithms/min/37547.cc: Likewise.
2654         * testsuite/25_algorithms/minmax/37547.cc: Likewise.
2655
2656 2008-09-16  Chris Fairles  <chris.fairles@gmail.com>
2657
2658         * testsuite/25_algorithms/min/requirements/explicit_instantiation/3.cc:
2659         New.
2660         * testsuite/25_algorithms/min/requirements/explicit_instantiation/
2661         pod2.cc: Likewise.
2662         * testsuite/25_algorithms/min/3.cc: Likewise.
2663         * testsuite/25_algorithms/min/4.cc: Likewise.
2664         * testsuite/25_algorithms/max/requirements/explicit_instantiation/3.cc:
2665         Likewise.
2666         * testsuite/25_algorithms/max/requirements/explicit_instantiation/
2667         pod2.cc: Likewise.
2668         * testsuite/25_algorithms/max/3.cc: Likewise.
2669         * testsuite/25_algorithms/max/4.cc: Likewise.
2670         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2671         3.cc: Likewise.
2672         * testsuite/25_algorithms/minmax/requirements/explicit_instantiation/
2673         pod2.cc: Likewise.
2674         * testsuite/25_algorithms/minmax/2.cc: Likewise.
2675         * testsuite/25_algorithms/minmax/3.cc: Likewise.
2676
2677 2008-09-16  Paolo Carlini  <paolo.carlini@oracle.com>
2678
2679         * include/bits/stl_algo.h (min(initializer_list<>),
2680         min(initializer_list<>, Compare), max(initializer_list<>),
2681         max(initializer_list<>, Compare), minmax(initializer_list<>),
2682         minmax(initializer_list<>, Compare)): Add in C++0x mode.
2683         * include/bits/algorithmfwd.h: Add.
2684         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
2685
2686 2008-09-13  Chris Fairles  <chris.fairles@gmail.com>
2687
2688         * testsuite/30_threads/thread/algorithm/1.cc: Join thread before
2689         program exits.
2690         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2691         * testsuite/30_threads/thread/this_thread/3.cc: Define test variable.
2692         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2693
2694 2008-09-12  Chris Fairles  <chris.fairles@gmail.com>
2695             Benjamin Kosnik  <bkoz@redhat.com>
2696
2697         * include/std/thread: New.
2698         * include/Makefile.am: Update.
2699         * include/Makefile.in: Regenerate.
2700         * src/thread.cc: New.
2701         * src/Makefile.am: Update.
2702         * src/Makefile.in: Regenerate.
2703         * acinclude.m4: Add check for nanosleep.
2704         * configure.ac: Call it.
2705         * configure: Regenerate.
2706         * config.h.in: Likewise.
2707         * config/abi/pre/gnu.ver: Add exports.
2708         * doc/doxygen/user.cfg.in: Add thread header.
2709         * testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
2710         * testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
2711         * testsuite/30_threads/thread/cons/1.cc: New.
2712         * testsuite/30_threads/thread/cons/2.cc: Likewise.
2713         * testsuite/30_threads/thread/cons/3.cc: Likewise.
2714         * testsuite/30_threads/thread/cons/4.cc: Likewise.
2715         * testsuite/30_threads/thread/algorithm/1.cc: Likewise.
2716         * testsuite/30_threads/thread/algorithm/2.cc: Likewise.
2717         * testsuite/30_threads/thread/member/1.cc: Likewise.
2718         * testsuite/30_threads/thread/member/2.cc: Likewise.
2719         * testsuite/30_threads/thread/member/3.cc: Likewise.
2720         * testsuite/30_threads/thread/this_thread/1.cc: Likewise.
2721         * testsuite/30_threads/thread/this_thread/2.cc: Likewise.
2722         * testsuite/30_threads/thread/this_thread/3.cc: Likewise.
2723         * testsuite/30_threads/thread/this_thread/4.cc: Likewise.
2724         * testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
2725         * testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
2726         * testsuite/17_intro/headers/c++200x/all.cc: Add thread.
2727         * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc:
2728         Add thread, condition_variable and mutex.
2729
2730 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2731
2732         * src/ctype.cc (use_facet<ctype<char> >, use_facet<ctype<wchar_t>):
2733         Remove specializations.
2734         * src/locale-inst.cc (use_facet<ctype<C> >): Instantiate.
2735         * include/bits/locale_facets.tcc (use_facet<ctype<char> >,
2736         use_facet<ctype<wchar_t>): Declare as extern template.
2737         * include/bits/locale_facets.h (use_facet<ctype<char> >,
2738         use_facet<ctype<wchar_t>): Do not declare as specializations.
2739
2740 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2741
2742         * config/locale/darwin/ctype_members.cc (ctype<char>::_M_narrow_init,
2743         ctype<char>::_M_widen_init): Don't define here.
2744         * config/locale/gnu/ctype_members.cc: Likewise.
2745         * config/locale/generic/ctype_members.cc: Likewise.
2746         * src/ctype.cc: Define here.
2747
2748 2008-09-10  Paolo Carlini  <paolo.carlini@oracle.com>
2749
2750         PR libstdc++/37455
2751         * include/bits/locale_facets.h (ctype<char>::_M_narrow_init,
2752         ctype<char>::_M_widen_init): Don't define inline.
2753         * config/locale/darwin/ctype_members.cc: ... define here.
2754         * config/locale/gnu/ctype_members.cc: ... likewise.
2755         * config/locale/generic/ctype_members.cc: ... likewise.
2756         * config/abi/pre/gnu.ver: Export.
2757
2758 2008-09-09  Benjamin Kosnik  <bkoz@redhat.com>
2759
2760         * doc/xml/manual/abi.xml: Update for new releases.
2761         * doc/doxygen/user.cfg.in: Include C compatibility headers.
2762         * doc/html/*: Regenerate.
2763
2764 2008-09-09  Paolo Carlini  <paolo.carlini@oracle.com>
2765
2766         * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACROS after
2767         inclusion of <inttypes.h>.
2768         * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
2769         __STDC_CONSTANT_MACROS after <stdint.h>.
2770         * include/bits/postypes.h: Likewise.
2771
2772 2008-09-09  Andreas Schwab  <schwab@suse.de>
2773
2774         * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check
2775         not to redefine main.
2776
2777 2008-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
2778
2779         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Check wcstoimax and
2780         wcstoumax, define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
2781         * include/tr1_impl/cinttypes: Use the latter.
2782         * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
2783         * configure: Regenerate.
2784         * config.h.in: Likewise.
2785
2786 2008-09-05  Peter Dimov  <pdimov@mmltd.net>
2787
2788         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc: New.
2789
2790 2008-09-05  Paolo Carlini  <paolo.carlini@oracle.com>
2791
2792         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: Rename
2793         to...
2794         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc: ...
2795         this.
2796
2797 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2798
2799         PR libstdc++/36962
2800         * include/Makefile.am: Update headers.
2801         * include/Makefile.in: Regenerate.
2802         * include/std/memory: Update headers.
2803         * include/tr1/memory: Likewise.
2804         * include/tr1_impl/boost_shared_ptr.h: Remove, splitting into
2805         separate implementations for std and tr1.
2806         * include/bits/boost_sp_shared_count.h: Remove.
2807         * include/tr1/boost_sp_shared_count.h: Remove.
2808         * include/bits/shared_ptr.h: New. Combines boost_sp_shared_count.h
2809         and boost_shared_ptr.h into one file.
2810         (__shared_count,__shared_ptr,shared_ptr,swap): Add unique_ptr
2811         and rvalue-reference support as per current WP.
2812         * include/tr1/shared_ptr.h: New. Combines boost_sp_shared_count.h
2813         and boost_shared_ptr.h into one file.
2814         * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: New.
2815         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: New.
2816         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref.cc: New.
2817         * testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: New.
2818         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc: New.
2819         * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc: New.
2820         * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc: New.
2821         * testsuite/20_util/shared_ptr/modifiers/swap_rvalue.cc: New.
2822         * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Remove.
2823
2824 2008-09-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2825
2826         * doc/xml/manual/locale.xml: Fix typo.
2827
2828 2008-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
2829
2830         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Tidy checks in case of
2831         POSIX threads.
2832         * configure: Regenerate.
2833
2834 2008-09-04  Chris Fairles  <chris.fairles@gmail.com>
2835
2836         * include/std/mutex (once_flag): Construct __gthread_once_t in a
2837         temporary variable before assigning to _M_once to avoid initialization
2838         errors.
2839
2840 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2841
2842         * config/abi/pre/gnu.ver: Also export __once_functor_lock; tighten
2843         GLIBCXX_3.4 exports (necessary in case of undef _GLIBCXX_HAVE_TLS).
2844
2845         * Makefile.in: Regenerate.
2846         * src/Makefile.in: Likewise.
2847         * doc/Makefile.in: Likewise.
2848         * po/Makefile.in: Likewise.
2849         * libmath/Makefile.in: Likewise.
2850         * include/Makefile.in: Likewise.
2851         * libsupc++/Makefile.in: Likewise.
2852         * testsuite/Makefile.in: Likewise.
2853
2854 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2855
2856         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Fix typo in last commit,
2857         check _POSIX_TIMEOUTS, not _POSIX_TIMERS.
2858         * configure: Regenerate.
2859
2860 2008-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
2861
2862         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check _POSIX_TIMERS too.
2863         * configure: Regenerate.
2864
2865 2008-09-03  Chris Fairles  <chris.fairles@gmail.com>
2866
2867         * include/std/condition_variable: Use new deleted ctors.
2868         * include/std/mutex: Likewise plus implement timed_mutex,
2869         recursive_timed_mutex and call_once.
2870         * src/condition_variable.cc: Implement wait(). Use gthread types.
2871         Remove _GTHREADS_HAS_COND checks in favor of global
2872         _GLIBCXX_HAS_GTHREADS.
2873         * src/mutex.cc (call_once): Implementation using TLS with mutex
2874         fallback.
2875         * config/abi/pre/gnu.ver: Add exported symbols.
2876         * testsuite/lib/libstdc++.exp (check_v3_target_gthreads): New.
2877         * testsuite/lib/dg-options.exp (dg-require-gthreads): Likewise.
2878         * testsuite/30_threads/lock_guard/requirements/typedefs.cc: Use
2879         dg-require-gthreads and dg-require-cstdint.
2880         * testsuite/30_threads/lock_guard/requirements/
2881         explicit_instantiation.cc: Likewise.
2882         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
2883         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
2884         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
2885         * testsuite/30_threads/mutex/requirements/typedefs.cc: Likewise.
2886         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
2887         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
2888         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
2889         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
2890         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
2891         Likewise.
2892         * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
2893         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
2894         * testsuite/30_threads/recursive_mutex/requirements/typedefs.cc:
2895         Likewise.
2896         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
2897         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
2898         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
2899         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
2900         * testsuite/30_threads/unique_lock/requirements/
2901         explicit_instantiation.cc: Likewise.
2902         * testsuite/30_threads/unique_lock/requirements/typedefs.cc: Likewise.
2903         * testsuite/30_threads/mutex/cons/assign_neg.cc: Also adjust dg-error
2904         lines for deleted members.
2905         * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
2906         * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
2907         * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
2908         * testsuite/30_threads/call_once/once_flag.cc: New.
2909         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
2910         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
2911         * testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise
2912         * testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
2913         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
2914         * testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
2915         Likewise.
2916         * testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
2917         Likewise.
2918         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
2919         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
2920         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
2921         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
2922         * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
2923         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
2924         * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
2925         * testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
2926         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
2927         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
2928         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
2929         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
2930         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
2931         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
2932         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
2933         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
2934         Likewise.
2935         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
2936         Likewise.
2937         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
2938         Likewise.
2939         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
2940         Likewise.
2941         * testsuite/30_threads/recursive_timed_mutex/cons: Likewise.
2942         * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
2943         Likewise.
2944         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
2945         * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
2946         Likewise.
2947         * testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
2948         Likewise.
2949         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
2950         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
2951         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
2952         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
2953         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
2954         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
2955         Likewise.
2956         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
2957         Likewise.
2958         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
2959         Likewise.
2960         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
2961         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2962         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
2963         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
2964         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
2965         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
2966         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
2967         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
2968         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
2969         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
2970         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
2971         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
2972
2973 2008-09-01  Mark Mitchell  <mark@codesourcery.com>
2974
2975         * include/std/type_traits (__make_unsigned_selector<>): Consider
2976         enums of size smaller than short.
2977         (__make_signed_selector<>): Likewise.
2978         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2979         Adjust line numbers.
2980         * testsuite/20_util/make_usigned/requirements/typedefs_neg.cc:
2981         Adjust line numbers.
2982         * testsuite/20_util/make_signed/requirements/typedefs-2.cc:
2983         Ensure test_enum is the same size as short.
2984         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
2985         Ensure test_enum is the same size as short.
2986
2987 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
2988
2989         * acinclude.m4 <enable_symvers>: Don't use symvers on Windows.
2990         * configure: Regenerated.
2991         * Makefile.in: Regenerated.
2992         * src/Makefile.in: Regenerated.
2993         * doc/Makefile.in: Regenerated.
2994         * po/Makefile.in: Regenerated.
2995         * libmath/Makefile.in: Regenerated.
2996         * include/Makefile.in: Regenerated.
2997         * libsupc++/Makefile.in: Regenerated.
2998         * testsuite/Makefile.in: Regenerated.
2999
3000 2008-08-29  Mark Mitchell  <mark@codesourcery.com>
3001
3002         * testsuite/25_algorithms/nth_element/2.cc: Constrain iterations
3003         when testing on a simultor.
3004
3005 2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>
3006
3007         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
3008         Rename to .../typedefs.cc.
3009         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
3010         Likewise.
3011         * testsuite/tr1/6_containers/unordered_multiset/requirements/
3012         typedef.cc: Likewise.
3013         * testsuite/tr1/6_containers/unordered_multimap/requirements/
3014         typedef.cc: Likewise.
3015         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
3016         Likewise.
3017         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
3018         Likewise.
3019         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
3020         Likewise.
3021         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
3022         Likewise.
3023
3024 2008-08-28  Chris Fairles  <chris.fairles@gmail.com>
3025
3026         * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
3027         support used by c++0x thread library.
3028         * configure.ac: Test unconditionally.
3029         * configure: Regenerate.
3030         * config.h.in: Regenerate.
3031
3032 2008-08-27  Benjamin Kosnik  <bkoz@redhat.com>
3033
3034         * doc/Makefile.am: Edit xml file list.
3035         * doc/Makefile.in: Regenerate.
3036         * configure: Regenerate.
3037         * doc/xml/manual/intro.xml: Edit, correct links, structure.
3038         * doc/xml/manual/configure.xml: Same.
3039         * doc/xml/manual/debug.xml: Same.
3040         * doc/xml/manual/test.xml: Same.
3041         * doc/xml/manual/build.xml: Remove.
3042         * doc/xml/manual/prerequisites.xml: Add.
3043         * doc/html/*: Regenerate.
3044
3045 2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>
3046
3047         * include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
3048         const_pointer typedefs.
3049         * testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
3050         Add.
3051         * testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
3052         Likewise.
3053         * testsuite/tr1/6_containers/unordered_multiset/requirements/
3054         typedef.cc: Likewise.
3055         * testsuite/tr1/6_containers/unordered_multimap/requirements/
3056         typedef.cc: Likewise.
3057         * testsuite/23_containers/unordered_set/requirements/typedef.cc:
3058         Likewise.
3059         * testsuite/23_containers/unordered_map/requirements/typedef.cc:
3060         Likewise.
3061         * testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
3062         Likewise.
3063         * testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
3064         Likewise.
3065
3066 2008-08-27  Paul Brook  <paul@codesourcery.com>
3067
3068         * libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
3069         __get_object_from_ambiguous_exception.
3070
3071 2008-08-26  Ben Elliston  <bje@au.ibm.com>
3072
3073         * src/mt_allocator.cc (__pool): Fix error in comment.
3074
3075 2008-08-25  Paolo Carlini  <paolo.carlini@oracle.com>
3076
3077         * linkage.m4 ([GLIBCXX_CHECK_BUILTIN_MATH_DECL_AND_LINKAGE_1],
3078         [GLIBCXX_CHECK_BUILTIN_MATH_SUPPORT]): Remove
3079         * configure.ac: Do not call the latter.
3080         * crossconfig.m4: Likewise.
3081         * libmath/mathconf.h: Adjust.
3082         * configure: Regenerate.
3083         * config.h.in: Likewise.
3084
3085 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
3086
3087         * acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
3088         two test -r instead of an AC_TRY_RUN.
3089         * configure: Regenerate.
3090         * config.h.in: Likewise.
3091
3092 2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>
3093
3094         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
3095         * doc/xml/manual/configure.xml: Likewise.
3096
3097 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
3098
3099         * acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
3100         GLIBCXX_ENABLE.
3101         * configure: Regenerate.
3102
3103 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
3104
3105         * acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
3106         GCC_TRY_COMPILE_OR_LINK.
3107         ([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
3108         [GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
3109         [no] by default, since it includes TRY_LINK checks.  librt is also
3110         searched, if requested.
3111         * doc/xml/manual/configure.xml: Document the latter.
3112         * configure.ac: Move the above checks outside native-only.
3113         * configure: Regenerate.
3114
3115 2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>
3116
3117         * testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
3118         * testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
3119         * testsuite/18_support/exception_ptr/current_exception.cc: Use it.
3120         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
3121         * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.
3122
3123 2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>
3124
3125         Add (again) exception propagation support as per N2179.  Feature is
3126         available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
3127         * libsupc++/exception_ptr.h (exception_ptr, current_exception,
3128         copy_exception, rethrow_exception): New file, implement exception
3129         propagation.
3130         * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
3131         rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
3132         * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
3133         (__cxa_dependent_exception, __cxa_allocate_dependent_exception,
3134         __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
3135         __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
3136         __gxx_dependent_exception_class, __get_object_from_ue,
3137         __get_object_from_ambiguous_exception): Add.
3138         (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
3139         (__is_gxx_exception_class): Handle dependent exceptions.
3140         * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
3141         * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
3142         * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
3143         * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
3144         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
3145         __cxa_free_dependent_exception): Add.
3146         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
3147         counting.
3148         * libsupc++/exception: Conditionally include exception_ptr.h.
3149         * libsupc++/Makefile.am: Register new files.
3150         * libsupc++/Makefile.in: Regenerate.
3151         * config/abi/pre/gnu.ver: Add new symbols.
3152         * testsuite/18_support/exception_ptr/current_exception.cc: Test the
3153         core functionality of current_exception().
3154         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
3155         core functionality of rethrow_exception().
3156         * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
3157         exception objects during exception propagation.
3158
3159 2008-08-22  Paolo Carlini  <paolo.carlini@oracle.com>
3160
3161         Revert again the N2179 patch.
3162
3163 2008-08-21  Sebastian Redl <sebastian.redl@getdesigned.at>
3164
3165         * libsupc++/eh_ptr.cc (__gxx_dependent_exception_cleanup): Call
3166         __cxa_free_dependent_exception.
3167
3168 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
3169
3170         * include/bits/char_traits.h (char_traits<char16_t>::
3171         assign(char_type*, size_t, char_type), char_traits<char32_t>::
3172         assign(char_type*, size_t, char_type)): For now, just open-code.
3173
3174 2008-08-20  Paolo Carlini  <paolo.carlini@oracle.com>
3175
3176         PR c++/33979 (partial)
3177         * include/bits/postypes.h (u16streampos, u32streampos): Add.
3178         * include/bits/char_traits.h (char_traits<char16_t>,
3179         char_traits<char32_t>): Add.
3180         * include/bits/stringfwd.h (u16string, u32string): Add.
3181         * include/ext/vstring_fwd.h: Add typedefs for char16_t/char32_t.
3182         * testsuite/21_strings/char_traits/requirements/char32_t/typedefs.cc:
3183         New.
3184         * testsuite/21_strings/char_traits/requirements/
3185         explicit_instantiation/short/1.cc: Likewise.
3186         * testsuite/21_strings/char_traits/requirements/
3187         explicit_instantiation/char32_t/1.cc: Likewise.
3188         * testsuite/21_strings/char_traits/requirements/
3189         explicit_instantiation/wchar_t/1.cc: Likewise.
3190         * testsuite/21_strings/char_traits/requirements/
3191         explicit_instantiation/char16_t/1.cc: Likewise.
3192         * testsuite/21_strings/char_traits/requirements/
3193         explicit_instantiation/char/1.cc: Likewise.
3194         * testsuite/21_strings/char_traits/requirements/char16_t/typedefs.cc:
3195         Likewise.
3196         * testsuite/21_strings/basic_string/requirements/
3197         explicit_instantiation/char32_t/1.cc: Likewise.
3198         * testsuite/21_strings/basic_string/requirements/
3199         explicit_instantiation/wchar_t/1.cc: Likewise.
3200         * testsuite/21_strings/basic_string/requirements/
3201         explicit_instantiation/char16_t/1.cc: Likewise.
3202         * testsuite/21_strings/basic_string/requirements/
3203         explicit_instantiation/char/1.cc: Likewise.
3204         * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise.
3205         * testsuite/ext/vstring/requirements/explicit_instantiation/
3206         char32_t/1.cc: Likewise.
3207         * testsuite/ext/vstring/requirements/explicit_instantiation/
3208         char16_t/1.cc: Likewise.
3209
3210 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
3211
3212         PR libstdc++/37149
3213         * testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Include
3214         <cstdio>.
3215         * testsuite/27_io/basic_ostream/inserters_other/char/error_code.cc:
3216         Likewise.
3217         * testsuite/27_io/objects/char/12048-1.cc: Likewise.
3218         * testsuite/27_io/objects/char/12048-3.cc: Likewise.
3219         * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise.
3220         * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise.
3221         * testsuite/ext/malloc_allocator/deallocate_global.cc: Likewise.
3222         * testsuite/ext/malloc_allocator/deallocate_local.cc: Likewise.
3223         * testsuite/ext/mt_allocator/deallocate_global-2.cc: Likewise.
3224         * testsuite/ext/mt_allocator/deallocate_global-4.cc: Likewise.
3225         * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Likewise.
3226         * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Likewise.
3227         * testsuite/ext/mt_allocator/deallocate_local-2.cc: Likewise.
3228         * testsuite/ext/mt_allocator/deallocate_local-4.cc: Likewise.
3229         * testsuite/ext/mt_allocator/deallocate_local-6.cc: Likewise.
3230         * testsuite/ext/mt_allocator/deallocate_local-8.cc: Likewise.
3231         * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Likewise.
3232         * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Likewise.
3233         * testsuite/ext/mt_allocator/deallocate_local_thread-5.cc: Likewise.
3234         * testsuite/ext/mt_allocator/deallocate_local_thread-7.cc: Likewise.
3235         * testsuite/ext/new_allocator/deallocate_global.cc: Likewise.
3236         * testsuite/ext/new_allocator/deallocate_local.cc: Likewise.
3237         * testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: Likewise.
3238         * include/std/regex: Include <sstream>.
3239         * include/tr1/regex: Likewise.
3240
3241 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
3242
3243         * configure.ac: Do not hardcode HAVE_S_ISREG and HAVE_S_IFREG for
3244         newlib.
3245         * configure: Regenerate.
3246
3247 2008-08-18  Paolo Carlini  <paolo.carlini@oracle.com>
3248
3249         PR libstdc++/37147
3250         * acinclude.m4 ([GLIBCXX_CHECK_C99_TR1]): Tighten checks on stdint.h,
3251         check the macros too.
3252         * configure: Regenerate.
3253
3254 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
3255
3256         * acinclude.m4 ([AC_LC_MESSAGES]): Use AC_TRY_COMPILE instead of
3257         AC_TRY_LINK.
3258         * configure.ac: Run unconditionally AC_LC_MESSAGES.
3259         * crossconfig.m4: Adjust.
3260         * configure: Regenerate.
3261
3262 2008-08-17  Paolo Carlini  <paolo.carlini@oracle.com>
3263
3264         * acinclude.m4 ([GLIBCXX_CHECK_LFS], [GLIBCXX_CHECK_POLL],
3265         [GLIBCXX_CHECK_S_ISREG_OR_S_IFREG], [GLIBCXX_CHECK_WRITEV]):
3266         Use GCC_TRY_COMPILE_OR_LINK instead of AC_TRY_LINK, in C++,
3267         with -fno-excepti