type_traits (__is_copy_assignable_impl, [...]): Fix typos.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
2
3 * include/std/type_traits (__is_copy_assignable_impl,
4 __is_nt_copy_assignable_impl): Fix typo.
5
6 2011-06-08 Paolo Carlini <paolo.carlini@oracle.com>
7
8 * include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
9 instead of <limits>.
10 * include/bits/allocator.h: Likewise.
11
12 * include/std/chrono (duration_values<>::min): Call lowest, not min.
13
14 2011-06-08 Paolo Carlini <paolo.carlini@oracle.com>
15
16 * include/bits/allocator.h (__shrink_to_fit): Simplify.
17 * include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
18 * include/bits/stl_deque.h: Likewise.
19 * include/bits/stl_bvector.h: Likewise.
20
21 2011-06-07 Jason Merrill <jason@redhat.com>
22
23 * testsuite/lib/prune.exp: s/required/instantiated/.
24 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
25 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
26 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
27 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
28 * testsuite/20_util/forward/1_neg.cc: Likewise.
29 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
30 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
31 Likewise.
32 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
33 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
34 * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Likewise.
35 * testsuite/ext/ext_pointer/1_neg.cc: Likewise.
36 * testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
37 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Likewise.
38 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
39 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
40 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
41 * testsuite/tr1/2_general_utilities/shared_ptr/assign/
42 shared_ptr_neg.cc: Likewise.
43
44 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
45
46 * include/bits/move.h (struct __move_if_noexcept_cond): Add.
47 (move_if_noexcept): Use the latter.
48 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator,
49 _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR): Add.
50 * include/bits/stl_uninitialized.h
51 (__uninitialized_move_if_noexcept_a): Add.
52 * include/bits/vector.tcc (vector<>::reserve): Use
53 _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR.
54 (vector<>::_M_insert_aux, _M_fill_insert, _M_default_append,
55 _M_range_insert): Use __uninitialized_move_if_noexcept_a.
56 * testsuite/util/testsuite_rvalref.h (throwing_move_constructor):
57 Add.
58 (copycounter::copycounter(copycounter&&)): Use noexcept.
59 * testsuite/23_containers/vector/modifiers/moveable2.cc: New.
60 * testsuite/23_containers/vector/capacity/resize/moveable2.cc:
61 Likewise.
62 * testsuite/23_containers/vector/capacity/reserve/moveable2.cc:
63 Likewise.
64
65 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
66
67 PR libstdc++/49293
68 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Tweak
69 for glibc 2.14.
70 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
71
72 2011-06-06 Paolo Carlini <paolo.carlini@oracle.com>
73
74 * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
75
76 2011-06-05 Jonathan Wakely <jwakely.gcc@gmail.com>
77
78 * include/bits/ptr_traits.h (pointer_traits): Fix typos.
79 * include/ext/pointer.h (pointer_traits): Add partial specialization
80 for _Pointer_adapter.
81
82 2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
83
84 * testsuite/util/testsuite_allocator.h (tracker_allocator::construct):
85 Update to C++0x definition using type to construct as template
86 parameter.
87 (tracker_allocator::destroy): Likewise for type to destroy.
88 (uneq_allocator::construct, uneq_allocator::destroy): Likewise.
89
90 2011-06-01 Paolo Carlini <paolo.carlini@oracle.com>
91
92 * include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
93 Use std::move on the allocator, use noexcept.
94 (_Hashtable<>::~_Hashtable): Use noexcept.
95 * include/bits/stl_list.h: Likewise.
96 * include/bits/forward_list.h: Likewise.
97 * include/bits/stl_vector.h: Likewise.
98 * include/bits/stl_bvector.h: Likewise.
99 * include/bits/stl_map.h (map<>::map(map&&)): Use noexcept.
100 * include/bits/stl_set.h: Likewise.
101 * include/bits/stl_multimap.h: Likewise.
102 * include/bits/stl_multiset.h: Likewise.
103 * include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(_Rb_tree&&)): Use
104 std::move on the allocator.
105 (_Rb_tree<>::~_Rb_tree): Use noexcept.
106 * include/bits/stl_deque.h: Likewise.
107 * include/bits/basic_string.h (basic_string<>::~basic_string): Use
108 noexcept.
109 * include/ext/vstring.h (__versa_string<>::~__versa_string): Likewise.
110 * include/debug/set.h: Adjust.
111 * include/debug/unordered_map: Likewise.
112 * include/debug/multiset.h: Likewise.
113 * include/debug/forward_list: Likewise.
114 * include/debug/vector: Likewise.
115 * include/debug/unordered_set: Likewise.
116 * include/debug/deque: Likewise.
117 * include/debug/map.h: Likewise.
118 * include/debug/string: Likewise.
119 * include/debug/list: Likewise.
120 * include/debug/multimap.h: Likewise.
121 * include/profile/set.h: Likewise.
122 * include/profile/unordered_map: Likewise.
123 * include/profile/multiset.h: Likewise.
124 * include/profile/forward_list: Likewise.
125 * include/profile/unordered_set: Likewise.
126 * include/profile/vector: Likewise.
127 * include/profile/deque: Likewise.
128 * include/profile/map.h: Likewise.
129 * include/profile/list: Likewise.
130 * include/profile/multimap.h: Likewise.
131 * testsuite/21_strings/basic_string/cons/wchar_t/
132 noexcept_move_construct.cc: New.
133 * testsuite/21_strings/basic_string/cons/char/
134 noexcept_move_construct.cc: Likewise.
135 * testsuite/ext/vstring/cons/noexcept_move_construct.cc: Likewise.
136 * testsuite/23_containers/unordered_map/cons/
137 noexcept_move_construct.cc: Likewise.
138 * testsuite/23_containers/multimap/cons/
139 noexcept_move_construct.cc: Likewise.
140 * testsuite/23_containers/set/cons/
141 noexcept_move_construct.cc: Likewise.
142 * testsuite/23_containers/unordered_multimap/cons/
143 noexcept_move_construct.cc: Likewise.
144 * testsuite/23_containers/forward_list/cons/
145 noexcept_move_construct.cc: Likewise.
146 * testsuite/23_containers/unordered_set/cons/
147 noexcept_move_construct.cc: Likewise.
148 * testsuite/23_containers/vector/bool/cons/
149 noexcept_move_construct.cc: Likewise.
150 * testsuite/23_containers/vector/cons/
151 noexcept_move_construct.cc: Likewise.
152 * testsuite/23_containers/multiset/cons/
153 noexcept_move_construct.cc: Likewise.
154 * testsuite/23_containers/list/cons/
155 noexcept_move_construct.cc: Likewise.
156 * testsuite/23_containers/unordered_multiset/cons/
157 noexcept_move_construct.cc: Likewise.
158 * testsuite/23_containers/map/cons/noexcept_move_construct.cc
159 * testsuite/23_containers/forward_list/requirements/dr438/
160 assign_neg.cc: Adjust dg-error line numbers.
161 * testsuite/23_containers/forward_list/requirements/dr438/
162 insert_neg.cc: Likewise.
163 * testsuite/23_containers/forward_list/requirements/dr438/
164 constructor_1_neg.cc: Likewise.
165 * testsuite/23_containers/forward_list/requirements/dr438/
166 constructor_2_neg.cc: Likewise.
167 * testsuite/23_containers/vector/requirements/dr438/
168 assign_neg.cc: Likewise.
169 * testsuite/23_containers/vector/requirements/dr438/
170 insert_neg.cc: Likewise.
171 * testsuite/23_containers/vector/requirements/dr438/
172 constructor_1_neg.cc: Likewise.
173 * testsuite/23_containers/vector/requirements/dr438/
174 constructor_2_neg.cc: Likewise.
175 * testsuite/23_containers/deque/requirements/dr438/
176 assign_neg.cc: Likewise.
177 * testsuite/23_containers/deque/requirements/dr438/
178 insert_neg.cc: Likewise.
179 * testsuite/23_containers/deque/requirements/dr438/
180 constructor_1_neg.cc: Likewise.
181 * testsuite/23_containers/deque/requirements/dr438/
182 constructor_2_neg.cc: Likewise.
183 * testsuite/23_containers/list/requirements/dr438/
184 assign_neg.cc: Likewise.
185 * testsuite/23_containers/list/requirements/dr438/
186 insert_neg.cc: Likewise.
187 * testsuite/23_containers/list/requirements/dr438/
188 constructor_1_neg.cc: Likewise.
189 * testsuite/23_containers/list/requirements/dr438/
190 constructor_2_neg.cc: Likewise.
191
192 * include/bits/move.h (swap): Use __and_ in the noexcept.
193 * include/bits/algorithmfwd.h: Adjust.
194
195 2011-05-31 Paolo Carlini <paolo.carlini@oracle.com>
196
197 * include/bits/basic_string.h: Use noexcept per the FDIS (minus
198 compare(const string&), which uses char_traits::compare, which
199 isn't noexcept; also no noexcept in the move assignment operator
200 and move assign, see c++std-lib-30855).
201 * include/bits/basic_string.tcc: Likewise.
202 * include/ext/vstring.h: Likewise.
203 * include/ext/vstring.tcc: Likewise.
204 * include/debug/string: Likewise.
205
206 2011-05-31 Jonathan Wakely <jwakely.gcc@gmail.com>
207
208 * doc/xml/manual/status_cxx200x.xml: Update.
209 * doc/html/*: Regenerate.
210
211 2011-05-30 Paolo Carlini <paolo.carlini@oracle.com>
212
213 * include/std/type_traits (__or_, __and_): Add trivial definitions
214 for a single element.
215 * include/bits/stl_pair.h: Use __and_ in noexcept specs and
216 constraints.
217 (pair<>::pair(pair&&)): Define.
218 (pair<>::pair(const pair<>&)): Constrain with is_convertible.
219 (pair<>::pair(pair<>&&)): Likewise, remove noexcept.
220 * include/std/tuple: Use __and_ in noexcept specs and constraints.
221 (_Tuple_impl<>::_Tuple_impl(allocator_arg_t, const _Alloc&,
222 _Tuple_impl&&)): Remove noexcept.
223 (tuple<>::tuple(_UElements&&...), tuple(const tuple<_UElements...>&),
224 tuple(tuple<_UElements...>&&), tuple(const pair<_U1, _U2>&),
225 tuple(pair<_U1, _U2>&&)): Constrain with is_convertible.
226 * testsuite/20_util/tuple/moveable2.cc: Use = delete.
227 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
228 Adjust dg-error line numbers.
229 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
230 Likewise.
231 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
232 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
233 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
234
235 2011-05-31 Jonathan Wakely <jwakely.gcc@gmail.com>
236
237 * include/std/tuple: Restore is_convertible constraint.
238 * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: Remove.
239
240 2011-05-30 Paolo Carlini <paolo.carlini@oracle.com>
241
242 PR libstdc++/49236
243 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
244 line number.
245
246 2011-05-30 Jonathan Wakely <jwakely.gcc@gmail.com>
247
248 * include/std/tuple: Implement uses-allocator construction.
249 * include/bits/allocator.h (uses_allocator): Move to ...
250 * include/bits/uses_allocator.h: New file.
251 * include/Makefile.am: Add new header.
252 * include/Makefile.in: Regenerate.
253 * testsuite/20_util/uses_allocator/cons_neg.cc: New.
254 * testsuite/20_util/uses_allocator/construction.cc: New.
255 * testsuite/20_util/tuple/cons/allocate_noncopyable.cc: New.
256 * testsuite/20_util/tuple/cons/allocators.cc: New.
257
258 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
259
260 * testsuite/20_util/pointer_traits/pointer_to.cc: Fix.
261
262 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
263
264 * acinclude.m4: Define GLIBCXX_CHECK_GET_NPROCS and
265 GLIBCXX_CHECK_SC_NPROCESSORS_ONLN.
266 * configure.ac: Use them. Increase minor version.
267 * configure: Regenerate.
268 * config.h.in: Regenerate.
269 * include/std/thread (thread::hardware_concurrency): Remove inline
270 definition.
271 * src/thread.cc (thread::hardware_concurrency): Define.
272 * config/abi/pre/gnu.ver: Export new symbol @3.4.17
273 * testsuite/util/testsuite_abi.cc: Add new version.
274 * testsuite/lib/libstdc++.exp (check_v3_target_nprocs): Add.
275 * testsuite/lib/dg-options.exp (dg-require-nprocs): Add.
276 * testsuite/30_threads/thread/members/hardware_concurrency.cc: Use
277 dg-require-nprocs and verify hardware_concurrency returns non-zero.
278
279 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
280
281 * testsuite/20_util/pointer_traits/pointer_to.cc: New.
282
283 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
284
285 * include/Makefile.am: Add new ptr_traits.h header.
286 * include/Makefile.in: Regenerate.
287 * include/bits/ptr_traits.h (pointer_traits): New.
288 * include/bits/allocator.h (allocator_traits): Add.
289 * include/ext/array_allocator.h (construct, destroy): Update C++0x
290 versions.
291 * include/ext/bitmap_allocator.h (construct, destroy): Likewise.
292 * include/ext/extptr_allocator.h (construct, destroy): Likewise.
293 * include/ext/malloc_allocator.h (construct, destroy): Likewise.
294 * include/ext/mt_allocator.h (construct, destroy): Likewise.
295 * include/ext/new_allocator.h (construct, destroy): Likewise.
296 * include/ext/pool_allocator.h (construct, destroy): Likewise.
297 * include/ext/throw_allocator.h (construct, destroy): Likewise.
298 * testsuite/20_util/allocator_traits/requirements/typedefs.cc: New.
299 * testsuite/20_util/allocator_traits/requirements/
300 explicit_instantiation.cc: New.
301 * testsuite/20_util/allocator_traits/members/max_size.cc: New.
302 * testsuite/20_util/allocator_traits/members/select.cc: New.
303 * testsuite/20_util/allocator_traits/members/construct.cc: New.
304 * testsuite/20_util/allocator_traits/members/allocate_hint.cc: New.
305 * testsuite/20_util/allocator_traits/members/destroy.cc: New.
306 * testsuite/20_util/pointer_traits/requirements/typedefs.cc: New.
307 * testsuite/20_util/pointer_traits/requirements/
308 explicit_instantiation.cc: New.
309
310 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
311
312 * include/std/future (launch): Update enumerators and define
313 operators required for bitmask type. Remove trailing whitespace.
314 * src/future.cc: Remove trailing whitespace.
315 * testsuite/30_threads/async/any.cc: Adjust.
316 * testsuite/30_threads/async/sync.cc: Adjust.
317 * testsuite/30_threads/async/launch.cc: New.
318
319 2011-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
320
321 * include/std/future: Use noexcept.
322 * src/future.cc: Likewise.
323
324 2011-05-27 Jonathan Wakely <jwakely.gcc@gmail.com>
325
326 * include/std/thread (this_thread::sleep_until): Move after sleep_for.
327
328 2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
329
330 PR libstdc++/49187
331 * include/parallel/losertree.h: Add missing using declarations
332 of _Base::_M_comp.
333 * include/parallel/algobase.h: Include <parallel/algorithmfwd.h>.
334 * include/parallel/multiway_merge.h: Include <parallel/
335 multiseq_selection.h>, forward declare __merge_advance.
336 * include/parallel/multiseq_selection.h: Don't include <parallel/
337 sort.h> here.
338 * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Fix
339 qualification of upper_bound.
340
341 * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc:
342 Use dg-require-debug-mode.
343 * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc:
344 Likewise.
345 * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc:
346 Likewise.
347 * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc:
348 Likewise.
349 * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc:
350 Likewise.
351 * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
352 Likewise.
353 * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
354 Likewise.
355 * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc:
356 Likewise.
357 * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc:
358 Likewise.
359
360 * include/parallel/algo.h: Minor uglification fixes.
361
362 2011-05-26 Paolo Carlini <paolo.carlini@oracle.com>
363
364 * src/list.cc: Use noexcept per the FDIS.
365 * src/compatibility-list-2.cc: Likewise.
366 * include/debug/set.h: Likewise.
367 * include/debug/unordered_map: Likewise.
368 * include/debug/multiset.h: Likewise.
369 * include/debug/forward_list: Likewise.
370 * include/debug/unordered_set: Likewise.
371 * include/debug/vector: Likewise.
372 * include/debug/map.h: Likewise.
373 * include/debug/deque: Likewise.
374 * include/debug/list: Likewise.
375 * include/debug/multimap.h: Likewise.
376 * include/profile/set.h: Likewise.
377 * include/profile/unordered_map: Likewise.
378 * include/profile/multiset.h: Likewise.
379 * include/profile/forward_list: Likewise.
380 * include/profile/vector: Likewise.
381 * include/profile/unordered_set: Likewise.
382 * include/profile/map.h: Likewise.
383 * include/profile/deque: Likewise.
384 * include/profile/list: Likewise.
385 * include/profile/multimap.h: Likewise.
386 * include/bits/hashtable.h: Likewise.
387 * include/bits/stl_list.h: Likewise.
388 * include/bits/stl_map.h: Likewise.
389 * include/bits/hashtable_policy.h: Likewise.
390 * include/bits/stl_set.h: Likewise.
391 * include/bits/forward_list.h: Likewise.
392 * include/bits/stl_multimap.h: Likewise.
393 * include/bits/stl_vector.h: Likewise.
394 * include/bits/stl_deque.h: Likewise.
395 * include/bits/stl_multiset.h: Likewise.
396 * include/bits/stl_bvector.h: Likewise.
397 * include/bits/stl_tree.h: Likewise.
398
399 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
400
401 * include/bits/stl_queue.h: Use noexcept per the FDIS.
402 * include/bits/stl_stack.h: Likewise.
403
404 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
405
406 * config/abi/pre/gnu.ver: Correct last change, export instead
407 at the existing @3.4.16.
408 * configure.ac: Revert last change.
409 * testsuite/util/testsuite_abi.cc: Likewise.
410 * configure: Regenerate.
411
412 2011-05-26 Jonathan Wakely <jwakely.gcc@gmail.com>
413
414 * doc/xml/manual/documentation_hacking.xml: Minor corrections.
415
416 2011-05-26 Jonathan Wakely <jwakely.gcc@gmail.com>
417
418 * include/std/mutex: Add doxygen comments.
419
420 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
421
422 * config/abi/pre/gnu.ver: Export recently added basic_streambuf
423 and basic_stringbuf symbols @3.4.17.
424 * configure.ac: Update.
425 * testsuite/util/testsuite_abi.cc: Likewise.
426 * configure: Regenerate.
427
428 2011-05-26 Jonathan Wakely <jwakely.gcc@gmail.com>
429
430 * libsupc++/guard.cc: Fix comments.
431
432 2011-05-25 Ian Lance Taylor <iant@google.com>
433
434 PR libstdc++/49060
435 * include/backward/hashtable.h (hashtable::erase): Don't crash if
436 erasing first and another element with a reference to the other
437 element.
438 * testsuite/backward/hash_set/49060.cc: New.
439
440 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
441
442 * include/bits/random.h (random_device::min, max): Specify constexpr.
443
444 2011-05-25 Paolo Carlini <paolo.carlini@oracle.com>
445
446 * include/std/thread: Use noexcept throughout per the FDIS.
447 * include/std/mutex: Likewise.
448
449 2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
450
451 * testsuite/20_util/duration/arithmetic/dr2020.cc: Fix typo.
452
453 2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
454
455 PR libstdc++/49151
456 * include/std/chrono (operator+, operator-, operator*, operator/,
457 operator&): Implement LWG 2020 [WP]; specify constexpr.
458 * testsuite/20_util/duration/arithmetic/dr2020.cc: New.
459
460 2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
461
462 PR libstdc++/49141
463 * testsuite/26_numerics/complex/cons/48760.cc: Use dg-require-c-std.
464 * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
465 * testsuite/26_numerics/headers/cmath/19322.cc: Likewise.
466
467 2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
468
469 * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
470 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
471 line number.
472
473 2011-05-23 Benjamin Kosnik <bkoz@redhat.com>
474
475 PR libstdc++/37144
476 PR libstdc++/28457
477 Interface changes for ext/pb_ds.
478 PB_DS_BASE_C_DEC to unique PB_DS_*_BASE macros.
479 * include/ext/pb_ds/assoc_container.hpp (container_base): Remove.
480 (basic_hash_table, basic_branch, list_update): Derive from
481 container_base_dispatch.
482 * include/ext/pb_ds/list_update_policy.hpp (null_lu_metadata): Remove.
483 (move_to_front_lu_policy): To lu_move_to_front_policy.
484 (counter_lu_policy): To lu_counter_policy.
485 * include/ext/pb_ds/tree_policy.hpp (null_tree_node_update): Remove.
486 * include/ext/pb_ds/tag_and_trait.hpp (container_base_dispatch): Adjust
487 template parameters, declare here.
488 (null_mapped_type) Remove.
489 (null_type): Just use this for template tricks everywhere.
490 * include/ext/pb_ds/hash_policy.hpp (null_hash_fn, null_probe_fn):
491 Remove.
492 * include/ext/pb_ds/trie_policy.hpp (null_trie_node_update): Remove.
493 (string_trie_e_access_traits): To trie_string_access_traits.
494 * include/ext/pb_ds/priority_queue.hpp: Use container_base_dispatch.
495
496 File changes.
497 * include/Makefile.am (pb_headers): Removed and changed file names.
498 * include/Makefile.in: Regenerated.
499 * include/ext/pb_ds/detail/basic_types.hpp: Remove.
500 * include/ext/pb_ds/detail/bin_search_tree_/
501 cond_dtor_entry_dealtor.hpp: Remove.
502 * include/ext/pb_ds/detail/bin_search_tree_/
503 cond_key_dtor_entry_dealtor.hpp: Remove.
504 * include/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp: Move..
505 * include/ext/pb_ds/detail/binary_heap_/
506 point_const_iterator.hpp: ..here.
507 * include/ext/pb_ds/detail/basic_tree_policy: Move to...
508 * include/ext/pb_ds/detail/branch_policy: This.
509 * include/ext/pb_ds/detail/branch_policy/
510 basic_tree_policy_base.hpp: Move...
511 * include/ext/pb_ds/detail/branch_policy/branch_policy.hpp: ...here.
512 * include/ext/pb_ds/detail/branch_policy/null_node_metadata.hpp: Add.
513 * include/ext/pb_ds/detail/branch_policy/traits.hpp: Add.
514 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
515 null_metadata.hpp: Remove.
516 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
517 const_point_iterator.hpp: Move...
518 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
519 point_const_iterator.hpp: ...here.
520 * include/ext/pb_ds/detail/list_update_policy/
521 counter_lu_metadata.hpp: Move..
522 * include/ext/pb_ds/detail/list_update_policy/
523 lu_counter_metadata.hpp: ...here.
524 * include/ext/pb_ds/detail/list_update_policy/
525 counter_lu_policy_imp.hpp: Remove.
526 * include/ext/pb_ds/detail/list_update_policy/
527 mtf_lu_policy_imp.hpp: Remove.
528 * include/ext/pb_ds/detail/trie_policy/
529 string_trie_e_access_traits_imp.hpp: Move...
530 * include/ext/pb_ds/detail/trie_policy/
531 sample_trie_access_traits.hpp: ...here.
532 * include/ext/pb_ds/detail/trie_policy/
533 sample_trie_e_access_traits.hpp: Move...
534 * include/ext/pb_ds/detail/trie_policy/
535 trie_string_access_traits_imp.hpp: ...here.
536 * include/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp: Remove.
537 * include/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp: Remove.
538 * include/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp: Remove.
539 * include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: New, fold all
540 types found in the following files into pat_trie_base.
541 * include/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp: Folded.
542 * include/ext/pb_ds/detail/pat_trie_/
543 cond_dtor_entry_dealtor.hpp: Folded.
544 * include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Folded.
545 * include/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp: Folded.
546 * include/ext/pb_ds/detail/pat_trie_/head.hpp: Folded.
547 * include/ext/pb_ds/detail/pat_trie_/leaf.hpp: Folded.
548 * include/ext/pb_ds/detail/pat_trie_/node_base.hpp: Folded.
549 * include/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp: Folded.
550 * include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Folded.
551 * include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Folded.
552 * include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Folded.
553 * include/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp: Move...
554 * include/ext/pb_ds/detail/pat_trie_/synth_access_traits.hpp: ...here.
555 * include/ext/pb_ds/detail/unordered_iterator/
556 const_point_iterator.hpp: Move...
557 * include/ext/pb_ds/detail/unordered_iterator/
558 point_const_iterator.hpp: ...here.
559
560
561 Adjust for above changes.
562 * include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp: Same.
563 * include/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp: Same.
564 * include/ext/pb_ds/detail/resize_policy/
565 sample_resize_trigger.hpp: Same.
566 * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp: Same.
567 * include/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp: Same.
568 * include/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp: Same.
569 * include/ext/pb_ds/detail/binomial_heap_base_/
570 binomial_heap_base_.hpp: Same.
571 * include/ext/pb_ds/detail/binomial_heap_base_/
572 constructors_destructor_fn_imps.hpp: Same.
573 * include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp: Same.
574 * include/ext/pb_ds/detail/binomial_heap_base_/
575 split_join_fn_imps.hpp: Same.
576 * include/ext/pb_ds/detail/container_base_dispatch.hpp: Same. Adjust
577 for template parameter ordering change.
578 * include/ext/pb_ds/detail/cc_hash_table_map_/
579 erase_store_hash_fn_imps.hpp: Same.
580 * include/ext/pb_ds/detail/cc_hash_table_map_/
581 constructor_destructor_no_store_hash_fn_imps.hpp: Same.
582 * include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp: Same.
583 * include/ext/pb_ds/detail/cc_hash_table_map_/
584 insert_no_store_hash_fn_imps.hpp: Same.
585 * include/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp: Same.
586 * include/ext/pb_ds/detail/cc_hash_table_map_/
587 policy_access_fn_imps.hpp: Same.
588 * include/ext/pb_ds/detail/cc_hash_table_map_/
589 resize_store_hash_fn_imps.hpp: Same.
590 * include/ext/pb_ds/detail/cc_hash_table_map_/
591 constructor_destructor_store_hash_fn_imps.hpp: Same.
592 * include/ext/pb_ds/detail/cc_hash_table_map_/
593 insert_store_hash_fn_imps.hpp: Same.
594 * include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp: Same.
595 * include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp: Same.
596 * include/ext/pb_ds/detail/cc_hash_table_map_/
597 entry_list_fn_imps.hpp: Same.
598 * include/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp: Same.
599 * include/ext/pb_ds/detail/cc_hash_table_map_/
600 find_store_hash_fn_imps.hpp: Same.
601 * include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp: Same.
602 * include/ext/pb_ds/detail/cc_hash_table_map_/
603 debug_no_store_hash_fn_imps.hpp: Same.
604 * include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
605 * include/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp: Same.
606 * include/ext/pb_ds/detail/cc_hash_table_map_/
607 constructor_destructor_fn_imps.hpp: Same.
608 * include/ext/pb_ds/detail/cc_hash_table_map_/
609 cond_key_dtor_entry_dealtor.hpp: Same.
610 * include/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp: Same.
611 * include/ext/pb_ds/detail/cc_hash_table_map_/
612 debug_store_hash_fn_imps.hpp: Same.
613 * include/ext/pb_ds/detail/cc_hash_table_map_/
614 erase_no_store_hash_fn_imps.hpp: Same.
615 * include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp: Same.
616 * include/ext/pb_ds/detail/cc_hash_table_map_/
617 iterators_fn_imps.hpp: Same.
618 * include/ext/pb_ds/detail/cc_hash_table_map_/
619 resize_no_store_hash_fn_imps.hpp: Same.
620 * include/ext/pb_ds/detail/cc_hash_table_map_/
621 standard_policies.hpp: Same.
622 * include/ext/pb_ds/detail/tree_trace_base.hpp: Same.
623 * include/ext/pb_ds/detail/unordered_iterator/iterator.hpp: Same.
624 * include/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp: Same.
625 * include/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp: Same.
626 * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Same.
627 * include/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp: Same.
628 * include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Same.
629 * include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Same.
630 * include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp: Same.
631 * include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Same.
632 * include/ext/pb_ds/detail/pat_trie_/
633 constructors_destructor_fn_imps.hpp: Same.
634 * include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
635 * include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Same.
636 * include/ext/pb_ds/detail/pat_trie_/traits.hpp: Same.
637 * include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp: Same.
638 * include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Same.
639 * include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Same.
640 * include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Same.
641 * include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Same.
642 * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp: Same.
643 * include/ext/pb_ds/detail/bin_search_tree_/
644 policy_access_fn_imps.hpp: Same.
645 * include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp: Same.
646 * include/ext/pb_ds/detail/bin_search_tree_/
647 constructors_destructor_fn_imps.hpp: Same.
648 * include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp: Same.
649 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Same.
650 * include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp: Same.
651 * include/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp: Same.
652 * include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp: Same.
653 * include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
654 * include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp: Same.
655 * include/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp: Same.
656 * include/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp: Same.
657 * include/ext/pb_ds/detail/bin_search_tree_/
658 split_join_fn_imps.hpp: Same.
659 * include/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp: Same.
660 * include/ext/pb_ds/detail/list_update_policy/
661 sample_update_policy.hpp: Same.
662 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
663 trace_fn_imps.hpp: Same.
664 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
665 erase_fn_imps.hpp: Same.
666 * include/ext/pb_ds/detail/gp_hash_table_map_/
667 erase_store_hash_fn_imps.hpp: Same.
668 * include/ext/pb_ds/detail/gp_hash_table_map_/
669 constructor_destructor_no_store_hash_fn_imps.hpp: Same.
670 * include/ext/pb_ds/detail/gp_hash_table_map_/
671 insert_no_store_hash_fn_imps.hpp: Same.
672 * include/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp: Same.
673 * include/ext/pb_ds/detail/gp_hash_table_map_/
674 policy_access_fn_imps.hpp: Same.
675 * include/ext/pb_ds/detail/gp_hash_table_map_/
676 resize_store_hash_fn_imps.hpp: Same.
677 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
678 * include/ext/pb_ds/detail/gp_hash_table_map_/
679 constructor_destructor_store_hash_fn_imps.hpp: Same.
680 * include/ext/pb_ds/detail/gp_hash_table_map_/
681 insert_store_hash_fn_imps.hpp: Same.
682 * include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp: Same.
683 * include/ext/pb_ds/detail/gp_hash_table_map_/
684 iterator_fn_imps.hpp: Same.
685 * include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp: Same.
686 * include/ext/pb_ds/detail/gp_hash_table_map_/
687 find_no_store_hash_fn_imps.hpp: Same.
688 * include/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp: Same.
689 * include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp: Same.
690 * include/ext/pb_ds/detail/gp_hash_table_map_/
691 find_store_hash_fn_imps.hpp: Same.
692 * include/ext/pb_ds/detail/gp_hash_table_map_/
693 debug_no_store_hash_fn_imps.hpp: Same.
694 * include/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp: Same.
695 * include/ext/pb_ds/detail/gp_hash_table_map_/
696 constructor_destructor_fn_imps.hpp: Same.
697 * include/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp: Same.
698 * include/ext/pb_ds/detail/gp_hash_table_map_/
699 debug_store_hash_fn_imps.hpp: Same.
700 * include/ext/pb_ds/detail/gp_hash_table_map_/
701 erase_no_store_hash_fn_imps.hpp: Same.
702 * include/ext/pb_ds/detail/gp_hash_table_map_/
703 resize_no_store_hash_fn_imps.hpp: Same.
704 * include/ext/pb_ds/detail/gp_hash_table_map_/
705 standard_policies.hpp: Same.
706 * include/ext/pb_ds/detail/standard_policies.hpp: Same.
707 * include/ext/pb_ds/detail/types_traits.hpp: Same.
708 * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp: Same.
709 * include/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp: Same.
710 * include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Same.
711 * include/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp: Same.
712 * include/ext/pb_ds/detail/binary_heap_/
713 constructors_destructor_fn_imps.hpp: Same.
714 * include/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp: Same.
715 * include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp: Same.
716 * include/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp: Same.
717 * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Same.
718 * include/ext/pb_ds/detail/binary_heap_/entry_pred.hpp: Same.
719 * include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Same.
720 * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
721 * include/ext/pb_ds/detail/binary_heap_/resize_policy.hpp: Same.
722 * include/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp: Same.
723 * include/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp: Same.
724 * include/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp: Same.
725 * include/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp: Same.
726 * include/ext/pb_ds/detail/tree_policy/
727 sample_tree_node_update.hpp: Same.
728 * include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp: Same.
729 * include/ext/pb_ds/detail/trie_policy/
730 sample_trie_node_update.hpp: Same.
731 * include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
732 * include/ext/pb_ds/detail/trie_policy/
733 prefix_search_node_update_imp.hpp: Same.
734 * include/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp: Same.
735 * include/ext/pb_ds/detail/cond_dealtor.hpp: Same.
736 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp: Same.
737 Adjust for template parameter change, fold into
738 container_base_dispatch.
739 * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Same.
740 * include/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp: Same.
741 * include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Same.
742 * include/ext/pb_ds/detail/pairing_heap_/
743 constructors_destructor_fn_imps.hpp: Same.
744 * include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Same.
745 * include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
746 * include/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp: Same.
747 * include/ext/pb_ds/detail/binomial_heap_/
748 constructors_destructor_fn_imps.hpp: Same.
749 * include/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp: Same.
750 * include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
751 * include/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp: Same.
752 * include/ext/pb_ds/detail/type_utils.hpp: Same.
753 * include/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp: Same.
754 * include/ext/pb_ds/detail/eq_fn/eq_by_less.hpp: Same.
755 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
756 policy_access_fn_imps.hpp: Same.
757 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
758 left_child_next_sibling_heap_.hpp: Same.
759 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
760 const_iterator.hpp: Same.
761 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
762 insert_fn_imps.hpp: Same.
763 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
764 constructors_destructor_fn_imps.hpp: Same.
765 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
766 debug_fn_imps.hpp: Same.
767 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
768 node.hpp: Same.
769 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
770 info_fn_imps.hpp: Same.
771 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
772 iterators_fn_imps.hpp: Same.
773 * include/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp: Same.
774 * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Same.
775 * include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Same.
776 * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
777 * include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Same.
778 * include/ext/pb_ds/detail/thin_heap_/
779 constructors_destructor_fn_imps.hpp: Same.
780 * include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Same.
781 * include/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp: Same.
782 * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Same.
783 * include/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp: Same.
784 * include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Same.
785 * include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
786 * include/ext/pb_ds/detail/ov_tree_map_/
787 constructors_destructor_fn_imps.hpp: Same.
788 * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
789 * include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Same.
790 * include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp: Same.
791 * include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp: Same.
792 * include/ext/pb_ds/detail/ov_tree_map_/traits.hpp: Same.
793 * include/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp: Same.
794 * include/ext/pb_ds/detail/debug_map_base.hpp: Same.
795 * include/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp: Same.
796 * include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Same.
797 * include/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp: Same.
798 * include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Same.
799 * include/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp: Same.
800 * include/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp: Same.
801 * include/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp: Same.
802 * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Same.
803 * include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Same.
804 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Same.
805 * include/ext/pb_ds/detail/splay_tree_/
806 constructors_destructor_fn_imps.hpp: Same.
807 * include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Same.
808 * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Same.
809 * include/ext/pb_ds/detail/splay_tree_/node.hpp: Same.
810 * include/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp: Same.
811 * include/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp: Same.
812 * include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
813 * include/ext/pb_ds/detail/splay_tree_/traits.hpp: Same.
814 * include/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp: Same.
815 * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp: Same.
816 * include/ext/pb_ds/detail/list_update_map_/
817 entry_metadata_base.hpp: Same.
818 * include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp: Same.
819 * include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
820 * include/ext/pb_ds/detail/list_update_map_/
821 constructor_destructor_fn_imps.hpp: Same.
822 * include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp: Same.
823 * include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp: Same.
824 * include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp: Same.
825 * include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp: Same.
826 * include/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp: Same.
827 * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp: Same.
828 * include/ext/pb_ds/detail/rc_binomial_heap_/
829 rc_binomial_heap_.hpp: Same.
830 * include/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp: Same.
831 * include/ext/pb_ds/detail/rc_binomial_heap_/
832 constructors_destructor_fn_imps.hpp: Same.
833 * include/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp: Same.
834 * include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
835 * include/ext/pb_ds/detail/rc_binomial_heap_/
836 split_join_fn_imps.hpp: Same.
837 * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Same.
838 * include/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp: Same.
839 * include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Same.
840 * include/ext/pb_ds/detail/rb_tree_map_/
841 constructors_destructor_fn_imps.hpp: Same.
842 * include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Same.
843 * include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
844 * include/ext/pb_ds/detail/rb_tree_map_/node.hpp: Same.
845 * include/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp: Same.
846 * include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Same.
847 * include/ext/pb_ds/detail/rb_tree_map_/traits.hpp: Same.
848
849
850 Documentation changes.
851 * include/ext/pb_ds/*: Add doxygen markup.
852 * doc/doxygen/user.cfg.in: Add details for extracting comments
853 from pb_ds.
854 * scripts/run_doxygen: Fixup __gnu_pb_ds::detail.
855 * scripts/make_graph.py: Move to svg output. Re-format generated tables.
856
857 * doc/Makefile.am (stamp-html-copy): New rule.
858 (stamp-html): Use it to copy non-generated files into html docs.
859 * doc/Makefile.in: Regenerated.
860
861 * doc/html/ext/pb_ds/sample_trie_e_access_traits.html: Move...
862 * doc/html/ext/pb_ds/trie_string_access_traits.html: ...here.
863 * doc/html/ext/pb_ds/string_trie_e_access_traits.html: Move..
864 * doc/html/ext/pb_ds/sample_trie_access_traits.html: ...here.
865
866 * doc/html/ext/pb_ds/tree_text_lor_find_timing_test_local.png,
867 hash_random_int_erase_mem_usage_test_local.png,
868 multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
869 tree_text_insert_timing_test_pat_trie_local.png ,
870 multimap_text_insert_mem_usage_test_small_s2p_tree_local.png ,
871 priority_queue_text_modify_down_timing_test_local.png,
872 gp_hash_random_int_subscript_timing_test_find_local.png,
873 text_find_timing_test_hash_local.png,
874 multimap_text_insert_timing_test_small_s2p_hash_local.png,
875 multimap_text_insert_timing_test_small_s2p_tree_local.png,
876 multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
877 multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
878 multimap_text_insert_timing_test_large_s2p_hash_local.png,
879 hash_zlob_random_int_find_timing_test_local.png,
880 multimap_text_insert_timing_test_large_s2p_tree_local.png,
881 binary_priority_queue_random_int_push_timing_test_local.png,
882 priority_queue_text_pop_mem_usage_test_local.png,
883 priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
884 tree_split_join_timing_test_local.png,
885 multimap_text_find_timing_test_small_s2p_hash_local.png,
886 ccgp_hash_random_int_subscript_timing_test_insert_local.png,
887 priority_queue_random_int_push_pop_timing_test_local.png,
888 multimap_text_find_timing_test_small_s2p_tree_local.png,
889 gp_hash_random_int_subscript_timing_test_insert_local.png,
890 priority_queue_text_push_timing_test_local.png,
891 cc_hash_random_int_subscript_timing_test_find_local.png,
892 tree_text_insert_timing_test_vector_tree_local.png,
893 multimap_text_find_timing_test_large_s2p_hash_local.png,
894 pairing_priority_queue_text_push_timing_test_local.png,
895 tree_order_statistics_timing_test_local.png,
896 priority_queue_text_push_pop_timing_test_local.png,
897 text_find_timing_test_tree_like_local.png,
898 multimap_text_find_timing_test_large_s2p_tree_local.png,
899 priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
900 cc_hash_random_int_subscript_timing_test_insert_local.png,
901 priority_queue_text_modify_up_timing_test_local.png,
902 random_int_find_find_timing_test_tree_local.png,
903 priority_queue_random_int_push_timing_test_local.png,
904 tree_text_insert_timing_test_node_tree_local.png,
905 pairing_priority_queue_text_push_pop_timing_test_local.png,
906 gp_hash_random_int_find_timing_test_local.png,
907 cc_hash_random_int_find_timing_test_local.png,
908 priority_queue_text_join_timing_test_local.png: Update local pngs.
909
910
911 Testsuite changes.
912 * testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: New.
913 * testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: New.
914 * testsuite/ext/pb_ds/regression/priority_queue_rand_debug.cc: New.
915 * testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: New.
916 * testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: New.
917 * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
918 New.
919 * testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
920 New.
921 * testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: New.
922 * testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: New.
923
924 * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Fix typo.
925
926 * testsuite/ext/pb_ds/example/basic_set.cc: Update.
927 * testsuite/ext/pb_ds/example/ranged_hash.cc: Same.
928 * testsuite/ext/pb_ds/example/tree_order_statistics.cc: Same.
929 * testsuite/ext/pb_ds/example/trie_prefix_search.cc: Same.
930 * testsuite/ext/pb_ds/example/trie_dna.cc: Same.
931 * testsuite/ext/pb_ds/example/tree_intervals.cc: Same.
932 * testsuite/ext/pb_ds/example/basic_multimap.cc: Same.
933 * testsuite/performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc:
934 Same.
935 * testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
936 * testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
937 * testsuite/data/make_graph_test_infos.xml: Same.
938 * testsuite/util/regression/common_type.hpp: Same.
939 * testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
940 * testsuite/util/regression/trait/assoc/trait.hpp: Same.
941 * testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
942 * testsuite/util/regression/rand/priority_queue/
943 rand_regression_test.hpp: Same.
944 * testsuite/util/regression/rand/priority_queue/
945 container_rand_regression_test.tcc: Same.
946 * testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Same.
947 * testsuite/util/regression/rand/assoc/container_rand_regression_test.h
948 * testsuite/util/regression/rand/assoc/
949 container_rand_regression_test.tcc: Same.
950 * testsuite/util/native_type/native_priority_queue.hpp: Same.
951 * testsuite/util/native_type/native_multimap.hpp: Same.
952 * testsuite/util/native_type/native_hash_multimap.hpp: Same.
953 * testsuite/util/native_type/native_set.hpp: Same.
954 * testsuite/util/native_type/native_map.hpp: Same.
955 * testsuite/util/native_type/native_hash_set.hpp: Same.
956 * testsuite/util/native_type/native_hash_map.hpp: Same.
957 * testsuite/util/testsuite_containers.h
958 * testsuite/util/common_type/priority_queue/common_type.hpp: Same.
959 * testsuite/util/common_type/assoc/common_type.hpp: Same.
960 * testsuite/util/common_type/assoc/string_form.hpp: Same.
961 * testsuite/util/common_type/assoc/template_policy.hpp: Same.
962 * testsuite/util/common_type/assoc/detail/
963 trigger_policy_string_form.hpp: Same.
964 * testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
965 * testsuite/util/common_type/assoc/detail/
966 size_policy_string_form.hpp: Same.
967 * testsuite/util/common_type/assoc/detail/
968 probe_fn_string_form.hpp: Same.
969 * testsuite/util/common_type/assoc/detail/
970 tree_supports_order_statistics.hpp: Same.
971 * testsuite/util/common_type/assoc/detail/
972 trie_supports_prefix_search.hpp: Same.
973 * testsuite/util/common_type/assoc/detail/
974 list_update_policy_string_form.hpp: Same.
975 * testsuite/util/common_type/assoc/detail/
976 trie_supports_order_statistics.hpp: Same.
977 * testsuite/util/common_type/assoc/native_set.hpp: Same.
978 * testsuite/util/performance/assoc/timing/common_type.hpp: Same.
979 * testsuite/util/performance/assoc/timing/multimap_find_test.hpp: Same.
980 * testsuite/util/performance/assoc/multimap_common_type.hpp: Same.
981
982 2011-05-23 Paolo Carlini <paolo.carlini@oracle.com>
983
984 * include/bits/streambuf_iterator.h: Use noexcept per the FDIS.
985 (istreambuf_iterator<>::istreambuf_iterator(const
986 istreambuf_iterator&), ~istreambuf_iterator()): Add defaulted
987 in C++0x mode.
988
989 2011-05-23 Jason Merrill <jason@redhat.com>
990
991 * libsupc++/exception_ptr.h: Fix compilation in C++0x mode.
992
993 2011-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
994
995 * testsuite/20_util/bind/cv_quals_2.cc: New.
996
997 2011-05-22 Paolo Carlini <paolo.carlini@oracle.com>
998
999 PR libstdc++/49058
1000 * include/std/functional (_Bind<_Functor(_Bound_args...)>::
1001 operator()(_Args&&...)): Don't cv qualify _Functor directly
1002 in the default template argument, SFINAE doesn't apply when
1003 the functor has no arguments.
1004 * testsuite/20_util/bind/49058_1.cc: New.
1005 * testsuite/20_util/bind/49058_2.cc: Likewise.
1006
1007 2011-05-21 Paolo Carlini <paolo.carlini@oracle.com>
1008
1009 * include/bits/unique_ptr.h: Use noexcept per the FDIS.
1010
1011 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
1012
1013 * testsuite/21_strings/basic_string/requirements/exception/
1014 propagation_consistent.cc: Fix vs POD-ness of value_type.
1015 * testsuite/21_strings/basic_string/requirements/exception/
1016 basic.cc: Likewise.
1017 * testsuite/ext/vstring/requirements/exception/
1018 propagation_consistent.cc: Likewise.
1019 * testsuite/ext/vstring/requirements/exception/basic.cc: Likewise.
1020
1021 2011-05-20 Paolo Carlini <paolo.carlini@oracle.com>
1022
1023 * include/bits/char_traits.h: Use noexcept throughout.
1024 * include/std/typeindex: Likewise.
1025
1026 * include/std/tuple (_Tuple_impl<>_Tuple_impl(_Tuple_impl&&)): Use
1027 noexcept; adjust callers.
1028 * include/bits/stl_pair.h (pair<>::pair(pair<>&&)): Use noexcept.
1029 * testsuite/20_util/tuple/cons/noexcept_move_construct.cc: New.
1030 * testsuite/20_util/pair/cons/noexcept_move_construct.cc: Likewise.
1031 * testsuite/20_util/pair/noexcept_swap.cc: Likewise.
1032 * testsuite/20_util/pair/noexcept_move_assign.cc: Likewise.
1033 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1034 line numbers.
1035
1036 2011-05-20 Jason Merrill <jason@redhat.com>
1037
1038 * include/ext/pb_ds/assoc_container.hpp: Explicitly qualify calls to
1039 functions from dependent bases.
1040 * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
1041 * include/ext/pb_ds/detail/rb_tree_map_/
1042 split_join_fn_imps.hpp: Likewise.
1043 * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
1044 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
1045 * include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
1046 * include/ext/pb_ds/detail/splay_tree_/
1047 split_join_fn_imps.hpp: Likewise.
1048 * include/ext/pb_ds/detail/tree_policy/
1049 order_statistics_imp.hpp: Likewise.
1050 * include/ext/pb_ds/detail/trie_policy/
1051 prefix_search_node_update_imp.hpp: Likewise.
1052 * include/ext/rc_string_base.h: Likewise.
1053 * include/ext/rope: Likewise.
1054 * include/ext/ropeimpl.h: Likewise.
1055 * testsuite/util/exception/safety.h: Likewise.
1056 * testsuite/util/native_type/native_priority_queue.hpp: Likewise.
1057 * testsuite/util/testsuite_io.h: Likewise.
1058 * include/std/functional: Declare mem_fn earlier.
1059 * include/tr1/functional: Likewise.
1060 * include/tr1/exp_integral.tcc: Declare __expint_E1 earlier.
1061
1062 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
1063
1064 * include/std/tuple (tuple_element<__i, const _Tp>,
1065 tuple_element<__i, volatile _Tp>, tuple_element<__i,
1066 const volatile _Tp>, tuple_size<const _Tp>, tuple_size<volatile _Tp>,
1067 tuple_size<const volatile _Tp>): Add.
1068 * include/std/utility (tuple_size<std::pair<_Tp1, _Tp2>>): Tweak.
1069 * include/std/array (tuple_size<array<_Tp, _Nm>>): Likewise.
1070 * testsuite/20_util/tuple/cv_tuple_size.cc: New.
1071 * testsuite/20_util/tuple/cv_tuple_element.cc: Likewise.
1072 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
1073 line number.
1074
1075 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
1076
1077 * include/std/tuple (tuple<>::operator=(tuple&&)): Specify as
1078 noexcept.
1079 (__get_helper): Likewise.
1080 (_Head_base<>::_M_head, _Tuple_impl<>::_M_head, _M_tail): Likewise.
1081 * include/bits/move.h (swap): Likewise.
1082 * include/bits/algorithmfwd.h (swap): Adjust.
1083 * include/bits/stl_pair.h (pair<>::operator=(pair&&)): Spec noexcept.
1084 * testsuite/util/testsuite_allocator.h (uneq_allocator): In C++0x
1085 mode, prefer delete to access control to make the type not copy
1086 assignable.
1087 * testsuite/util/testsuite_tr1.h: Add test classes.
1088 * testsuite/20_util/tuple/noexcept_swap.cc: New.
1089 * testsuite/20_util/tuple/noexcept_move_assign.cc: Likewise.
1090 * testsuite/25_algorithms/reverse/moveable.cc: Likewise, prefer
1091 delete to access control.
1092 * testsuite/25_algorithms/swap_ranges/moveable.cc: Likewise.
1093 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
1094 line numbers.
1095
1096 2011-05-19 Daniel Krugler <daniel.kruegler@googlemail.com>
1097
1098 * testsuite/util/testsuite_tr1.h: Add test classes.
1099 * testsuite/20_util/is_nothrow_assignable/value.cc: Add.
1100
1101 2011-05-19 Paolo Carlini <paolo.carlini@oracle.com>
1102
1103 * include/std/type_traits (is_assignable, is_copy_assignable,
1104 is_move_assignable, is_nothrow_assignable, is_nothrow_copy_assignable,
1105 is_nothrow_move_assignable): Add; minor tweaks elsewhere.
1106 (has_nothrow_copy_assign): Remove.
1107 * testsuite/util/testsuite_tr1.h: Add test classes.
1108 * testsuite/20_util/is_assignable/requirements/typedefs.cc: Add.
1109 * testsuite/20_util/is_assignable/requirements/
1110 explicit_instantiation.cc: Likewise.
1111 * testsuite/20_util/is_nothrow_assignable/value.cc: Likewise.
1112 * testsuite/20_util/is_nothrow_assignable/requirements/typedefs.cc:
1113 Likewise.
1114 * testsuite/20_util/is_nothrow_assignable/requirements/
1115 explicit_instantiation.cc: Likewise.
1116 * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1117 * testsuite/20_util/is_move_assignable/requirements/typedefs.cc:
1118 Likewise.
1119 * testsuite/20_util/is_move_assignable/requirements/
1120 explicit_instantiation.cc: Likewise.
1121 * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1122 * testsuite/20_util/is_copy_assignable/requirements/typedefs.cc:
1123 Likewise.
1124 * testsuite/20_util/is_copy_assignable/requirements/
1125 explicit_instantiation.cc: Likewise.
1126 * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1127 * testsuite/20_util/is_nothrow_move_assignable/requirements/
1128 typedefs.cc: Likewise.
1129 * testsuite/20_util/is_nothrow_move_assignable/requirements/
1130 explicit_instantiation.cc: Likewise.
1131 * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1132 * testsuite/20_util/is_nothrow_copy_assignable/requirements/
1133 typedefs.cc: Likewise.
1134 * testsuite/20_util/is_nothrow_copy_assignable/requirements/
1135 explicit_instantiation.cc: Likewise.
1136 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1137 dg-error line numbers.
1138 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1139 Likewise.
1140 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1141
1142 2011-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1143
1144 * include/bits/shared_ptr_base.h: Use noexcept. Define special member
1145 functions as defaulted/deleted.
1146 * include/bits/shared_ptr.h: Use noexcept.
1147 * 20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line numbers.
1148 * 20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
1149
1150 2011-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
1151
1152 * doc/xml/manual/bitmap_allocator.xml: Fix typos.
1153
1154 2011-05-18 Paolo Carlini <paolo.carlini@oracle.com>
1155
1156 * libsupc++/initializer_list: Use noexcept specifier.
1157 (initializer_list<>::size, begin, end): Qualify as const.
1158 * include/bits/move.h (__addressof, forward, move, addressof): Specify
1159 as noexcept.
1160 * include/std/bitset: Use noexcept specifier throughout.
1161 * include/debug/bitset: Update.
1162 * include/profile/bitset: Likewise.
1163
1164 2011-05-17 Paolo Carlini <paolo.carlini@oracle.com>
1165
1166 * include/std/tuple: Use noexcept where appropriate.
1167 (tuple<>::swap): Rework implementation.
1168 (_Head_base<>::_M_swap_impl): Remove.
1169 (get(std::tuple<>&&)): Add.
1170 * testsuite/20_util/tuple/element_access/get2.cc: New.
1171 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1172 line number.
1173
1174 2011-05-16 Paolo Carlini <paolo.carlini@oracle.com>
1175
1176 * include/std/utility: Simplify the last commit, the whole
1177 std::get code is C++0x only.
1178
1179 2011-05-16 Paolo Carlini <paolo.carlini@oracle.com>
1180
1181 * include/std/utility (get(std::pair<>&&)): Add.
1182 * include/bits/stl_pair.h (pair::swap(pair&),
1183 swap(pair<>&, pair<>&)): Use noexcept.
1184 * include/bits/random.h (discard_block_engine<>::base,
1185 independent_bits_engine<>::base, shuffle_order_engine<>::base,
1186 random_device::entropy): Use noexcept.
1187 * include/std/array: Use noexcept where appropriate.
1188 (get(array<>&&)): Add.
1189 * testsuite/23_containers/array/requirements/get.cc: New.
1190 * testsuite/20_util/pair/get.cc: Likewise.
1191 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
1192 line number.
1193
1194 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1195
1196 * include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
1197 Add.
1198 * include/std/limits: Use the latter everywhere.
1199 (numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
1200 macro usages, the specializations exist only in C++0x mode.
1201 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
1202 line number.
1203
1204 2011-05-11 Paolo Carlini <paolo.carlini@oracle.com>
1205
1206 * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: Use
1207 dg-require-cmath.
1208 * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
1209
1210 2011-05-11 François Dumont <francois.cppdevs@free.fr>
1211
1212 * include/ext/pb_ds/detail/resize_policy/
1213 hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
1214 _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
1215 * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
1216 find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
1217 constructors_destructor_fn_imps.hpp, split_join_fn_imps.hpp
1218 (PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
1219 * include/ext/pb_ds/detail/debug_map_base.hpp,
1220 splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
1221 cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
1222 leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
1223 bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
1224 rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
1225 PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
1226 macro definitions move...
1227 * include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
1228 * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
1229 * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
1230 resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
1231 left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
1232 binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
1233 rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
1234 PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
1235 * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
1236 ...here.
1237
1238 2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
1239
1240 PR libstdc++/48933
1241 * include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
1242 erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
1243 llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
1244 nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
1245 scalbn, tgamma, trunc): Use __enable_if on the return type.
1246 * include/tr1/cmath: Likewise.
1247 * testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
1248 * testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.
1249
1250 2011-05-07 François Dumont <francois.cppdevs@free.fr>
1251
1252 * include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
1253 (_GLICXX_DEBUG_VERIFY): Use latter.
1254 * include/ext/pb_ds/detail/resize_policy/
1255 hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
1256 containing the original assert call.
1257 * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
1258 find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
1259 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1260 split_join_fn_imps.hpp: Likewise.
1261 * include/ext/pb_ds/detail/cc_hash_table_map_/
1262 erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
1263 find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
1264 debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
1265 constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
1266 erase_no_store_hash_fn_imps.hpp: Likewise.
1267 * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
1268 insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
1269 constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
1270 leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
1271 Likewise.
1272 * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
1273 r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
1274 debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
1275 bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
1276 Likewise.
1277 * include/ext/pb_ds/detail/gp_hash_table_map_/
1278 erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
1279 find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
1280 debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
1281 resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
1282 debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
1283 Likewise.
1284 * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
1285 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1286 erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
1287 resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
1288 * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
1289 find_fn_imps.hpp, insert_fn_imps.hpp,
1290 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1291 pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
1292 * include/ext/pb_ds/detail/binomial_heap_/
1293 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1294 binomial_heap_.hpp: Likewise.
1295 * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
1296 erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
1297 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
1298 * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
1299 find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
1300 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1301 split_join_fn_imps.hpp: Likewise.
1302 * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
1303 ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
1304 debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
1305 * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
1306 * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
1307 find_fn_imps.hpp, insert_fn_imps.hpp,
1308 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
1309 splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
1310 * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
1311 find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
1312 insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
1313 * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
1314 rc_binomial_heap_.hpp, insert_fn_imps.hpp,
1315 constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
1316 split_join_fn_imps.hpp: Likewise.
1317 * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
1318 insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
1319 debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
1320 * include/ext/pb_ds/hash_policy.hpp: Likewise.
1321
1322 2011-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1323
1324 * testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.
1325
1326 2011-05-04 Marc Glisse <marc.glisse@normalesup.org>
1327
1328 PR libstdc++/47913 (again)
1329 * include/std/ratio (ratio_add, ratio_less): Rewrite.
1330 * testsuite/20_util/ratio/operations/47913.cc: Extend.
1331 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust dg-error
1332 line numbers.
1333 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
1334
1335 2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
1336
1337 PR libstdc++/48848
1338 * include/std/valarray (valarray<>::valarray(valarray&&),
1339 valarray<>::operator=(valarray&&), valarray<>::swap): Add.
1340 * doc/xml/manual/status_cxx200x.xml: Update.
1341 * testsuite/26_numerics/valarray/moveable.cc: New.
1342 * testsuite/26_numerics/valarray/swap.cc: Likewise.
1343
1344 2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
1345
1346 PR libstdc++/48750
1347 * include/parallel/multiway_merge.h: Run _ValueType destructors.
1348 * include/parallel/multiway_mergesort.h: Likewise.
1349 * include/parallel/quicksort.h: Likewise.
1350 * include/parallel/random_shuffle.h: Likewise.
1351 * include/parallel/partial_sum.h: Likewise.
1352 * include/parallel/losertree.h: Run destructors; minor tweaks.
1353 * include/parallel/par_loop.h: Run destructors, fix memory
1354 allocations and deallocations.
1355 * testsuite/26_numerics/accumulate/48750.cc: New.
1356
1357 * testsuite/ext/profile/mutex_extensions_neg.cc: Do not run in
1358 parallel-mode to avoid spurious multiple errors.
1359
1360 2011-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
1361
1362 * include/std/functional (bind): Remove from overload set when first
1363 argument type might be a socket file descriptor.
1364 * testsuite/20_util/bind/socket.cc: New.
1365
1366 2011-05-03 Jonathan Wakely <jwakely.gcc@gmail.com>
1367
1368 PR libstdc++/48848
1369 * doc/xml/manual/status_cxx200x.xml: Update valarray status.
1370 * doc/html/*: Regenerate.
1371
1372 2011-05-02 Ollie Wild <aaw@google.com>
1373
1374 * include/ext/sso_string_base.h (__sso_string_base<>::_M_construct):
1375 Fix unqualified lookup.
1376 (__sso_string_base<>::_M_assign): Likewise.
1377 (__sso_string_base<>::_M_reserve): Likewise.
1378 (__sso_string_base<>::_M_mutate): Likewise.
1379 (__sso_string_base<>::_M_erase): Likewise.
1380 * include/ext/vstring.h (__versa_string<>::replace): Likewise.
1381 (__versa_string<>::compare): Likewise.
1382 * include/ext/vstring.tcc (__versa_string<>::compare): Likewise.
1383
1384 2011-05-02 Jonathan Wakely <jwakely.gcc@gmail.com>
1385
1386 * doc/xml/manual/status_cxx200x.xml: Update to reflect current status
1387 and FDIS content.
1388 * doc/xml/manual/documentation_hacking.xml: Fix typo.
1389 * doc/html/*: Regenerate.
1390
1391 2011-04-30 Daniel Krugler <daniel.kruegler@googlemail.com>
1392
1393 * include/std/type_traits (__is_default_constructible_atom,
1394 __is_default_constructible_safe<, true>,
1395 __is_direct_constructible_new_safe,
1396 __is_base_to_derived_ref<,, true>, __is_lvalue_to_rvalue_ref<,, true>,
1397 __is_direct_constructible_ref_cast, __is_direct_constructible,
1398 __is_nary_constructible): Simplify; add comments throughout.
1399
1400 2011-04-30 Paolo Carlini <paolo.carlini@oracle.com>
1401
1402 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1403 Adjust dg-error line numbers.
1404 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1405 Likewise.
1406 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1407
1408 2011-04-30 Doug Kwan <dougkwan@google.com>
1409
1410 * include/Makefile.am (install-freestanding-headers): Also install
1411 cxxabi_tweaks.h.
1412 * include/Makefile.in: Regenerate.
1413
1414 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
1415
1416 PR libstdc++/48760
1417 * include/std/complex (complex<float>::complex(float, float),
1418 complex<double>::complex(double, double),
1419 complex<long double>::complex(long double, long double)): Use
1420 list-initialization in C++0x mode, initialize in the body in
1421 C++03 mode.
1422 * testsuite/26_numerics/complex/cons/48760.cc: New.
1423 * testsuite/26_numerics/complex/cons/48760_c++0x.cc: Likewise.
1424
1425 2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
1426
1427 * include/std/bitset (_Base_bitset(unsigned long long)): Minor
1428 tweak, remove redundant round braces.
1429
1430 2011-04-27 Paolo Carlini <paolo.carlini@oracle.com>
1431
1432 * include/bits/move.h (move_if_noexcept): Add.
1433 * testsuite/20_util/move_if_noexcept/requirements/
1434 explicit_instantiation.cc: New.
1435 * testsuite/20_util/move_if_noexcept/1.cc: Likewise.
1436
1437 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
1438
1439 * include/std/type_traits (struct underlying_type): Add.
1440 * testsuite/20_util/underlying_type/requirements/typedefs-1.cc: New.
1441 * testsuite/20_util/underlying_type/requirements/typedefs-2.cc:
1442 Likewise.
1443 * testsuite/20_util/underlying_type/requirements/
1444 explicit_instantiation.cc: Likewise.
1445 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1446 line number.
1447
1448 2011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1449
1450 * include/parallel/multiway_merge.h: Uglify equally_split
1451 and equally_split_point throughout.
1452 * include/parallel/par_loop.h: Likewise.
1453 * include/parallel/equally_split.h: Likewise.
1454 * include/parallel/set_operations.h: Likewise.
1455 * include/parallel/unique_copy.h: Likewise.
1456 * include/parallel/multiway_mergesort.h: Likewise.
1457 * include/parallel/search.h: Likewise.
1458 * include/parallel/partial_sum.h: Likewise.
1459 * include/parallel/find.h: Likewise.
1460
1461 2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
1462
1463 * doc/xml/manual/parallel_mode.xml: Fix link to libgomp online
1464 documentation. Expand link text.
1465
1466 2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
1467
1468 * libsupc++/cxxabi.h: Adjust link to FAQ entry.
1469
1470 2011-04-22 François Dumont <francois.cppdevs@free.fr>
1471
1472 * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard
1473 unused compilation result thanks to /dev/null.
1474 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode,
1475 check_v3_target_profile_mode, check_v3_target_normal_mode,
1476 check_v3_target_cstdint, check_v3_target_cmath,
1477 check_v3_target_atomic_builtins, check_v3_target_gthreads,
1478 check_v3_target_nanosleep, check_v3_target_sched_yield,
1479 check_v3_target_string_conversions, check_v3_target_swprintf,
1480 check_v3_target_binary_io): Use simple preprocessing rather than
1481 compilation. Discard unused preprocessing result thanks to /dev/null.
1482
1483 2011-04-20 Jim Meyering <meyering@redhat.com>
1484
1485 * libsupc++/del_opnt.cc (operator delete): Remove useless
1486 if-before-free.
1487
1488 2011-04-19 Jonathan Wakely <jwakely.gcc@gmail.com>
1489
1490 PR libstdc++/48521
1491 * include/std/type_traits (result_of): Handle pointer to member.
1492 * include/std/functional (__invoke): Likewise.
1493 (_Function_to_function_pointer): Remove.
1494 (_Reference_wrapper_base): Provide nested types independent of
1495 unary_function and binary_function.
1496 (reference_wrapper::operator()): DR 2017.
1497 (ref(const A&&), cref(const A&&): Define as deleted.
1498 * include/std/future (async): Simplify SFINAE and use result_of to
1499 support pointer to member.
1500 * testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to
1501 member.
1502 * testsuite/20_util/reference_wrapper/24803.cc: Likewise.
1503 * testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
1504 instead of derivation from unary_function and binary_function.
1505 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
1506 * testsuite/20_util/reference_wrapper/invoke-2.cc: New.
1507 * testsuite/20_util/reference_wrapper/ref_neg.c: New.
1508 * testsuite/20_util/reference_wrapper/typedefs-3.c: New.
1509
1510 2011-04-19 Hans-Peter Nilsson <hp@axis.com>
1511
1512 PR testsuite/48675
1513 * testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
1514 this part if SAMPLES < 100000.
1515
1516 2011-04-18 Paolo Carlini <paolo.carlini@oracle.com>
1517
1518 * include/std/type_traits (is_nothrow_default_constructible,
1519 is_nothrow_copy_constructible, is_nothrow_move_constructible,
1520 is_copy_constructible, is_move_constructible): Add.
1521 (has_nothrow_default_constructor, has_nothrow_copy_constructor):
1522 Remove.
1523 (is_nothrow_constructible): Adjust.
1524
1525 * testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
1526 ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
1527 ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
1528 NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.
1529
1530 * testsuite/20_util/has_nothrow_default_constructor: Remove.
1531 * testsuite/20_util/has_nothrow_copy_constructor: Likewise.
1532
1533 * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1534 * testsuite/20_util/is_nothrow_move_constructible/requirements/
1535 typedefs.cc: Likewise.
1536 * testsuite/20_util/is_nothrow_move_constructible/requirements/
1537 explicit_instantiation.cc: Likewise.
1538 * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1539 * testsuite/20_util/is_nothrow_copy_constructible/requirements/
1540 typedefs.cc: Likewise.
1541 * testsuite/20_util/is_nothrow_copy_constructible/requirements/
1542 explicit_instantiation.cc: Likewise.
1543 * testsuite/20_util/is_nothrow_default_constructible/value.cc:
1544 Likewise.
1545 * testsuite/20_util/is_nothrow_default_constructible/requirements/
1546 typedefs.cc: Likewise.
1547 * testsuite/20_util/is_nothrow_default_constructible/requirements/
1548 explicit_instantiation.cc: Likewise.
1549 * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1550 * testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
1551 Likewise.
1552 * testsuite/20_util/is_move_constructible/requirements/
1553 explicit_instantiation.cc: Likewise.
1554 * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1555 * testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
1556 Likewise.
1557 * testsuite/20_util/is_copy_constructible/requirements/
1558 explicit_instantiation.cc: Likewise.
1559
1560 * testsuite/20_util/is_default_constructible/value.cc: Add tests.
1561 * testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.
1562
1563 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1564 Adjust dg-error line numbers.
1565 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1566 Likewise.
1567 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1568
1569 2011-04-17 Paolo Carlini <paolo.carlini@oracle.com>
1570
1571 * testsuite/25_algorithms/partition/moveable.cc: Actually run
1572 it in parallel-mode for check-parallel.
1573
1574 2011-04-17 Daniel Krugler <daniel.kruegler@googlemail.com>
1575 Paolo Carlini <paolo.carlini@oracle.com>
1576
1577 PR libstdc++/48635 (again)
1578 * include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
1579 unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
1580 unique_ptr<>::operator=(unique_ptr<>&&),
1581 unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
1582 forward<_Dp>, to forward the deleter.
1583 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.
1584
1585 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com>
1586 Paolo Carlini <paolo.carlini@oracle.com>
1587
1588 PR libstdc++/48631
1589 * include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
1590 function call operator.
1591 * testsuite/20_util/default_delete/48631_neg.cc: New.
1592 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
1593 line numbers.
1594
1595 2011-04-15 Daniel Krugler <daniel.kruegler@googlemail.com>
1596 Paolo Carlini <paolo.carlini@oracle.com>
1597
1598 PR libstdc++/48635
1599 * include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
1600 unique_ptr<>::operator=(unique_ptr<>&&),
1601 unique_ptr<_Tp[],>::operator=(unique_ptr&&),
1602 unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
1603 instead of moving it.
1604 * testsuite/20_util/unique_ptr/assign/48635.cc: New.
1605
1606 2011-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1607
1608 * scripts/extract_symvers.pl: Handle NOTY.
1609
1610 2011-04-15 Paolo Carlini <paolo.carlini@oracle.com>
1611
1612 * include/std/istream: Fix comments in the light of DR60 + N3168.
1613
1614 2011-04-13 Daniel Krugler <daniel.kruegler@googlemail.com>
1615 Paolo Carlini <paolo.carlini@oracle.com>
1616
1617 PR libstdc++/48526
1618 * include/std/type_traits (struct is_constructible): Re-implement,
1619 according to n3290.
1620 (struct is_default_constructible): Add.
1621 (struct is_destructible): Likewise.
1622 (struct __and_, __or_, __not_): Add and use throughout; reorder some
1623 facilities, other minor tweaks.
1624 * testsuite/util/testsuite_tr1.h: Add test types.
1625 * testsuite/20_util/is_constructible/value-2.cc: New.
1626 * testsuite/20_util/is_default_constructible/value.cc: Likewise.
1627 * testsuite/20_util/is_default_constructible/requirements/typedefs.cc:
1628 Likewise.
1629 * testsuite/20_util/is_default_constructible/requirements/
1630 explicit_instantiation.cc: Likewise.
1631 * testsuite/20_util/is_destructible/value.cc: Likewise.
1632 * testsuite/20_util/is_destructible/requirements/typedefs.cc:
1633 Likewise.
1634 * testsuite/20_util/is_destructible/requirements/
1635 explicit_instantiation.cc: Likewise.
1636 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
1637 dg-error line numbers.
1638 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1639 Likewise.
1640 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1641 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
1642
1643 2011-04-13 Paolo Carlini <paolo.carlini@oracle.com>
1644
1645 * testsuite/20_util/is_function/value.cc: Add, adapted from the tr
1646 testsuite.
1647 * testsuite/20_util/is_function/requirements/typedefs.cc: Likewise.
1648 * testsuite/20_util/is_function/requirements/
1649 explicit_instantiation.cc: Likewise.
1650 * testsuite/20_util/is_function/24808.cc: Likewise.
1651 * testsuite/20_util/is_function/35637.cc: Likewise.
1652 * testsuite/20_util/is_object/value.cc: Likewise.
1653 * testsuite/20_util/is_object/requirements/typedefs.cc: Likewise.
1654 * testsuite/20_util/is_object/requirements/explicit_instantiation.cc:
1655 : Likewise.
1656 * testsuite/20_util/is_object/24808.cc: Likewise.
1657 * testsuite/20_util/is_compound/value.cc: Likewise.
1658 * testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise.
1659 * testsuite/20_util/is_compound/requirements/
1660 explicit_instantiation.cc: Likewise.
1661 * testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
1662 * testsuite/20_util/is_member_object_pointer/requirements/
1663 typedefs.cc: Likewise.
1664 * testsuite/20_util/is_member_object_pointer/requirements/
1665 explicit_instantiation.cc: Likewise.
1666 * testsuite/20_util/is_fundamental/value.cc: Likewise.
1667 * testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise.
1668 * testsuite/20_util/is_fundamental/requirements/
1669 explicit_instantiation.cc: Likewise.
1670 * testsuite/20_util/is_member_pointer/value.cc: Likewise.
1671 * testsuite/20_util/is_member_pointer/requirements/typedefs.cc:
1672 Likewise.
1673 * testsuite/20_util/is_member_pointer/requirements/
1674 explicit_instantiation.cc: Likewise.
1675 * testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
1676 * testsuite/20_util/is_member_function_pointer/
1677 requirements/typedefs.cc: Likewise.
1678 * testsuite/20_util/is_member_function_pointer/requirements/
1679 explicit_instantiation.cc: Likewise.
1680
1681 * testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust
1682 Copyright years.
1683
1684 2011-04-12 Takaya Saito <gintensubaru@gmail.com>
1685
1686 PR libstdc++/48476
1687 * include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&),
1688 _Tuple_impl<>::operator=(_Tuple_impl&&), _Tuple_impl<>::operator=
1689 (_Tuple_impl<>&&), tuple_cat): Use std::forward where appropriate.
1690 * testsuite/20_util/tuple/cons/48476.cc: New.
1691 * testsuite/20_util/tuple/48476.cc: Likewise.
1692 * testsuite/20_util/tuple/creation_functions/48476.cc: Likewise.
1693
1694 2011-04-12 Allan McRae <allan@archlinux.org>
1695
1696 PR libstdc++/48566
1697 * testsuite/tr1/6_containers/unordered_map/requirements/
1698 iterator_null_neg.cc: Include <cstddef>.
1699 * testsuite/tr1/6_containers/unordered_set/requirements/
1700 iterator_null_neg.cc: Likewise.
1701 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/4.cc: Include
1702 <cstring>.
1703 * testsuite/util/testsuite_common_types.h: Include <limits>.
1704 * testsuite/29_atomics/atomic_integral/cons/assign_neg.cc:
1705 Adjust dg-error line numbers.
1706 * testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
1707 * testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1708 Likewise.
1709 * testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc:
1710 Likewise.
1711 * testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
1712 Likewise.
1713 * testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
1714 * testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
1715
1716 2011-04-11 Jason Merrill <jason@redhat.com>
1717
1718 * testsuite/20_util/is_convertible/value.cc: Adjust.
1719
1720 2011-04-11 Paolo Carlini <paolo.carlini@oracle.com>
1721
1722 * testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
1723 it in parallel-mode for check-parallel.
1724 * testsuite/25_algorithms/rotate/moveable.cc: Likewise.
1725 * testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
1726 * testsuite/25_algorithms/remove/moveable.cc: Likewise.
1727 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
1728 Likewise.
1729 * testsuite/25_algorithms/unique/moveable.cc: Likewise.
1730 * testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
1731 * testsuite/25_algorithms/heap/moveable.cc: Likewise.
1732
1733 * testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
1734 the tests based on std::lexicographical_compare for check-parallel.
1735 * testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
1736
1737 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
1738
1739 PR libstdc++/48541
1740 * include/std/functional (_Base_manager::_M_get_pointer): Use
1741 addressof.
1742 * testsuite/20_util/function/48541.cc: New.
1743
1744 2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
1745
1746 PR libstdc++/48465
1747 * configure.ac (libtool_VERSION): Bump library version to 6:16:0.
1748 * configure: Regenerate.
1749 * config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
1750 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
1751
1752 2011-04-06 Jeffrey Yasskin <jyasskin@google.com>
1753
1754 * include/ext/algorithm (is_sorted): In C++0x mode import from
1755 namespace std.
1756 * include/ext/numeric (iota): In C++0x mode import from
1757 namespace std.
1758 * testsuite/ext/is_sorted/cxx0x.cc: New.
1759 * testsuite/ext/iota/cxx0x.cc: New.
1760
1761 2011-04-02 Jonathan Wakely <redi@gcc.gnu.org>
1762
1763 PR libstdc++/48398
1764 * include/bits/unique_ptr.h (__tuple_type): Store pointer type.
1765 * testsuite/20_util/unique_ptr/modifiers/48398.cc: New.
1766 * testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Remove
1767 unused parameter name.
1768
1769 2011-03-31 Jeffrey Yasskin <jyasskin@google.com>
1770
1771 * libsupc++/exception_ptr.h: Forward-declare std::type_info.
1772 * libsupc++/nested_exception.h (__throw_with_nested): Remove a
1773 redundant default argument from std::__throw_with_nested.
1774
1775 2011-03-31 Paolo Carlini <paolo.carlini@oracle.com>
1776
1777 PR libstdc++/48382
1778 * src/ctype.cc: Do not include <bits/ctype_noninline.h>.
1779 * src/Makefile.am: Add ctype_configure_char.cc to host_sources.
1780 * src/Makefile.in: Regenerate.
1781 * include/Makefile.am: Remove ctype_noninline.h from host_headers.
1782 * include/Makefile.in: Regenerate.
1783 * doc/xml/manual/internals.xml: Update.
1784 * config/os/newlib/ctype_noninline.h: Fixup and rename to...
1785 * config/os/newlib/ctype_configure_char.cc: ... this.
1786 * config/os/aix/ctype_noninline.h: Likewise.
1787 * config/os/aix/ctype_configure_char.cc: Likewise.
1788 * config/os/vxworks/ctype_noninline.h: Likewise.
1789 * config/os/vxworks/ctype_configure_char.cc
1790 * config/os/hpux/ctype_noninline.h: Likewise.
1791 * config/os/hpux/ctype_configure_char.cc: Likewise.
1792 * config/os/gnu-linux/ctype_noninline.h: Likewise.
1793 * config/os/gnu-linux/ctype_configure_char.cc: Likewise.
1794 * config/os/mingw32/ctype_noninline.h: Likewise.
1795 * config/os/mingw32/ctype_configure_char.cc: Likewise.
1796 * config/os/tpf/ctype_noninline.h: Likewise.
1797 * config/os/tpf/ctype_configure_char.cc: Likewise.
1798 * config/os/uclibc/ctype_noninline.h: Likewise.
1799 * config/os/uclibc/ctype_configure_char.cc: Likewise.
1800 * config/os/bionic/ctype_noninline.h: Likewise.
1801 * config/os/bionic/ctype_configure_char.cc: Likewise.
1802 * config/os/djgpp/ctype_noninline.h: Likewise.
1803 * config/os/djgpp/ctype_configure_char.cc: Likewise.
1804 * config/os/qnx/qnx6.1/ctype_noninline.h: Likewise.
1805 * config/os/qnx/qnx6.1/ctype_configure_char.cc: Likewise.
1806 * config/os/bsd/netbsd/ctype_noninline.h: Likewise.
1807 * config/os/bsd/netbsd/ctype_configure_char.cc: Likewise.
1808 * config/os/bsd/darwin/ctype_noninline.h: Likewise.
1809 * config/os/bsd/darwin/ctype_configure_char.cc: Likewise.
1810 * config/os/bsd/freebsd/ctype_noninline.h: Likewise.
1811 * config/os/bsd/freebsd/ctype_configure_char.cc: Likewise.
1812 * config/os/irix/irix6.5/ctype_noninline.h: Likewise.
1813 * config/os/irix/irix6.5/ctype_configure_char.cc: Likewise.
1814 * config/os/generic/ctype_noninline.h: Likewise.
1815 * config/os/generic/ctype_configure_char.cc: Likewise.
1816 * config/os/solaris/solaris2.7/ctype_noninline.h: Likewise.
1817 * config/os/solaris/solaris2.7/ctype_configure_char.cc: Likewise.
1818
1819 2011-03-25 Jonathan Wakely <jwakely.gcc@gmail.com>
1820
1821 * include/std/future (future::share): Add.
1822 (packaged_task::result_type): Remove as per LWG 2030.
1823 (packaged_task::packaged_task): Remove redundant constructors, as per
1824 LWG 1514.
1825 * testsuite/30_threads/future/members/share.cc: New.
1826 * testsuite/30_threads/packaged_task/requirements/typedefs.cc: Remove.
1827
1828 2011-03-25 Jonathan Wakely <jwakely.gcc@gmail.com>
1829
1830 * testsuite/28_regex/match_results/ctors/char/default.cc: Do not call
1831 members which require a fully established result state.
1832 * testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
1833
1834 2011-03-25 Paolo Carlini <paolo.carlini@oracle.com>
1835
1836 * include/bits/random.h (negative_binomial_distribution<>::
1837 negative_binomial_distribution(_IntType, double),
1838 negative_binomial_distribution<>::
1839 negative_binomial_distribution(const param_type&)): Tweak
1840 construction of _M_gd.
1841 * include/bits/random.tcc (negative_binomial_distribution<>::
1842 operator()): Adjust.
1843
1844 2011-03-24 Paolo Carlini <paolo.carlini@oracle.com>
1845
1846 * include/bits/random.h (negative_binomial_distribution<>::
1847 negative_binomial_distribution(_IntType, double),
1848 negative_binomial_distribution<>::
1849 negative_binomial_distribution(const param_type&)): Fix
1850 construction of _M_gd.
1851 * include/bits/random.tcc (negative_binomial_distribution<>::
1852 operator()): Fix computation, per Leger's algorithm.
1853 * testsuite/util/testsuite_random.h (discrete_pdf,
1854 negative_binomial_pdf, poisson_pdf, uniform_int_pdf): New.
1855 (binomial_pdf): Swap last two parameters.
1856 * testsuite/26_numerics/random/discrete_distribution/
1857 operators/values.cc: New.
1858 * testsuite/26_numerics/random/negative_binomial_distribution/
1859 operators/values.cc: Likewise.
1860 * testsuite/26_numerics/random/poisson_distribution/
1861 operators/values.cc: Likewise.
1862 * testsuite/26_numerics/random/uniform_int_distribution/
1863 operators/values.cc: Likewise.
1864 * testsuite/26_numerics/random/binomial_distribution/
1865 operators/values.cc: Adjust.
1866
1867 2011-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1868
1869 * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerate.
1870 * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
1871 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1872 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1873 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1874
1875 2011-03-23 Matthias Klose <doko@ubuntu.com>
1876
1877 * config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Regenerated.
1878
1879 2011-03-23 Uros Bizjak <ubizjak@gmail.com>
1880
1881 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
1882
1883 2011-03-22 Joseph Myers <joseph@codesourcery.com>
1884
1885 * configure.ac: Don't handle powerpc*-*-gnu*.
1886 * configure: Regenerate.
1887
1888 2011-03-22 Paolo Carlini <paolo.carlini@oracle.com>
1889
1890 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: Tweak
1891 Copyright years.
1892 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc:
1893 Likewise.
1894
1895 2011-03-22 Paolo Carlini <paolo.carlini@oracle.com>
1896
1897 * include/bits/shared_ptr.h (operator>, operator<=, operator>=): Add,
1898 per DR 1401.
1899 (operator==, operator!=, operator<): Fix per the letter of DR 1401.
1900 * include/bits/shared_ptr_base.h: Likewise for __shared_ptr.
1901 * include/bits/unique_ptr.h (operator==, operator!=, operator<,
1902 operator<=, operator>, operator>=): Fix per the letter of DR 1401.
1903 * testsuite/20_util/shared_ptr/comparison/dr1401.cc: New.
1904 * testsuite/20_util/unique_ptr/comparison/dr1401.cc: Likewise.
1905 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.
1906
1907 2011-03-22 Jakub Jelinek <jakub@redhat.com>
1908
1909 * config/abi/pre/gnu.ver (GLIBCXX_3.4.15): Export _ZNSsC2EOSs
1910 and _ZNSbIwSt11char_traitsIwESaIwEEC2EOS2_.
1911 * config/abi/post/solaris2.8/baseline_symbols.txt: Regenerated.
1912 * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
1913 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1914 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1915 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1916 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1917 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1918 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1919 Likewise.
1920 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1921 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1922 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1923 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1924 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1925 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1926 * testsuite/21_strings/basic_string/cons/char/moveable2.cc: New test.
1927 * testsuite/21_strings/basic_string/cons/wchar_t/moveable2.cc: New
1928 test.
1929
1930 2011-03-21 Jack Howarth <howarth@bromo.med.uc.edu>
1931
1932 * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "could not
1933 create compact unwind for" warnings.
1934
1935 2011-03-21 Jakub Jelinek <jakub@redhat.com>
1936
1937 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1938 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1939 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1940 Likewise.
1941 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1942 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1943 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1944 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1945 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1946 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1947 * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
1948 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1949 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1950
1951 * testsuite/util/testsuite_abi.cc (check_version): Set incompatible
1952 even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
1953 CXXABI_LDBL_1.3 versions.
1954
1955 2011-03-21 Benjamin Kosnik <bkoz@redhat.com>
1956
1957 * config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types.
1958
1959 2011-03-21 Jakub Jelinek <jakub@redhat.com>
1960
1961 * config/abi/pre/gnu.ver (CXXABI_1.3): Don't export _ZT[IS][PK]*[no].
1962 (CXXABI_1.3.5): Export _ZTI[PK]*[no].
1963
1964 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1965
1966 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
1967 sparc*-sun-solaris2.10 && lp64.
1968
1969 2011-03-19 Paolo Carlini <paolo.carlini@oracle.com>
1970
1971 * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Rename
1972 to check_v3_target_cmath.
1973 * testsuite/lib/dg-options.exp (dg-require-c99_math): Rename
1974 to dg-require-cmath.
1975 * testsuite/26_numerics/random/binomial_distribution/
1976 operators/values.cc: Adjust.
1977
1978 2011-03-18 Diego Novillo <dnovillo@google.com>
1979
1980 * testsuite/decimal/mixed-mode-arith_neg.cc: Rename from
1981 mixed-mode_neg.cc
1982 * testsuite/decimal/mixed-mode-cmp_neg.cc: Factor out of
1983 mixed-mode-arith_neg.cc
1984
1985 2011-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1986
1987 * testsuite/util/testsuite_random.h: New.
1988 * testsuite/lib/libstdc++.exp (check_v3_target_c99_math): Add.
1989 * testsuite/lib/dg-options.exp (dg-require-c99_math): Likewise.
1990 * testsuite/26_numerics/random/bernoulli_distribution/
1991 operators/values.cc: New.
1992 * testsuite/26_numerics/random/binomial_distribution/
1993 operators/values.cc: Likewise.
1994 * testsuite/26_numerics/random/geometric_distribution/
1995 operators/values.cc: Likewise.
1996
1997 2011-03-16 Benjamin Kosnik <bkoz@redhat.com>
1998
1999 * config/abi/pre/gnu.ver: Add base destructors for stdexcept classes.
2000 * testsuite/19_diagnostics/stdexcept.cc: New.
2001
2002 2011-03-15 Benjamin Kosnik <bkoz@redhat.com>
2003
2004 * include/std/thread: Revert.
2005 * src/thread.cc: Same.
2006 * config/abi/pre/gnu.ver: Same.
2007
2008 2011-03-15 Doug Kwan <dougkwan@google.com>
2009
2010 PR libstdc++/48123
2011 * include/Makefile.am (install-freestanding-headers): Install
2012 cpu_defines.h
2013 * include/Makefile.in: Regenerate.
2014
2015 2011-03-15 Benjamin Kosnik <bkoz@redhat.com>
2016
2017 * config/abi/pre/gnu.ver: Make nested_exception exports super clear.
2018 Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.
2019
2020 2011-03-14 Benjamin Kosnik <bkoz@redhat.com>
2021
2022 PR libstdc++/48130
2023 * src/future.cc: Guard definitions.
2024 * libsupc++/nested_exception.cc: Same.
2025
2026 2011-03-14 Benjamin Kosnik <bkoz@redhat.com>
2027
2028 * src/Makefile.am: Add functional.cc, shared_ptr.cc.
2029 * src/Makefile.in: Regenerate.
2030 * libsupc++/Makefile.am: Add nested_exception.cc.
2031 * libsupc++/Makefile.in: Regenerate.
2032 * src/system_error.cc: Add ctor and dtor definitions for error_category.
2033 * src/functional.cc: New. Add dtor definition for bad_function_call.
2034 * src/stdexcept.cc: Add dtor definitions for domain_error,
2035 invalid_argument, length_error, out_of_range, range_error,
2036 overflow_error, underflow_error.
2037 * src/future.cc: Add dtor definition for __future_base::_Result_base.
2038 * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
2039 * src/thread.cc: Add dtor for thread::_Impl_base.
2040 * include/std/system_error: Adjust.
2041 * include/std/stdexcept: Same.
2042 * include/std/future: Same.
2043 * include/std/functional: Same.
2044 * include/std/thread: Same.
2045 * include/bits/shared_ptr_base.h: Same.
2046 * libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
2047 * libsupc++/nested_exception.h: Adjust.
2048 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
2049 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
2050 * config/abi/pre/gnu.ver: Add new exports.
2051
2052 2011-03-14 Benjamin Kosnik <bkoz@redhat.com>
2053
2054 * include/bits/regex_compiler.h: Nest namespace versioning.
2055 * include/bits/regex_grep_matcher.tcc: Same.
2056 * include/bits/regex_grep_matcher.h: Same.
2057 * include/bits/regex_cursor.h: Same.
2058 * include/bits/regex_nfa.h: Same.
2059 * include/bits/regex_nfa.tcc: Same.
2060
2061 * include/bits/regex_grep_matcher.h: Version forward declarations.
2062 * include/bits/c++config: Add namespace association for __regex.
2063 * include/bits/regex.h: Make sub_match consistent.
2064
2065 2011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2066
2067 * doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN
2068 equivalents.
2069 * doc/html/manual/abi.html: Regenerate.
2070
2071 2011-03-14 Tom Tromey <tromey@redhat.com>
2072
2073 * python/libstdcxx/v6/printers.py (_use_gdb_pp): New global.
2074 Try to import `gdb.printing' module.
2075 (UniquePointerPrinter.__init__): Add 'typename' argument.
2076 (StdSlistPrinter.__init__): Likewise.
2077 (StdSlistIteratorPrinter.__init__): Likewise.
2078 (StdVectorIteratorPrinter.__init__): Likewise.
2079 (StdRbtreeIteratorPrinter.__init__): Likewise.
2080 (StdDebugIteratorPrinter.__init__): Likewise.
2081 (StdDequeIteratorPrinter.__init__): Likewise.
2082 (StdStringPrinter.__init__): Likewise.
2083 (RxPrinter, Printer): New class.
2084 (libstdcxx_printer): New global.
2085 (register_libstdcxx_printers): Rewrite.
2086 (build_libstdcxx_dictionary): Rewrite.
2087 (pretty_printers_dict): Remove.
2088
2089 2011-03-14 Andrey Zholos <aaz@althenia.net>
2090
2091 PR libstdc++/48114
2092 * include/bits/random.h (geometric_distribution): Correct formula
2093 in comment, per C++0x.
2094 (geometric_distribution<>::param_type::param_type(double)): Fix check.
2095 (geometric_distribution<>::param_type::_M_initialize):
2096 Store log(1 - p).
2097 * include/bits/random.tcc (geometric_distribution<>::operator()):
2098 Fix computation.
2099 (binomial_distribution<>::operator()): Likewise.
2100
2101 2011-03-09 Paolo Carlini <paolo.carlini@oracle.com>
2102
2103 * testsuite/util/testsuite_rvalref.h: Minor tweaks.
2104
2105 2011-03-09 Jonathan Wakely <redi@gcc.gnu.org>
2106 Chris Jefferson <chris@bubblescope.net>
2107 Paolo Carlini <paolo.carlini@oracle.com>
2108
2109 * testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
2110 New.
2111 * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
2112 Likewise.
2113 * testsuite/25_algorithms/partial_sort/check_compare_by_value:
2114 Likewise.
2115 * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
2116 Likewise.
2117 * testsuite/25_algorithms/sort/check_compare_by_value: Likewise.
2118
2119 2011-03-09 Chris Jefferson <chris@bubblescope.net>
2120
2121 PR libstdc++/48038
2122 * include/bits/stl_algo.h (__merge_backward): Rename to
2123 __move_merge_backward and change to always move rather than copy.
2124 (__move_merge): New function similar to std::merge except values
2125 are moved instead of copied.
2126 (__merge_adaptive, __merge_sort_loop): Change from using std::merge
2127 and __merge_backward to __move_merge and __move_merge_backward.
2128
2129 2011-03-07 Jason Merrill <jason@redhat.com>
2130
2131 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
2132 expected errors.
2133
2134 2011-03-07 Benjamin Kosnik <bkoz@redhat.com>
2135 Matthias Klose <doko@ubuntu.com>
2136 Jonathan Wakely <redi@gcc.gnu.org>
2137
2138 PR libstdc++/47145
2139 * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Define.
2140 * configure.ac: Use it.
2141 * doc/Makefile.am (XSL_STYLE_DIR): Set at configure time.
2142 * configure: Regenerate.
2143 * doc/Makefile.in: Regenerate.
2144
2145 2011-03-04 Benjamin Kosnik <bkoz@chula>
2146
2147 * src/Makefile.am (inst_sources): Make source instantion files
2148 conditional.
2149 (XTEMPLATE_FLAGS): Make -fno-implicit-templates conditional.
2150 * src/Makefile.in: Regenerate.
2151 * src/valarray-inst.cc: Move to..
2152 * src/valarray.cc: ...this.
2153 * acinclude.m4 (GLIBCXX_ENABLE_EXTERN_TEMPLATE]): Define.
2154 * configure.ac (GLIBCXX_ENABLE_EXTERN_TEMPLATE): Use it.
2155 * configure: Regenerate.
2156 * include/Makefile.am (stamp-extern-template): Add.
2157 * include/Makefile.in: Regenerate.
2158
2159 * doc/xml/manual/configure.xml: Document --enable-extern-template.
2160
2161 * include/bits/locale_classes.tcc: Adjust comment.
2162 * include/bits/locale_facets.tcc: Same.
2163 * include/bits/basic_ios.tcc: Same.
2164 * include/bits/istream.tcc: Same.
2165 * include/bits/codecvt.h: Same.
2166 * include/bits/ostream.tcc: Same.
2167 * include/bits/sstream.tcc: Same.
2168 * include/bits/c++config: Same.
2169 * include/bits/basic_string.tcc: Same.
2170 * include/bits/ostream_insert.h: Same.
2171 * include/bits/locale_facets_nonio.tcc: Same.
2172 * include/bits/streambuf.tcc: Same.
2173 * include/bits/allocator.h: Same.
2174 * include/bits/fstream.tcc: Same.
2175
2176 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
2177
2178 2011-03-02 Benjamin Kosnik <bkoz@redhat.com>
2179
2180 * testsuite/Makefile.am: Make clean fixups.
2181 * testsuite/Makefile.in: Regenerate.
2182
2183 2011-03-02 Marc Glisse <marc.glisse@normalesup.org>
2184
2185 * include/std/ratio (ratio_less): Add comments.
2186
2187 2011-03-02 Marc Glisse <marc.glisse@normalesup.org>
2188
2189 PR libstdc++/47913
2190 * include/std/ratio (ratio_add): Avoid denominator overflow.
2191 * testsuite/20_util/ratio/operations/47913.cc: New.
2192
2193 2011-02-28 Benjamin Kosnik <bkoz@redhat.com>
2194
2195 * testsuite/20_util/hash/chi2_quality.cc: Use C++0x mode on simulators.
2196 * testsuite/20_util/hash/quality.cc: Same.
2197
2198 2011-02-28 Paolo Carlini <paolo.carlini@oracle.com>
2199
2200 PR libstdc++/47921
2201 * include/std/streambuf (basic_streambuf<>::__safe_gbump,
2202 __safe_pbump): Add.
2203 * include/bits/streambuf.tcc (basic_streambuf<>::xgetn,
2204 xputn): Use the latter.
2205 * include/bits/streambuf_iterator.h: Likewise.
2206 * src/strstream.cc: Likewise.
2207 * src/streambuf.cc: Likewise.
2208 * src/compatibility.cc: Likewise.
2209 * src/istream.cc: Likewise.
2210 * include/bits/fstream.tcc (basic_filebuf<>::xsgetn): Use setg
2211 instead of gbump.
2212 * include/std/sstream (basic_stringbuf<>::_M_pbump): Add.
2213 * include/bits/sstream.tcc (basic_stringbuf<>::seekoff,
2214 seekpos, _M_sync): Use setg, setp, and _M_pbump.
2215 * config/abi/pre/gnu.ver: Tweak.
2216
2217 2011-02-28 Paolo Carlini <paolo.carlini@oracle.com>
2218
2219 * testsuite/20_util/ratio/comparisons/comp3.cc: New.
2220
2221 2011-02-28 Marc Glisse <marc.glisse@normalesup.org>
2222
2223 PR libstdc++/42622
2224 * include/std/ratio (ratio_less): Reimplement to never overflow.
2225 * testsuite/20_util/ratio/comparisons/comp2.cc: Extend.
2226
2227 2011-02-24 Benjamin Kosnik <bkoz@redhat.com>
2228
2229 * testsuite/18_support/type_info/fundamental.cc: New.
2230
2231 * testsuite/Makefile.am: Make clean fixups.
2232 * testsuite/Makefile.in: Regenerate.
2233
2234 2011-02-19 François Dumont <francois.cppdevs@free.fr>
2235
2236 * include/debug/string (basic_string::insert): Add iterator check and
2237 pass normal iterator to normal insert.
2238 * include/debug/macros.h (__glibcxx_check_heap,
2239 __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
2240 already done.
2241
2242 2011-02-17 Paolo Carlini <paolo.carlini@oracle.com>
2243
2244 PR libstdc++/47776
2245 * testsuite/ext/vstring/hash/char/1.cc: Fix.
2246 * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
2247
2248 2011-02-17 Jonathan Wakely <jwakely.gcc@gmail.com>
2249
2250 * include/bits/regex.h (basic_regex::traits_type): Add typedef.
2251 (basic_regex::basic_regex(basic_regex&&)): Add noexcept.
2252 (basic_regex::operator=(basic_regex&&)): Likewise.
2253 (basic_regex::assign(basic_regex&&)): Likewise.
2254 (operator==(sub_match,...)): Implement DR 1181.
2255 (match_results::match_results(match_results&&)): Define.
2256 (match_results::operator=(const match_results&)): Fix parameter type.
2257 (match_results::operator=(match_results&&)): Define.
2258
2259 2011-02-17 Jonathan Wakely <jwakely.gcc@gmail.com>
2260
2261 PR libstdc++/47724
2262 * include/bits/regex_compiler.h (_Scanner::_M_advance): Do not treat
2263 line anchors as metacharacters.
2264 * testsuite/28_regex/basic_regex/ctors/47724.cc: New.
2265
2266 2011-02-16 Paolo Carlini <paolo.carlini@oracle.com>
2267
2268 PR libstdc++/47773
2269 * include/ext/vstring.h (hash<__gnu_cxx::__vstring>,
2270 hash<__gnu_cxx::__wvstring>, hash<__gnu_cxx::__u16vstring>,
2271 hash<__gnu_cxx::__u32vstring>): Add.
2272 * testsuite/ext/vstring/hash/char/1.cc: New.
2273 * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
2274
2275 2011-02-16 Jonathan Wakely <jwakely.gcc@gmail.com>
2276
2277 * include/bits/regex.h (match_results::format): Use char_traits.
2278
2279 2011-02-16 Benjamin Kosnik <bkoz@redhat.com>
2280
2281 * include/std/atomic: Remove atomic_address, uplift to N3225.
2282 * include/bits/atomic_0.h: Same.
2283 * include/bits/atomic_2.h: Same.
2284 * include/bits/atomic_base.h: Same.
2285 * testsuite/29_atomics/atomic_address/*: Delete.
2286
2287 2011-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
2288
2289 * include/bits/regex.h (sub_match::sub_match): Add.
2290 (match_results::ready): Add.
2291 (match_results::empty): Adjust.
2292 (match_results::length): Add missing dereference.
2293 (match_results::operator[],prefix,suffix): Add debug mode checks.
2294 (match_results::cend): Re-use end().
2295 (match_results::format): Adjust signatures.
2296 (operator==(match_results,match_results)): Implement.
2297 * include/bits/regex_compiler.h (_Scanner_base): Use constexpr.
2298 * include/bits/regex_constants.h (syntax_option_type): Likewise.
2299 * include/bits/regex_grep_matcher.h: Fix comment typo.
2300 (_SpecializedResults::_SpecializedResults): Simplify.
2301 * include/bits/regex_cursor.h: Fix comment typo.
2302 * include/bits/regex_nfa.h: Likewise.
2303 * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
2304 Fix error code, remove xfail.
2305 * testsuite/28_regex/basic_regex/ctors/extended/
2306 string_range_01_02_03.cc: Likewise.
2307
2308 2011-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
2309
2310 * include/bits/regex_compiler.h: Remove unnecessary bind() calls.
2311 * include/bits/regex_nfa.h: Remove unnecessary base classes.
2312
2313 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2314
2315 * configure: Regenerate.
2316
2317 2011-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2318
2319 PR libstdc++/47709
2320 * include/ext/algorithm (is_heap): In C++0x mode import from
2321 namespace std.
2322 * testsuite/ext/is_heap/47709.cc: New.
2323
2324 2011-02-12 Jakub Jelinek <jakub@redhat.com>
2325 Jonathan Wakely <jwakely.gcc@gmail.com>
2326
2327 PR libstdc++/47662
2328 * testsuite/17_intro/headers/c++200x/operator_names.cc: New.
2329 * testsuite/17_intro/headers/c++1998/operator_names.cc: Add comment.
2330
2331 2011-02-12 Paolo Carlini <paolo.carlini@oracle.com>
2332
2333 * include/tr1/cmath (fabs): Define.
2334 * include/tr1/complex (acos, asin, atan): Avoid duplicate definitions
2335 in C++0x mode.
2336
2337 2011-02-12 Jonathan Wakely <jwakely.gcc@gmail.com>
2338
2339 * testsuite/tr1/headers/c++200x/complex.cc: New.
2340
2341 2011-02-11 Johannes Singler <singler@kit.edu>
2342
2343 PR libstdc++/47433
2344 * include/parallel/losertree.h
2345 (_LoserTreeUnguarded<>::__delete_min_insert):
2346 Add missing "using std::swap;", as for other variants.
2347
2348 2011-02-10 Benjamin Kosnik <bkoz@redhat.com>
2349
2350 * src/Makefile.am (sources): Add regex.cc.
2351 * src/Makefile.in: Regenerate.
2352 * src/regex.cc: New.
2353 * include/bits/regex_error.h (error_type): Use constexpr.
2354 (regex_error): Move ctor and dtor out of line.
2355
2356 * testsuite/28_regex/03_requirements: To...
2357 * testsuite/28_regex/requirements: ... this.
2358 * testsuite/28_regex/04_header: To...
2359 * testsuite/28_regex/headers: ... this.
2360 * testsuite/28_regex/05_constants: To...
2361 * testsuite/28_regex/constants: ... this.
2362 * testsuite/28_regex/06_exception_type: To...
2363 * testsuite/28_regex/regex_error: ... this.
2364 * testsuite/28_regex/07_traits: To...
2365 * testsuite/28_regex/traits: ... this.
2366 * testsuite/28_regex/08_basic_regex: To...
2367 * testsuite/28_regex/basic_regex: ... this.
2368 * testsuite/28_regex/09_sub_match: To...
2369 * testsuite/28_regex/sub_match: ... this.
2370 * testsuite/28_regex/10_match_results: To...
2371 * testsuite/28_regex/match_results: ... this.
2372 * testsuite/28_regex/11_algorithms: To...
2373 * testsuite/28_regex/algorithms: ... this.
2374 * testsuite/28_regex/12_iterators: To...
2375 * testsuite/28_regex/iterators: ... this.
2376
2377 2011-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2378
2379 PR libstdc++/47662
2380 * include/bits/c++config: Do not use alternative token.
2381 * testsuite/17_intro/headers/c++1998/operator_names.cc: New.
2382
2383 2011-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2384
2385 * src/future.cc (future_error_category::message): Handle no_state.
2386
2387 2011-02-10 Paolo Carlini <paolo.carlini@oracle.com>
2388
2389 * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Do
2390 not test in C++0x mode.
2391 * testsuite/23_containers/map/modifiers/erase/47628.cc: Likewise.
2392 * testsuite/20_util/headers/utility/synopsis.cc: Tweak to work
2393 in C++0x mode too.
2394
2395 2011-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2396
2397 * doc/xml/manual/status_cxx200x.xml: Update.
2398 * doc/html/*: Regenerate.
2399
2400 2011-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
2401
2402 * doc/xml/manual/debug.xml: Improve data race docs.
2403
2404 2011-02-09 Paolo Carlini <paolo.carlini@oracle.com>
2405
2406 PR libstdc++/47668
2407 * include/debug/map.h (map): Remove unnecessary using-declaration.
2408 * include/debug/multimap.h (multimap): Likewise.
2409 * include/profile/map.h (map): Likewise.
2410 * include/profile/multimap.h (multimap): Likewise.
2411
2412 2011-02-09 Jonathan Wakely <jwakely.gcc@gmail.com>
2413
2414 PR libstdc++/43863
2415 * libsupc++/guard.cc (recursive_init_error::~recursive_init_error):
2416 Move to ...
2417 * libsupc++/guard_error.cc: ... new file.
2418 * libsupc++/Makefile.am: Update.
2419 * libsupc++/Makefile.in: Regenerate.
2420
2421 2011-02-09 Jonathan Wakely <jwakely.gcc@gmail.com>
2422
2423 * include/std/future (packaged_task::operator bool): Rename to...
2424 (packaged_task::valid): ...this.
2425 * testsuite/30_threads/packaged_task/cons/1.cc: Adjust.
2426 * testsuite/30_threads/packaged_task/cons/2.cc: Adjust.
2427 * testsuite/30_threads/packaged_task/cons/move.cc: Adjust.
2428 * testsuite/30_threads/packaged_task/cons/move_assign.cc: Adjust.
2429 * testsuite/30_threads/packaged_task/cons/alloc.cc: Adjust.
2430 * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
2431 * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
2432 * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
2433 * testsuite/30_threads/packaged_task/members/swap.cc: Adjust.
2434 * testsuite/30_threads/packaged_task/members/boolconv.cc: Remove.
2435 * testsuite/30_threads/packaged_task/members/valid.cc: Add.
2436
2437 2011-02-09 Paolo Carlini <paolo.carlini@oracle.com>
2438
2439 * doc/xml/manual/io.xml: Fix typo.
2440 * doc/html/manual/streambufs.html: Likewise.
2441
2442 2011-02-09 Paolo Carlini <paolo.carlini@oracle.com>
2443
2444 * config/abi/pre/gnu.ver: Fix.
2445
2446 2011-02-08 Benjamin Kosnik <bkoz@redhat.com>
2447
2448 * doc/xml/manual/appendix_porting.xml: Add doc section.
2449 * doc/xml/manual/appendix_contributing.xml: Split out doc bits to...
2450 * doc/xml/manual/documentation_hacking.xml: ...here.
2451
2452 * doc/xml/manual/debug_mode.xml: Adjust.
2453 * doc/xml/manual/prerequisites.xml: Adjust.
2454 * doc/Makefile.am (xml_sources): Add dot files,
2455 documentation_hacking.xml.
2456 * doc/Makefile.in: Regenerate.
2457
2458 * doc/xml/manual/build_hacking.xml: Use absolute paths for images.
2459 * doc/xml/images/confdeps.pdf: Add.
2460
2461 * doc/html/*: Regenerate.
2462
2463 2011-02-08 Jonathan Wakely <jwakely.gcc@gmail.com>
2464
2465 * doc/xml/gnu/fdl-1.2.xml: Remove.
2466 * doc/xml/gnu/gpl-2.0.xml: Remove.
2467 * doc/Makefile.am: Update.
2468 * doc/Makefile.in: Regenerate.
2469
2470 2011-02-07 Paolo Carlini <paolo.carlini@oracle.com>
2471
2472 PR libstdc++/47628
2473 * include/bits/stl_tree.h (_Rb_tree::erase(iterator), erase(iterator,
2474 iterator)): Add back in C++03 mode.
2475 * testsuite/23_containers/map/modifiers/erase/47628.cc: New.
2476 * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Likewise.
2477
2478 2011-02-07 Benjamin Kosnik <bkoz@redhat.com>
2479
2480 PR libstdc++/47560 try two
2481 * config/os/hpux/os_defines.h: Guard for C++.
2482
2483 2011-02-07 Gerald Pfeifer <gerald@pfeifer.com>
2484
2485 * doc/xml/faq.xml: Adjust link to bug database.
2486 Remove old item on broken header files.
2487
2488 2011-02-04 Benjamin Kosnik <bkoz@redhat.com>
2489
2490 * include/bits/regex_error.h (__throw_regex_error): Not inline.
2491 * src/functexcept.cc: Add definition.
2492 * config/abi/pre/gnu.ver: Export.
2493
2494 2011-02-04 Ralf Corsépius <ralf.corsepius@rtems.org>
2495
2496 * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Add *-rtems*.
2497 * configure: Regenerate.
2498
2499 2011-02-01 Paolo Carlini <paolo.carlini@oracle.com>
2500
2501 PR libstdc++/46914
2502 * include/bits/atomic_0.h (_ATOMIC_STORE_, _ATOMIC_MODIFY_,
2503 _ATOMIC_CMPEXCHNG_): Rename __v -> __w, and __m -> __n, to
2504 avoid name conflicts.
2505
2506 2011-02-01 Benjamin Kosnik <bkoz@redhat.com>
2507
2508 PR libstdc++/47560
2509 * config/os/hpux/os_defines.h: Remove use of macros on namespace.
2510
2511 2011-02-01 Benjamin Kosnik <bkoz@redhat.com>
2512
2513 * scripts/run_doxygen: Allow doxygen 1.7.0 again.
2514 * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): Re-enable.
2515 (COMPACT_LATEX): Enable.
2516
2517 * include/profile/impl/profiler_container_size.h: Adjust doxygen markup.
2518 * include/profile/impl/profiler_hash_func.h: Same.
2519 * include/bits/hashtable.h: Same.
2520 * include/backward/auto_ptr.h: Same.
2521 * include/backward/strstream: Same.
2522 * include/backward/backward_warning.h: Same.
2523 * include/backward/binders.h: Same.
2524
2525 2011-02-01 Gerald Pfeifer <gerald@pfeifer.com>
2526
2527 * doc/xml/manual/debug.xml: Use GDB instead of gdb.
2528 Adjust link to GDB manual.
2529
2530 2011-01-31 Benjamin Kosnik <bkoz@redhat.com>
2531
2532 * include/bits/c++config (_GLIBCXX_DEPRECATED): To
2533 _GLIBCXX_USE_DEPRECATED.
2534 (_GLIBCXX_DEPRECATED_ATTR): To _GLIBCXX_DEPRECATED.
2535 * doc/xml/manual/using.xml: Same.
2536 * include/std/memory: Same.
2537 * include/std/streambuf: Same.
2538 * include/bits/shared_ptr.h: Same.
2539 * include/bits/unique_ptr.h: Same.
2540 * include/bits/shared_ptr_base.h: Same.
2541 * include/bits/stl_function.h: Same.
2542 * include/tr1/shared_ptr.h: Same.
2543 * include/backward/auto_ptr.h: Same.
2544 * include/backward/binders.h: Same.
2545
2546 2011-01-31 Paolo Carlini <paolo.carlini@oracle.com>
2547
2548 * doc/html/ext/lwg-active.html: Update to Revision D73.
2549 * doc/html/ext/lwg-closed.html: Likewise.
2550 * doc/html/ext/lwg-defects.html: Likewise.
2551 * doc/xml/manual/intro.xml: Update status of issues 408, 539, 865.
2552
2553 2011-01-30 Benjamin Kosnik <bkoz@redhat.com>
2554
2555 PR libstdc++/36104 part four
2556 * include/bits/c++config (_GLIBCXX_STD): Remove.
2557 (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
2558 (_GLIBCXX_P): Now _GLIBCXX_STD_A.
2559 (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
2560 _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
2561 (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
2562 _GLIBCXX_INLINE_PROFILE): Remove.
2563 (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
2564 (_GLIBCXX_END_NAMESPACE): Remove.
2565 (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
2566 (_GLIBCXX_END_NESTED_NAMESPACE): Remove.
2567 (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
2568 (_GLIBCXX_END_NAMESPACE_ALGO): Add.
2569 (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
2570 (_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
2571 (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
2572 (_GLIBCXX_END_NAMESPACE_VERSION): Add.
2573 (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
2574 (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
2575 (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
2576 * include/*: Use new macros for namespace scope.
2577 * config/*: Same.
2578 * src/*: Same.
2579
2580 * src/Makefile.am (sources): Remove debug_list.cc, add
2581 compatibility-debug_list-2.cc.
2582 (parallel_sources): Remove parallel_list.cc, add
2583 compatibility-parallel_list-2.cc.
2584 (compatibility-parallel_list-2.[o,lo]): New rule.
2585 * src/Makefile.in: Regenerate.
2586 * src/debug_list.cc: Remove.
2587 * src/parallel_list.cc: Remove.
2588 * src/compatibility-list-2.cc: New.
2589 * src/compatibility-debug_list-2.cc: New.
2590 * src/compatibility-parallel_list-2.cc: New.
2591
2592 * doc/doxygen/user.cfg.in: Adjust macros.
2593
2594 * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
2595 * testsuite/20_util/declval/requirements/1_neg.cc: Same.
2596 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
2597 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
2598 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
2599 * testsuite/20_util/forward/c_neg.cc: Same.
2600 * testsuite/20_util/forward/f_neg.cc: Same.
2601 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
2602 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
2603 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
2604 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
2605 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
2606 * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
2607 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
2608 * testsuite/23_containers/deque/requirements/dr438/
2609 constructor_1_neg.cc: Same.
2610 * testsuite/23_containers/deque/requirements/dr438/
2611 constructor_2_neg.cc: Same.
2612 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
2613 * testsuite/23_containers/forward_list/capacity/1.cc: Same.
2614 * testsuite/23_containers/forward_list/requirements/dr438/
2615 assign_neg.cc: Same.
2616 * testsuite/23_containers/forward_list/requirements/dr438/
2617 constructor_1_neg.cc: Same.
2618 * testsuite/23_containers/forward_list/requirements/dr438/
2619 constructor_2_neg.cc: Same.
2620 * testsuite/23_containers/forward_list/requirements/dr438/
2621 insert_neg.cc: Same.
2622 * testsuite/23_containers/list/capacity/29134.cc: Same.
2623 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
2624 * testsuite/23_containers/list/requirements/dr438/
2625 constructor_1_neg.cc: Same.
2626 * testsuite/23_containers/list/requirements/dr438/
2627 constructor_2_neg.cc: Same.
2628 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
2629 * testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
2630 * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
2631 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
2632 * testsuite/23_containers/vector/requirements/dr438/
2633 constructor_1_neg.cc: Same.
2634 * testsuite/23_containers/vector/requirements/dr438/
2635 constructor_2_neg.cc: Same.
2636 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
2637 * testsuite/25_algorithms/sort/35588.cc: Same.
2638 * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
2639 * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
2640 * testsuite/ext/profile/mutex_extensions_neg.cc: Same.
2641 * testsuite/ext/profile/profiler_algos.cc: Same.
2642 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
2643 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
2644 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
2645 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
2646 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
2647
2648 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
2649
2650 * doc/xml/manual/abi.xml: Adjust link to C++ ABI specification.
2651 Improve description of one such reference.
2652
2653 2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
2654
2655 * doc/xml/manual/codecvt.xml: Fix link to The Austin Common
2656 Standards Revision Group.
2657 * doc/xml/manual/locale.xml: Ditto.
2658 * doc/xml/manual/messages.xml: Ditto.
2659 * doc/xml/manual/using_exceptions.xml: Ditto.
2660
2661 2011-01-28 Paolo Carlini <paolo.carlini@oracle.com>
2662
2663 * include/bits/atomic_base.h: Do not include <stddef.h>.
2664 (kill_dependency): Uglify ret.
2665
2666 2011-01-26 Johannes Singler <singler@kit.edu>
2667
2668 * include/parallel/numeric (inner_product, partial_sum):
2669 Qualify subsequent call with __gnu_parallel instead of
2670 _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
2671 * include/parallel/algobase.h (equal): Likewise.
2672 * include/parallel/algo.h (find_first_of, search_n, merge,
2673 nth_element, partial_sort, max_element, min_element): Likewise.
2674 * testsuite/25_algorithms/headers/algorithm/
2675 parallel_algorithm_mixed1.cc (main): Add respective test cases.
2676 * testsuite/25_algorithms/headers/algorithm/
2677 parallel_algorithm_mixed2.cc (main): Likewise.
2678 * testsuite/26_numerics/headers/numeric/
2679 parallel_numeric_mixed1.cc (main): Likewise.
2680 * testsuite/26_numerics/headers/numeric/
2681 parallel_numeric_mixed2.cc (main): Likewise.
2682
2683 2011-01-24 Graham Reed <greed@pobox.com>
2684
2685 PR libstdc++/47387
2686 * config/os/aix/ctype_inline.h (ctype<char>::is): Use _M_table if
2687 provided.
2688
2689 2011-01-24 Johannes Singler <singler@kit.edu>
2690
2691 PR libstdc++/47433
2692 * include/parallel/losertree.h
2693 (_LoserTree<>::__delete_min_insert):
2694 Do not qualify swap with std:: for value type,
2695 but include a using directive instead.
2696 (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
2697 * include/parallel/balanced_quicksort.h (__qsb_divide):
2698 Use std::iter_swap instead of std::swap.
2699 (__qsb_local_sort_with_helping): Likewise.
2700 * include/parallel/partition.h (__parallel_partition):
2701 Likewise. (__parallel_nth_element): Likewise.
2702
2703 2011-01-24 Johannes Singler <singler@kit.edu>
2704
2705 PR libstdc++/47437
2706 * include/parallel/multiway_merge.h (_UnguardedIterator):
2707 Remove useless "mutable" from reference declaration.
2708
2709 2011-01-21 Benjamin Kosnik <bkoz@redhat.com>
2710
2711 * include/bits/c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
2712 * include/debug/safe_sequence.h: Same.
2713 * include/debug/safe_iterator.h: Same.
2714 * include/std/forward_list: Same.
2715 * include/std/deque: Same.
2716 * include/std/list: Same.
2717 * include/std/random: Same.
2718 * include/std/streambuf: Same.
2719 * include/std/fstream: Same.
2720 * include/std/istream: Same.
2721 * include/std/string: Same.
2722 * include/std/ostream: Same.
2723 * include/std/sstream: Same.
2724 * include/ext/vstring.h: Same.
2725 * include/bits/basic_ios.h: Same.
2726 * include/bits/locale_classes.h: Same.
2727 * include/bits/locale_facets.h: Same.
2728 * include/bits/valarray_array.h: Same.
2729 * include/bits/locale_facets_nonio.h: Same.
2730 * include/tr1/random: Same.
2731
2732 2011-01-20 Jonathan Wakely <jwakely.gcc@gmail.com>
2733
2734 * doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
2735
2736 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
2737
2738 PR libstdc++/36104 part three
2739 * src/hashtable_c++0x.cc: Adjust namespace macros.
2740 * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
2741 * config/abi/pre/gnu-versioned-namespace.ver: Update.
2742
2743 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
2744
2745 * include/ext/pb_ds/detail/resize_policy/
2746 hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
2747 * include/ext/pb_ds/detail/pat_trie_/
2748 constructors_destructor_fn_imps.hpp: Same.
2749 * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Format.
2750 * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
2751 * include/ext/pb_ds/detail/debug_map_base.hpp: Use never_adjustor.
2752
2753 * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Adjust
2754 iterations downward when testing in debug mode.
2755 * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
2756 * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
2757 * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
2758 * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
2759 * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
2760 * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Use SIZE,
2761 reduce in debug mode.
2762
2763 2011-01-19 Benjamin Kosnik <bkoz@redhat.com>
2764
2765 PR libstdc++/36104 part two
2766 * include/bits/hashtable.h: Revert to non-nested macro usage.
2767 * include/bits/hashtable_policy.h: Same.
2768
2769 2011-01-19 Graham Reed <greed@pobox.com>
2770
2771 PR libstdc++/47354
2772 * src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.
2773
2774 2011-01-18 Benjamin Kosnik <bkoz@redhat.com>
2775
2776 * doc/xml/images/confdeps.png: Regenerate.
2777
2778 * include/std/chrono (duration): Mark copy constructor constexpr.
2779 * testsuite/20_util/duration/cons/constexpr.cc: Add test.
2780
2781 2011-01-18 Paolo Carlini <paolo.carlini@oracle.com>
2782
2783 * include/bits/unique_ptr.h (default_delete<>::default_delete()):
2784 Declare defaulted per DR 1517.
2785 * testsuite/util/testsuite_common_types.h
2786 (constexpr_defaulted_default_constructible): Add.
2787 * testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
2788
2789 2011-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2790
2791 * include/bits/stl_queue.h (queue<>::swap, priority_queue<>::swap):
2792 Implement DR 1198.
2793 * include/bits/stl_stack.h (stack<>::swap): Likewise.
2794
2795 2011-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2796
2797 PR libstdc++/47323
2798 * testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
2799 Only test wregex when _GLIBCXX_USE_WCHAR_T is defined.
2800
2801 2011-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2802
2803 PR libstdc++/47320
2804 * testsuite/18_support/numeric_limits/lowest.cc:
2805 Only test wchar_t when _GLIBCXX_USE_WCHAR_T is defined.
2806
2807 2011-01-16 Paolo Carlini <paolo.carlini@oracle.com>
2808
2809 PR libstdc++/47321
2810 * testsuite/21_strings/basic_string/requirements/typedefs.cc:
2811 Only test std::wstring when _GLIBCXX_USE_WCHAR_T is defined.
2812
2813 2011-01-16 François Dumont <francois.cppdevs@free.fr>
2814
2815 * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Move
2816 to this. Use _neg suffix.
2817 * testsuite/23_containers/forward_list/debug/erase_after1.cc: ...from
2818 this.
2819 * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
2820 Same.
2821 * testsuite/23_containers/forward_list/debug/erase_after2.cc: Same.
2822 * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
2823 Same.
2824 * testsuite/23_containers/forward_list/debug/erase_after3.cc: Same.
2825 * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
2826 Same.
2827 * testsuite/23_containers/forward_list/debug/erase_after4.cc: Same.
2828 * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
2829 Same.
2830 * testsuite/23_containers/forward_list/debug/erase_after5.cc: Same.
2831 * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
2832 Same.
2833 * testsuite/23_containers/forward_list/debug/erase_after6.cc: Same.
2834 * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
2835 Same.
2836 * testsuite/23_containers/forward_list/debug/erase_after7.cc: Same.
2837 * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
2838 Same.
2839 * testsuite/23_containers/forward_list/debug/erase_after8.cc: Same.
2840 * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
2841 Same.
2842 * testsuite/23_containers/forward_list/debug/erase_after9.cc: Same.
2843 * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
2844 Same.
2845 * testsuite/23_containers/forward_list/debug/insert_after1.cc: Same.
2846 * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
2847 Same.
2848 * testsuite/23_containers/forward_list/debug/insert_after2.cc: Same.
2849 * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
2850 Same.
2851 * testsuite/23_containers/forward_list/debug/insert_after3.cc: Same.
2852 * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
2853 Same.
2854 * testsuite/23_containers/forward_list/debug/splice_after1.cc: Same.
2855 * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
2856 Same.
2857 * testsuite/23_containers/forward_list/debug/splice_after2.cc: Same.
2858 * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
2859 Same.
2860 * testsuite/23_containers/forward_list/debug/splice_after3.cc: Same.
2861 * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
2862 Same.
2863 * testsuite/23_containers/forward_list/debug/splice_after4.cc: Same.
2864
2865 2011-01-14 Benjamin Kosnik <bkoz@redhat.com>
2866
2867 PR libstdc++/36104
2868 * include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
2869 * include/Makefile.in: Regenerate.
2870 * libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
2871 (install-stdHEADERS, install-bitsHEADERS): New.
2872 * libsupc++/Makefile.in: Regenerate.
2873
2874 * include/bits/c++config: Update for inline namespaces.
2875 * libsupc++/cxxabi-forced.h: To...
2876 * libsupc++/cxxabi_forced.h: ...this.
2877 * libsupc++/hash_bytes.h: Separate file.
2878 * libsupc++/typeinfo: Use it.
2879 * libsupc++/exception: Adjust for bits subdirectory.
2880 * libsupc++/eh_aux_runtime.cc: Same.
2881 * libsupc++/eh_ptr.cc: Same.
2882 * libsupc++/new_op.cc: Same.
2883 * libsupc++/exception_defines.h: Same.
2884 * libsupc++/nested_exception.h: Same.
2885 * libsupc++/eh_terminate.cc: Same.
2886 * libsupc++/vec.cc: Same.
2887 * libsupc++/vterminate.cc: Same.
2888 * libsupc++/exception_ptr.h: Same.
2889 * libsupc++/eh_personality.cc: Same.
2890 * libsupc++/eh_call.cc: Same.
2891 * libsupc++/new_opnt.cc: Same.
2892 * libsupc++/hash_bytes.cc: Same.
2893 * config/cpu/arm/cxxabi_tweaks.h: Same.
2894 * config/cpu/generic/cxxabi_tweaks.h: Same.
2895 * libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
2896 * include/std/bitset: Same.
2897 * include/ext/vstring.tcc: Same.
2898 * include/bits/hashtable.h: Same.
2899 * include/bits/functional_hash.h: Same.
2900 * include/bits/hashtable_policy.h: Same.
2901 * include/bits/basic_string.h: Same.
2902 * include/bits/istream.tcc: Same.
2903 * include/bits/ostream.tcc: Same.
2904 * include/bits/algorithmfwd.h: Same.
2905 * include/bits/basic_string.tcc: Same.
2906 * include/bits/ostream_insert.h: Same.
2907 * include/bits/fstream.tcc: Same.
2908 * include/bits/functexcept.h: Same.
2909
2910 * doc/doxygen/user.cfg.in: Adjust names.
2911
2912 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
2913
2914 2011-01-14 Paolo Carlini <paolo.carlini@oracle.com>
2915
2916 * testsuite/25_algorithms/is_permutation/check_type.cc: Minor
2917 tweaks.
2918 * testsuite/25_algorithms/is_permutation/1.cc: Cosmetic changes.
2919
2920 2011-01-13 Paolo Carlini <paolo.carlini@oracle.com>
2921
2922 * testsuite/25_algorithms/is_permutation/check_type.cc: New.
2923 * testsuite/25_algorithms/is_permutation/requirements/
2924 explicit_instantiation/2.cc: Likewise.
2925 * testsuite/25_algorithms/is_permutation/requirements/
2926 explicit_instantiation/pod.cc: Likewise.
2927 * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
2928
2929 2011-01-13 John Lakos <jlakos@bloomberg.net>
2930 Pablo Halpern <phalpern@halpernwightsoftware.com>
2931 Paolo Carlini <paolo.carlini@oracle.com>
2932
2933 * include/bits/stl_algo.h (is_permutation): Add, per N3068.
2934 * include/bits/algorithmfwd.h: Add.
2935
2936 2011-01-13 Jonathan Wakely <jwakely.gcc@gmail.com>
2937
2938 PR libstdc++/47045
2939 * config/os/bsd/netbsd/ctype_base.h: Use new macros based on version.
2940
2941 2011-01-11 Paolo Carlini <paolo.carlini@oracle.com>
2942
2943 * aclocal.m4: Regenerate.
2944
2945 2011-01-06 Paolo Carlini <paolo.carlini@oracle.com>
2946
2947 PR libstdc++/47185
2948 * src/placeholders.cc: New.
2949 * src/Makefile.am: Adjust.
2950 * src/Makefile.in: Regenerate.
2951 * include/std/functional (placeholders::_1, _2, ..., _29): Declare
2952 extern.
2953 * config/abi/pre/gnu.ver: Export.
2954
2955 2011-01-05 François Dumont <francois.cppdevs@free.fr>
2956
2957 * include/debug/safe_base.h (_Safe_iterator_base::_M_unlink): New.
2958 * include/src/debug.cc: Use latter
2959 * include/debug/forward_list (forward_list<>::_M_swap): Fix to
2960 correctly handle before_begin iterators.
2961 * testsuite/23_containers/forward_list/debug/swap.cc: Remove now
2962 useless _GLIBCXX_DEBUG checks.
2963
2964 2011-01-04 Kai Tietz <kai.tietz@onevision.com>
2965
2966 PR libstdc++/47145
2967 * configure.ac (AC_CHECK_FILE): Replaced by test -f.
2968 * configure: Regenerated.
2969
2970 2011-01-03 Paolo Carlini <paolo.carlini@oracle.com>
2971
2972 PR libstdc++/46922
2973 * config/abi/pre/gnu.ver: Export std::bad_function_call symbols.
2974
2975 \f
2976 Copyright (C) 2011 Free Software Foundation, Inc.
2977
2978 Copying and distribution of this file, with or without modification,
2979 are permitted in any medium without royalty provided the copyright
2980 notice and this notice are preserved.