2013-07-30 Steve Ellcey <sellcey@mips.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob29b98e4ae7fd4dbae1c0a607d5197f3c90e42d27
1 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
3         Revert last commit.
5 2013-07-30  Tim Shen  <timshen91@gmail.com>
7         Thompson matcher refactored. Fix grouping problem.
8         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
9         * include/bits/regex_compiler.h: Tweak for auto switching.
10         * include/bits/regex_grep_matcher.h: Class structure.
11         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
12         matcher) refactoring.
13         * include/bits/regex_nfa.h: Change _Results's interfaces.
14         * include/std/regex: Includes <map> and <queue>.
15         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
16         For both matchers.
17         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
18         For both matchers.
19         * testsuite/28_regex/algorithms/regex_match/extended/
20         string_dispatch_01.cc: New.
22 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
24         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
25         Add call to __cmpexch_failure_order.
26         * testsuite/util/testsuite_common_types.h
27         (compare_exchange_order_lowering): New generator.
28         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
29         New test.
31 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
33         * include/std/complex (pow(const complex<>&, int)): Enable in
34         C++11 mode too.
35         * testsuite/26_numerics/complex/dr844.cc: Adjust.
36         * doc/xml/manual/intro.xml: Update.
38 2013-07-25  Tim Shen  <timshen91@gmail.com>
40         Add documents and comments.
41         * include/bits/regex.h: Documents and comments.
42         * include/bits/regex_grep_matcher.h: Likewise.
43         * include/bits/regex_grep_matcher.tcc: Likewise.
44         * testsuite/28_regex/iterators/regex_iterator/char/
45         string_position_01.cc: New.
47 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
49         PR libstdc++/57976
50         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
51         time_get::do_get.
53 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
55         * include/bits/random.h (random_device): Avoid using the FILE type.
56         * include/std/random: Do not include <cstdio>.
57         * src/c++11/random.cc: ... include it here.
58         (random_device::_M_init, random_device::_M_fini,
59         random_device::_M_getval): Cast back and forth void* and FILE*.
61 2013-07-24  Tim Shen  <timshen91@gmail.com>
63         Reimplment matcher using Depth-first search(backtracking).
64         PR libstdc++/53622
65         PR libstdc++/57173
66         * include/bits/regex.h: regex_match() and regex_search().
67         * include/bits/regex_cursor.h: Fix _M_set_pos().
68         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
69         * include/bits/regex_grep_matcher.tcc: Implement it.
70         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
71         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
72         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
73         Remove xfail.
75 2013-07-23  Tim Shen  <timshen91@gmail.com>
77         Implement regex_iterator and regex_token_iterator.
78         * include/bits/regex.h: regex_iterator and regex_token_iterator.
79         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
80         New.
81         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
82         New.
83         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
84         New.
85         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
86         string_01.cc: New.
88 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
90         * include/std/random: Add back <cstdio> include.
91         * src/c++11/random.cc: Don't include <cstdio> here.
93 2013-07-22  Jason Merrill  <jason@redhat.com>
95         PR libstdc++/57914
96         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
98 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
100         PR c++/57920
101         * src/c++11/random.cc (random_device::_M_getval): If possible, use
102         read instead of std::fread.
103         * include/std/random: Do not include <cstdio> unnecessarily.
105 2013-07-21  Tim Shen  <timshen91@gmail.com>
107         Partially implement regex_search.
108         * include/bits/regex.h: regex_search.
109         * include/bits/regex_grep_matcher.h: _M_search_from_first.
110         * include/bits/regex_grep_matcher.tcc: Implement it.
111         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
113 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
115         PR libstdc++/54352
116         * include/std/condition_variable (condition_variable_any): Move into
117         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
118         * src/c++11/condition_variable.cc (condition_variable_any): Move
119         definitions to ...
120         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
121         * src/Makefile.am: Add new source file.
122         * src/Makefile.in: Regenerate.
124 2013-07-09  Tim Shen  <timshen91@gmail.com>
126         Implement class regex_traits.
127         * include/bits/regex.h: Implement lookup_classname and
128         lookup_collatename; modify isctype; partially implement
129         transform_primary.
130         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
131         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
132         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
133         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
134         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
135         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
136         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
137         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
139 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
141         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
143 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
145         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
146         pattern.
147         (_MoveReuseOrAllocNode): Remove.
148         (_Insert_base): Take a functor defining how the node is generated.
149         * include/bits/hashtable.h: Adapt.
150         (operator=(initializer_list<value_type>)): Reuse node if any.
151         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
152         Adjust dg-error line number.
153         * testsuite/23_containers/unordered_set/
154         not_default_constructible_hash_neg.cc: Likewise.
156 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
158         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
159         Tweak, avoid potential undefined behavior.
160         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
161         Likewise.
162         * testsuite/23_containers/vector/bool/modifiers/insert/
163         const_iterator.cc: Likewise.
164         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
165         Likewise.
167 2013-07-04  Veres Lajos  <vlajos@gmail.com>
168             Jonathan Wakely  <jwakely.gcc@gmail.com>
170         * config/locale/generic/codecvt_members.cc: Fix typo.
171         * configure.host: Likewise.
172         * doc/html/manual/policy_data_structures_design.html: Likewise.
173         * doc/xml/manual/policy_data_structures.xml: Likewise.
174         * include/bits/hashtable.h: Likewise.
175         * include/bits/random.h: Likewise.
176         * include/profile/impl/profiler_trace.h: Likewise.
177         * testsuite/23_containers/deque/cons/2.cc: Likewise.
178         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
179         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
180         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
182 2013-07-04  Ray Chason  <chasonr@newsguy.com>
183             Paolo Carlini  <paolo.carlini@oracle.com>
185         PR libstdc++/57808
186         * include/bits/regex.h (regex_token_iterator<>::operator==,
187         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
188         regex_token_iterator<>::operator->): Declare const.
190 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
192         * include/bits/stl_list.h (list<>::insert(iterator,
193         size_type, const value_type&), list<>::insert(iterator,
194         initializer_list<>), list<>::insert(iterator, _InputIterator,
195         _InputIterator), list<>::splice(iterator, list&&),
196         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
197         iterator), list<>::splice(iterator, list&, iterator),
198         list<>::splice(iterator, list&&, iterator, iterator),
199         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
200         signatures to take const_iterator(s).
201         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
202         const value_type&), list<>::insert(const_iterator, _InputIterator,
203         _InputIterator)): Define.
204         * include/ext/vstring.h (__versa_string<>::insert(iterator,
205         size_type, _CharT), __versa_string<>::insert(iterator,
206         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
207         std::initializer_list<>), __versa_string<>::replace(iterator,
208         iterator, _InputIterator, _InputIterator), __versa_string<>::
209         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
210         signatures to take const_iterator(s).
211         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
212         * include/ext/vstring.tcc: Likewise.
213         * include/debug/list: Adjust.
214         * include/profile/list: Likewise.
215         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
216         New.
217         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
218         Extend.
219         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
220         Likewise.
221         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
222         Likewise.
223         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
224         Likewise.
225         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
226         Likewise.
228         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
229         Adjust dg-error line number.
230         * testsuite/23_containers/list/requirements/dr438/
231         constructor_1_neg.cc: Likewise.
232         * testsuite/23_containers/list/requirements/dr438/
233         constructor_2_neg.cc: Likewise.
234         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
235         Likewise.
237 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
239         * include/bits/stl_deque.h (deque<>::insert(iterator,
240         size_type, const value_type&), deque<>::insert(iterator,
241         initializer_list<>), deque<>::insert(iterator, _InputIterator,
242         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
243         * include/bits/stl_vector.h: Likewise.
244         * include/bits/stl_bvector.h: Likewise.
245         * include/debug/deque: Adjust.
246         * include/debug/vector: Likewise.
247         * include/profile/deque: Likewise.
248         * include/profile/vector: Likewise.
249         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
250         Extend.
251         * testsuite/23_containers/vector/bool/modifiers/insert/
252         const_iterator.cc: Likewise.
253         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
254         Likewise.
256         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
257         Adjust dg-error line number.
258         * testsuite/23_containers/deque/requirements/dr438/
259         constructor_1_neg.cc: Likewise.
260         * testsuite/23_containers/deque/requirements/dr438/
261         constructor_2_neg.cc: Likewise.
262         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
263         Likewise.
264         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
265         Likewise.
266         * testsuite/23_containers/vector/requirements/dr438/
267         constructor_1_neg.cc: Likewise.
268         * testsuite/23_containers/vector/requirements/dr438/
269         constructor_2_neg.cc: Likewise.
270         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
271         Likewise.
273 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
275         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
276         insert methods.
277         * include/bits/hashtable.h: Likewise.
278         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
279         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
280         New.
281         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
282         Adjust dg-error line number.
283         * testsuite/23_containers/unordered_set/
284         not_default_constructible_hash_neg.cc: Likewise.
285         * doc/xml/manual/containers.xml: Document hinting in unordered
286         containers.
288 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
290         * testsuite/21_strings/basic_string/operations/*: Move inside
291         testsuite/21_strings/basic_string/operations/data/.
292         * testsuite/21_strings/basic_string/compare/*: Move inside
293         testsuite/21_strings/basic_string/operations/.
294         * testsuite/21_strings/basic_string/find/*: Likewise.
295         * testsuite/21_strings/basic_string/rfind/*: Likewise.
296         * testsuite/21_strings/basic_string/substr/*: Likewise.
298 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
300         * testsuite/21_strings/basic_string/append/*: Move inside
301         testsuite/21_strings/basic_string/modifiers/.
302         * testsuite/21_strings/basic_string/assign/*: Likewise.
303         * testsuite/21_strings/basic_string/insert/*: Likewise.
304         * testsuite/21_strings/basic_string/replace/*: Likewise.
305         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
306         pop_back.cc: Rename to 1.cc.
307         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
308         pop_back.cc: Likewise.
309         * testsuite/ext/vstring/assign/*: Move inside
310         testsuite/ext/vstring/modifiers/.
312 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
314         * include/bits/stl_deque.h (deque<>::insert(iterator,
315         const value_type&), deque<>::insert(iterator, value_type&&),
316         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
317         take a const_iterator.
318         (deque<>::erase): Simplify.
319         * include/bits/stl_list.h: Likewise.
320         (_List_iterator<>::_M_const_cast): Add.
321         * include/bits/stl_vector.h: Likewise.
322         * include/bits/stl_bvector.h: Likewise.
323         (_Bit_iterator::_M_const_cast): Add.
324         * include/bits/deque.tcc: Adjust definitions.
325         * include/bits/list.tcc: Likewise.
326         * include/bits/vector.tcc: Likewise.
327         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
328         Define trivial version in C++98 mode.
329         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
330         __versa_string<>::replace(iterator, iterator, const __versa_string&),
331         __versa_string<>::replace(iterator, iterator, const _CharT*,
332         size_type), __versa_string<>::replace(iterator, iterator,
333         const _CharT*), __versa_string<>::replace(iterator, iterator,
334         size_type, _CharT)): Adjust C++11 signatures to take a pair of
335         const_iterators.
336         * include/debug/deque: Adjust.
337         * include/debug/list: Likewise.
338         * include/debug/vector: Likewise.
339         * include/profile/deque: Likewise.
340         * include/profile/list: Likewise.
341         * include/profile/vector: Likewise.
342         (vector<>::emplace): Add.
343         * testsuite/util/exception/safety.h: Update.
344         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
345         New.
346         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
347         Likewise.
348         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
349         Likewise.
350         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
351         Likewise.
352         * testsuite/23_containers/vector/bool/modifiers/insert/
353         const_iterator.cc: Likewise.
354         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
355         Likewise.
356         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
357         Likewise.
358         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
359         Likewise.
360         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
361         Likewise.
362         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
363         Likewise.
364         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
365         Likewise.
367         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
368         ext/vstring/modifiers/erase/char/.
369         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
370         ext/vstring/modifiers/wchar_t/.
371         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
372         ext/vstring/modifiers/pop_back/char/.
373         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
374         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
376         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
377         Adjust dg-error line number.
378         * testsuite/23_containers/deque/requirements/dr438/
379         constructor_1_neg.cc: Likewise.
380         * testsuite/23_containers/deque/requirements/dr438/
381         constructor_2_neg.cc: Likewise.
382         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
383         Likewise.
384         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
385         Likewise.
386         * testsuite/23_containers/list/requirements/dr438/
387         constructor_1_neg.cc: Likewise.
388         * testsuite/23_containers/list/requirements/dr438/
389         constructor_2_neg.cc: Likewise.
390         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
391         Likewise.
392         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
393         Likewise.
394         * testsuite/23_containers/vector/requirements/dr438/
395         constructor_1_neg.cc: Likewise.
396         * testsuite/23_containers/vector/requirements/dr438/
397         constructor_2_neg.cc: Likewise.
398         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
399         Likewise.
401 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
403         Status page for C++2014 library features
404         * doc/xml/faq.xml: Add link to new C++14 status page.
405         * doc/xml/manual/intro.xml: Ditto.
406         * doc/xml/manual/status_cxx2014.xml: New.
408 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
410         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
411         spurious fails with check-debug.
412         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
413         Likewise.
414         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
415         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
416         Likewise.
418 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
420         PR libstdc++/57704
421         * include/bits/char_traits.h (char_traits<char>::lt): Implement
422         LWG 467.
423         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
425 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
427         PR libstdc++/57691
428         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
429         declare per the letter of the C++ standard in terms of void.
430         * include/c_std/cstdlib: Likewise.
432 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
434         PR libstdc++/57674
435         * include/bits/random.h (binomial_distribution<>::_M_waiting):
436         Add double parameter.
437         * include/bits/random.tcc (binomial_distribution<>::operator()
438         (_UniformRandomNumberGenerator&, const param_type&)): Pass
439         __param._M_q to _M_waiting.
440         (_M_waiting): Adjust.
441         * testsuite/26_numerics/random/binomial_distribution/
442         operators/values.cc: Add tests.
444 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
446         PR libstdc++/57666
447         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
448         Implement correctly C++11 26.6.2.3/1.
449         * testsuite/26_numerics/valarray/dr630-3.C: New.
451 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
453         PR libstdc++/57641
454         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
455         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
456         to handle conversion between different clocks. Replace constrained
457         __try_lock_for_impl overloads with conditional increment.
458         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
459         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
461 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
462             Chris Jefferson  <chris@bubblescope.net>
464         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
465         dispatch to traditional std::equal for random-access iterators.
466         (__equal2_aux, __equal2): Remove.
467         (__equal::equal): Remove unused overloads.
468         * include/bits/stl_algo.h (is_permutation): Fix typos.
470 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
472         * include/std/shared_mutex (shared_lock::operator=): Add missing
473         return statement.
475 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
477         PR libstdc++/57263
478         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
479         allocator's pointer type.
480         * include/bits/hashtable.h (_Hashtable): Likewise.
481         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
482         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
483         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
484         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
486 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
488         * include/std/shared_mutex: Implement N3659.
489         * include/bits/c++14_warning.h: New.
490         * include/Makefile.am: Add new headers.
491         * include/Makefile.in: Regenerate.
492         * testsuite/30_threads/shared_lock/cons/1.cc: New.
493         * testsuite/30_threads/shared_lock/locking/2.cc: New.
494         * testsuite/30_threads/shared_lock/cons/2.cc: New.
495         * testsuite/30_threads/shared_lock/locking/3.cc: New.
496         * testsuite/30_threads/shared_lock/cons/3.cc: New.
497         * testsuite/30_threads/shared_lock/locking/4.cc: New.
498         * testsuite/30_threads/shared_lock/cons/4.cc: New.
499         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
500         * testsuite/30_threads/shared_lock/cons/5.cc: New.
501         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
502         * testsuite/30_threads/shared_lock/cons/6.cc: New.
503         * testsuite/30_threads/shared_lock/requirements/
504         explicit_instantiation.cc: New.
505         * testsuite/30_threads/shared_lock/locking/1.cc: New.
506         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
507         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
508         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
509         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
510         * testsuite/30_threads/shared_mutex/requirements/
511         standard_layout.cc: New.
512         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
513         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
515 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
517         PR libstdc++/57619
518         * include/bits/unordered_map.h (unordered_map<>::insert,
519         unordered_multimap<>::insert): Use std::forward, not std::move.
520         * testsuite/23_containers/unordered_map/insert/57619.C: New.
521         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
523 2013-06-14  Alan Modra  <amodra@gmail.com>
525         * configure.host (abi_baseline_pair): Match powerpc64*.
527 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
529         * include/std/type_traits (is_function): Support ref-qualified
530         functions.
531         (is_copy_constructible, is_move_constructible, is_copy_assignable,
532         is_move_assignable, is_nothrow_copy_constructible,
533         is_nothrow_move_constructible, is_nothrow_copy_assignable,
534         is_nothrow_move_assignable): Implement LWG 2196.
535         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
536         LWG 2101.
537         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
538         unused.
539         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
540         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
541         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
542         * testsuite/20_util/is_assignable/value.cc: Likewise.
543         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
544         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
545         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
546         * testsuite/20_util/is_function/value.cc: Likewise.
547         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
548         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
549         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
550         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
551         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
552         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
554         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
555         line number.
556         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
557         Likewise.
558         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
559         Likewise.
561 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
563         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
564         __gnu_cxx::__airy_bi()): Remove.
565         * testsuite/tr1/5_numerical_facilities/special_functions/
566         10_cyl_bessel_k/airy.cc: Fix.
568 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
570         PR libstdc++/56430
571         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
572         from void function.
573         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
574         * testsuite/tr1/5_numerical_facilities/special_functions/
575         10_cyl_bessel_k/airy.cc: New.
577 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
579         Fix library literals error involving namespace __detail.
580         * include/std/chrono: Rename __detail to __select_type. Reformat.
581         * include/bits/basic_string.h: Reformat.
582         * testsuite/20_util/duration/literals/ns_detail.cc: New.
584 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
586         PR libstdc++/56019
587         * include/c_global/cstddef (max_align_t): Add to namespace std.
588         * include/c_std/cstddef: Likewise.
589         * testsuite/18_support/max_align_t/requirements/1.cc: New.
590         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
592 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
594         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
595         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
596         * include/bits/stl_multimap.h: Same.
597         * include/bits/stl_multiset.h: Same.
598         * include/bits/stl_set.h: Same.
599         * include/bits/stl_tree.h: Same.
600         * include/std/complex (real, imag): Use macro for abi_tag.
602         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
603         * testsuite/util/testsuite_containers.h (erase_external): New
604         declarations.
605         (erase_external_iterators): Same.
606         (linkage_check_cxx98_cxx11_erase): Same.
607         (linkage_check_cxx98_cxx11_erase_iterators): Same.
608         * testsuite/util/testsuite_shared.cc: Define.
609         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
610         * testsuite/23_containers/map/modifiers/erase/
611         dr130-linkage-check.cc: New.
612         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
613         * testsuite/23_containers/multimap/modifiers/erase/
614         dr130-linkage-check.cc: New.
615         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
616         * testsuite/23_containers/multiset/modifiers/erase/
617         dr130-linkage-check.cc: New.
618         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
619         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
620         New.
621         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
623         * testsuite/23_containers/map/dr130.cc: Move...
624         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
625         * testsuite/23_containers/multimap/dr130.cc: Move ...
626         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
627         * testsuite/23_containers/multiset/dr130.cc: Move...
628         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
629         * testsuite/23_containers/set/dr130.cc: Move...
630         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
632 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
634         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
635         handling of Linux-based x86 systems to cover all GNU systems.
636         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
637         * testsuite/18_support/pthread_guard.cc: Likewise.
638         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
639         Likewise.
640         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
641         Likewise.
642         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
643         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
644         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
645         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
646         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
647         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
648         * testsuite/23_containers/list/pthread1.cc: Likewise.
649         * testsuite/23_containers/list/pthread5.cc: Likewise.
650         * testsuite/23_containers/map/pthread6.cc: Likewise.
651         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
652         Likewise.
653         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
654         Likewise.
655         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
656         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
657         * testsuite/30_threads/async/42819.cc: Likewise.
658         * testsuite/30_threads/async/49668.cc: Likewise.
659         * testsuite/30_threads/async/54297.cc: Likewise.
660         * testsuite/30_threads/async/any.cc: Likewise.
661         * testsuite/30_threads/async/async.cc: Likewise.
662         * testsuite/30_threads/async/launch.cc: Likewise.
663         * testsuite/30_threads/async/sync.cc: Likewise.
664         * testsuite/30_threads/call_once/39909.cc: Likewise.
665         * testsuite/30_threads/call_once/49668.cc: Likewise.
666         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
667         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
668         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
669         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
670         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
671         * testsuite/30_threads/condition_variable/members/53841.cc:
672         Likewise.
673         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
674         Likewise.
675         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
676         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
677         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
678         * testsuite/30_threads/condition_variable_any/members/1.cc:
679         Likewise.
680         * testsuite/30_threads/condition_variable_any/members/2.cc:
681         Likewise.
682         * testsuite/30_threads/future/cons/move.cc: Likewise.
683         * testsuite/30_threads/future/members/45133.cc: Likewise.
684         * testsuite/30_threads/future/members/get.cc: Likewise.
685         * testsuite/30_threads/future/members/get2.cc: Likewise.
686         * testsuite/30_threads/future/members/share.cc: Likewise.
687         * testsuite/30_threads/future/members/valid.cc: Likewise.
688         * testsuite/30_threads/future/members/wait.cc: Likewise.
689         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
690         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
691         * testsuite/30_threads/lock/1.cc: Likewise.
692         * testsuite/30_threads/lock/2.cc: Likewise.
693         * testsuite/30_threads/lock/3.cc: Likewise.
694         * testsuite/30_threads/lock/4.cc: Likewise.
695         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
696         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
697         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
698         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
699         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
700         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
701         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
702         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
703         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
704         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
705         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
706         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
707         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
708         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
709         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
710         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
711         Likewise.
712         * testsuite/30_threads/packaged_task/members/get_future.cc:
713         Likewise.
714         * testsuite/30_threads/packaged_task/members/get_future2.cc:
715         Likewise.
716         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
717         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
718         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
719         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
720         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
721         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
722         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
723         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
724         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
725         * testsuite/30_threads/promise/cons/1.cc: Likewise.
726         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
727         * testsuite/30_threads/promise/cons/move.cc: Likewise.
728         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
729         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
730         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
731         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
732         * testsuite/30_threads/promise/members/set_exception2.cc:
733         Likewise.
734         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
735         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
736         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
737         * testsuite/30_threads/promise/members/swap.cc: Likewise.
738         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
739         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
740         Likewise.
741         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
742         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
743         Likewise.
744         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
745         Likewise.
746         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
747         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
748         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
749         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
750         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
751         Likewise.
752         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
753         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
754         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
755         Likewise.
756         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
757         Likewise.
758         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
759         Likewise.
760         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
761         Likewise.
762         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
763         Likewise.
764         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
765         Likewise.
766         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
767         Likewise.
768         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
769         Likewise.
770         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
771         Likewise.
772         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
773         Likewise.
774         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
775         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
776         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
777         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
778         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
779         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
780         * testsuite/30_threads/shared_future/members/wait_for.cc:
781         Likewise.
782         * testsuite/30_threads/shared_future/members/wait_until.cc:
783         Likewise.
784         * testsuite/30_threads/this_thread/1.cc: Likewise.
785         * testsuite/30_threads/this_thread/2.cc: Likewise.
786         * testsuite/30_threads/this_thread/3.cc: Likewise.
787         * testsuite/30_threads/this_thread/4.cc: Likewise.
788         * testsuite/30_threads/thread/cons/1.cc: Likewise.
789         * testsuite/30_threads/thread/cons/2.cc: Likewise.
790         * testsuite/30_threads/thread/cons/3.cc: Likewise.
791         * testsuite/30_threads/thread/cons/4.cc: Likewise.
792         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
793         * testsuite/30_threads/thread/cons/5.cc: Likewise.
794         * testsuite/30_threads/thread/cons/6.cc: Likewise.
795         * testsuite/30_threads/thread/cons/7.cc: Likewise.
796         * testsuite/30_threads/thread/cons/8.cc: Likewise.
797         * testsuite/30_threads/thread/cons/9.cc: Likewise.
798         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
799         * testsuite/30_threads/thread/members/1.cc: Likewise.
800         * testsuite/30_threads/thread/members/2.cc: Likewise.
801         * testsuite/30_threads/thread/members/3.cc: Likewise.
802         * testsuite/30_threads/thread/members/4.cc: Likewise.
803         * testsuite/30_threads/thread/members/5.cc: Likewise.
804         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
805         Likewise.
806         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
807         * testsuite/30_threads/thread/native_handle/typesizes.cc:
808         Likewise.
809         * testsuite/30_threads/thread/swap/1.cc: Likewise.
810         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
811         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
812         Likewise.
813         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
814         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
815         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
816         Likewise.
817         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
818         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
819         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
820         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
821         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
822         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
823         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
824         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
825         * testsuite/30_threads/try_lock/1.cc: Likewise.
826         * testsuite/30_threads/try_lock/2.cc: Likewise.
827         * testsuite/30_threads/try_lock/3.cc: Likewise.
828         * testsuite/30_threads/try_lock/4.cc: Likewise.
829         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
830         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
831         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
832         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
833         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
834         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
835         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
836         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
837         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
838         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
839         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
840         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
841         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
842         * testsuite/ext/profile/mh.cc: Likewise.
843         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
844         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
845         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
846         Likewise.
847         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
848         Likewise.
849         * testsuite/util/testsuite_performance.h: Extend current handling
850         of Linux-based systems to cover all glibc-based systems.
852 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
854         * include/std/mutex (call_once): Remove parentheses to fix error in
855         c++1y and gnu++1y mode.
856         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
857         thread to avoid undefined behaviour.
859 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
861         Simplify and clean up library literals.
862         * include/std/chrono: Simplify namespace and versioning management.
863         * include/bits/basic_string.h: Ditto.
864         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
865         * testsuite/20_util/duration/literals/values.cc: Ditto.
866         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
867         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
869 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
871         Implement N3654 - Quoted Strings Library Proposal
872         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
873         manipulators and supporting machinery in c++1y mode.
874         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
875         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
877 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
879         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
880         2162: Add noexcept.
882 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
884         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
885         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
886         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
887         * testsuite/25_algorithms/equal/2.cc: New.
888         * testsuite/25_algorithms/equal/check_type2.cc: New.
889         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
890         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
891         * testsuite/25_algorithms/mismatch/2.cc: New.
892         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
893         * testsuite/util/testsuite_iterators.h: Fix spelling.
895 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
897         * include/std/type-traits (integral_constant::operator()): Implement
898         N3545.
899         * testsuite/20_util/integral_constant/call_operator.cc: New.
900         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
901         line numbers.
902         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
903         Likewise.
904         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
905         Likewise.
907 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
909         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
911 2013-06-05  Tom Tromey  <tromey@redhat.com>
913         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
915 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
917         PR c++/57419
918         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
920 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
922         * include/std/chrono: Collapse redundant 'inline' from 'inline
923         constexpr'.
924         * include/std/tuple: Ditto.
925         * include/bits/move.h: Ditto.
927 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
929         Implement N3642 - User-defined Literals for Standard Library Types
930         * include/bits/parse_numbers.h: New.
931         * include/std/chrono: Add duration literal operators.
932         * include/bits/basic_string.h: Add string literal operators.
933         * include/Makefile.in: Add parse_numbers.h.
934         * include/Makefile.am: Ditto.
935         * testsuite/20_util/duration/literals/values.cc: New.
936         * testsuite/20_util/duration/literals/types.cc: New.
937         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
938         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
939         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
940         * testsuite/21_strings/basic_string/literals/values.cc: New.
941         * testsuite/21_strings/basic_string/literals/types.cc: New.
943 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
945         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
946         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
947         calling non-existent from_time_t.
949 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
951         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
952         Regenerate.
954 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
956         * include/std/chrono: Wrap clocks in inline namespace _V2.
957         * src/c++11/chrono.cc: Same.
958         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
959         file, with default configure macros selected.
961         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
962         namespace.
963         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
965         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
966         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
967         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
968         Regenerated.
969         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
970         Regenerated.
971         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
972         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
973         Regenerated.
974         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
975         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
976         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
977         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
978         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
979         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
980         Regenerated.
981         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
982         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
984 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
986         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
987         (CLOCK_MONOTONIC): Define.
989 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
991         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
992         overload.
994         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
996 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
998         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
999         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
1000         don't define system_clock::is_steady, system_clock::now() and
1001         steady_clock::is_steady.
1002         (std::chrono::system_clock::now()): If
1003         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1004         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1005         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
1006         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1007         be non-empty.
1008         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1009         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1010         * src/c++11/compatibility-chrono.cc: New file.
1011         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1012         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1013         * testsuite/util/testsuite_abi.cc (check_version): Add
1014         GLIBCXX_3.4.20 version and make it the latest.
1015         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1016         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
1017         @@GLIBCXX_3.4.20 instead.
1018         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1019         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1020         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1021         Regenerated.
1022         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1023         Regenerated.
1024         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1025         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1026         Regenerated.
1027         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1028         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1029         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1030         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1031         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1032         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1033         Regenerated.
1034         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1035         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1036         * config.h.in: Regenerated.
1037         * src/Makefile.in: Regenerated.
1038         * configure: Regenerated.
1040 2013-05-23  Matthias Klose  <doko@ubuntu.com>
1042         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1043         (ext_headers): Remove ${ext_host_headers}.
1044         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1045         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1046         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1047         * include/Makefile.in: Regenerate.
1048         * include/ext/random: Include ext/opt_random.h.
1050 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1052         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1053         enable features if target OS is known to support them.
1054         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1055         * configure: Regenerate.
1057 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1059         PR libstdc++/57336
1060         * include/std/functional (__invoke): Do not form function types with
1061         abstract return type.
1062         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1064 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1066         * include/std/tuple (get): Implement N3670.
1067         * include/std/utility (get): Likewise.
1068         * testsuite/20_util/pair/get.cc: Move to ...
1069         * testsuite/20_util/pair/astuple/get.cc: Here.
1070         * testsuite/20_util/pair/astuple/astuple.cc: New.
1071         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1072         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1073         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1074         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1075         * testsuite/20_util/pair/astuple/get_neg.cc: New.
1076         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1077         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1078         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1080 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1082         * Revert last commit.
1084 2013-05-19  Matthias Klose  <doko@ubuntu.com>
1086         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1087         (ext_headers): Remove ${ext_host_headers}.
1088         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1089         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1090         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1091         * include/Makefile.in: Regenerate.
1093 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1095         * include/std/system_error (error_category::error_category()): LWG
1096         2145: Declare public and constexpr.
1097         * src/c++11/system_error.cc (error_category::error_category()): Move
1098         definition to ...
1099         * src/c++11/compatibility-c++0x.cc: Here.
1101 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1103         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1105 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1107         * include/bits/unique_ptr.h (make_unique): Declare inline.
1108         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1109         (default_delete, unique_ptr): Add doxygen comments.
1110         * include/bits/shared_ptr_base.h: Improve doxygen comments.
1111         * include/bits/shared_ptr.h: Likewise.
1112         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1113         number.
1114         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1116 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1118         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1120 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1122         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1124 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1126         * include/std/utility (exchange): Define.
1127         * testsuite/20_util/exchange/1.cc: New.
1129 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1131         * include/bits/unique_ptr.h (make_unique): Define.
1132         * testsuite/20_util/unique_ptr/creation/single.cc: New.
1133         * testsuite/20_util/unique_ptr/creation/array.cc: New.
1134         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1136 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
1138         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1139         rendering of std::tr1 unordered containers iterator.
1140         (StdHashtableIterator): New, render std unordered containers iterator.
1141         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1143 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1145         * include/bits/basic_string.h (getline): Fix doxygen comments.
1147 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
1149         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1150         Use std::pointer_traits.
1152 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1154         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1155         bad_array_new.cc.
1156         * libsupc++/Makefile.in: Regenerate.
1157         * libsupc++/bad_array_length.cc: Tweak.
1158         * libsupc++/bad_array_new.cc: Tweak.
1160 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1162         PR libstdc++/54577
1163         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1164         (_Deque_iterator<>::_M_const_cast): Add.
1165         (deque<>::_M_erase): Declare.
1166         * include/bits/deque.tcc: ... and define.
1167         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1168         (_List_const_iterator<>::_M_const_cast): Add.
1169         * include/bits/list.tcc (erase (iterator)): Fix.
1170         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1171         Add; include <ext/cast.h>.
1172         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1173         (vector<>::_M_erase): Declare.
1174         * include/bits/stl_bvector.h: Likewise.
1175         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1176         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1177         * include/debug/deque: Adjust.
1178         * include/debug/list: Likewise.
1179         * include/debug/vector: Likewise.
1180         * include/profile/deque: Likewise.
1181         * include/profile/list: Likewise.
1182         * include/profile/vector: Likewise.
1183         * testsuite/util/exception/safety.h (erase_base<deque>,
1184         erase_base<deque>, erase_base<vector>): Remove.
1185         (erase_base<__versa_string>): Update.
1186         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1187         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1188         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1189         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1190         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1191         Likewise.
1192         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1193         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1194         Adjust dg-error line numbers.
1195         * testsuite/23_containers/deque/requirements/dr438/
1196         constructor_1_neg.cc: Likewise.
1197         * testsuite/23_containers/deque/requirements/dr438/
1198         constructor_2_neg.cc: Likewise.
1199         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1200         Likewise.
1201         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1202         Likewise.
1203         * testsuite/23_containers/list/requirements/dr438/
1204         constructor_1_neg.cc: Likewise.
1205         * testsuite/23_containers/list/requirements/dr438/
1206         constructor_2_neg.cc: Likewise.
1207         * testsuite/23_containers/list/requirements/dr438/
1208         insert_neg.cc: Likewise.
1209         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1210         Likewise.
1211         * testsuite/23_containers/vector/requirements/dr438/
1212         constructor_1_neg.cc: Likewise.
1213         * testsuite/23_containers/vector/requirements/dr438/
1214         constructor_2_neg.cc: Likewise.
1215         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1216         Likewise.
1218 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
1220         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1222 2013-05-08  Jason Merrill  <jason@redhat.com>
1224         Add std::bad_array_length (N3639)
1225         * libsupc++/new: Add std::bad_array_length.
1226         * libsupc++/bad_array_length.cc: New.
1227         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1228         * libsupc++/Makefile.in: Build them.
1229         * config/abi/pre/gnu.ver: Add new symbols.
1230         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1232 2013-05-08  Andi Kleen  <ak@linux.intel.com>
1234         PR target/55947
1235         * libstdc++-v3/include/bits/atomic_base.h
1236         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1237         (atomic_thread_fence, atomic_signal_fence, test_and_set,
1238         clear, store, load, exchange, compare_exchange_weak)
1239         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1240         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1242 2013-05-08  Jason Merrill  <jason@redhat.com>
1244         Add std::bad_array_new_length (N2932)
1245         * libsupc++/new: Add std::bad_array_new_length.
1246         * libsupc++/bad_array_new.cc: New.
1247         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1248         * libsupc++/Makefile.in: Build them.
1249         * config/abi/pre/gnu.ver: Add new symbols.
1250         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1252 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
1254         PR libstdc++/57212
1255         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1256         to __MINGW32__.
1257         * include/Makefile.in: Regenerated.
1259 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
1261         * include/profile/unordered_base.h: New.
1262         * include/Makefile.am: Add new profile header.
1263         * include/Makefile.in: Regenerate.
1264         * include/profile/impl/profiler.h
1265         (__profcxx_inefficient_hash_is_on): New macro.
1266         * include/profile/unordered_map (std::profile::unordered_map<>):
1267         Use new _Unordered_profile base class. Use default implementations
1268         for special functions.
1269         (std::profile::unordered_multimap<>): Likewise.
1270         * include/profile/unordered_set (std::profile::unordered_set<>):
1271         Likewise.
1272         (std::profile::unordered_multiset<>): Likewise.
1273         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1274         MoveOnly equality operator signature.
1276 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1278         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1279         constexpr_data.cc: Move...
1280         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1281         ... here.
1282         * testsuite/20_util/integral_constant/requirements/
1283         explicit_instantiation.cc: New.
1284         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1285         Likewise.
1286         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1287         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1288         Likewise.
1289         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1290         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1292 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1294         * include/std/type_traits (is_null_pointer): Add.
1295         (__is_nullptr_t): Implement in terms of the latter.
1296         (is_fundamental, is_scalar): Adjust.
1297         * testsuite/20_util/is_null_pointer/requirements/
1298         explicit_instantiation.cc: New.
1299         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1300         Likewise.
1301         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1302         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1303         line number.
1304         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1305         Likewise.
1306         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1307         Likewise.
1309 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1311         * include/c_global/cstdio: Add comment about LWG 2249.
1312         * include/c_std/cstdio: Likewise.
1314 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1316         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1317         comment.
1318         * include/std/mutex (__recursive_mutex_base): Likewise.
1320 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1322         PR libstdc++/51365
1323         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1324         implement EBO safely.
1325         (_Sp_counted_base::_M_get_deleter): Add noexcept.
1326         (_Sp_counter_ptr): Use noexcept instead of comments.
1327         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1328         (_Sp_counted_ptr_inplace): Likewise.
1329         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1330         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1331         custom allocator and test construction with custom allocator.
1332         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1333         line number.
1335 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1337         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1338         dialect to -std=gnu++11.
1340 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
1342         * include/bits/hashtable_policy.h
1343         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1344         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1346 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1348         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1349         * include/c_std/cstdio (gets): Likewise.
1350         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1352 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1354         PR libstdc++/57065
1355         * include/debug/unordered_map (unordered_map, unordered_multimap):
1356         Fix default allocator type.
1357         * include/profile/unordered_map (unordered_map, unordered_multimap):
1358         Likewise.
1359         * include/bits/unordered_map.h: Fix comments.
1361 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1363         PR libstdc++/56905
1364         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1365         move implementation to make_exception_ptr.
1366         * include/std/future (_State_base::_M_break_promise): Replace
1367         copy_exception with make_exception_ptr.
1368         * testsuite/18_support/exception_ptr/move.cc: Likewise.
1369         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1370         * testsuite/30_threads/future/members/get2.cc: Likewise.
1371         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1372         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1373         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1374         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1376 2013-04-22  Jason Merrill  <jason@redhat.com>
1378         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1380         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1381         substitution" lines.
1383         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1384         function-cv-quals.
1385         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1386         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1387         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1389 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
1391         * include/bits/hashtable_policy.h: Add C++11 allocator support.
1392         * include/bits/hashtable.h: Likewise.
1393         * include/bits/unordered_set.h: Likewise.
1394         * include/bits/unordered_map.h: Likewise.
1395         * include/debug/unordered_set: Likewise.
1396         * include/debug/unordered_map: Likewise.
1397         * include/std/unordered_set: Remove bits/algobase.h
1398         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1399         * include/std/unordered_map: Likewise.
1400         * include/ext/throw_allocator.h: Add checks on calls to allocator
1401         construct/destroy.
1402         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1403         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1404         * testsuite/util/regression/rand/priority_queue
1405         /container_rand_regression_test.tcc: Adapt.
1406         * testsuite/util/regression/rand/assoc
1407         /container_rand_regression_test.tcc: Likewise.
1408         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1409         * testsuite/23_containers/unordered_set
1410         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1411         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1412         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1413         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1414         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1415         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1416         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1417         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1418         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1419         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1420         New.
1421         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1422         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1423         New.
1424         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1425         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1426         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1427         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1428         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1429         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1430         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1431         New.
1432         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1433         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1434         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1435         New.
1436         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1437         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1438         New.
1439         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1440         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1442 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1444         * include/std/type_traits (is_signed): Simplify.
1445         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1446         Adjust dg-error line numbers.
1447         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1448         Likewise.
1449         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1451 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1453         N3669
1454         * include/std/complex (complex<float>::real, complex<float>::imag,
1455         complex<double>::real, complex<double>::imag,
1456         complex<long double>::real, complex<long double>::imag): Declare
1457         as const member functions.
1458         * include/std/type_traits (integral_constant<>::operator value_type):
1459         Likewise.
1461 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1463         PR libstdc++/57010
1464         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1465         * testsuite/25_algorithms/pop_heap/57010.cc: New.
1467 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
1469         * src/c++11/system_error.cc (generic_category_instance): Add
1470         initializer.
1471         (system_category_instance): Likewise.
1472         * src/c++11/future.cc (__fec): Likewise.
1474 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1476         * doc/xml/manual/extensions.xml: Fix anachronism.
1478 2013-04-09  Tom Tromey  <tromey@redhat.com>
1480         * configure, config.h.in: Rebuild.
1481         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1482         sys/sdt.h.
1483         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1485 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1487         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1489 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1491         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1493 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1495         * include/Makefile.am: Add ext/aligned_buffer.h
1496         * include/Makefile.in: Regenerate.
1497         * include/ext/aligned_buffer.h: New.
1498         * include/std/future (_Result): Use __aligned_buffer.
1499         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1500         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1501         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1502         number.
1504 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1506         * include/bits/forward_list.h: Only include required headers.
1507         (forward_list::reference): Define directly, not using __alloc_traits.
1508         (forward_list::const_reference): Likewise.
1510 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1512         * include/std/functional (_Derives_from_unary_function): Remove.
1513         (_Derives_from_binary_function): Remove.
1514         * include/std/type_traits (__sfinae_types): Remove.
1515         (__is_assignable_helper): Adapt.
1516         (__is_convertible_helper): Adapt.
1517         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1518         Remove several explicit instantiations of integral_constant.
1519         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1520         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1521         Adapt dg-error line number.
1522         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1523         Likewise.
1524         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1525         * testsuite/20_util/bind/ref_neg.cc: Likewise.
1527 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
1529         PR libstdc++/56841
1530         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
1531         get_terminate() accessors.
1532         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
1533         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
1534         available.
1535         * libsupc++/new_handler.cc: Likewise.
1537 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
1539         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
1541 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
1543         PR libstdc++/56834
1544         * include/debug/array (tuple_size, tuple_element): Do not declare.
1545         * include/profile/array: Likewise.
1546         * testsuite/23_containers/array/tuple_interface/
1547         tuple_element_debug_neg.cc: Adjust dg-error line number.
1549 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
1551         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
1552         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
1553         Define.
1554         (set_terminate(terminate_handler)): Set atomically.
1555         (set_unexpected(terminate_handler)): Likewise.
1556         * libsupc++/new (get_new_handler()): Declare.
1557         * libsupc++/new_handler.cc (get_new_handler()): Define.
1558         (set_new_handler(new_handler)): Set atomically.
1559         (__new_handler): Use internal linkage.
1560         * libsupc++/new_op.cc (operator new): Use get_new_handler().
1561         * libsupc++/new_opnt.cc (operator new): Likewise.
1562         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
1563         * configure: Regenerate.
1564         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
1565         * libsupc++/Makefile.in: Regenerate.
1566         * config/abi/pre/gnu.ver: Add new exports.
1567         * doc/xml/manual/status_cxx2011.xml: Update.
1568         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
1569         for handlers.
1570         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
1571         * testsuite/18_support/new_handler.cc: New.
1572         * testsuite/18_support/terminate_handler.cc: New.
1573         * testsuite/18_support/unexpected_handler.cc: New.
1575 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
1577         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
1578         defer to general documentation on contributing to GCC.
1579         * doc/html/*: Regenerate.
1581 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
1583         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
1585         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
1586         Coding Standards.
1588         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
1590         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
1592         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
1594         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
1596         * doc/xml/manual/policy_data_structures: Remove direct link to
1597         IBM Haifa Research Labs.
1599         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1600         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
1602         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
1603         papers.
1605         * doc/xml/manual/shared_ptr.xml: Use canonical address for
1606         www.boost.org.
1608 2013-03-27  Kai Tietz  <ktietz@redhat.com>
1610         * crossconfig.m4: Add support for cygwin x64 target.
1611         * configure: Regenerated.
1613 2013-03-25  Kai Tietz  <ktietz@redhat.com>
1615         * testsuite/18_support/50594.cc: For mingw-targets use only static
1616         libstdc++-version.
1617         * testsuite/19_diagnostics/error_category/operators/equal.cc
1618         * testsuite/19_diagnostics/error_code/cons/1.cc
1619         * testsuite/19_diagnostics/error_code/operators/bool.cc
1620         * testsuite/19_diagnostics/error_code/operators/equal.cc
1621         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
1622         * testsuite/19_diagnostics/error_condition/cons/1.cc
1623         * testsuite/19_diagnostics/error_condition/operators/bool.cc
1624         * testsuite/19_diagnostics/error_condition/operators/equal.cc
1625         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
1626         * testsuite/23_containers/set/requirements/exception/basic.cc
1627         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
1628         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
1630 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1632         PR libstdc++/56170
1633         * include/ext/debug_allocator.h (debug_allocator): Add missing members
1634         to meet allocator requirements.
1635         * testsuite/ext/debug_allocator/56170.cc: New.
1637 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
1639         PR libstdc++/56678
1640         * include/std/chrono (__is_ratio): Uglify T.
1642 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
1644         PR libstdc++/55977 (partial, std::vector and std::deque bits)
1645         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1646         _InputIterator, std::input_iterator_tag)): Use emplace_back.
1647         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1648         _InputIterator, std::input_iterator_tag)): Likewise.
1649         * testsuite/23_containers/vector/cons/55977.cc: New.
1650         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1651         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1652         Adjust dg-error line number.
1653         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1654         Likewise.
1656 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
1658         PR libstdc++/55979
1659         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1660         _InputIterator, __false_type)): Use emplace_back.
1661         * testsuite/23_containers/list/cons/55979.cc: New.
1662         * testsuite/23_containers/list/modifiers/1.h: Adjust.
1663         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1664         Adjust dg-error line number.
1666 2013-03-16  Jason Merrill  <jason@redhat.com>
1668         PR c++/55017
1669         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1671 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1673         PR libstdc++/56468
1674         * libsupc++/exception_ptr.h (type_info): Declare.
1676 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1678         PR libstdc++/56002
1679         * include/std/mutex (lock_guard, unique_lock, lock): Define without
1680         depending on _GLIBCXX_HAS_GTHREADS.
1681         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1683 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1685         PR libstdc++/56492
1686         * include/std/future (__future_base::_Result): Add result_type
1687         typedef.
1688         (__future_base::_S_allocate_result): Overload for std::allocator.
1689         (__future_base::_Task_setter): Use _Result::result_type instead of
1690         deducing the type from the task.
1691         (__future_base::_Task_state): Store allocator to allow shared state
1692         to be reset.  Replace std::function with member of target object type
1693         accessed via ...
1694         (__future_base::_Task_state_base): New abstract base class.
1695         (__future_base::_Task_state_base::_M_run): New virtual function to
1696         invoke type-erased target object.
1697         (__future_base::_Task_state_base::_M_reset): New virtual function to
1698         create new shared_state using same target object and allocator.
1699         (__future_base::__create_task_state): Allocate a new _Task_state.
1700         (packaged_task::packaged_task): Use __create_task_state.
1701         (packaged_task::reset): Use _Task_state_base::_M_reset.
1702         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1704 2013-03-15  Tom Tromey  <tromey@redhat.com>
1706         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1707         (PROBE2): New macro.
1708         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1709         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1710         * configure.ac: Check for sys/sdt.h.
1711         * configure, config.h.in: Rebuild.
1713 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
1715         PR libstdc++/56613
1716         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1717         allocator_traits instead of calling construct directly.
1718         * testsuite/23_containers/map/56613.cc: New.
1720 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
1722         * doc/html/*: Regenerate.
1724 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
1726         PR libstdc++/56609
1727         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1728         * testsuite/20_util/is_fundamental/value.cc: Extend.
1729         * testsuite/20_util/is_compound/value.cc: Likewise.
1731 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
1733         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1734         -Wunused warnings.
1736 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
1738         * include/bits/memoryfwd.h: New. Centralize forward declarations.
1739         * include/bits/algorithmfwd.h: Consistent comments.
1740         * include/bits/localefwd.h: Same.
1741         * include/ext/vstring_fwd.h: Same.
1742         * include/parallel/algorithmfwd.h: Same.
1743         * include/parallel/numericfwd.h: Same.
1744         * include/std/iosfwd: Same.
1746         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1747         forward decl.
1748         * include/ext/alloc_traits.h: Remove allocator forward decl.
1749         * include/bits/stl_construct.h: Same.
1750         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1751         forward decl. Consistent comments.
1753         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1755         * include/Makefile.am (bits_headers): Add memoryfwd.h.
1756         * include/Makefile.in: Regenerate.
1757         * configure: Same.
1759 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
1761         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1762         Reset pointers after deallocation when memory can be reused.
1763         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1764         elements to really challenge C++11 allocator integration.
1765         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1766         * testsuite/23_containers/vector/allocator/copy_assign.cc:
1767         Likewise.
1768         * testsuite/23_containers/vector/allocator/move_assign.cc:
1769         Likewise.
1770         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1771         swap vector back before checks on memory/personality mapping are
1772         performed.
1773         * testsuite/23_containers/forward_list/allocator/minimal.cc:
1774         Insert element to really challenge C++11 allocator integration.
1775         * testsuite/23_containers/forward_list/allocator/copy.cc:
1776         Likewise.
1777         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1778         Likewise.
1779         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1780         Likewise.
1781         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1782         and swap forward_list back before checks on memory/personality
1783         mapping are performed.
1785 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
1787         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1788         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1789         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1790         Likewise.
1791         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1792         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1793         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1794         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1795         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1796         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1798 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1800         * scripts/extract_symvers.pl: Omit symbols bound to base
1801         versions.
1802         * scripts/extract_symvers.in: Likewise.
1803         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1804         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1805         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1806         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1807         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1809 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
1811         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1812         Optimize generation function by pulling computation of __r into the
1813         constructor for param_type.  Also compare _M_mu in operator==.
1814         Fix comment.
1816 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
1818         Add triangular and von Mises distributions.
1819         * include/ext/random: Include <ext/cmath>.
1820         Add __gnu_cxx::triangular_distribution<> and
1821         __gnu_cxx::von_mises_distribution<> classes.
1822         * include/ext/random.tcc: Add out-of-line functions for
1823         __gnu_cxx::triangular_distribution<> and
1824         __gnu_cxx::von_mises_distribution<>.
1825         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1826         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1827         * testsuite/ext/triangular_distribution/operators/serialize.cc:
1828         New file.
1829         * testsuite/ext/triangular_distribution/operators/equal.cc:
1830         New file.
1831         * testsuite/ext/triangular_distribution/operators/inequal.cc:
1832         New file.
1833         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1834         New file.
1835         * testsuite/ext/triangular_distribution/requirements/
1836         explicit_instantiation/1.cc: New file.
1837         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1838         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1839         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1840         New file.
1841         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1842         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1843         New file.
1844         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1845         New file.
1846         * testsuite/ext/von_mises_distribution/requirements/
1847         explicit_instantiation/1.cc: New file.
1849         Add math constants.
1850         * include/Makefile.am (ext_headers): Add cmath.
1851         * include/Makefile.in: Regenerated.
1852         * include/ext/cmath: New file.
1854 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1856         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1857         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1858         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1859         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1860         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1862 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
1864         PR libstdc++/56012
1865         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
1866         * testsuite/29_atomics/atomic/operators/56012.cc: New.
1868         PR libstdc++/56011
1869         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
1870         missing overload.
1871         * testsuite/29_atomics/atomic/operators/56011.cc: New.
1873 2013-02-25  Jason Merrill  <jason@redhat.com>
1875         * configure.ac: Check for __cxa_thread_atexit_impl.
1876         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
1877         to it if available.
1878         * config.h.in, configure: Regenerate.
1880 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1882         * include/std/streambuf (basic_streambuf): Use injected class name
1883         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
1884         group.
1886 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1888         * doc/html/faq.html: Fix spelling.
1889         * doc/xml/faq.xml: Likewise.
1890         * include/bits/basic_ios.h: Likewise.
1891         * include/bits/regex.h: Likewise.
1892         * include/std/istream: Likewise.
1893         * include/std/streambuf: Likewise.
1895 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1897         * testsuite/23_containers/unordered_set/55043.cc: Add missing
1898         namespace qualification.
1899         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1901 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
1903         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
1904         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
1905         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
1906         * include/bits/stl_pair.h: Add to utilities group.
1907         * include/std/tuple: Same.
1908         * include/std/typeindex: Same.
1910         * include/bits/stringfwd.h: Fix markup.
1911         * include/std/limits: Same.
1912         * include/std/type_traits: Same.
1913         * include/tr1/memory: Same.
1914         * include/tr1/regex: Same.
1915         * scripts/run_doxygen: Comment.
1916         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
1918 2013-02-14  Jason Merrill  <jason@redhat.com>
1920         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
1921         test if unsupported.
1923 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
1925         PR libstdc++/56111
1926         * include/std/complex (complex): Undefine.
1927         * include/c_compatibility/complex.h (complex): Only undefine if
1928         <complex> has been included.
1929         * testsuite/26_numerics/complex/56111.cc: New testcase.
1931 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
1933         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
1934         default constructor protected.
1935         * include/bits/hashtable.h: static assert that _Hash_code_base has
1936         a default constructor available through inheritance.
1938 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1940         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
1941         C++11 mode.
1943 2013-02-12  Julian Brown  <julian@codesourcery.com>
1945         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
1946         Don't expect dots after abbreviated weekday names for ru_RU for
1947         glibc versions >= 2.17.
1948         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
1949         Likewise.
1951 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
1953         * include/bits/random.tcc (__transform): Remove.
1954         (__normalize): Add.
1955         (discrete_distribution<>::param_type::_M_initialize): Adjust.
1956         (piecewise_constant_distribution<>::param_type::_M_initialize):
1957         Likewise.
1958         (piecewise_linear_distribution<>::param_type::_M_initialize):
1959         Likewise.
1961 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1963         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
1964         Use -fimplicit-templates.
1965         * src/c++11/Makefile.in: Regenerate.
1966         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
1967         std::lower_bound template.
1969 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1971         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
1972         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
1973         in C++11 mode and if available in the underlying C library.
1974         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
1975         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
1976         _GLIBCXX_HAVE_QUICK_EXIT.
1978 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
1980         * doc/html/*: Regenerate.
1982 2013-02-11  Jason Merrill  <jason@redhat.com>
1984         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
1985         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
1986         * config.h.in, configure: Regenerate.
1987         * include/c_std/cstdlib: Add atexit and at_quick_exit.
1988         * include/c_global/cstdlib: Add atexit and at_quick_exit.
1989         * testsuite/18_support/quick_exit/quick_exit.cc: New.
1991 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
1993         PR libstdc++/56282
1994         Revert:
1995         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1997         PR libstdc++/56193
1998         * include/bits/basic_ios.h: Replace operator void*() const
1999         with explicit operator bool() const in C++11 and greater.
2000         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2002 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
2003             Jonathan Wakely  <jwakely.gcc@gmail.com>
2005         * doc/xml/manual/containers.xml: Add section on unordered containers.
2006         * doc/xml/manual/using.xml: Fix incomplete sentence.
2008 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2010         PR libstdc++/56267
2011         * include/bits/hashtable.h (__cache_default): Check if hash function
2012         is copy assignable.
2013         * testsuite/23_containers/unordered_set/56267.cc: New.
2014         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2015         dg-error line number.
2016         * testsuite/23_containers/unordered_set/
2017         not_default_constructible_hash_neg.cc: Likewise.
2019         PR libstdc++/56278
2020         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2021         constructor public.
2022         * testsuite/23_containers/unordered_set/56278.cc: New.
2024 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
2026         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2027         simplification.
2029 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
2031         PR libstdc++/56216
2032         * include/tr1/special_function_util.h: Remove spurious const
2033         from numeric arguments.
2034         * include/tr1/riemann_zeta.tcc: Likewise.
2035         * include/tr1/exp_integral.tcc: Likewise.
2036         * include/tr1/bessel_function.tcc: Likewise.
2037         * include/tr1/hypergeometric.tcc: Likewise.
2038         * include/tr1/modified_bessel_func.tcc: Likewise.
2039         * include/tr1/poly_laguerre.tcc: Likewise.
2040         * include/tr1/gamma.tcc: Likewise.
2041         * include/tr1/legendre_function.tcc: Likewise.
2042         * include/tr1/poly_hermite.tcc: Likewise.
2043         * include/tr1/ell_integral.tcc: Likewise.
2044         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2045         If argument is zero return function value.
2046         * testsuite/tr1/5_numerical_facilities/special_functions/
2047         08_cyl_bessel_i/pr56216.cc: New.
2049 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
2051         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2053 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2055         PR libstdc++/56193
2056         * include/bits/basic_ios.h: Replace operator void*() const
2057         with explicit operator bool() const in C++11 and greater.
2058         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2060 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
2062         Add missing explicit instantiation for std::lower_bound template
2063         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2064         missing instantiation for std::lower_bound template.
2066 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
2068         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2069         * include/bits/basic_string.h: Specialize previous to mark
2070         std::hash for string types as slow.
2071         * include/bits/hashtable.h (__cache_default): Replace is_integral
2072         with __is_fast_hash.
2073         * src/c++11/hash_c++0x.cc: Add type_traits include.
2074         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2075         Adapt dg-error line number.
2076         * testsuite/23_containers/unordered_set/
2077         not_default_constructible_hash_neg.cc: Likewise.
2079 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2080             Paolo Carlini  <paolo.carlini@oracle.com>
2082         PR libstdc++/56202 (again)
2083         * include/bits/random.tcc (binomial_distribution<>::
2084         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2085         in previous commit.
2087         * include/bits/random.h: Fix comment typo.
2089 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2090             Paolo Carlini  <paolo.carlini@oracle.com>
2092         PR libstdc++/56202
2093         * include/bits/random.tcc (binomial_distribution<>::
2094         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2095         division by zero.
2097 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2099         Update copyright years.
2100         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2101         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2102         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2103         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2104         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2105         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2106         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2107         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2108         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2109         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2110         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2111         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2112         testsuite/29_atomics/atomic/cons/assign_neg.cc,
2113         testsuite/29_atomics/atomic/cons/copy_neg.cc,
2114         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2115         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2116         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2117         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2118         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2119         Update lines in dg error matches.
2121 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2123         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2125 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
2127         * include/bits/hashtable_policy.h
2128         (_Prime_rehash_policy::_M_next_bkt)
2129         (_Prime_rehash_policy::_M_need_rehash): Move definition...
2130         * src/c++11/hashtable_c++0x.cc: ... here.
2131         * src/shared/hashtable-aux.cc: Remove c++config.h include.
2132         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2133         symbols.
2135 2013-01-29  Jason Merrill  <jason@redhat.com>
2137         PR libstdc++/54314
2138         * config/abi/pre/gnu.ver: Don't export construction vtables.
2139         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2141 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2143         PR libstdc++/56112
2144         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2145         to construct value_type explicitly before trying to extract the key.
2146         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2148 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
2150         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2151         _Hashtable_ebo_helper to embed functors into the local_iterator
2152         when necessary. Pass information about functors involved in hash
2153         code by copy.
2154         * include/bits/hashtable.h (__cache_default): Do not cache for
2155         builtin integral types unless the hash functor is not noexcept
2156         qualified or is not default constructible. Adapt static assertions
2157         and local iterator instantiations.
2158         * include/debug/unordered_set
2159         (std::__debug::unordered_set<>::erase): Detect local iterators to
2160         invalidate using contained node rather than generating a dummy
2161         local_iterator instance.
2162         (std::__debug::unordered_multiset<>::erase): Likewise.
2163         * include/debug/unordered_map
2164         (std::__debug::unordered_map<>::erase): Likewise.
2165         (std::__debug::unordered_multimap<>::erase): Likewise.
2166         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2167         std::tr1 and std versions of unordered_set regardless of any
2168         macro. Add test on default cache behavior.
2169         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2170         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2171         Adapt line number.
2172         * testsuite/23_containers/unordered_set/
2173         not_default_constructible_hash_neg.cc: New.
2174         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2176 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2178         PR libstdc++/56085
2179         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2180         signed overflow.
2182 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2184         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2185         Tightten scan-assembler-times regexps, add dg-additional-options for
2186         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2187         dg-options.
2189 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2190             Jonathan Wakely  <jwakely.gcc@gmail.com>
2192         PR libstdc++/55233
2193         * include/bits/atomic_base.h (__memory_order_modifier): Add
2194         __memory_order_mask, __memory_order_modifier_mask,
2195         __memory_order_hle_acquire, __memory_order_hle_release.
2196         (operator|,operator&): Add.
2197         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
2198         (__cmpexch_failure_order): Add.
2199         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2200         Handle flags.
2201         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2202         Add.
2204 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2206         PR libstdc++/55861
2207         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2208         Fix return type.
2209         (__basic_future::_M_get_result()): Const qualify.
2210         (shared_future::get()): Likewise.
2211         * testsuite/30_threads/shared_future/members/get.cc: Use const
2212         objects.
2214 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2216         PR libstdc++/55043 (again)
2217         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2218         unless construction would be well-formed.
2219         (__allow_copy_cons, __check_copy_constructible): Define.
2220         * include/bits/unordered_map.h (__check_copy_constructible): Use as
2221         base class so copy constructor will be deleted if appropriate.
2222         (is_copy_constructible): Remove specialization.
2223         * include/bits/unordered_set.h: Likewise.
2224         * include/debug/unordered_map.h: Undo previous commit. Default copy
2225         and move constructors.
2226         * include/debug/unordered_set.h: Likewise.
2227         * include/profile/unordered_map.h: Undo previous commit.
2228         * include/profile/unordered_set.h: Likewise.
2229         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2230         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2231         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2232         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2233         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2234         cannot support incomplete types.
2235         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2236         Likewise.
2238 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2240         PR libstdc++/55043
2241         * include/std/unordered_map: Include alloc_traits.h
2242         * include/std/unordered_set: Likewise.
2243         * include/bits/alloc_traits.h: Define __is_copy_insertable.
2244         * include/bits/unordered_map.h: Use it.
2245         * include/bits/unordered_set.h: Likewise.
2246         * include/debug/unordered_map.h: Likewise.
2247         * include/debug/unordered_set.h: Likewise.
2248         * include/profile/unordered_map.h: Likewise.
2249         * include/profile/unordered_set.h: Likewise.
2250         * include/bits/hashtable.h: Fix comment typos.
2251         * testsuite/23_containers/unordered_map/55043.cc: New.
2252         * testsuite/23_containers/unordered_multimap/55043.cc: New.
2253         * testsuite/23_containers/unordered_multiset/55043.cc: New.
2254         * testsuite/23_containers/unordered_set/55043.cc: New.
2256 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
2258         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2259         gdb command.
2261 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2263         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2265 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2267         PR libstdc++/55908
2268         * include/std/functional (_Mem_fn::operator()): Fix constraints to
2269         avoid ambiguity.
2270         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2271         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2273 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2275         PR libstdc++/55594
2276         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2277         Solaris targets.
2278         * configure: Regenerate.
2280 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2282         PR libstdc++/55847
2283         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2284         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2285         string.
2287         PR libstdc++/55728
2288         * include/std/functional (bad_function_call::what()): Declare.
2289         * src/c++11/functional.cc (bad_function_call::what()): Define.
2290         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2291         * testsuite/20_util/bad_function_call/what.cc: New.
2293 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2295         * include/bits/unordered_map.h: Fix typo in comments.
2296         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2297         counts for unordered associative containers.
2299 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2301         * doc/xml/manual/abi.xml: Update library and symbol versions.
2303 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2305         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2306         in copyright years.
2307         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2310 Copyright (C) 2013 Free Software Foundation, Inc.
2312 Copying and distribution of this file, with or without modification,
2313 are permitted in any medium without royalty provided the copyright
2314 notice and this notice are preserved.