OSDN Git Service

libstdc++ profile mode bug fixes and minor updates
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2010-01-10  Silvius Rus  <rus@google.com>
2
3         * configure.ac: Add detection of execinfo.h.
4         * configure: Same.
5         * config.h.in: Same.
6         * doc/xml/manual/profile_mode.xml: Add list_to_slist manual.
7         Also, correct user interface mistakes.
8         * include/Makefile.in: Add references to new include files.
9         * include/Makefile.am: Add references to new include files.
10         * include/backward/hash_map: Remove profile include.
11         * include/backward/hash_set: Remove profile include.
12         * include/profile/hashtable.h: Delete file.
13         * include/profile/iterator_tracker.h: New file.
14         * include/profile/vector: Add instrumentation for tracked iterator.
15         * include/profile/list: Same.
16         * include/profile/impl/profiler_list_to_slist.h: New file.
17         * include/profile/impl/profiler_list_to_vector.h: Same.
18         * include/profile/impl/profiler.h: Add list_to_slist and
19         list_to_vector instrumentation hook interfaces.  Fixed broken
20         diagnostic disabling mechanism.
21         (_GLIBCXX_PROFILE_DEFINE_DATA,_GLIBCXX_PROFILE_DATA) New macros.
22         (__reentrance_guard) Fix bug.
23         * include/profile/impl/profiler_trace.h: Replace dummy templates
24         with _GLIBCXX_PROFILE_DEFINE_DATA.
25         * include/profile/impl/profiler_container_size.h: Same.
26         * include/profile/impl/profiler_vector_size.h: Same.
27         * include/profile/impl/profiler_hash_func.h: Same.
28         * include/profile/impl/profiler_vector_to_list.h: Same.
29         * include/profile/impl/profiler_map_to_unordered_map.h: Same.
30         * include/profile/impl/profiler_hashtable_size.h: Same.
31         * include/profile/impl/profiler_node.h: Same.
32         * include/profile/impl/profiler_state.h: Same.  Also, remove
33         class __state. Also, use __sync_val_compare_and_swap to set state.
34
35 2010-01-09  H.J. Lu  <hongjiu.lu@intel.com>
36
37         PR other/42230
38         * testsuite/abi/pr42230.cc: New.
39
40 2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>
41
42         * include/debug/set.h: Revert last change, per DR 1204 [Ready];
43         mention the latter in comment.
44         * include/debug/unordered_map: Likewise.
45         * include/debug/multiset.h: Likewise.
46         * include/debug/vector: Likewise.
47         * include/debug/unordered_set: Likewise.
48         * include/debug/deque: Likewise.
49         * include/debug/map.h: Likewise.
50         * include/debug/list: Likewise.
51         * include/debug/multimap.h: Likewise.
52         * include/tr1_impl/unordered_map: Likewise.
53         * include/tr1_impl/unordered_set: Likewise.
54         * include/profile/set.h: Likewise.
55         * include/profile/unordered_map: Likewise.
56         * include/profile/multiset.h: Likewise.
57         * include/profile/unordered_set: Likewise.
58         * include/profile/vector: Likewise.
59         * include/profile/deque: Likewise.
60         * include/profile/map.h: Likewise.
61         * include/profile/list: Likewise.
62         * include/profile/multimap.h: Likewise.
63         * include/ext/vstring.h: Likewise.
64         * include/bits/stl_list.h: Likewise.
65         * include/bits/stl_map.h: Likewise.
66         * include/bits/stl_set.h: Likewise.
67         * include/bits/stl_multimap.h: Likewise.
68         * include/bits/stl_vector.h: Likewise.
69         * include/bits/stl_deque.h: Likewise.
70         * include/bits/stl_multiset.h: Likewise.
71
72         * include/bits/forward_list.h: Remove pre-existing check.
73         * include/ext/vstring.h: Likewise.
74
75         * testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
76         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
77         Likewise.
78         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
79         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
80         * testsuite/23_containers/unordered_multimap/cons/
81         self_move_assign.cc: Likewise.
82         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
83         Likewise.
84         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
85         Likewise.
86         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
87         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
88         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
89         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
90         * testsuite/23_containers/unordered_multiset/cons/
91         self_move_assign.cc: Likewise.
92         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
93
94         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
95         Adjust dg-error line numbers.
96         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
97         Likewise.
98         * testsuite/23_containers/vector/requirements/dr438/
99         constructor_1_neg.cc: Likewise.
100         * testsuite/23_containers/vector/requirements/dr438/
101         constructor_2_neg.cc: Likewise.
102         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
103         Likewise.
104         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
105         Likewise.
106         * testsuite/23_containers/deque/requirements/dr438/
107         constructor_1_neg.cc: Likewise.
108         * testsuite/23_containers/forward_list/requirements/dr438/
109         assign_neg.cc: Likewise.
110         * testsuite/23_containers/forward_list/requirements/dr438/
111         insert_neg.cc: Likewise.
112         * testsuite/23_containers/forward_list/requirements/dr438/
113         constructor_1_neg.cc: Likewise.
114         * testsuite/23_containers/forward_list/requirements/dr438/
115         constructor_2_neg.cc: Likewise.
116         * testsuite/23_containers/deque/requirements/dr438/
117         constructor_2_neg.cc: Likewise.
118         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
119         Likewise.
120         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
121         Likewise.
122         * testsuite/23_containers/list/requirements/dr438/
123         constructor_1_neg.cc: Likewise.
124         * testsuite/23_containers/list/requirements/dr438/
125         constructor_2_neg.cc: Likewise.
126
127 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
128
129         * include/debug/set.h: Protect move assignment operator vs self
130         assignment.
131         * include/debug/unordered_map: Likewise.
132         * include/debug/multiset.h: Likewise.
133         * include/debug/vector: Likewise.
134         * include/debug/unordered_set: Likewise.
135         * include/debug/deque: Likewise.
136         * include/debug/map.h: Likewise.
137         * include/debug/list: Likewise.
138         * include/debug/multimap.h: Likewise.
139         * include/tr1_impl/unordered_map: Likewise.
140         * include/tr1_impl/unordered_set: Likewise.
141         * include/profile/set.h: Likewise.
142         * include/profile/unordered_map: Likewise.
143         * include/profile/multiset.h: Likewise.
144         * include/profile/unordered_set: Likewise.
145         * include/profile/vector: Likewise.
146         * include/profile/deque: Likewise.
147         * include/profile/map.h: Likewise.
148         * include/profile/list: Likewise.
149         * include/profile/multimap.h: Likewise.
150         * include/ext/vstring.h: Likewise.
151         * include/bits/stl_list.h: Likewise.
152         * include/bits/stl_map.h: Likewise.
153         * include/bits/stl_set.h: Likewise.
154         * include/bits/stl_multimap.h: Likewise.
155         * include/bits/stl_vector.h: Likewise.
156         * include/bits/stl_deque.h: Likewise.
157         * include/bits/stl_multiset.h: Likewise.
158         * include/ext/vstring.h: Use clear().
159         * testsuite/ext/vstring/cons/self_move_assign.cc: New.
160         * testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
161         Likewise.
162         * testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
163         * testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
164         * testsuite/23_containers/unordered_multimap/cons/
165         self_move_assign.cc: Likewise.
166         * testsuite/23_containers/forward_list/cons/self_move_assign.cc:
167         Likewise.
168         * testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
169         Likewise.
170         * testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
171         * testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
172         * testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
173         * testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
174         * testsuite/23_containers/unordered_multiset/cons/
175         self_move_assign.cc: Likewise.
176         * testsuite/23_containers/map/cons/self_move_assign.cc: Likewise.
177
178         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
179         Adjust dg-error line numbers.
180         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
181         Likewise.
182         * testsuite/23_containers/vector/requirements/dr438/
183         constructor_1_neg.cc: Likewise.
184         * testsuite/23_containers/vector/requirements/dr438/
185         constructor_2_neg.cc: Likewise.
186         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
187         Likewise.
188         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
189         Likewise.
190         * testsuite/23_containers/deque/requirements/dr438/
191         constructor_1_neg.cc: Likewise.
192         * testsuite/23_containers/deque/requirements/dr438/
193         constructor_2_neg.cc: Likewise.
194         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
195         Likewise.
196         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
197         Likewise.
198         * testsuite/23_containers/list/requirements/dr438/
199         constructor_1_neg.cc: Likewise.
200         * testsuite/23_containers/list/requirements/dr438/
201         constructor_2_neg.cc: Likewise.
202
203         * testsuite/ext/vstring/moveable.cc: Move to...
204         * testsuite/ext/vstring/cons/moveable.cc: ... here.
205         * testsuite/23_containers/unordered_map/moveable.cc: Move to...
206         * testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
207         * testsuite/23_containers/multimap/moveable.cc: Move to...
208         * testsuite/23_containers/multimap/cons/moveable.cc: ... here.
209         * testsuite/23_containers/set/moveable.cc: Move to...
210         * testsuite/23_containers/set/cons/moveable.cc: ... here.
211         * testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
212         * testsuite/23_containers/unordered_multimap/cons/moveable.cc:
213         ... here.
214         * testsuite/23_containers/forward_list/moveable.cc: Move to...
215         * testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
216         * testsuite/23_containers/unordered_set/moveable.cc Move to...
217         * testsuite/23_containers/unordered_set/moveable.cc: ... here.
218         * testsuite/23_containers/vector/cons/moveable.cc Move to...
219         * testsuite/23_containers/vector/cons/moveable2.cc: ... this.
220         * testsuite/23_containers/deque/cons/moveable.cc Move to...
221         * testsuite/23_containers/deque/cons/moveable2.cc: ... this.
222         * testsuite/23_containers/multiset/moveable.cc Move to...
223         * testsuite/23_containers/multiset/cons/moveable.cc: ... here.
224         * testsuite/23_containers/list/moveable.h Move to...
225         * testsuite/23_containers/list/cons/moveable.h: ... here.
226         * testsuite/23_containers/list/moveable.cc Move to...
227         * testsuite/23_containers/list/cons/moveable.cc: ... here.
228         * testsuite/23_containers/unordered_multiset/moveable.cc Move to...
229         * testsuite/23_containers/unordered_multiset/cons/moveable.cc:
230         ... here.
231         * testsuite/23_containers/map/moveable.cc Move to...
232         * testsuite/23_containers/map/cons/moveable.cc: ... here.
233         * testsuite/23_containers/vector/moveable.cc: Move to...
234         * testsuite/23_containers/vector/cons/moveable.cc: ... here.
235         * testsuite/23_containers/deque/moveable.cc: Move to...
236         * testsuite/23_containers/deque/cons/moveable.cc: ... here.
237
238 2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>
239
240         PR libstdc++/42573
241         * include/bits/allocator.h (struct __shrink_to_fit): Add.
242         * include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
243         * include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
244         * include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
245         * include/bits/basic_string.h (basic_string<>::shrink_to_fit):
246         Likewise.
247         * include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
248         * include/debug/deque: Add corresponding using declaration.
249         * include/debug/vector: Likewise.
250         * include/debug/string: Likewise.
251         * include/profile/deque: Likewise.
252         * include/profile/vector: Likewise.
253         * config/abi/pre/gnu.ver: Export new symbols.
254         * testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
255         * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
256         * testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
257         Likewise.
258         * testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
259         Likewise.
260         * testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
261         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
262         Adjust dg-error line number.
263         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
264         Likewise.
265         * testsuite/23_containers/deque/requirements/dr438/
266         constructor_1_neg.cc: Likewise.
267         * testsuite/23_containers/deque/requirements/dr438/
268         constructor_2_neg.cc: Likewise.
269         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
270         Adjust dg-error line number.
271         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
272         Likewise.
273         * testsuite/23_containers/vector/requirements/dr438/
274         constructor_1_neg.cc: Likewise.
275         * testsuite/23_containers/vector/requirements/dr438/
276         constructor_2_neg.cc: Likewise.
277
278 2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>
279
280         * doc/xml/manual/evolution.xml: Fix typos, update.
281
282 2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>
283
284         * include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
285         pointless __builtin_alloca use.
286
287 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
288
289         PR libstdc++/26701
290         * include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
291         Encode short two digits over four parsings to negative numbers.
292         (time_get<>::_M_extract_via_format): Adjust, accept both two digits
293         and four digits for both 'y' and 'Y'.
294         (time_get<>::do_get_year): Call time_get<>::_M_extract_num.
295         * doc/xml/manual/prerequisites.xml: Add en_GB.
296         * testsuite/lib/libstdc++.exp: Adjust
297         * testsuite/22_locale/time_get/get_date/char/26701.cc: New.
298         * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
299
300 2010-01-06  Benjamin Kosnik  <bkoz@redhat.com>
301
302         PR libstdc++/42491
303         * scripts/check_performance (CXX): Add -std=gnu++0x.
304         * testsuite/performance/30_threads/future/polling.cc: Mark up as
305         using threads.
306
307 2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
308
309         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc:
310         Add dg-require-namedlocale.
311
312 2010-01-05  Benjamin Kosnik  <bkoz@redhat.com>
313
314         * doc/xml/manual/evolution.xml: Update for 4.4 and 4.5 releases.
315         * doc/html: Regenerate.
316
317 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
318
319         PR libstdc++/38081
320         * include/bits/locale_facets_nonio.h (time_get<>::
321         _M_extract_wday_or_month): New, declare.
322         * include/bits/locale_facets_nonio.tcc (time_get<>::
323         _M_extract_wday_or_month): Define.
324         (time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
325         * config/abi/pre/gnu.ver: Export new symbols.
326         * doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
327         ru_RU.ISO-8859-5.
328         * testsuite/lib/libstdc++.exp: Adjust.
329         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
330         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
331
332 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
333
334         * configure: Regenerate.
335
336 2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>
337
338         * testsuite/22_locale/time_get/get_monthname/char/6.cc: New.
339         * testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
340         * testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
341         * testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
342
343 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
344
345         * include/profile/list: Implement DR 1133 here too.
346
347         * testsuite/25_algorithms/set_intersection/34730.cc: Do not force
348         debug-mode, leads to spurious failures in profile-mode.
349         * testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
350         * testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
351         * testsuite/25_algorithms/set_difference/35541.cc: Likewise.
352         * testsuite/21_strings/basic_string/40160.cc: Likewise.
353         * testsuite/26_numerics/random/uniform_real_distribution/
354         cons/parms_neg.cc: Likewise.
355         * testsuite/26_numerics/random/uniform_int_distribution/
356         cons/parms_neg.cc: Likewise.
357         * testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
358         Likewise.
359         * testsuite/23_containers/multimap/14340.cc: Likewise.
360         * testsuite/23_containers/bitset/18604.cc: Likewise.
361         * testsuite/23_containers/set/14340.cc: Likewise.
362         * testsuite/23_containers/set/18604.cc: Likewise.
363         * testsuite/23_containers/unordered_set/requirements/
364         debug_mode.cc: Likewise.
365         * testsuite/23_containers/vector/
366         debug_mode_requires_reallocation-1.cc: Likewise.
367         * testsuite/23_containers/vector/
368         debug_mode_requires_reallocation-2.cc: Likewise.
369         * testsuite/23_containers/vector/14340.cc: Likewise.
370         * testsuite/23_containers/vector/15523.cc: Likewise.
371         * testsuite/23_containers/vector/18604.cc: Likewise.
372         * testsuite/23_containers/deque/14340.cc: Likewise.
373         * testsuite/23_containers/deque/18604.cc: Likewise.
374         * testsuite/23_containers/multiset/14340.cc: Likewise.
375         * testsuite/23_containers/list/operations/35969.cc: Likewise.
376         * testsuite/23_containers/list/14340.cc: Likewise.
377         * testsuite/23_containers/list/18604.cc: Likewise.
378         * testsuite/23_containers/map/14340.cc: Likewise.
379         * testsuite/23_containers/map/18604.cc: Likewise.
380         * testsuite/tr1/5_numerical_facilities/random/uniform_int/
381         cons/range_neg.cc: Likewise.
382
383         * testsuite/23_containers/unordered_map/requirements/
384         explicit_instantiation/2.cc: Do not instantiate for
385         non-defaultconstructible mapped_type.
386
387 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
388
389         * include/debug/set.h: Implement DR 130 here too.
390         * include/debug/multiset.h: Likewise.
391         * include/debug/map.h: Likewise.
392         * include/debug/multimap.h: Likewise.
393         * include/profile/set.h: Implement DR 130 fully.
394         * include/profile/multiset.h: Likewise.
395         * include/profile/map.h: Likewise.
396         * include/profile/multimap.h: Likewise.
397         * include/debug/list: Implement DR 1133 here too.
398         * include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
399         now uses of __gnu_cxx::throw_allocator.
400         * testsuite/21_strings/basic_string/40160.cc: Don't pass
401         explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
402         testing.
403
404 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
405
406         * include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
407         in C++0x mode.
408         * include/debug/bitset (bitset<>::bitset(unsigned long long)):
409         Likewise.
410
411 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
412
413         * include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
414         typedef.
415         * include/profile/unordered_map (unordered_map<>::insert(const
416         value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
417         * include/profile/unordered_set (unordered_set<>::insert(const
418         value_type&), unordered_multimap<>::insert(const value_type&)):
419         Likewise.
420
421 2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
422
423         * include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
424         pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
425         Use std::is_constructible instead of std::is_convertible.
426
427 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
428
429         Revert last change, reinstantiate basic_string and vstring tests.
430
431 2010-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
432
433         * testsuite/21_strings/basic_string/requirements/exception/
434         propagation_consistent.cc: Remove, cannot instantiate basic_string
435         for non-PODs (21/1).
436         * testsuite/21_strings/basic_string/requirements/exception/
437         basic.cc: Likewise.
438         * testsuite/21_strings/basic_string/requirements/exception/
439         generation_prohibited.cc: Likewise.
440         * testsuite/ext/vstring/requirements/exception/
441         propagation_consistent.cc: Likewise.
442         * testsuite/ext/vstring/requirements/exception/basic.cc:
443         Likewise.
444         * testsuite/ext/vstring/requirements/exception/
445         generation_prohibited.cc: Likewise.