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