PR libstdc++/57263
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob7501675df35dcc4dbb49f5541c63509b535ffaa3
1 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
3         PR libstdc++/57263
4         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
5         allocator's pointer type.
6         * include/bits/hashtable.h (_Hashtable): Likewise.
7         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
8         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
9         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
10         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
12 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
14         * include/std/shared_mutex: Implement N3659.
15         * include/bits/c++14_warning.h: New.
16         * include/Makefile.am: Add new headers.
17         * include/Makefile.in: Regenerate.
18         * testsuite/30_threads/shared_lock/cons/1.cc: New.
19         * testsuite/30_threads/shared_lock/locking/2.cc: New.
20         * testsuite/30_threads/shared_lock/cons/2.cc: New.
21         * testsuite/30_threads/shared_lock/locking/3.cc: New.
22         * testsuite/30_threads/shared_lock/cons/3.cc: New.
23         * testsuite/30_threads/shared_lock/locking/4.cc: New.
24         * testsuite/30_threads/shared_lock/cons/4.cc: New.
25         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
26         * testsuite/30_threads/shared_lock/cons/5.cc: New.
27         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
28         * testsuite/30_threads/shared_lock/cons/6.cc: New.
29         * testsuite/30_threads/shared_lock/requirements/
30         explicit_instantiation.cc: New.
31         * testsuite/30_threads/shared_lock/locking/1.cc: New.
32         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
33         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
34         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
35         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
36         * testsuite/30_threads/shared_mutex/requirements/
37         standard_layout.cc: New.
38         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
39         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
41 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
43         PR libstdc++/57619
44         * include/bits/unordered_map.h (unordered_map<>::insert,
45         unordered_multimap<>::insert): Use std::forward, not std::move.
46         * testsuite/23_containers/unordered_map/insert/57619.C: New.
47         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
49 2013-06-14  Alan Modra  <amodra@gmail.com>
51         * configure.host (abi_baseline_pair): Match powerpc64*.
53 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
55         * include/std/type_traits (is_function): Support ref-qualified
56         functions.
57         (is_copy_constructible, is_move_constructible, is_copy_assignable,
58         is_move_assignable, is_nothrow_copy_constructible,
59         is_nothrow_move_constructible, is_nothrow_copy_assignable,
60         is_nothrow_move_assignable): Implement LWG 2196.
61         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
62         LWG 2101.
63         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
64         unused.
65         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
66         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
67         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
68         * testsuite/20_util/is_assignable/value.cc: Likewise.
69         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
70         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
71         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
72         * testsuite/20_util/is_function/value.cc: Likewise.
73         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
74         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
75         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
76         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
77         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
78         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
80         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
81         line number.
82         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
83         Likewise.
84         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
85         Likewise.
87 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
89         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
90         __gnu_cxx::__airy_bi()): Remove.
91         * testsuite/tr1/5_numerical_facilities/special_functions/
92         10_cyl_bessel_k/airy.cc: Fix.
94 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
96         PR libstdc++/56430
97         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
98         from void function.
99         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
100         * testsuite/tr1/5_numerical_facilities/special_functions/
101         10_cyl_bessel_k/airy.cc: New.
103 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
105         Fix library literals error involving namespace __detail.
106         * include/std/chrono: Rename __detail to __select_type. Reformat.
107         * include/bits/basic_string.h: Reformat.
108         * testsuite/20_util/duration/literals/ns_detail.cc: New.
110 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
112         PR libstdc++/56019
113         * include/c_global/cstddef (max_align_t): Add to namespace std.
114         * include/c_std/cstddef: Likewise.
115         * testsuite/18_support/max_align_t/requirements/1.cc: New.
116         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
118 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
120         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
121         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
122         * include/bits/stl_multimap.h: Same.
123         * include/bits/stl_multiset.h: Same.
124         * include/bits/stl_set.h: Same.
125         * include/bits/stl_tree.h: Same.
126         * include/std/complex (real, imag): Use macro for abi_tag.
128         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
129         * testsuite/util/testsuite_containers.h (erase_external): New
130         declarations.
131         (erase_external_iterators): Same.
132         (linkage_check_cxx98_cxx11_erase): Same.
133         (linkage_check_cxx98_cxx11_erase_iterators): Same.
134         * testsuite/util/testsuite_shared.cc: Define.
135         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
136         * testsuite/23_containers/map/modifiers/erase/
137         dr130-linkage-check.cc: New.
138         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
139         * testsuite/23_containers/multimap/modifiers/erase/
140         dr130-linkage-check.cc: New.
141         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
142         * testsuite/23_containers/multiset/modifiers/erase/
143         dr130-linkage-check.cc: New.
144         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
145         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
146         New.
147         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
149         * testsuite/23_containers/map/dr130.cc: Move...
150         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
151         * testsuite/23_containers/multimap/dr130.cc: Move ...
152         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
153         * testsuite/23_containers/multiset/dr130.cc: Move...
154         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
155         * testsuite/23_containers/set/dr130.cc: Move...
156         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
158 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
160         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
161         handling of Linux-based x86 systems to cover all GNU systems.
162         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
163         * testsuite/18_support/pthread_guard.cc: Likewise.
164         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
165         Likewise.
166         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
167         Likewise.
168         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
169         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
170         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
171         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
172         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
173         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
174         * testsuite/23_containers/list/pthread1.cc: Likewise.
175         * testsuite/23_containers/list/pthread5.cc: Likewise.
176         * testsuite/23_containers/map/pthread6.cc: Likewise.
177         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
178         Likewise.
179         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
180         Likewise.
181         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
182         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
183         * testsuite/30_threads/async/42819.cc: Likewise.
184         * testsuite/30_threads/async/49668.cc: Likewise.
185         * testsuite/30_threads/async/54297.cc: Likewise.
186         * testsuite/30_threads/async/any.cc: Likewise.
187         * testsuite/30_threads/async/async.cc: Likewise.
188         * testsuite/30_threads/async/launch.cc: Likewise.
189         * testsuite/30_threads/async/sync.cc: Likewise.
190         * testsuite/30_threads/call_once/39909.cc: Likewise.
191         * testsuite/30_threads/call_once/49668.cc: Likewise.
192         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
193         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
194         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
195         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
196         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
197         * testsuite/30_threads/condition_variable/members/53841.cc:
198         Likewise.
199         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
200         Likewise.
201         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
202         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
203         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
204         * testsuite/30_threads/condition_variable_any/members/1.cc:
205         Likewise.
206         * testsuite/30_threads/condition_variable_any/members/2.cc:
207         Likewise.
208         * testsuite/30_threads/future/cons/move.cc: Likewise.
209         * testsuite/30_threads/future/members/45133.cc: Likewise.
210         * testsuite/30_threads/future/members/get.cc: Likewise.
211         * testsuite/30_threads/future/members/get2.cc: Likewise.
212         * testsuite/30_threads/future/members/share.cc: Likewise.
213         * testsuite/30_threads/future/members/valid.cc: Likewise.
214         * testsuite/30_threads/future/members/wait.cc: Likewise.
215         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
216         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
217         * testsuite/30_threads/lock/1.cc: Likewise.
218         * testsuite/30_threads/lock/2.cc: Likewise.
219         * testsuite/30_threads/lock/3.cc: Likewise.
220         * testsuite/30_threads/lock/4.cc: Likewise.
221         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
222         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
223         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
224         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
225         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
226         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
227         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
228         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
229         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
230         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
231         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
232         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
233         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
234         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
235         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
236         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
237         Likewise.
238         * testsuite/30_threads/packaged_task/members/get_future.cc:
239         Likewise.
240         * testsuite/30_threads/packaged_task/members/get_future2.cc:
241         Likewise.
242         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
243         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
244         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
245         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
246         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
247         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
248         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
249         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
250         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
251         * testsuite/30_threads/promise/cons/1.cc: Likewise.
252         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
253         * testsuite/30_threads/promise/cons/move.cc: Likewise.
254         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
255         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
256         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
257         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
258         * testsuite/30_threads/promise/members/set_exception2.cc:
259         Likewise.
260         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
261         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
262         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
263         * testsuite/30_threads/promise/members/swap.cc: Likewise.
264         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
265         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
266         Likewise.
267         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
268         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
269         Likewise.
270         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
271         Likewise.
272         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
273         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
274         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
275         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
276         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
277         Likewise.
278         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
279         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
280         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
281         Likewise.
282         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
283         Likewise.
284         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
285         Likewise.
286         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
287         Likewise.
288         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
289         Likewise.
290         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
291         Likewise.
292         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
293         Likewise.
294         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
295         Likewise.
296         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
297         Likewise.
298         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
299         Likewise.
300         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
301         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
302         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
303         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
304         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
305         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
306         * testsuite/30_threads/shared_future/members/wait_for.cc:
307         Likewise.
308         * testsuite/30_threads/shared_future/members/wait_until.cc:
309         Likewise.
310         * testsuite/30_threads/this_thread/1.cc: Likewise.
311         * testsuite/30_threads/this_thread/2.cc: Likewise.
312         * testsuite/30_threads/this_thread/3.cc: Likewise.
313         * testsuite/30_threads/this_thread/4.cc: Likewise.
314         * testsuite/30_threads/thread/cons/1.cc: Likewise.
315         * testsuite/30_threads/thread/cons/2.cc: Likewise.
316         * testsuite/30_threads/thread/cons/3.cc: Likewise.
317         * testsuite/30_threads/thread/cons/4.cc: Likewise.
318         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
319         * testsuite/30_threads/thread/cons/5.cc: Likewise.
320         * testsuite/30_threads/thread/cons/6.cc: Likewise.
321         * testsuite/30_threads/thread/cons/7.cc: Likewise.
322         * testsuite/30_threads/thread/cons/8.cc: Likewise.
323         * testsuite/30_threads/thread/cons/9.cc: Likewise.
324         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
325         * testsuite/30_threads/thread/members/1.cc: Likewise.
326         * testsuite/30_threads/thread/members/2.cc: Likewise.
327         * testsuite/30_threads/thread/members/3.cc: Likewise.
328         * testsuite/30_threads/thread/members/4.cc: Likewise.
329         * testsuite/30_threads/thread/members/5.cc: Likewise.
330         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
331         Likewise.
332         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
333         * testsuite/30_threads/thread/native_handle/typesizes.cc:
334         Likewise.
335         * testsuite/30_threads/thread/swap/1.cc: Likewise.
336         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
337         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
338         Likewise.
339         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
340         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
341         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
342         Likewise.
343         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
344         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
345         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
346         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
347         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
348         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
349         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
350         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
351         * testsuite/30_threads/try_lock/1.cc: Likewise.
352         * testsuite/30_threads/try_lock/2.cc: Likewise.
353         * testsuite/30_threads/try_lock/3.cc: Likewise.
354         * testsuite/30_threads/try_lock/4.cc: Likewise.
355         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
356         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
357         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
358         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
359         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
360         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
361         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
362         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
363         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
364         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
365         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
366         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
367         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
368         * testsuite/ext/profile/mh.cc: Likewise.
369         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
370         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
371         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
372         Likewise.
373         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
374         Likewise.
375         * testsuite/util/testsuite_performance.h: Extend current handling
376         of Linux-based systems to cover all glibc-based systems.
378 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
380         * include/std/mutex (call_once): Remove parentheses to fix error in
381         c++1y and gnu++1y mode.
382         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
383         thread to avoid undefined behaviour.
385 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
387         Simplify and clean up library literals.
388         * include/std/chrono: Simplify namespace and versioning management.
389         * include/bits/basic_string.h: Ditto.
390         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
391         * testsuite/20_util/duration/literals/values.cc: Ditto.
392         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
393         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
395 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
397         Implement N3654 - Quoted Strings Library Proposal
398         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
399         manipulators and supporting machinery in c++1y mode.
400         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
401         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
403 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
405         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
406         2162: Add noexcept.
408 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
410         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
411         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
412         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
413         * testsuite/25_algorithms/equal/2.cc: New.
414         * testsuite/25_algorithms/equal/check_type2.cc: New.
415         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
416         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
417         * testsuite/25_algorithms/mismatch/2.cc: New.
418         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
419         * testsuite/util/testsuite_iterators.h: Fix spelling.
421 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
423         * include/std/type-traits (integral_constant::operator()): Implement
424         N3545.
425         * testsuite/20_util/integral_constant/call_operator.cc: New.
426         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
427         line numbers.
428         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
429         Likewise.
430         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
431         Likewise.
433 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
435         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
437 2013-06-05  Tom Tromey  <tromey@redhat.com>
439         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
441 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
443         PR c++/57419
444         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
446 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
448         * include/std/chrono: Collapse redundant 'inline' from 'inline
449         constexpr'.
450         * include/std/tuple: Ditto.
451         * include/bits/move.h: Ditto.
453 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
455         Implement N3642 - User-defined Literals for Standard Library Types
456         * include/bits/parse_numbers.h: New.
457         * include/std/chrono: Add duration literal operators.
458         * include/bits/basic_string.h: Add string literal operators.
459         * include/Makefile.in: Add parse_numbers.h.
460         * include/Makefile.am: Ditto.
461         * testsuite/20_util/duration/literals/values.cc: New.
462         * testsuite/20_util/duration/literals/types.cc: New.
463         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
464         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
465         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
466         * testsuite/21_strings/basic_string/literals/values.cc: New.
467         * testsuite/21_strings/basic_string/literals/types.cc: New.
469 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
471         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
472         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
473         calling non-existent from_time_t.
475 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
477         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
478         Regenerate.
480 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
482         * include/std/chrono: Wrap clocks in inline namespace _V2.
483         * src/c++11/chrono.cc: Same.
484         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
485         file, with default configure macros selected.
487         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
488         namespace.
489         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
491         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
492         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
493         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
494         Regenerated.
495         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
496         Regenerated.
497         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
498         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
499         Regenerated.
500         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
501         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
502         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
503         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
504         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
505         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
506         Regenerated.
507         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
508         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
510 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
512         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
513         (CLOCK_MONOTONIC): Define.
515 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
517         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
518         overload.
520         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
522 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
524         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
525         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
526         don't define system_clock::is_steady, system_clock::now() and
527         steady_clock::is_steady.
528         (std::chrono::system_clock::now()): If
529         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
530         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
531         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
532         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
533         be non-empty.
534         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
535         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
536         * src/c++11/compatibility-chrono.cc: New file.
537         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
538         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
539         * testsuite/util/testsuite_abi.cc (check_version): Add
540         GLIBCXX_3.4.20 version and make it the latest.
541         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
542         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
543         @@GLIBCXX_3.4.20 instead.
544         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
545         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
546         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
547         Regenerated.
548         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
549         Regenerated.
550         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
551         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
552         Regenerated.
553         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
554         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
555         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
556         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
557         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
558         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
559         Regenerated.
560         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
561         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
562         * config.h.in: Regenerated.
563         * src/Makefile.in: Regenerated.
564         * configure: Regenerated.
566 2013-05-23  Matthias Klose  <doko@ubuntu.com>
568         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
569         (ext_headers): Remove ${ext_host_headers}.
570         (stamp-${host_alias}): Create ${host_builddir}/../ext.
571         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
572         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
573         * include/Makefile.in: Regenerate.
574         * include/ext/random: Include ext/opt_random.h.
576 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
578         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
579         enable features if target OS is known to support them.
580         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
581         * configure: Regenerate.
583 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
585         PR libstdc++/57336
586         * include/std/functional (__invoke): Do not form function types with
587         abstract return type.
588         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
590 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
592         * include/std/tuple (get): Implement N3670.
593         * include/std/utility (get): Likewise.
594         * testsuite/20_util/pair/get.cc: Move to ...
595         * testsuite/20_util/pair/astuple/get.cc: Here.
596         * testsuite/20_util/pair/astuple/astuple.cc: New.
597         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
598         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
599         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
600         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
601         * testsuite/20_util/pair/astuple/get_neg.cc: New.
602         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
603         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
604         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
606 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
608         * Revert last commit.
610 2013-05-19  Matthias Klose  <doko@ubuntu.com>
612         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
613         (ext_headers): Remove ${ext_host_headers}.
614         (stamp-${host_alias}): Create ${host_builddir}/../ext.
615         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
616         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
617         * include/Makefile.in: Regenerate.
619 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
621         * include/std/system_error (error_category::error_category()): LWG
622         2145: Declare public and constexpr.
623         * src/c++11/system_error.cc (error_category::error_category()): Move
624         definition to ...
625         * src/c++11/compatibility-c++0x.cc: Here.
627 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
629         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
631 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
633         * include/bits/unique_ptr.h (make_unique): Declare inline.
634         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
635         (default_delete, unique_ptr): Add doxygen comments.
636         * include/bits/shared_ptr_base.h: Improve doxygen comments.
637         * include/bits/shared_ptr.h: Likewise.
638         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
639         number.
640         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
642 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
644         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
646 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
648         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
650 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
652         * include/std/utility (exchange): Define.
653         * testsuite/20_util/exchange/1.cc: New.
655 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
657         * include/bits/unique_ptr.h (make_unique): Define.
658         * testsuite/20_util/unique_ptr/creation/single.cc: New.
659         * testsuite/20_util/unique_ptr/creation/array.cc: New.
660         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
662 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
664         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
665         rendering of std::tr1 unordered containers iterator.
666         (StdHashtableIterator): New, render std unordered containers iterator.
667         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
669 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
671         * include/bits/basic_string.h (getline): Fix doxygen comments.
673 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
675         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
676         Use std::pointer_traits.
678 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
680         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
681         bad_array_new.cc.
682         * libsupc++/Makefile.in: Regenerate.
683         * libsupc++/bad_array_length.cc: Tweak.
684         * libsupc++/bad_array_new.cc: Tweak.
686 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
688         PR libstdc++/54577
689         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
690         (_Deque_iterator<>::_M_const_cast): Add.
691         (deque<>::_M_erase): Declare.
692         * include/bits/deque.tcc: ... and define.
693         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
694         (_List_const_iterator<>::_M_const_cast): Add.
695         * include/bits/list.tcc (erase (iterator)): Fix.
696         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
697         Add; include <ext/cast.h>.
698         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
699         (vector<>::_M_erase): Declare.
700         * include/bits/stl_bvector.h: Likewise.
701         * include/bits/vector.tcc (vector<>::_M_erase): Define.
702         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
703         * include/debug/deque: Adjust.
704         * include/debug/list: Likewise.
705         * include/debug/vector: Likewise.
706         * include/profile/deque: Likewise.
707         * include/profile/list: Likewise.
708         * include/profile/vector: Likewise.
709         * testsuite/util/exception/safety.h (erase_base<deque>,
710         erase_base<deque>, erase_base<vector>): Remove.
711         (erase_base<__versa_string>): Update.
712         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
713         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
714         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
715         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
716         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
717         Likewise.
718         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
719         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
720         Adjust dg-error line numbers.
721         * testsuite/23_containers/deque/requirements/dr438/
722         constructor_1_neg.cc: Likewise.
723         * testsuite/23_containers/deque/requirements/dr438/
724         constructor_2_neg.cc: Likewise.
725         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
726         Likewise.
727         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
728         Likewise.
729         * testsuite/23_containers/list/requirements/dr438/
730         constructor_1_neg.cc: Likewise.
731         * testsuite/23_containers/list/requirements/dr438/
732         constructor_2_neg.cc: Likewise.
733         * testsuite/23_containers/list/requirements/dr438/
734         insert_neg.cc: Likewise.
735         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
736         Likewise.
737         * testsuite/23_containers/vector/requirements/dr438/
738         constructor_1_neg.cc: Likewise.
739         * testsuite/23_containers/vector/requirements/dr438/
740         constructor_2_neg.cc: Likewise.
741         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
742         Likewise.
744 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
746         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
748 2013-05-08  Jason Merrill  <jason@redhat.com>
750         Add std::bad_array_length (N3639)
751         * libsupc++/new: Add std::bad_array_length.
752         * libsupc++/bad_array_length.cc: New.
753         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
754         * libsupc++/Makefile.in: Build them.
755         * config/abi/pre/gnu.ver: Add new symbols.
756         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
758 2013-05-08  Andi Kleen  <ak@linux.intel.com>
760         PR target/55947
761         * libstdc++-v3/include/bits/atomic_base.h
762         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
763         (atomic_thread_fence, atomic_signal_fence, test_and_set,
764         clear, store, load, exchange, compare_exchange_weak)
765         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
766         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
768 2013-05-08  Jason Merrill  <jason@redhat.com>
770         Add std::bad_array_new_length (N2932)
771         * libsupc++/new: Add std::bad_array_new_length.
772         * libsupc++/bad_array_new.cc: New.
773         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
774         * libsupc++/Makefile.in: Build them.
775         * config/abi/pre/gnu.ver: Add new symbols.
776         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
778 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
780         PR libstdc++/57212
781         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
782         to __MINGW32__.
783         * include/Makefile.in: Regenerated.
785 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
787         * include/profile/unordered_base.h: New.
788         * include/Makefile.am: Add new profile header.
789         * include/Makefile.in: Regenerate.
790         * include/profile/impl/profiler.h
791         (__profcxx_inefficient_hash_is_on): New macro.
792         * include/profile/unordered_map (std::profile::unordered_map<>):
793         Use new _Unordered_profile base class. Use default implementations
794         for special functions.
795         (std::profile::unordered_multimap<>): Likewise.
796         * include/profile/unordered_set (std::profile::unordered_set<>):
797         Likewise.
798         (std::profile::unordered_multiset<>): Likewise.
799         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
800         MoveOnly equality operator signature.
802 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
804         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
805         constexpr_data.cc: Move...
806         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
807         ... here.
808         * testsuite/20_util/integral_constant/requirements/
809         explicit_instantiation.cc: New.
810         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
811         Likewise.
812         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
813         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
814         Likewise.
815         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
816         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
818 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
820         * include/std/type_traits (is_null_pointer): Add.
821         (__is_nullptr_t): Implement in terms of the latter.
822         (is_fundamental, is_scalar): Adjust.
823         * testsuite/20_util/is_null_pointer/requirements/
824         explicit_instantiation.cc: New.
825         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
826         Likewise.
827         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
828         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
829         line number.
830         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
831         Likewise.
832         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
833         Likewise.
835 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
837         * include/c_global/cstdio: Add comment about LWG 2249.
838         * include/c_std/cstdio: Likewise.
840 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
842         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
843         comment.
844         * include/std/mutex (__recursive_mutex_base): Likewise.
846 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
848         PR libstdc++/51365
849         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
850         implement EBO safely.
851         (_Sp_counted_base::_M_get_deleter): Add noexcept.
852         (_Sp_counter_ptr): Use noexcept instead of comments.
853         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
854         (_Sp_counted_ptr_inplace): Likewise.
855         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
856         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
857         custom allocator and test construction with custom allocator.
858         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
859         line number.
861 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
863         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
864         dialect to -std=gnu++11.
866 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
868         * include/bits/hashtable_policy.h
869         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
870         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
872 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
874         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
875         * include/c_std/cstdio (gets): Likewise.
876         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
878 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
880         PR libstdc++/57065
881         * include/debug/unordered_map (unordered_map, unordered_multimap):
882         Fix default allocator type.
883         * include/profile/unordered_map (unordered_map, unordered_multimap):
884         Likewise.
885         * include/bits/unordered_map.h: Fix comments.
887 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
889         PR libstdc++/56905
890         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
891         move implementation to make_exception_ptr.
892         * include/std/future (_State_base::_M_break_promise): Replace
893         copy_exception with make_exception_ptr.
894         * testsuite/18_support/exception_ptr/move.cc: Likewise.
895         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
896         * testsuite/30_threads/future/members/get2.cc: Likewise.
897         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
898         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
899         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
900         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
902 2013-04-22  Jason Merrill  <jason@redhat.com>
904         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
906         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
907         substitution" lines.
909         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
910         function-cv-quals.
911         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
912         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
913         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
915 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
917         * include/bits/hashtable_policy.h: Add C++11 allocator support.
918         * include/bits/hashtable.h: Likewise.
919         * include/bits/unordered_set.h: Likewise.
920         * include/bits/unordered_map.h: Likewise.
921         * include/debug/unordered_set: Likewise.
922         * include/debug/unordered_map: Likewise.
923         * include/std/unordered_set: Remove bits/algobase.h
924         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
925         * include/std/unordered_map: Likewise.
926         * include/ext/throw_allocator.h: Add checks on calls to allocator
927         construct/destroy.
928         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
929         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
930         * testsuite/util/regression/rand/priority_queue
931         /container_rand_regression_test.tcc: Adapt.
932         * testsuite/util/regression/rand/assoc
933         /container_rand_regression_test.tcc: Likewise.
934         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
935         * testsuite/23_containers/unordered_set
936         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
937         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
938         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
939         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
940         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
941         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
942         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
943         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
944         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
945         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
946         New.
947         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
948         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
949         New.
950         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
951         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
952         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
953         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
954         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
955         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
956         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
957         New.
958         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
959         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
960         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
961         New.
962         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
963         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
964         New.
965         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
966         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
968 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
970         * include/std/type_traits (is_signed): Simplify.
971         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
972         Adjust dg-error line numbers.
973         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
974         Likewise.
975         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
977 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
979         N3669
980         * include/std/complex (complex<float>::real, complex<float>::imag,
981         complex<double>::real, complex<double>::imag,
982         complex<long double>::real, complex<long double>::imag): Declare
983         as const member functions.
984         * include/std/type_traits (integral_constant<>::operator value_type):
985         Likewise.
987 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
989         PR libstdc++/57010
990         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
991         * testsuite/25_algorithms/pop_heap/57010.cc: New.
993 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
995         * src/c++11/system_error.cc (generic_category_instance): Add
996         initializer.
997         (system_category_instance): Likewise.
998         * src/c++11/future.cc (__fec): Likewise.
1000 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1002         * doc/xml/manual/extensions.xml: Fix anachronism.
1004 2013-04-09  Tom Tromey  <tromey@redhat.com>
1006         * configure, config.h.in: Rebuild.
1007         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1008         sys/sdt.h.
1009         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1011 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1013         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1015 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1017         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1019 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1021         * include/Makefile.am: Add ext/aligned_buffer.h
1022         * include/Makefile.in: Regenerate.
1023         * include/ext/aligned_buffer.h: New.
1024         * include/std/future (_Result): Use __aligned_buffer.
1025         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1026         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1027         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1028         number.
1030 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1032         * include/bits/forward_list.h: Only include required headers.
1033         (forward_list::reference): Define directly, not using __alloc_traits.
1034         (forward_list::const_reference): Likewise.
1036 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1038         * include/std/functional (_Derives_from_unary_function): Remove.
1039         (_Derives_from_binary_function): Remove.
1040         * include/std/type_traits (__sfinae_types): Remove.
1041         (__is_assignable_helper): Adapt.
1042         (__is_convertible_helper): Adapt.
1043         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1044         Remove several explicit instantiations of integral_constant.
1045         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1046         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1047         Adapt dg-error line number.
1048         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1049         Likewise.
1050         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1051         * testsuite/20_util/bind/ref_neg.cc: Likewise.
1053 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1055         PR libstdc++/56841
1056         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1057         get_terminate() accessors.
1058         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1059         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1060         available.
1061         * libsupc++/new_handler.cc: Likewise.
1063 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1065         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1067 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1069         PR libstdc++/56834
1070         * include/debug/array (tuple_size, tuple_element): Do not declare.
1071         * include/profile/array: Likewise.
1072         * testsuite/23_containers/array/tuple_interface/
1073         tuple_element_debug_neg.cc: Adjust dg-error line number.
1075 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1077         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1078         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1079         Define.
1080         (set_terminate(terminate_handler)): Set atomically.
1081         (set_unexpected(terminate_handler)): Likewise.
1082         * libsupc++/new (get_new_handler()): Declare.
1083         * libsupc++/new_handler.cc (get_new_handler()): Define.
1084         (set_new_handler(new_handler)): Set atomically.
1085         (__new_handler): Use internal linkage.
1086         * libsupc++/new_op.cc (operator new): Use get_new_handler().
1087         * libsupc++/new_opnt.cc (operator new): Likewise.
1088         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1089         * configure: Regenerate.
1090         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1091         * libsupc++/Makefile.in: Regenerate.
1092         * config/abi/pre/gnu.ver: Add new exports.
1093         * doc/xml/manual/status_cxx2011.xml: Update.
1094         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1095         for handlers.
1096         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1097         * testsuite/18_support/new_handler.cc: New.
1098         * testsuite/18_support/terminate_handler.cc: New.
1099         * testsuite/18_support/unexpected_handler.cc: New.
1101 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1103         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1104         defer to general documentation on contributing to GCC.
1105         * doc/html/*: Regenerate.
1107 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1109         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1111         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1112         Coding Standards.
1114         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1116         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1118         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1120         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1122         * doc/xml/manual/policy_data_structures: Remove direct link to
1123         IBM Haifa Research Labs.
1125         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1126         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1128         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1129         papers.
1131         * doc/xml/manual/shared_ptr.xml: Use canonical address for
1132         www.boost.org.
1134 2013-03-27  Kai Tietz  <ktietz@redhat.com>
1136         * crossconfig.m4: Add support for cygwin x64 target.
1137         * configure: Regenerated.
1139 2013-03-25  Kai Tietz  <ktietz@redhat.com>
1141         * testsuite/18_support/50594.cc: For mingw-targets use only static
1142         libstdc++-version.
1143         * testsuite/19_diagnostics/error_category/operators/equal.cc
1144         * testsuite/19_diagnostics/error_code/cons/1.cc
1145         * testsuite/19_diagnostics/error_code/operators/bool.cc
1146         * testsuite/19_diagnostics/error_code/operators/equal.cc
1147         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1148         * testsuite/19_diagnostics/error_condition/cons/1.cc
1149         * testsuite/19_diagnostics/error_condition/operators/bool.cc
1150         * testsuite/19_diagnostics/error_condition/operators/equal.cc
1151         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1152         * testsuite/23_containers/set/requirements/exception/basic.cc
1153         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1154         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1156 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1158         PR libstdc++/56170
1159         * include/ext/debug_allocator.h (debug_allocator): Add missing members
1160         to meet allocator requirements.
1161         * testsuite/ext/debug_allocator/56170.cc: New.
1163 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1165         PR libstdc++/56678
1166         * include/std/chrono (__is_ratio): Uglify T.
1168 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
1170         PR libstdc++/55977 (partial, std::vector and std::deque bits)
1171         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1172         _InputIterator, std::input_iterator_tag)): Use emplace_back.
1173         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1174         _InputIterator, std::input_iterator_tag)): Likewise.
1175         * testsuite/23_containers/vector/cons/55977.cc: New.
1176         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1177         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1178         Adjust dg-error line number.
1179         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1180         Likewise.
1182 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
1184         PR libstdc++/55979
1185         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1186         _InputIterator, __false_type)): Use emplace_back.
1187         * testsuite/23_containers/list/cons/55979.cc: New.
1188         * testsuite/23_containers/list/modifiers/1.h: Adjust.
1189         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1190         Adjust dg-error line number.
1192 2013-03-16  Jason Merrill  <jason@redhat.com>
1194         PR c++/55017
1195         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1197 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1199         PR libstdc++/56468
1200         * libsupc++/exception_ptr.h (type_info): Declare.
1202 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1204         PR libstdc++/56002
1205         * include/std/mutex (lock_guard, unique_lock, lock): Define without
1206         depending on _GLIBCXX_HAS_GTHREADS.
1207         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1209 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1211         PR libstdc++/56492
1212         * include/std/future (__future_base::_Result): Add result_type
1213         typedef.
1214         (__future_base::_S_allocate_result): Overload for std::allocator.
1215         (__future_base::_Task_setter): Use _Result::result_type instead of
1216         deducing the type from the task.
1217         (__future_base::_Task_state): Store allocator to allow shared state
1218         to be reset.  Replace std::function with member of target object type
1219         accessed via ...
1220         (__future_base::_Task_state_base): New abstract base class.
1221         (__future_base::_Task_state_base::_M_run): New virtual function to
1222         invoke type-erased target object.
1223         (__future_base::_Task_state_base::_M_reset): New virtual function to
1224         create new shared_state using same target object and allocator.
1225         (__future_base::__create_task_state): Allocate a new _Task_state.
1226         (packaged_task::packaged_task): Use __create_task_state.
1227         (packaged_task::reset): Use _Task_state_base::_M_reset.
1228         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1230 2013-03-15  Tom Tromey  <tromey@redhat.com>
1232         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1233         (PROBE2): New macro.
1234         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1235         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1236         * configure.ac: Check for sys/sdt.h.
1237         * configure, config.h.in: Rebuild.
1239 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1241         PR libstdc++/56613
1242         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1243         allocator_traits instead of calling construct directly.
1244         * testsuite/23_containers/map/56613.cc: New.
1246 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1248         * doc/html/*: Regenerate.
1250 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
1252         PR libstdc++/56609
1253         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1254         * testsuite/20_util/is_fundamental/value.cc: Extend.
1255         * testsuite/20_util/is_compound/value.cc: Likewise.
1257 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
1259         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1260         -Wunused warnings.
1262 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1264         * include/bits/memoryfwd.h: New. Centralize forward declarations.
1265         * include/bits/algorithmfwd.h: Consistent comments.
1266         * include/bits/localefwd.h: Same.
1267         * include/ext/vstring_fwd.h: Same.
1268         * include/parallel/algorithmfwd.h: Same.
1269         * include/parallel/numericfwd.h: Same.
1270         * include/std/iosfwd: Same.
1272         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1273         forward decl.
1274         * include/ext/alloc_traits.h: Remove allocator forward decl.
1275         * include/bits/stl_construct.h: Same.
1276         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1277         forward decl. Consistent comments.
1279         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1281         * include/Makefile.am (bits_headers): Add memoryfwd.h.
1282         * include/Makefile.in: Regenerate.
1283         * configure: Same.
1285 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
1287         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1288         Reset pointers after deallocation when memory can be reused.
1289         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1290         elements to really challenge C++11 allocator integration.
1291         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1292         * testsuite/23_containers/vector/allocator/copy_assign.cc:
1293         Likewise.
1294         * testsuite/23_containers/vector/allocator/move_assign.cc:
1295         Likewise.
1296         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1297         swap vector back before checks on memory/personality mapping are
1298         performed.
1299         * testsuite/23_containers/forward_list/allocator/minimal.cc:
1300         Insert element to really challenge C++11 allocator integration.
1301         * testsuite/23_containers/forward_list/allocator/copy.cc:
1302         Likewise.
1303         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1304         Likewise.
1305         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1306         Likewise.
1307         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1308         and swap forward_list back before checks on memory/personality
1309         mapping are performed.
1311 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
1313         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1314         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1315         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1316         Likewise.
1317         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1318         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1319         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1320         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1321         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1322         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1324 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1326         * scripts/extract_symvers.pl: Omit symbols bound to base
1327         versions.
1328         * scripts/extract_symvers.in: Likewise.
1329         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1330         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1331         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1332         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1333         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1335 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
1337         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1338         Optimize generation function by pulling computation of __r into the
1339         constructor for param_type.  Also compare _M_mu in operator==.
1340         Fix comment.
1342 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
1344         Add triangular and von Mises distributions.
1345         * include/ext/random: Include <ext/cmath>.
1346         Add __gnu_cxx::triangular_distribution<> and
1347         __gnu_cxx::von_mises_distribution<> classes.
1348         * include/ext/random.tcc: Add out-of-line functions for
1349         __gnu_cxx::triangular_distribution<> and
1350         __gnu_cxx::von_mises_distribution<>.
1351         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1352         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1353         * testsuite/ext/triangular_distribution/operators/serialize.cc:
1354         New file.
1355         * testsuite/ext/triangular_distribution/operators/equal.cc:
1356         New file.
1357         * testsuite/ext/triangular_distribution/operators/inequal.cc:
1358         New file.
1359         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1360         New file.
1361         * testsuite/ext/triangular_distribution/requirements/
1362         explicit_instantiation/1.cc: New file.
1363         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1364         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1365         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1366         New file.
1367         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1368         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1369         New file.
1370         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1371         New file.
1372         * testsuite/ext/von_mises_distribution/requirements/
1373         explicit_instantiation/1.cc: New file.
1375         Add math constants.
1376         * include/Makefile.am (ext_headers): Add cmath.
1377         * include/Makefile.in: Regenerated.
1378         * include/ext/cmath: New file.
1380 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1382         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1383         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1384         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1385         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1386         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1388 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1390         PR libstdc++/56012
1391         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
1392         * testsuite/29_atomics/atomic/operators/56012.cc: New.
1394         PR libstdc++/56011
1395         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
1396         missing overload.
1397         * testsuite/29_atomics/atomic/operators/56011.cc: New.
1399 2013-02-25  Jason Merrill  <jason@redhat.com>
1401         * configure.ac: Check for __cxa_thread_atexit_impl.
1402         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
1403         to it if available.
1404         * config.h.in, configure: Regenerate.
1406 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1408         * include/std/streambuf (basic_streambuf): Use injected class name
1409         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
1410         group.
1412 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1414         * doc/html/faq.html: Fix spelling.
1415         * doc/xml/faq.xml: Likewise.
1416         * include/bits/basic_ios.h: Likewise.
1417         * include/bits/regex.h: Likewise.
1418         * include/std/istream: Likewise.
1419         * include/std/streambuf: Likewise.
1421 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1423         * testsuite/23_containers/unordered_set/55043.cc: Add missing
1424         namespace qualification.
1425         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1427 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
1429         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
1430         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
1431         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
1432         * include/bits/stl_pair.h: Add to utilities group.
1433         * include/std/tuple: Same.
1434         * include/std/typeindex: Same.
1436         * include/bits/stringfwd.h: Fix markup.
1437         * include/std/limits: Same.
1438         * include/std/type_traits: Same.
1439         * include/tr1/memory: Same.
1440         * include/tr1/regex: Same.
1441         * scripts/run_doxygen: Comment.
1442         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
1444 2013-02-14  Jason Merrill  <jason@redhat.com>
1446         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
1447         test if unsupported.
1449 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
1451         PR libstdc++/56111
1452         * include/std/complex (complex): Undefine.
1453         * include/c_compatibility/complex.h (complex): Only undefine if
1454         <complex> has been included.
1455         * testsuite/26_numerics/complex/56111.cc: New testcase.
1457 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
1459         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
1460         default constructor protected.
1461         * include/bits/hashtable.h: static assert that _Hash_code_base has
1462         a default constructor available through inheritance.
1464 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1466         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
1467         C++11 mode.
1469 2013-02-12  Julian Brown  <julian@codesourcery.com>
1471         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
1472         Don't expect dots after abbreviated weekday names for ru_RU for
1473         glibc versions >= 2.17.
1474         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
1475         Likewise.
1477 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1479         * include/bits/random.tcc (__transform): Remove.
1480         (__normalize): Add.
1481         (discrete_distribution<>::param_type::_M_initialize): Adjust.
1482         (piecewise_constant_distribution<>::param_type::_M_initialize):
1483         Likewise.
1484         (piecewise_linear_distribution<>::param_type::_M_initialize):
1485         Likewise.
1487 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1489         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
1490         Use -fimplicit-templates.
1491         * src/c++11/Makefile.in: Regenerate.
1492         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
1493         std::lower_bound template.
1495 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1497         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
1498         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
1499         in C++11 mode and if available in the underlying C library.
1500         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
1501         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
1502         _GLIBCXX_HAVE_QUICK_EXIT.
1504 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1506         * doc/html/*: Regenerate.
1508 2013-02-11  Jason Merrill  <jason@redhat.com>
1510         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
1511         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
1512         * config.h.in, configure: Regenerate.
1513         * include/c_std/cstdlib: Add atexit and at_quick_exit.
1514         * include/c_global/cstdlib: Add atexit and at_quick_exit.
1515         * testsuite/18_support/quick_exit/quick_exit.cc: New.
1517 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1519         PR libstdc++/56282
1520         Revert:
1521         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1523         PR libstdc++/56193
1524         * include/bits/basic_ios.h: Replace operator void*() const
1525         with explicit operator bool() const in C++11 and greater.
1526         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1528 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
1529             Jonathan Wakely  <jwakely.gcc@gmail.com>
1531         * doc/xml/manual/containers.xml: Add section on unordered containers.
1532         * doc/xml/manual/using.xml: Fix incomplete sentence.
1534 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
1536         PR libstdc++/56267
1537         * include/bits/hashtable.h (__cache_default): Check if hash function
1538         is copy assignable.
1539         * testsuite/23_containers/unordered_set/56267.cc: New.
1540         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1541         dg-error line number.
1542         * testsuite/23_containers/unordered_set/
1543         not_default_constructible_hash_neg.cc: Likewise.
1545         PR libstdc++/56278
1546         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
1547         constructor public.
1548         * testsuite/23_containers/unordered_set/56278.cc: New.
1550 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
1552         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
1553         simplification.
1555 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
1557         PR libstdc++/56216
1558         * include/tr1/special_function_util.h: Remove spurious const
1559         from numeric arguments.
1560         * include/tr1/riemann_zeta.tcc: Likewise.
1561         * include/tr1/exp_integral.tcc: Likewise.
1562         * include/tr1/bessel_function.tcc: Likewise.
1563         * include/tr1/hypergeometric.tcc: Likewise.
1564         * include/tr1/modified_bessel_func.tcc: Likewise.
1565         * include/tr1/poly_laguerre.tcc: Likewise.
1566         * include/tr1/gamma.tcc: Likewise.
1567         * include/tr1/legendre_function.tcc: Likewise.
1568         * include/tr1/poly_hermite.tcc: Likewise.
1569         * include/tr1/ell_integral.tcc: Likewise.
1570         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
1571         If argument is zero return function value.
1572         * testsuite/tr1/5_numerical_facilities/special_functions/
1573         08_cyl_bessel_i/pr56216.cc: New.
1575 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1577         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
1579 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1581         PR libstdc++/56193
1582         * include/bits/basic_ios.h: Replace operator void*() const
1583         with explicit operator bool() const in C++11 and greater.
1584         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1586 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
1588         Add missing explicit instantiation for std::lower_bound template
1589         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
1590         missing instantiation for std::lower_bound template.
1592 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
1594         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
1595         * include/bits/basic_string.h: Specialize previous to mark
1596         std::hash for string types as slow.
1597         * include/bits/hashtable.h (__cache_default): Replace is_integral
1598         with __is_fast_hash.
1599         * src/c++11/hash_c++0x.cc: Add type_traits include.
1600         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1601         Adapt dg-error line number.
1602         * testsuite/23_containers/unordered_set/
1603         not_default_constructible_hash_neg.cc: Likewise.
1605 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1606             Paolo Carlini  <paolo.carlini@oracle.com>
1608         PR libstdc++/56202 (again)
1609         * include/bits/random.tcc (binomial_distribution<>::
1610         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1611         in previous commit.
1613         * include/bits/random.h: Fix comment typo.
1615 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1616             Paolo Carlini  <paolo.carlini@oracle.com>
1618         PR libstdc++/56202
1619         * include/bits/random.tcc (binomial_distribution<>::
1620         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1621         division by zero.
1623 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1625         Update copyright years.
1626         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1627         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1628         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1629         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1630         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1631         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1632         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1633         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1634         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1635         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1636         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1637         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1638         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1639         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1640         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1641         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1642         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1643         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1644         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1645         Update lines in dg error matches.
1647 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1649         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1651 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
1653         * include/bits/hashtable_policy.h
1654         (_Prime_rehash_policy::_M_next_bkt)
1655         (_Prime_rehash_policy::_M_need_rehash): Move definition...
1656         * src/c++11/hashtable_c++0x.cc: ... here.
1657         * src/shared/hashtable-aux.cc: Remove c++config.h include.
1658         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1659         symbols.
1661 2013-01-29  Jason Merrill  <jason@redhat.com>
1663         PR libstdc++/54314
1664         * config/abi/pre/gnu.ver: Don't export construction vtables.
1665         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1667 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1669         PR libstdc++/56112
1670         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1671         to construct value_type explicitly before trying to extract the key.
1672         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1674 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1676         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1677         _Hashtable_ebo_helper to embed functors into the local_iterator
1678         when necessary. Pass information about functors involved in hash
1679         code by copy.
1680         * include/bits/hashtable.h (__cache_default): Do not cache for
1681         builtin integral types unless the hash functor is not noexcept
1682         qualified or is not default constructible. Adapt static assertions
1683         and local iterator instantiations.
1684         * include/debug/unordered_set
1685         (std::__debug::unordered_set<>::erase): Detect local iterators to
1686         invalidate using contained node rather than generating a dummy
1687         local_iterator instance.
1688         (std::__debug::unordered_multiset<>::erase): Likewise.
1689         * include/debug/unordered_map
1690         (std::__debug::unordered_map<>::erase): Likewise.
1691         (std::__debug::unordered_multimap<>::erase): Likewise.
1692         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1693         std::tr1 and std versions of unordered_set regardless of any
1694         macro. Add test on default cache behavior.
1695         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1696         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1697         Adapt line number.
1698         * testsuite/23_containers/unordered_set/
1699         not_default_constructible_hash_neg.cc: New.
1700         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1702 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
1704         PR libstdc++/56085
1705         * include/std/complex (pow(const complex<>&, int)): Avoid __n
1706         signed overflow.
1708 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
1710         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1711         Tightten scan-assembler-times regexps, add dg-additional-options for
1712         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1713         dg-options.
1715 2013-01-12  Andi Kleen  <ak@linux.intel.com>
1716             Jonathan Wakely  <jwakely.gcc@gmail.com>
1718         PR libstdc++/55233
1719         * include/bits/atomic_base.h (__memory_order_modifier): Add
1720         __memory_order_mask, __memory_order_modifier_mask,
1721         __memory_order_hle_acquire, __memory_order_hle_release.
1722         (operator|,operator&): Add.
1723         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
1724         (__cmpexch_failure_order): Add.
1725         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1726         Handle flags.
1727         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1728         Add.
1730 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1732         PR libstdc++/55861
1733         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1734         Fix return type.
1735         (__basic_future::_M_get_result()): Const qualify.
1736         (shared_future::get()): Likewise.
1737         * testsuite/30_threads/shared_future/members/get.cc: Use const
1738         objects.
1740 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1742         PR libstdc++/55043 (again)
1743         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1744         unless construction would be well-formed.
1745         (__allow_copy_cons, __check_copy_constructible): Define.
1746         * include/bits/unordered_map.h (__check_copy_constructible): Use as
1747         base class so copy constructor will be deleted if appropriate.
1748         (is_copy_constructible): Remove specialization.
1749         * include/bits/unordered_set.h: Likewise.
1750         * include/debug/unordered_map.h: Undo previous commit. Default copy
1751         and move constructors.
1752         * include/debug/unordered_set.h: Likewise.
1753         * include/profile/unordered_map.h: Undo previous commit.
1754         * include/profile/unordered_set.h: Likewise.
1755         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1756         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1757         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1758         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1759         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1760         cannot support incomplete types.
1761         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1762         Likewise.
1764 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1766         PR libstdc++/55043
1767         * include/std/unordered_map: Include alloc_traits.h
1768         * include/std/unordered_set: Likewise.
1769         * include/bits/alloc_traits.h: Define __is_copy_insertable.
1770         * include/bits/unordered_map.h: Use it.
1771         * include/bits/unordered_set.h: Likewise.
1772         * include/debug/unordered_map.h: Likewise.
1773         * include/debug/unordered_set.h: Likewise.
1774         * include/profile/unordered_map.h: Likewise.
1775         * include/profile/unordered_set.h: Likewise.
1776         * include/bits/hashtable.h: Fix comment typos.
1777         * testsuite/23_containers/unordered_map/55043.cc: New.
1778         * testsuite/23_containers/unordered_multimap/55043.cc: New.
1779         * testsuite/23_containers/unordered_multiset/55043.cc: New.
1780         * testsuite/23_containers/unordered_set/55043.cc: New.
1782 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
1784         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1785         gdb command.
1787 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1789         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1791 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1793         PR libstdc++/55908
1794         * include/std/functional (_Mem_fn::operator()): Fix constraints to
1795         avoid ambiguity.
1796         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1797         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1799 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1801         PR libstdc++/55594
1802         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1803         Solaris targets.
1804         * configure: Regenerate.
1806 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1808         PR libstdc++/55847
1809         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1810         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1811         string.
1813         PR libstdc++/55728
1814         * include/std/functional (bad_function_call::what()): Declare.
1815         * src/c++11/functional.cc (bad_function_call::what()): Define.
1816         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1817         * testsuite/20_util/bad_function_call/what.cc: New.
1819 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1821         * include/bits/unordered_map.h: Fix typo in comments.
1822         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1823         counts for unordered associative containers.
1825 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1827         * doc/xml/manual/abi.xml: Update library and symbol versions.
1829 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1831         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1832         in copyright years.
1833         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1836 Copyright (C) 2013 Free Software Foundation, Inc.
1838 Copying and distribution of this file, with or without modification,
1839 are permitted in any medium without royalty provided the copyright
1840 notice and this notice are preserved.