PR ada/57934
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob48d3a4755f9b2b69c2ba5bc595cca90df4c0b721
1 2013-07-09  Tim Shen  <timshen91@gmail.com>
3         Implement class regex_traits.
4         * include/bits/regex.h: Implement lookup_classname and
5         lookup_collatename; modify isctype; partially implement
6         transform_primary.
7         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
8         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
9         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
10         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
11         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
12         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
13         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
14         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
16 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
18         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
20 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
22         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
23         pattern.
24         (_MoveReuseOrAllocNode): Remove.
25         (_Insert_base): Take a functor defining how the node is generated.
26         * include/bits/hashtable.h: Adapt.
27         (operator=(initializer_list<value_type>)): Reuse node if any.
28         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
29         Adjust dg-error line number.
30         * testsuite/23_containers/unordered_set/
31         not_default_constructible_hash_neg.cc: Likewise.
33 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
35         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
36         Tweak, avoid potential undefined behavior.
37         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
38         Likewise.
39         * testsuite/23_containers/vector/bool/modifiers/insert/
40         const_iterator.cc: Likewise.
41         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
42         Likewise.
44 2013-07-04  Veres Lajos  <vlajos@gmail.com>
45             Jonathan Wakely  <jwakely.gcc@gmail.com>
47         * config/locale/generic/codecvt_members.cc: Fix typo.
48         * configure.host: Likewise.
49         * doc/html/manual/policy_data_structures_design.html: Likewise.
50         * doc/xml/manual/policy_data_structures.xml: Likewise.
51         * include/bits/hashtable.h: Likewise.
52         * include/bits/random.h: Likewise.
53         * include/profile/impl/profiler_trace.h: Likewise.
54         * testsuite/23_containers/deque/cons/2.cc: Likewise.
55         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
56         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
57         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
59 2013-07-04  Ray Chason  <chasonr@newsguy.com>
60             Paolo Carlini  <paolo.carlini@oracle.com>
62         PR libstdc++/57808
63         * include/bits/regex.h (regex_token_iterator<>::operator==,
64         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
65         regex_token_iterator<>::operator->): Declare const.
67 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
69         * include/bits/stl_list.h (list<>::insert(iterator,
70         size_type, const value_type&), list<>::insert(iterator,
71         initializer_list<>), list<>::insert(iterator, _InputIterator,
72         _InputIterator), list<>::splice(iterator, list&&),
73         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
74         iterator), list<>::splice(iterator, list&, iterator),
75         list<>::splice(iterator, list&&, iterator, iterator),
76         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
77         signatures to take const_iterator(s).
78         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
79         const value_type&), list<>::insert(const_iterator, _InputIterator,
80         _InputIterator)): Define.
81         * include/ext/vstring.h (__versa_string<>::insert(iterator,
82         size_type, _CharT), __versa_string<>::insert(iterator,
83         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
84         std::initializer_list<>), __versa_string<>::replace(iterator,
85         iterator, _InputIterator, _InputIterator), __versa_string<>::
86         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
87         signatures to take const_iterator(s).
88         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
89         * include/ext/vstring.tcc: Likewise.
90         * include/debug/list: Adjust.
91         * include/profile/list: Likewise.
92         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
93         New.
94         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
95         Extend.
96         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
97         Likewise.
98         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
99         Likewise.
100         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
101         Likewise.
102         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
103         Likewise.
105         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
106         Adjust dg-error line number.
107         * testsuite/23_containers/list/requirements/dr438/
108         constructor_1_neg.cc: Likewise.
109         * testsuite/23_containers/list/requirements/dr438/
110         constructor_2_neg.cc: Likewise.
111         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
112         Likewise.
114 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
116         * include/bits/stl_deque.h (deque<>::insert(iterator,
117         size_type, const value_type&), deque<>::insert(iterator,
118         initializer_list<>), deque<>::insert(iterator, _InputIterator,
119         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
120         * include/bits/stl_vector.h: Likewise.
121         * include/bits/stl_bvector.h: Likewise.
122         * include/debug/deque: Adjust.
123         * include/debug/vector: Likewise.
124         * include/profile/deque: Likewise.
125         * include/profile/vector: Likewise.
126         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
127         Extend.
128         * testsuite/23_containers/vector/bool/modifiers/insert/
129         const_iterator.cc: Likewise.
130         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
131         Likewise.
133         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
134         Adjust dg-error line number.
135         * testsuite/23_containers/deque/requirements/dr438/
136         constructor_1_neg.cc: Likewise.
137         * testsuite/23_containers/deque/requirements/dr438/
138         constructor_2_neg.cc: Likewise.
139         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
140         Likewise.
141         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
142         Likewise.
143         * testsuite/23_containers/vector/requirements/dr438/
144         constructor_1_neg.cc: Likewise.
145         * testsuite/23_containers/vector/requirements/dr438/
146         constructor_2_neg.cc: Likewise.
147         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
148         Likewise.
150 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
152         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
153         insert methods.
154         * include/bits/hashtable.h: Likewise.
155         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
156         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
157         New.
158         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
159         Adjust dg-error line number.
160         * testsuite/23_containers/unordered_set/
161         not_default_constructible_hash_neg.cc: Likewise.
162         * doc/xml/manual/containers.xml: Document hinting in unordered
163         containers.
165 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
167         * testsuite/21_strings/basic_string/operations/*: Move inside
168         testsuite/21_strings/basic_string/operations/data/.
169         * testsuite/21_strings/basic_string/compare/*: Move inside
170         testsuite/21_strings/basic_string/operations/.
171         * testsuite/21_strings/basic_string/find/*: Likewise.
172         * testsuite/21_strings/basic_string/rfind/*: Likewise.
173         * testsuite/21_strings/basic_string/substr/*: Likewise.
175 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
177         * testsuite/21_strings/basic_string/append/*: Move inside
178         testsuite/21_strings/basic_string/modifiers/.
179         * testsuite/21_strings/basic_string/assign/*: Likewise.
180         * testsuite/21_strings/basic_string/insert/*: Likewise.
181         * testsuite/21_strings/basic_string/replace/*: Likewise.
182         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
183         pop_back.cc: Rename to 1.cc.
184         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
185         pop_back.cc: Likewise.
186         * testsuite/ext/vstring/assign/*: Move inside
187         testsuite/ext/vstring/modifiers/.
189 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
191         * include/bits/stl_deque.h (deque<>::insert(iterator,
192         const value_type&), deque<>::insert(iterator, value_type&&),
193         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
194         take a const_iterator.
195         (deque<>::erase): Simplify.
196         * include/bits/stl_list.h: Likewise.
197         (_List_iterator<>::_M_const_cast): Add.
198         * include/bits/stl_vector.h: Likewise.
199         * include/bits/stl_bvector.h: Likewise.
200         (_Bit_iterator::_M_const_cast): Add.
201         * include/bits/deque.tcc: Adjust definitions.
202         * include/bits/list.tcc: Likewise.
203         * include/bits/vector.tcc: Likewise.
204         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
205         Define trivial version in C++98 mode.
206         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
207         __versa_string<>::replace(iterator, iterator, const __versa_string&),
208         __versa_string<>::replace(iterator, iterator, const _CharT*,
209         size_type), __versa_string<>::replace(iterator, iterator,
210         const _CharT*), __versa_string<>::replace(iterator, iterator,
211         size_type, _CharT)): Adjust C++11 signatures to take a pair of
212         const_iterators.
213         * include/debug/deque: Adjust.
214         * include/debug/list: Likewise.
215         * include/debug/vector: Likewise.
216         * include/profile/deque: Likewise.
217         * include/profile/list: Likewise.
218         * include/profile/vector: Likewise.
219         (vector<>::emplace): Add.
220         * testsuite/util/exception/safety.h: Update.
221         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
222         New.
223         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
224         Likewise.
225         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
226         Likewise.
227         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
228         Likewise.
229         * testsuite/23_containers/vector/bool/modifiers/insert/
230         const_iterator.cc: Likewise.
231         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
232         Likewise.
233         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
234         Likewise.
235         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
236         Likewise.
237         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
238         Likewise.
239         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
240         Likewise.
241         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
242         Likewise.
244         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
245         ext/vstring/modifiers/erase/char/.
246         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
247         ext/vstring/modifiers/wchar_t/.
248         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
249         ext/vstring/modifiers/pop_back/char/.
250         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
251         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
253         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
254         Adjust dg-error line number.
255         * testsuite/23_containers/deque/requirements/dr438/
256         constructor_1_neg.cc: Likewise.
257         * testsuite/23_containers/deque/requirements/dr438/
258         constructor_2_neg.cc: Likewise.
259         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
260         Likewise.
261         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
262         Likewise.
263         * testsuite/23_containers/list/requirements/dr438/
264         constructor_1_neg.cc: Likewise.
265         * testsuite/23_containers/list/requirements/dr438/
266         constructor_2_neg.cc: Likewise.
267         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
268         Likewise.
269         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
270         Likewise.
271         * testsuite/23_containers/vector/requirements/dr438/
272         constructor_1_neg.cc: Likewise.
273         * testsuite/23_containers/vector/requirements/dr438/
274         constructor_2_neg.cc: Likewise.
275         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
276         Likewise.
278 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
280         Status page for C++2014 library features
281         * doc/xml/faq.xml: Add link to new C++14 status page.
282         * doc/xml/manual/intro.xml: Ditto.
283         * doc/xml/manual/status_cxx2014.xml: New.
285 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
287         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
288         spurious fails with check-debug.
289         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
290         Likewise.
291         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
292         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
293         Likewise.
295 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
297         PR libstdc++/57704
298         * include/bits/char_traits.h (char_traits<char>::lt): Implement
299         LWG 467.
300         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
302 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
304         PR libstdc++/57691
305         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
306         declare per the letter of the C++ standard in terms of void.
307         * include/c_std/cstdlib: Likewise.
309 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
311         PR libstdc++/57674
312         * include/bits/random.h (binomial_distribution<>::_M_waiting):
313         Add double parameter.
314         * include/bits/random.tcc (binomial_distribution<>::operator()
315         (_UniformRandomNumberGenerator&, const param_type&)): Pass
316         __param._M_q to _M_waiting.
317         (_M_waiting): Adjust.
318         * testsuite/26_numerics/random/binomial_distribution/
319         operators/values.cc: Add tests.
321 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
323         PR libstdc++/57666
324         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
325         Implement correctly C++11 26.6.2.3/1.
326         * testsuite/26_numerics/valarray/dr630-3.C: New.
328 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
330         PR libstdc++/57641
331         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
332         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
333         to handle conversion between different clocks. Replace constrained
334         __try_lock_for_impl overloads with conditional increment.
335         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
336         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
338 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
339             Chris Jefferson  <chris@bubblescope.net>
341         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
342         dispatch to traditional std::equal for random-access iterators.
343         (__equal2_aux, __equal2): Remove.
344         (__equal::equal): Remove unused overloads.
345         * include/bits/stl_algo.h (is_permutation): Fix typos.
347 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
349         * include/std/shared_mutex (shared_lock::operator=): Add missing
350         return statement.
352 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
354         PR libstdc++/57263
355         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
356         allocator's pointer type.
357         * include/bits/hashtable.h (_Hashtable): Likewise.
358         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
359         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
360         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
361         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
363 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
365         * include/std/shared_mutex: Implement N3659.
366         * include/bits/c++14_warning.h: New.
367         * include/Makefile.am: Add new headers.
368         * include/Makefile.in: Regenerate.
369         * testsuite/30_threads/shared_lock/cons/1.cc: New.
370         * testsuite/30_threads/shared_lock/locking/2.cc: New.
371         * testsuite/30_threads/shared_lock/cons/2.cc: New.
372         * testsuite/30_threads/shared_lock/locking/3.cc: New.
373         * testsuite/30_threads/shared_lock/cons/3.cc: New.
374         * testsuite/30_threads/shared_lock/locking/4.cc: New.
375         * testsuite/30_threads/shared_lock/cons/4.cc: New.
376         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
377         * testsuite/30_threads/shared_lock/cons/5.cc: New.
378         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
379         * testsuite/30_threads/shared_lock/cons/6.cc: New.
380         * testsuite/30_threads/shared_lock/requirements/
381         explicit_instantiation.cc: New.
382         * testsuite/30_threads/shared_lock/locking/1.cc: New.
383         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
384         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
385         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
386         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
387         * testsuite/30_threads/shared_mutex/requirements/
388         standard_layout.cc: New.
389         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
390         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
392 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
394         PR libstdc++/57619
395         * include/bits/unordered_map.h (unordered_map<>::insert,
396         unordered_multimap<>::insert): Use std::forward, not std::move.
397         * testsuite/23_containers/unordered_map/insert/57619.C: New.
398         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
400 2013-06-14  Alan Modra  <amodra@gmail.com>
402         * configure.host (abi_baseline_pair): Match powerpc64*.
404 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
406         * include/std/type_traits (is_function): Support ref-qualified
407         functions.
408         (is_copy_constructible, is_move_constructible, is_copy_assignable,
409         is_move_assignable, is_nothrow_copy_constructible,
410         is_nothrow_move_constructible, is_nothrow_copy_assignable,
411         is_nothrow_move_assignable): Implement LWG 2196.
412         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
413         LWG 2101.
414         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
415         unused.
416         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
417         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
418         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
419         * testsuite/20_util/is_assignable/value.cc: Likewise.
420         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
421         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
422         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
423         * testsuite/20_util/is_function/value.cc: Likewise.
424         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
425         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
426         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
427         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
428         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
429         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
431         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
432         line number.
433         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
434         Likewise.
435         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
436         Likewise.
438 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
440         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
441         __gnu_cxx::__airy_bi()): Remove.
442         * testsuite/tr1/5_numerical_facilities/special_functions/
443         10_cyl_bessel_k/airy.cc: Fix.
445 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
447         PR libstdc++/56430
448         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
449         from void function.
450         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
451         * testsuite/tr1/5_numerical_facilities/special_functions/
452         10_cyl_bessel_k/airy.cc: New.
454 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
456         Fix library literals error involving namespace __detail.
457         * include/std/chrono: Rename __detail to __select_type. Reformat.
458         * include/bits/basic_string.h: Reformat.
459         * testsuite/20_util/duration/literals/ns_detail.cc: New.
461 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
463         PR libstdc++/56019
464         * include/c_global/cstddef (max_align_t): Add to namespace std.
465         * include/c_std/cstddef: Likewise.
466         * testsuite/18_support/max_align_t/requirements/1.cc: New.
467         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
469 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
471         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
472         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
473         * include/bits/stl_multimap.h: Same.
474         * include/bits/stl_multiset.h: Same.
475         * include/bits/stl_set.h: Same.
476         * include/bits/stl_tree.h: Same.
477         * include/std/complex (real, imag): Use macro for abi_tag.
479         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
480         * testsuite/util/testsuite_containers.h (erase_external): New
481         declarations.
482         (erase_external_iterators): Same.
483         (linkage_check_cxx98_cxx11_erase): Same.
484         (linkage_check_cxx98_cxx11_erase_iterators): Same.
485         * testsuite/util/testsuite_shared.cc: Define.
486         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
487         * testsuite/23_containers/map/modifiers/erase/
488         dr130-linkage-check.cc: New.
489         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
490         * testsuite/23_containers/multimap/modifiers/erase/
491         dr130-linkage-check.cc: New.
492         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
493         * testsuite/23_containers/multiset/modifiers/erase/
494         dr130-linkage-check.cc: New.
495         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
496         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
497         New.
498         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
500         * testsuite/23_containers/map/dr130.cc: Move...
501         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
502         * testsuite/23_containers/multimap/dr130.cc: Move ...
503         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
504         * testsuite/23_containers/multiset/dr130.cc: Move...
505         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
506         * testsuite/23_containers/set/dr130.cc: Move...
507         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
509 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
511         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
512         handling of Linux-based x86 systems to cover all GNU systems.
513         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
514         * testsuite/18_support/pthread_guard.cc: Likewise.
515         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
516         Likewise.
517         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
518         Likewise.
519         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
520         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
521         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
522         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
523         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
524         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
525         * testsuite/23_containers/list/pthread1.cc: Likewise.
526         * testsuite/23_containers/list/pthread5.cc: Likewise.
527         * testsuite/23_containers/map/pthread6.cc: Likewise.
528         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
529         Likewise.
530         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
531         Likewise.
532         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
533         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
534         * testsuite/30_threads/async/42819.cc: Likewise.
535         * testsuite/30_threads/async/49668.cc: Likewise.
536         * testsuite/30_threads/async/54297.cc: Likewise.
537         * testsuite/30_threads/async/any.cc: Likewise.
538         * testsuite/30_threads/async/async.cc: Likewise.
539         * testsuite/30_threads/async/launch.cc: Likewise.
540         * testsuite/30_threads/async/sync.cc: Likewise.
541         * testsuite/30_threads/call_once/39909.cc: Likewise.
542         * testsuite/30_threads/call_once/49668.cc: Likewise.
543         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
544         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
545         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
546         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
547         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
548         * testsuite/30_threads/condition_variable/members/53841.cc:
549         Likewise.
550         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
551         Likewise.
552         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
553         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
554         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
555         * testsuite/30_threads/condition_variable_any/members/1.cc:
556         Likewise.
557         * testsuite/30_threads/condition_variable_any/members/2.cc:
558         Likewise.
559         * testsuite/30_threads/future/cons/move.cc: Likewise.
560         * testsuite/30_threads/future/members/45133.cc: Likewise.
561         * testsuite/30_threads/future/members/get.cc: Likewise.
562         * testsuite/30_threads/future/members/get2.cc: Likewise.
563         * testsuite/30_threads/future/members/share.cc: Likewise.
564         * testsuite/30_threads/future/members/valid.cc: Likewise.
565         * testsuite/30_threads/future/members/wait.cc: Likewise.
566         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
567         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
568         * testsuite/30_threads/lock/1.cc: Likewise.
569         * testsuite/30_threads/lock/2.cc: Likewise.
570         * testsuite/30_threads/lock/3.cc: Likewise.
571         * testsuite/30_threads/lock/4.cc: Likewise.
572         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
573         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
574         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
575         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
576         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
577         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
578         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
579         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
580         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
581         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
582         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
583         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
584         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
585         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
586         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
587         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
588         Likewise.
589         * testsuite/30_threads/packaged_task/members/get_future.cc:
590         Likewise.
591         * testsuite/30_threads/packaged_task/members/get_future2.cc:
592         Likewise.
593         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
594         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
595         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
596         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
597         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
598         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
599         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
600         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
601         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
602         * testsuite/30_threads/promise/cons/1.cc: Likewise.
603         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
604         * testsuite/30_threads/promise/cons/move.cc: Likewise.
605         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
606         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
607         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
608         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
609         * testsuite/30_threads/promise/members/set_exception2.cc:
610         Likewise.
611         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
612         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
613         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
614         * testsuite/30_threads/promise/members/swap.cc: Likewise.
615         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
616         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
617         Likewise.
618         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
619         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
620         Likewise.
621         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
622         Likewise.
623         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
624         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
625         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
626         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
627         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
628         Likewise.
629         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
630         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
631         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
632         Likewise.
633         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
634         Likewise.
635         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
636         Likewise.
637         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
638         Likewise.
639         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
640         Likewise.
641         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
642         Likewise.
643         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
644         Likewise.
645         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
646         Likewise.
647         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
648         Likewise.
649         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
650         Likewise.
651         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
652         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
653         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
654         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
655         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
656         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
657         * testsuite/30_threads/shared_future/members/wait_for.cc:
658         Likewise.
659         * testsuite/30_threads/shared_future/members/wait_until.cc:
660         Likewise.
661         * testsuite/30_threads/this_thread/1.cc: Likewise.
662         * testsuite/30_threads/this_thread/2.cc: Likewise.
663         * testsuite/30_threads/this_thread/3.cc: Likewise.
664         * testsuite/30_threads/this_thread/4.cc: Likewise.
665         * testsuite/30_threads/thread/cons/1.cc: Likewise.
666         * testsuite/30_threads/thread/cons/2.cc: Likewise.
667         * testsuite/30_threads/thread/cons/3.cc: Likewise.
668         * testsuite/30_threads/thread/cons/4.cc: Likewise.
669         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
670         * testsuite/30_threads/thread/cons/5.cc: Likewise.
671         * testsuite/30_threads/thread/cons/6.cc: Likewise.
672         * testsuite/30_threads/thread/cons/7.cc: Likewise.
673         * testsuite/30_threads/thread/cons/8.cc: Likewise.
674         * testsuite/30_threads/thread/cons/9.cc: Likewise.
675         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
676         * testsuite/30_threads/thread/members/1.cc: Likewise.
677         * testsuite/30_threads/thread/members/2.cc: Likewise.
678         * testsuite/30_threads/thread/members/3.cc: Likewise.
679         * testsuite/30_threads/thread/members/4.cc: Likewise.
680         * testsuite/30_threads/thread/members/5.cc: Likewise.
681         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
682         Likewise.
683         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
684         * testsuite/30_threads/thread/native_handle/typesizes.cc:
685         Likewise.
686         * testsuite/30_threads/thread/swap/1.cc: Likewise.
687         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
688         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
689         Likewise.
690         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
691         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
692         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
693         Likewise.
694         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
695         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
696         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
697         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
698         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
699         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
700         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
701         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
702         * testsuite/30_threads/try_lock/1.cc: Likewise.
703         * testsuite/30_threads/try_lock/2.cc: Likewise.
704         * testsuite/30_threads/try_lock/3.cc: Likewise.
705         * testsuite/30_threads/try_lock/4.cc: Likewise.
706         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
707         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
708         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
709         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
710         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
711         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
712         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
713         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
714         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
715         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
716         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
717         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
718         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
719         * testsuite/ext/profile/mh.cc: Likewise.
720         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
721         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
722         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
723         Likewise.
724         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
725         Likewise.
726         * testsuite/util/testsuite_performance.h: Extend current handling
727         of Linux-based systems to cover all glibc-based systems.
729 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
731         * include/std/mutex (call_once): Remove parentheses to fix error in
732         c++1y and gnu++1y mode.
733         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
734         thread to avoid undefined behaviour.
736 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
738         Simplify and clean up library literals.
739         * include/std/chrono: Simplify namespace and versioning management.
740         * include/bits/basic_string.h: Ditto.
741         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
742         * testsuite/20_util/duration/literals/values.cc: Ditto.
743         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
744         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
746 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
748         Implement N3654 - Quoted Strings Library Proposal
749         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
750         manipulators and supporting machinery in c++1y mode.
751         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
752         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
754 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
756         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
757         2162: Add noexcept.
759 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
761         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
762         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
763         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
764         * testsuite/25_algorithms/equal/2.cc: New.
765         * testsuite/25_algorithms/equal/check_type2.cc: New.
766         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
767         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
768         * testsuite/25_algorithms/mismatch/2.cc: New.
769         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
770         * testsuite/util/testsuite_iterators.h: Fix spelling.
772 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
774         * include/std/type-traits (integral_constant::operator()): Implement
775         N3545.
776         * testsuite/20_util/integral_constant/call_operator.cc: New.
777         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
778         line numbers.
779         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
780         Likewise.
781         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
782         Likewise.
784 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
786         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
788 2013-06-05  Tom Tromey  <tromey@redhat.com>
790         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
792 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
794         PR c++/57419
795         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
797 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
799         * include/std/chrono: Collapse redundant 'inline' from 'inline
800         constexpr'.
801         * include/std/tuple: Ditto.
802         * include/bits/move.h: Ditto.
804 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
806         Implement N3642 - User-defined Literals for Standard Library Types
807         * include/bits/parse_numbers.h: New.
808         * include/std/chrono: Add duration literal operators.
809         * include/bits/basic_string.h: Add string literal operators.
810         * include/Makefile.in: Add parse_numbers.h.
811         * include/Makefile.am: Ditto.
812         * testsuite/20_util/duration/literals/values.cc: New.
813         * testsuite/20_util/duration/literals/types.cc: New.
814         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
815         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
816         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
817         * testsuite/21_strings/basic_string/literals/values.cc: New.
818         * testsuite/21_strings/basic_string/literals/types.cc: New.
820 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
822         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
823         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
824         calling non-existent from_time_t.
826 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
828         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
829         Regenerate.
831 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
833         * include/std/chrono: Wrap clocks in inline namespace _V2.
834         * src/c++11/chrono.cc: Same.
835         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
836         file, with default configure macros selected.
838         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
839         namespace.
840         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
842         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
843         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
844         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
845         Regenerated.
846         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
847         Regenerated.
848         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
849         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
850         Regenerated.
851         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
852         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
853         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
854         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
855         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
856         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
857         Regenerated.
858         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
859         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
861 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
863         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
864         (CLOCK_MONOTONIC): Define.
866 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
868         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
869         overload.
871         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
873 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
875         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
876         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
877         don't define system_clock::is_steady, system_clock::now() and
878         steady_clock::is_steady.
879         (std::chrono::system_clock::now()): If
880         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
881         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
882         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
883         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
884         be non-empty.
885         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
886         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
887         * src/c++11/compatibility-chrono.cc: New file.
888         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
889         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
890         * testsuite/util/testsuite_abi.cc (check_version): Add
891         GLIBCXX_3.4.20 version and make it the latest.
892         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
893         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
894         @@GLIBCXX_3.4.20 instead.
895         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
896         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
897         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
898         Regenerated.
899         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
900         Regenerated.
901         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
902         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
903         Regenerated.
904         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
905         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
906         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
907         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
908         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
909         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
910         Regenerated.
911         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
912         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
913         * config.h.in: Regenerated.
914         * src/Makefile.in: Regenerated.
915         * configure: Regenerated.
917 2013-05-23  Matthias Klose  <doko@ubuntu.com>
919         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
920         (ext_headers): Remove ${ext_host_headers}.
921         (stamp-${host_alias}): Create ${host_builddir}/../ext.
922         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
923         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
924         * include/Makefile.in: Regenerate.
925         * include/ext/random: Include ext/opt_random.h.
927 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
929         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
930         enable features if target OS is known to support them.
931         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
932         * configure: Regenerate.
934 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
936         PR libstdc++/57336
937         * include/std/functional (__invoke): Do not form function types with
938         abstract return type.
939         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
941 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
943         * include/std/tuple (get): Implement N3670.
944         * include/std/utility (get): Likewise.
945         * testsuite/20_util/pair/get.cc: Move to ...
946         * testsuite/20_util/pair/astuple/get.cc: Here.
947         * testsuite/20_util/pair/astuple/astuple.cc: New.
948         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
949         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
950         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
951         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
952         * testsuite/20_util/pair/astuple/get_neg.cc: New.
953         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
954         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
955         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
957 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
959         * Revert last commit.
961 2013-05-19  Matthias Klose  <doko@ubuntu.com>
963         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
964         (ext_headers): Remove ${ext_host_headers}.
965         (stamp-${host_alias}): Create ${host_builddir}/../ext.
966         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
967         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
968         * include/Makefile.in: Regenerate.
970 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
972         * include/std/system_error (error_category::error_category()): LWG
973         2145: Declare public and constexpr.
974         * src/c++11/system_error.cc (error_category::error_category()): Move
975         definition to ...
976         * src/c++11/compatibility-c++0x.cc: Here.
978 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
980         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
982 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
984         * include/bits/unique_ptr.h (make_unique): Declare inline.
985         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
986         (default_delete, unique_ptr): Add doxygen comments.
987         * include/bits/shared_ptr_base.h: Improve doxygen comments.
988         * include/bits/shared_ptr.h: Likewise.
989         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
990         number.
991         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
993 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
995         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
997 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
999         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1001 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1003         * include/std/utility (exchange): Define.
1004         * testsuite/20_util/exchange/1.cc: New.
1006 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1008         * include/bits/unique_ptr.h (make_unique): Define.
1009         * testsuite/20_util/unique_ptr/creation/single.cc: New.
1010         * testsuite/20_util/unique_ptr/creation/array.cc: New.
1011         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1013 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
1015         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1016         rendering of std::tr1 unordered containers iterator.
1017         (StdHashtableIterator): New, render std unordered containers iterator.
1018         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1020 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1022         * include/bits/basic_string.h (getline): Fix doxygen comments.
1024 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
1026         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1027         Use std::pointer_traits.
1029 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1031         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1032         bad_array_new.cc.
1033         * libsupc++/Makefile.in: Regenerate.
1034         * libsupc++/bad_array_length.cc: Tweak.
1035         * libsupc++/bad_array_new.cc: Tweak.
1037 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1039         PR libstdc++/54577
1040         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1041         (_Deque_iterator<>::_M_const_cast): Add.
1042         (deque<>::_M_erase): Declare.
1043         * include/bits/deque.tcc: ... and define.
1044         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1045         (_List_const_iterator<>::_M_const_cast): Add.
1046         * include/bits/list.tcc (erase (iterator)): Fix.
1047         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1048         Add; include <ext/cast.h>.
1049         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1050         (vector<>::_M_erase): Declare.
1051         * include/bits/stl_bvector.h: Likewise.
1052         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1053         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1054         * include/debug/deque: Adjust.
1055         * include/debug/list: Likewise.
1056         * include/debug/vector: Likewise.
1057         * include/profile/deque: Likewise.
1058         * include/profile/list: Likewise.
1059         * include/profile/vector: Likewise.
1060         * testsuite/util/exception/safety.h (erase_base<deque>,
1061         erase_base<deque>, erase_base<vector>): Remove.
1062         (erase_base<__versa_string>): Update.
1063         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1064         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1065         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1066         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1067         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1068         Likewise.
1069         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1070         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1071         Adjust dg-error line numbers.
1072         * testsuite/23_containers/deque/requirements/dr438/
1073         constructor_1_neg.cc: Likewise.
1074         * testsuite/23_containers/deque/requirements/dr438/
1075         constructor_2_neg.cc: Likewise.
1076         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1077         Likewise.
1078         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1079         Likewise.
1080         * testsuite/23_containers/list/requirements/dr438/
1081         constructor_1_neg.cc: Likewise.
1082         * testsuite/23_containers/list/requirements/dr438/
1083         constructor_2_neg.cc: Likewise.
1084         * testsuite/23_containers/list/requirements/dr438/
1085         insert_neg.cc: Likewise.
1086         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1087         Likewise.
1088         * testsuite/23_containers/vector/requirements/dr438/
1089         constructor_1_neg.cc: Likewise.
1090         * testsuite/23_containers/vector/requirements/dr438/
1091         constructor_2_neg.cc: Likewise.
1092         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1093         Likewise.
1095 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
1097         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1099 2013-05-08  Jason Merrill  <jason@redhat.com>
1101         Add std::bad_array_length (N3639)
1102         * libsupc++/new: Add std::bad_array_length.
1103         * libsupc++/bad_array_length.cc: New.
1104         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1105         * libsupc++/Makefile.in: Build them.
1106         * config/abi/pre/gnu.ver: Add new symbols.
1107         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1109 2013-05-08  Andi Kleen  <ak@linux.intel.com>
1111         PR target/55947
1112         * libstdc++-v3/include/bits/atomic_base.h
1113         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1114         (atomic_thread_fence, atomic_signal_fence, test_and_set,
1115         clear, store, load, exchange, compare_exchange_weak)
1116         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1117         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1119 2013-05-08  Jason Merrill  <jason@redhat.com>
1121         Add std::bad_array_new_length (N2932)
1122         * libsupc++/new: Add std::bad_array_new_length.
1123         * libsupc++/bad_array_new.cc: New.
1124         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1125         * libsupc++/Makefile.in: Build them.
1126         * config/abi/pre/gnu.ver: Add new symbols.
1127         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1129 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
1131         PR libstdc++/57212
1132         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1133         to __MINGW32__.
1134         * include/Makefile.in: Regenerated.
1136 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
1138         * include/profile/unordered_base.h: New.
1139         * include/Makefile.am: Add new profile header.
1140         * include/Makefile.in: Regenerate.
1141         * include/profile/impl/profiler.h
1142         (__profcxx_inefficient_hash_is_on): New macro.
1143         * include/profile/unordered_map (std::profile::unordered_map<>):
1144         Use new _Unordered_profile base class. Use default implementations
1145         for special functions.
1146         (std::profile::unordered_multimap<>): Likewise.
1147         * include/profile/unordered_set (std::profile::unordered_set<>):
1148         Likewise.
1149         (std::profile::unordered_multiset<>): Likewise.
1150         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1151         MoveOnly equality operator signature.
1153 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1155         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1156         constexpr_data.cc: Move...
1157         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1158         ... here.
1159         * testsuite/20_util/integral_constant/requirements/
1160         explicit_instantiation.cc: New.
1161         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1162         Likewise.
1163         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1164         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1165         Likewise.
1166         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1167         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1169 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1171         * include/std/type_traits (is_null_pointer): Add.
1172         (__is_nullptr_t): Implement in terms of the latter.
1173         (is_fundamental, is_scalar): Adjust.
1174         * testsuite/20_util/is_null_pointer/requirements/
1175         explicit_instantiation.cc: New.
1176         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1177         Likewise.
1178         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1179         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1180         line number.
1181         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1182         Likewise.
1183         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1184         Likewise.
1186 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1188         * include/c_global/cstdio: Add comment about LWG 2249.
1189         * include/c_std/cstdio: Likewise.
1191 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1193         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1194         comment.
1195         * include/std/mutex (__recursive_mutex_base): Likewise.
1197 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1199         PR libstdc++/51365
1200         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1201         implement EBO safely.
1202         (_Sp_counted_base::_M_get_deleter): Add noexcept.
1203         (_Sp_counter_ptr): Use noexcept instead of comments.
1204         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1205         (_Sp_counted_ptr_inplace): Likewise.
1206         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1207         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1208         custom allocator and test construction with custom allocator.
1209         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1210         line number.
1212 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1214         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1215         dialect to -std=gnu++11.
1217 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
1219         * include/bits/hashtable_policy.h
1220         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1221         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1223 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1225         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1226         * include/c_std/cstdio (gets): Likewise.
1227         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1229 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1231         PR libstdc++/57065
1232         * include/debug/unordered_map (unordered_map, unordered_multimap):
1233         Fix default allocator type.
1234         * include/profile/unordered_map (unordered_map, unordered_multimap):
1235         Likewise.
1236         * include/bits/unordered_map.h: Fix comments.
1238 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1240         PR libstdc++/56905
1241         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1242         move implementation to make_exception_ptr.
1243         * include/std/future (_State_base::_M_break_promise): Replace
1244         copy_exception with make_exception_ptr.
1245         * testsuite/18_support/exception_ptr/move.cc: Likewise.
1246         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1247         * testsuite/30_threads/future/members/get2.cc: Likewise.
1248         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1249         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1250         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1251         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1253 2013-04-22  Jason Merrill  <jason@redhat.com>
1255         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1257         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1258         substitution" lines.
1260         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1261         function-cv-quals.
1262         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1263         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1264         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1266 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
1268         * include/bits/hashtable_policy.h: Add C++11 allocator support.
1269         * include/bits/hashtable.h: Likewise.
1270         * include/bits/unordered_set.h: Likewise.
1271         * include/bits/unordered_map.h: Likewise.
1272         * include/debug/unordered_set: Likewise.
1273         * include/debug/unordered_map: Likewise.
1274         * include/std/unordered_set: Remove bits/algobase.h
1275         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1276         * include/std/unordered_map: Likewise.
1277         * include/ext/throw_allocator.h: Add checks on calls to allocator
1278         construct/destroy.
1279         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1280         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1281         * testsuite/util/regression/rand/priority_queue
1282         /container_rand_regression_test.tcc: Adapt.
1283         * testsuite/util/regression/rand/assoc
1284         /container_rand_regression_test.tcc: Likewise.
1285         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1286         * testsuite/23_containers/unordered_set
1287         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1288         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1289         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1290         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1291         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1292         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1293         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1294         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1295         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1296         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1297         New.
1298         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1299         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1300         New.
1301         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1302         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1303         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1304         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1305         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1306         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1307         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1308         New.
1309         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1310         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1311         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1312         New.
1313         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1314         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1315         New.
1316         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1317         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1319 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1321         * include/std/type_traits (is_signed): Simplify.
1322         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1323         Adjust dg-error line numbers.
1324         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1325         Likewise.
1326         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1328 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1330         N3669
1331         * include/std/complex (complex<float>::real, complex<float>::imag,
1332         complex<double>::real, complex<double>::imag,
1333         complex<long double>::real, complex<long double>::imag): Declare
1334         as const member functions.
1335         * include/std/type_traits (integral_constant<>::operator value_type):
1336         Likewise.
1338 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1340         PR libstdc++/57010
1341         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1342         * testsuite/25_algorithms/pop_heap/57010.cc: New.
1344 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
1346         * src/c++11/system_error.cc (generic_category_instance): Add
1347         initializer.
1348         (system_category_instance): Likewise.
1349         * src/c++11/future.cc (__fec): Likewise.
1351 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1353         * doc/xml/manual/extensions.xml: Fix anachronism.
1355 2013-04-09  Tom Tromey  <tromey@redhat.com>
1357         * configure, config.h.in: Rebuild.
1358         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1359         sys/sdt.h.
1360         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1362 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1364         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1366 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1368         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1370 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1372         * include/Makefile.am: Add ext/aligned_buffer.h
1373         * include/Makefile.in: Regenerate.
1374         * include/ext/aligned_buffer.h: New.
1375         * include/std/future (_Result): Use __aligned_buffer.
1376         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1377         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1378         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1379         number.
1381 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1383         * include/bits/forward_list.h: Only include required headers.
1384         (forward_list::reference): Define directly, not using __alloc_traits.
1385         (forward_list::const_reference): Likewise.
1387 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1389         * include/std/functional (_Derives_from_unary_function): Remove.
1390         (_Derives_from_binary_function): Remove.
1391         * include/std/type_traits (__sfinae_types): Remove.
1392         (__is_assignable_helper): Adapt.
1393         (__is_convertible_helper): Adapt.
1394         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1395         Remove several explicit instantiations of integral_constant.
1396         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1397         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1398         Adapt dg-error line number.
1399         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1400         Likewise.
1401         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1402         * testsuite/20_util/bind/ref_neg.cc: Likewise.
1404 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1406         PR libstdc++/56841
1407         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1408         get_terminate() accessors.
1409         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1410         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1411         available.
1412         * libsupc++/new_handler.cc: Likewise.
1414 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1416         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1418 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1420         PR libstdc++/56834
1421         * include/debug/array (tuple_size, tuple_element): Do not declare.
1422         * include/profile/array: Likewise.
1423         * testsuite/23_containers/array/tuple_interface/
1424         tuple_element_debug_neg.cc: Adjust dg-error line number.
1426 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1428         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1429         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1430         Define.
1431         (set_terminate(terminate_handler)): Set atomically.
1432         (set_unexpected(terminate_handler)): Likewise.
1433         * libsupc++/new (get_new_handler()): Declare.
1434         * libsupc++/new_handler.cc (get_new_handler()): Define.
1435         (set_new_handler(new_handler)): Set atomically.
1436         (__new_handler): Use internal linkage.
1437         * libsupc++/new_op.cc (operator new): Use get_new_handler().
1438         * libsupc++/new_opnt.cc (operator new): Likewise.
1439         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1440         * configure: Regenerate.
1441         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1442         * libsupc++/Makefile.in: Regenerate.
1443         * config/abi/pre/gnu.ver: Add new exports.
1444         * doc/xml/manual/status_cxx2011.xml: Update.
1445         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1446         for handlers.
1447         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1448         * testsuite/18_support/new_handler.cc: New.
1449         * testsuite/18_support/terminate_handler.cc: New.
1450         * testsuite/18_support/unexpected_handler.cc: New.
1452 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1454         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1455         defer to general documentation on contributing to GCC.
1456         * doc/html/*: Regenerate.
1458 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1460         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1462         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1463         Coding Standards.
1465         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1467         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1469         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1471         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1473         * doc/xml/manual/policy_data_structures: Remove direct link to
1474         IBM Haifa Research Labs.
1476         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1477         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1479         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1480         papers.
1482         * doc/xml/manual/shared_ptr.xml: Use canonical address for
1483         www.boost.org.
1485 2013-03-27  Kai Tietz  <ktietz@redhat.com>
1487         * crossconfig.m4: Add support for cygwin x64 target.
1488         * configure: Regenerated.
1490 2013-03-25  Kai Tietz  <ktietz@redhat.com>
1492         * testsuite/18_support/50594.cc: For mingw-targets use only static
1493         libstdc++-version.
1494         * testsuite/19_diagnostics/error_category/operators/equal.cc
1495         * testsuite/19_diagnostics/error_code/cons/1.cc
1496         * testsuite/19_diagnostics/error_code/operators/bool.cc
1497         * testsuite/19_diagnostics/error_code/operators/equal.cc
1498         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1499         * testsuite/19_diagnostics/error_condition/cons/1.cc
1500         * testsuite/19_diagnostics/error_condition/operators/bool.cc
1501         * testsuite/19_diagnostics/error_condition/operators/equal.cc
1502         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1503         * testsuite/23_containers/set/requirements/exception/basic.cc
1504         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1505         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1507 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1509         PR libstdc++/56170
1510         * include/ext/debug_allocator.h (debug_allocator): Add missing members
1511         to meet allocator requirements.
1512         * testsuite/ext/debug_allocator/56170.cc: New.
1514 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1516         PR libstdc++/56678
1517         * include/std/chrono (__is_ratio): Uglify T.
1519 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
1521         PR libstdc++/55977 (partial, std::vector and std::deque bits)
1522         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1523         _InputIterator, std::input_iterator_tag)): Use emplace_back.
1524         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1525         _InputIterator, std::input_iterator_tag)): Likewise.
1526         * testsuite/23_containers/vector/cons/55977.cc: New.
1527         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1528         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1529         Adjust dg-error line number.
1530         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1531         Likewise.
1533 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
1535         PR libstdc++/55979
1536         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1537         _InputIterator, __false_type)): Use emplace_back.
1538         * testsuite/23_containers/list/cons/55979.cc: New.
1539         * testsuite/23_containers/list/modifiers/1.h: Adjust.
1540         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1541         Adjust dg-error line number.
1543 2013-03-16  Jason Merrill  <jason@redhat.com>
1545         PR c++/55017
1546         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1548 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1550         PR libstdc++/56468
1551         * libsupc++/exception_ptr.h (type_info): Declare.
1553 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1555         PR libstdc++/56002
1556         * include/std/mutex (lock_guard, unique_lock, lock): Define without
1557         depending on _GLIBCXX_HAS_GTHREADS.
1558         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1560 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1562         PR libstdc++/56492
1563         * include/std/future (__future_base::_Result): Add result_type
1564         typedef.
1565         (__future_base::_S_allocate_result): Overload for std::allocator.
1566         (__future_base::_Task_setter): Use _Result::result_type instead of
1567         deducing the type from the task.
1568         (__future_base::_Task_state): Store allocator to allow shared state
1569         to be reset.  Replace std::function with member of target object type
1570         accessed via ...
1571         (__future_base::_Task_state_base): New abstract base class.
1572         (__future_base::_Task_state_base::_M_run): New virtual function to
1573         invoke type-erased target object.
1574         (__future_base::_Task_state_base::_M_reset): New virtual function to
1575         create new shared_state using same target object and allocator.
1576         (__future_base::__create_task_state): Allocate a new _Task_state.
1577         (packaged_task::packaged_task): Use __create_task_state.
1578         (packaged_task::reset): Use _Task_state_base::_M_reset.
1579         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1581 2013-03-15  Tom Tromey  <tromey@redhat.com>
1583         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1584         (PROBE2): New macro.
1585         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1586         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1587         * configure.ac: Check for sys/sdt.h.
1588         * configure, config.h.in: Rebuild.
1590 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1592         PR libstdc++/56613
1593         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1594         allocator_traits instead of calling construct directly.
1595         * testsuite/23_containers/map/56613.cc: New.
1597 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1599         * doc/html/*: Regenerate.
1601 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
1603         PR libstdc++/56609
1604         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1605         * testsuite/20_util/is_fundamental/value.cc: Extend.
1606         * testsuite/20_util/is_compound/value.cc: Likewise.
1608 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
1610         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1611         -Wunused warnings.
1613 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1615         * include/bits/memoryfwd.h: New. Centralize forward declarations.
1616         * include/bits/algorithmfwd.h: Consistent comments.
1617         * include/bits/localefwd.h: Same.
1618         * include/ext/vstring_fwd.h: Same.
1619         * include/parallel/algorithmfwd.h: Same.
1620         * include/parallel/numericfwd.h: Same.
1621         * include/std/iosfwd: Same.
1623         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1624         forward decl.
1625         * include/ext/alloc_traits.h: Remove allocator forward decl.
1626         * include/bits/stl_construct.h: Same.
1627         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1628         forward decl. Consistent comments.
1630         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1632         * include/Makefile.am (bits_headers): Add memoryfwd.h.
1633         * include/Makefile.in: Regenerate.
1634         * configure: Same.
1636 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
1638         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1639         Reset pointers after deallocation when memory can be reused.
1640         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1641         elements to really challenge C++11 allocator integration.
1642         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1643         * testsuite/23_containers/vector/allocator/copy_assign.cc:
1644         Likewise.
1645         * testsuite/23_containers/vector/allocator/move_assign.cc:
1646         Likewise.
1647         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1648         swap vector back before checks on memory/personality mapping are
1649         performed.
1650         * testsuite/23_containers/forward_list/allocator/minimal.cc:
1651         Insert element to really challenge C++11 allocator integration.
1652         * testsuite/23_containers/forward_list/allocator/copy.cc:
1653         Likewise.
1654         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1655         Likewise.
1656         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1657         Likewise.
1658         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1659         and swap forward_list back before checks on memory/personality
1660         mapping are performed.
1662 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
1664         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1665         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1666         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1667         Likewise.
1668         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1669         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1670         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1671         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1672         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1673         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1675 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1677         * scripts/extract_symvers.pl: Omit symbols bound to base
1678         versions.
1679         * scripts/extract_symvers.in: Likewise.
1680         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1681         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1682         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1683         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1684         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1686 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
1688         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1689         Optimize generation function by pulling computation of __r into the
1690         constructor for param_type.  Also compare _M_mu in operator==.
1691         Fix comment.
1693 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
1695         Add triangular and von Mises distributions.
1696         * include/ext/random: Include <ext/cmath>.
1697         Add __gnu_cxx::triangular_distribution<> and
1698         __gnu_cxx::von_mises_distribution<> classes.
1699         * include/ext/random.tcc: Add out-of-line functions for
1700         __gnu_cxx::triangular_distribution<> and
1701         __gnu_cxx::von_mises_distribution<>.
1702         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1703         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1704         * testsuite/ext/triangular_distribution/operators/serialize.cc:
1705         New file.
1706         * testsuite/ext/triangular_distribution/operators/equal.cc:
1707         New file.
1708         * testsuite/ext/triangular_distribution/operators/inequal.cc:
1709         New file.
1710         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1711         New file.
1712         * testsuite/ext/triangular_distribution/requirements/
1713         explicit_instantiation/1.cc: New file.
1714         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1715         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1716         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1717         New file.
1718         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1719         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1720         New file.
1721         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1722         New file.
1723         * testsuite/ext/von_mises_distribution/requirements/
1724         explicit_instantiation/1.cc: New file.
1726         Add math constants.
1727         * include/Makefile.am (ext_headers): Add cmath.
1728         * include/Makefile.in: Regenerated.
1729         * include/ext/cmath: New file.
1731 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1733         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1734         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1735         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1736         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1737         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1739 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1741         PR libstdc++/56012
1742         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
1743         * testsuite/29_atomics/atomic/operators/56012.cc: New.
1745         PR libstdc++/56011
1746         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
1747         missing overload.
1748         * testsuite/29_atomics/atomic/operators/56011.cc: New.
1750 2013-02-25  Jason Merrill  <jason@redhat.com>
1752         * configure.ac: Check for __cxa_thread_atexit_impl.
1753         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
1754         to it if available.
1755         * config.h.in, configure: Regenerate.
1757 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1759         * include/std/streambuf (basic_streambuf): Use injected class name
1760         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
1761         group.
1763 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1765         * doc/html/faq.html: Fix spelling.
1766         * doc/xml/faq.xml: Likewise.
1767         * include/bits/basic_ios.h: Likewise.
1768         * include/bits/regex.h: Likewise.
1769         * include/std/istream: Likewise.
1770         * include/std/streambuf: Likewise.
1772 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1774         * testsuite/23_containers/unordered_set/55043.cc: Add missing
1775         namespace qualification.
1776         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1778 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
1780         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
1781         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
1782         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
1783         * include/bits/stl_pair.h: Add to utilities group.
1784         * include/std/tuple: Same.
1785         * include/std/typeindex: Same.
1787         * include/bits/stringfwd.h: Fix markup.
1788         * include/std/limits: Same.
1789         * include/std/type_traits: Same.
1790         * include/tr1/memory: Same.
1791         * include/tr1/regex: Same.
1792         * scripts/run_doxygen: Comment.
1793         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
1795 2013-02-14  Jason Merrill  <jason@redhat.com>
1797         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
1798         test if unsupported.
1800 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
1802         PR libstdc++/56111
1803         * include/std/complex (complex): Undefine.
1804         * include/c_compatibility/complex.h (complex): Only undefine if
1805         <complex> has been included.
1806         * testsuite/26_numerics/complex/56111.cc: New testcase.
1808 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
1810         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
1811         default constructor protected.
1812         * include/bits/hashtable.h: static assert that _Hash_code_base has
1813         a default constructor available through inheritance.
1815 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1817         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
1818         C++11 mode.
1820 2013-02-12  Julian Brown  <julian@codesourcery.com>
1822         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
1823         Don't expect dots after abbreviated weekday names for ru_RU for
1824         glibc versions >= 2.17.
1825         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
1826         Likewise.
1828 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1830         * include/bits/random.tcc (__transform): Remove.
1831         (__normalize): Add.
1832         (discrete_distribution<>::param_type::_M_initialize): Adjust.
1833         (piecewise_constant_distribution<>::param_type::_M_initialize):
1834         Likewise.
1835         (piecewise_linear_distribution<>::param_type::_M_initialize):
1836         Likewise.
1838 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1840         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
1841         Use -fimplicit-templates.
1842         * src/c++11/Makefile.in: Regenerate.
1843         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
1844         std::lower_bound template.
1846 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1848         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
1849         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
1850         in C++11 mode and if available in the underlying C library.
1851         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
1852         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
1853         _GLIBCXX_HAVE_QUICK_EXIT.
1855 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1857         * doc/html/*: Regenerate.
1859 2013-02-11  Jason Merrill  <jason@redhat.com>
1861         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
1862         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
1863         * config.h.in, configure: Regenerate.
1864         * include/c_std/cstdlib: Add atexit and at_quick_exit.
1865         * include/c_global/cstdlib: Add atexit and at_quick_exit.
1866         * testsuite/18_support/quick_exit/quick_exit.cc: New.
1868 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1870         PR libstdc++/56282
1871         Revert:
1872         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1874         PR libstdc++/56193
1875         * include/bits/basic_ios.h: Replace operator void*() const
1876         with explicit operator bool() const in C++11 and greater.
1877         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1879 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
1880             Jonathan Wakely  <jwakely.gcc@gmail.com>
1882         * doc/xml/manual/containers.xml: Add section on unordered containers.
1883         * doc/xml/manual/using.xml: Fix incomplete sentence.
1885 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
1887         PR libstdc++/56267
1888         * include/bits/hashtable.h (__cache_default): Check if hash function
1889         is copy assignable.
1890         * testsuite/23_containers/unordered_set/56267.cc: New.
1891         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1892         dg-error line number.
1893         * testsuite/23_containers/unordered_set/
1894         not_default_constructible_hash_neg.cc: Likewise.
1896         PR libstdc++/56278
1897         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
1898         constructor public.
1899         * testsuite/23_containers/unordered_set/56278.cc: New.
1901 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
1903         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
1904         simplification.
1906 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
1908         PR libstdc++/56216
1909         * include/tr1/special_function_util.h: Remove spurious const
1910         from numeric arguments.
1911         * include/tr1/riemann_zeta.tcc: Likewise.
1912         * include/tr1/exp_integral.tcc: Likewise.
1913         * include/tr1/bessel_function.tcc: Likewise.
1914         * include/tr1/hypergeometric.tcc: Likewise.
1915         * include/tr1/modified_bessel_func.tcc: Likewise.
1916         * include/tr1/poly_laguerre.tcc: Likewise.
1917         * include/tr1/gamma.tcc: Likewise.
1918         * include/tr1/legendre_function.tcc: Likewise.
1919         * include/tr1/poly_hermite.tcc: Likewise.
1920         * include/tr1/ell_integral.tcc: Likewise.
1921         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
1922         If argument is zero return function value.
1923         * testsuite/tr1/5_numerical_facilities/special_functions/
1924         08_cyl_bessel_i/pr56216.cc: New.
1926 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1928         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
1930 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1932         PR libstdc++/56193
1933         * include/bits/basic_ios.h: Replace operator void*() const
1934         with explicit operator bool() const in C++11 and greater.
1935         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1937 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
1939         Add missing explicit instantiation for std::lower_bound template
1940         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
1941         missing instantiation for std::lower_bound template.
1943 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
1945         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
1946         * include/bits/basic_string.h: Specialize previous to mark
1947         std::hash for string types as slow.
1948         * include/bits/hashtable.h (__cache_default): Replace is_integral
1949         with __is_fast_hash.
1950         * src/c++11/hash_c++0x.cc: Add type_traits include.
1951         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1952         Adapt dg-error line number.
1953         * testsuite/23_containers/unordered_set/
1954         not_default_constructible_hash_neg.cc: Likewise.
1956 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1957             Paolo Carlini  <paolo.carlini@oracle.com>
1959         PR libstdc++/56202 (again)
1960         * include/bits/random.tcc (binomial_distribution<>::
1961         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1962         in previous commit.
1964         * include/bits/random.h: Fix comment typo.
1966 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1967             Paolo Carlini  <paolo.carlini@oracle.com>
1969         PR libstdc++/56202
1970         * include/bits/random.tcc (binomial_distribution<>::
1971         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1972         division by zero.
1974 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1976         Update copyright years.
1977         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1978         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1979         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1980         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1981         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1982         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1983         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1984         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1985         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1986         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1987         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1988         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1989         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1990         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1991         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1992         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1993         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1994         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1995         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1996         Update lines in dg error matches.
1998 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2000         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2002 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
2004         * include/bits/hashtable_policy.h
2005         (_Prime_rehash_policy::_M_next_bkt)
2006         (_Prime_rehash_policy::_M_need_rehash): Move definition...
2007         * src/c++11/hashtable_c++0x.cc: ... here.
2008         * src/shared/hashtable-aux.cc: Remove c++config.h include.
2009         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2010         symbols.
2012 2013-01-29  Jason Merrill  <jason@redhat.com>
2014         PR libstdc++/54314
2015         * config/abi/pre/gnu.ver: Don't export construction vtables.
2016         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2018 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2020         PR libstdc++/56112
2021         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2022         to construct value_type explicitly before trying to extract the key.
2023         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2025 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
2027         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2028         _Hashtable_ebo_helper to embed functors into the local_iterator
2029         when necessary. Pass information about functors involved in hash
2030         code by copy.
2031         * include/bits/hashtable.h (__cache_default): Do not cache for
2032         builtin integral types unless the hash functor is not noexcept
2033         qualified or is not default constructible. Adapt static assertions
2034         and local iterator instantiations.
2035         * include/debug/unordered_set
2036         (std::__debug::unordered_set<>::erase): Detect local iterators to
2037         invalidate using contained node rather than generating a dummy
2038         local_iterator instance.
2039         (std::__debug::unordered_multiset<>::erase): Likewise.
2040         * include/debug/unordered_map
2041         (std::__debug::unordered_map<>::erase): Likewise.
2042         (std::__debug::unordered_multimap<>::erase): Likewise.
2043         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2044         std::tr1 and std versions of unordered_set regardless of any
2045         macro. Add test on default cache behavior.
2046         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2047         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2048         Adapt line number.
2049         * testsuite/23_containers/unordered_set/
2050         not_default_constructible_hash_neg.cc: New.
2051         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2053 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2055         PR libstdc++/56085
2056         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2057         signed overflow.
2059 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2061         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2062         Tightten scan-assembler-times regexps, add dg-additional-options for
2063         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2064         dg-options.
2066 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2067             Jonathan Wakely  <jwakely.gcc@gmail.com>
2069         PR libstdc++/55233
2070         * include/bits/atomic_base.h (__memory_order_modifier): Add
2071         __memory_order_mask, __memory_order_modifier_mask,
2072         __memory_order_hle_acquire, __memory_order_hle_release.
2073         (operator|,operator&): Add.
2074         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
2075         (__cmpexch_failure_order): Add.
2076         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2077         Handle flags.
2078         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2079         Add.
2081 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2083         PR libstdc++/55861
2084         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2085         Fix return type.
2086         (__basic_future::_M_get_result()): Const qualify.
2087         (shared_future::get()): Likewise.
2088         * testsuite/30_threads/shared_future/members/get.cc: Use const
2089         objects.
2091 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2093         PR libstdc++/55043 (again)
2094         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2095         unless construction would be well-formed.
2096         (__allow_copy_cons, __check_copy_constructible): Define.
2097         * include/bits/unordered_map.h (__check_copy_constructible): Use as
2098         base class so copy constructor will be deleted if appropriate.
2099         (is_copy_constructible): Remove specialization.
2100         * include/bits/unordered_set.h: Likewise.
2101         * include/debug/unordered_map.h: Undo previous commit. Default copy
2102         and move constructors.
2103         * include/debug/unordered_set.h: Likewise.
2104         * include/profile/unordered_map.h: Undo previous commit.
2105         * include/profile/unordered_set.h: Likewise.
2106         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2107         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2108         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2109         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2110         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2111         cannot support incomplete types.
2112         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2113         Likewise.
2115 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2117         PR libstdc++/55043
2118         * include/std/unordered_map: Include alloc_traits.h
2119         * include/std/unordered_set: Likewise.
2120         * include/bits/alloc_traits.h: Define __is_copy_insertable.
2121         * include/bits/unordered_map.h: Use it.
2122         * include/bits/unordered_set.h: Likewise.
2123         * include/debug/unordered_map.h: Likewise.
2124         * include/debug/unordered_set.h: Likewise.
2125         * include/profile/unordered_map.h: Likewise.
2126         * include/profile/unordered_set.h: Likewise.
2127         * include/bits/hashtable.h: Fix comment typos.
2128         * testsuite/23_containers/unordered_map/55043.cc: New.
2129         * testsuite/23_containers/unordered_multimap/55043.cc: New.
2130         * testsuite/23_containers/unordered_multiset/55043.cc: New.
2131         * testsuite/23_containers/unordered_set/55043.cc: New.
2133 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
2135         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2136         gdb command.
2138 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2140         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2142 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2144         PR libstdc++/55908
2145         * include/std/functional (_Mem_fn::operator()): Fix constraints to
2146         avoid ambiguity.
2147         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2148         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2150 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2152         PR libstdc++/55594
2153         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2154         Solaris targets.
2155         * configure: Regenerate.
2157 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2159         PR libstdc++/55847
2160         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2161         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2162         string.
2164         PR libstdc++/55728
2165         * include/std/functional (bad_function_call::what()): Declare.
2166         * src/c++11/functional.cc (bad_function_call::what()): Define.
2167         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2168         * testsuite/20_util/bad_function_call/what.cc: New.
2170 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2172         * include/bits/unordered_map.h: Fix typo in comments.
2173         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2174         counts for unordered associative containers.
2176 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2178         * doc/xml/manual/abi.xml: Update library and symbol versions.
2180 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2182         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2183         in copyright years.
2184         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2187 Copyright (C) 2013 Free Software Foundation, Inc.
2189 Copying and distribution of this file, with or without modification,
2190 are permitted in any medium without royalty provided the copyright
2191 notice and this notice are preserved.