2013-09-10 Ed Smith-Rowland <3dw4rd@verizon.net>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blobc6c8db1b517bc0fc22e874fe2fe3e14644286a83
1 2013-09-10  Ed Smith-Rowland  <3dw4rd@verizon.net>
3         * testsuite/28_regex/traits/wchar_t/value.cc: Change template args
4         from char to wchar_t, literals from 'x' to L'x'.
6 2013-09-10  Kai Tietz  <ktietz@redhat.com>
8         PR libstdc++/54314
9         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
10         like in gnu.ver.
12 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
14         PR libstdc++/58341
15         * include/bits/stl_algobase.h (copy_backward): Fix documentation
16         per DR 1206.
18 2013-09-05  Tim Shen  <timshen91@gmail.com>
20         * include/bits/regex_automaton.h: Add dummy node type. Rewrite
21         _StateSeq.
22         * include/bits/regex_automaton.tcc: Implement them.
23         * include/bits/regex_compiler.h: Rewrite _Compiler to use new
24         _StateSeq interfaces.
25         * include/bits/regex_compiler.tcc: Implement them.
26         * include/bits/regex_scanner.h: Add word boundry assertion token.
27         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
28         Support word boundry.
29         * testsuite/28_regex/algorithms/regex_match/basic/
30         string_range_02_03.cc: Remove "xfail".
31         * testsuite/28_regex/algorithms/regex_match/extended/cstring_plus.cc:
32         Likewise.
33         * testsuite/28_regex/algorithms/regex_match/extended/
34         string_range_02_03.cc: Likewise.
35         * testsuite/28_regex/algorithms/regex_match/extended/
36         cstring_questionmark.cc: Remove xfail and get correct length of
37         c-string.
38         * testsuite/28_regex/algorithms/regex_match/extended/
39         string_range_00_03.cc: Likewise.
40         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
41         New.
42         * testsuite/28_regex/algorithms/regex_match/extended/cstring_range.cc:
43         New.
44         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_02.cc: New.
46 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
48         PR libstdc++/58302
49         * include/bits/random.tcc (negative_binomial_distribution<>::
50         operator()(_UniformRandomNumberGenerator&, const param_type&)):
51         Fix typo in template argument.
52         * testsuite/26_numerics/random/negative_binomial_distribution/
53         operators/58302.cc: New.
55 2013-09-02  Tim Shen  <timshen91@gmail.com>
57         * regex_automaton.h: Rearrange _NFA's layout.
58         * include/bits/regex_compiler.h: Add _AnyMatcher and _CharMatcher.
59           Rearrange _BracketMatcher's layout.
60           (_BracketMatcher<>::_M_add_char): Use set instead of vector for
61           _M_char_set.
62           (_BracketMatcher<>::_M_add_collating_element): Likewise.
63           (_BracketMatcher<>::_M_make_range): Likewise.
64         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom): Use
65           apropriate constructors of matchers above.
66         * testsuite/28_regex/algorithms/regex_match/ecma/char/anymatcher.cc:
67           New.
68         * testsuite/28_regex/algorithms/regex_match/ecma/char/backref.cc: New.
69         * testsuite/28_regex/algorithms/regex_match/ecma/char/empty_range.cc:
70           New.
71         * testsuite/28_regex/algorithms/regex_match/ecma/char/emptygroup.cc:
72           New.
73         * testsuite/28_regex/algorithms/regex_match/ecma/char/hex.cc: New.
74         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/anymatcher.cc:
75           New.
76         * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/hex.cc: New.
78 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
80         PR libstdc++/58148
81         * include/debug/functions.h (__foreign_iterator_aux4): Use
82         sequence const_pointer as common type to compare pointers. Add a
83         fallback overload in case pointers cannot be cast to sequence
84         const_pointer.
85         * testsuite/23_containers/vector/modifiers/insert/58148.cc: New.
87 2013-08-30  François Dumont  <fdumont@gcc.gnu.org>
89         PR libstdc++/58191
90         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
91         __gnu_debug::__base calls on iterators passed to internal debug
92         check.
93         (__glibcxx_check_partitioned_lower_pred): Likewise.
94         (__glibcxx_check_partitioned_upper): Likewise.
95         (__glibcxx_check_partitioned_upper_pred): Likewise.
96         (__glibcxx_check_sorted): Likewise.
97         (__glibcxx_check_sorted_pred): Likewise.
98         (__glibcxx_check_sorted_set): Likewise.
99         (__glibcxx_check_sorted_set_pred): Likewise.
100         * include/debug/functions.h (__check_partitioned_lower):
101         Remove code to detect safe iterators.
102         (__check_partitioned_upper): Likewise.
103         (__check_sorted): Likewise.
105 2013-08-29  Tim Shen  <timshen91@gmail.com>
107         * include/bits/regex.h (basic_regex<>::assign): Don't lose _M_traits.
108           (regex_iterator<>::regex_iterator): Return nullptr when regex_search
109              failed.
110           (regex_token_iterator<>::_M_end_of_seq): Should be defined true when
111             _M_result is(not isn't) nullptr.
112         * include/bits/regex_compiler.h: Store _Compiler::_M_traits by reference
113           instead of by value.
114         * include/bits/regex_executor.h (_DFSExecutor<>::_DFSExecutor): Add
115           _M_traits to _DFSExecutor.
116         * include/bits/regex_executor.tcc (__get_executor<>): Pass traits to
117           _DFSExecutor too.
118         * testsuite/28_regex/algorithms/regex_match/extended/wstring_locale.cc:
119           New.
120         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
121           wstring_02.cc: New.
123 2013-08-26  Tim Shen  <timshen91@gmail.com>
125         * include/Makefile.am: Add regex_scanner.{h,tcc}.
126         * include/Makefile.in: Regenerate.
127         * include/bits/regex.h (match_search): Handle the `__first == __last`
128           situation correctly.
129         * include/bits/regex_compiler.h: Move _Scanner...
130         * include/bits/regex_scanner.h: ...to here. New.
131         * include/bits/regex_compiler.tcc: Move _Scanner...
132         * include/bits/regex_scanner.tcc: ...to here, too. New.
133         * include/bits/regex_executor.tcc: Use value instead of reference for
134           submatch.
135         * include/std/regex: Add regex_scanner.h
136         * testsuite/28_regex/algorithms/regex_match/awk/cstring_01.cc: New.
137         * testsuite/28_regex/algorithms/regex_match/basic/empty_range.cc: New.
138         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_hex.cc: New.
139         * testsuite/28_regex/algorithms/regex_match/ecma/empty_range.cc: New.
140         * testsuite/28_regex/algorithms/regex_search/ecma/string_01.cc: New.
142 2013-08-22  Tim Shen  <timshen91@gmail.com>
144         * include/bits/regex.h: Replace 8 spaces in indentation with a tab.
145         * include/bits/regex_automaton.h: Same.
146         * include/bits/regex_automaton.tcc: Same.
147         * include/bits/regex_compiler.h: Same.
148         * include/bits/regex_compiler.tcc: Same.
149         * include/bits/regex_constants.h: Same.
150         * include/bits/regex_executor.h: Same.
151         * include/bits/regex_executor.tcc: Same.
153 2013-08-22  Tim Shen  <timshen91@gmail.com>
155         * include/bits/regex.h: Executor caller.
156         * include/bits/regex_executor.h: Fix empty grouping problem.
157         * include/bits/regex_executor.tcc: Same.
158         * testsuite/28_regex/algorithms/regex_match/ecma/cstring_emptygroup.cc:
159           New.
161 2013-08-20  Phil Muldoon  <pmuldoon@redhat.com>
163         PR libstdc++/53477
164         http://sourceware.org/bugzilla/show_bug.cgi?id=15195
166         * python/libstdcxx/v6/printers.py (Printer.__call__): If a value
167         is a reference, fetch referenced value.
168         (RxPrinter.invoke): Ditto.
169         * testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add -O0
170         flag. Add referenced value tests.
172 2013-08-20  Tim Shen  <timshen91@gmail.com>
174         * include/bits/regex_constants.h: Add underlying `unsigned int` for
175           enum syntax_option_type.
177 2013-08-18  Tim Shen  <timshen91@gmail.com>
179         * include/bits/regex_automaton.h: _S_opcode_backref.
180         * include/bits/regex_automaton.tcc: Backref automaton support.
181         * include/bits/regex_compiler.tcc: Parsing support.
182         * include/bits/regex_executor.h: Add _M_traits for _DFSExecutor.
183         * include/bits/regex_executor.tcc: Add _S_opcode_backref support.
184         * testsuite/28_regex/algorithms/regex_match/ecma/string_backref.cc: New.
186 2013-08-16  Tim Shen  <timshen91@gmail.com>
188         * include/bits/regex.h (regex_traits<>::transform_primary):
189         Avoid past-the-end dereferences.
191 2013-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
193         PR libstdc++/58163
194         * include/bits/basic_string.h (basic_string<>::operator[]): Fix
195         _GLIBCXX_DEBUG_PEDASSERT check vs C++11.
196         * include/ext/vstring.h: Likewise.
197         * testsuite/21_strings/basic_string/element_access/char/58163.cc:
198         New.
199         * testsuite/21_strings/basic_string/element_access/wchar_t/58163.cc:
200         Likewise.
201         * testsuite/ext/vstring/element_access/char/58163.cc: Likewise.
202         * testsuite/ext/vstring/element_access/wchar_t/58163.cc: Likewise.
204 2013-08-14  Uros Bizjak  <ubizjak@gmail.com>
206         * src/c++98/compatibility.cc (_ZTIe): Use
207         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
208         (_ZTIPe): Ditto.
209         (ZTIPKe): Ditto.
211 2013-08-09  Tim Shen  <timshen91@gmail.com>
213         * include/bits/regex_constants.h: Change syntax_option_type to enum
214         type.
216 2013-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
218         * include/bits/regex.h: Replace _A, _B, _C, _R by _Ap, _Bp, _Cp, _Rp.
220 2013-08-08  François Dumont  <fdumont@gcc.gnu.org>
222         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
223         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
224         _Hashtable.
225         (_Before_begin<>): Remove.
226         * include/bits/hashtable.h (_Hashtable): Inherit from
227         _Hashtable_alloc and adapt. Restore _M_before_begin field.
228         * src/c++11/hashtable_c++0x.cc: Add ext/alloc_traits.h include.
229         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
230         access to hashtable before begin.
231         * testsuite/23_containers/unordered_set/
232         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
233         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
234         Likewise.
236 2013-08-07  Tim Shen  <timshen91@gmail.com>
238         * include/Makefile.am: Adjust to new files.
239         * include/Makefile.in: Regenerate.
240         * include/bits/regex.h: Adjust to new interfaces.
241         * include/bits/regex_automaton.h: New.
242         * include/bits/regex_automaton.tcc: New.
243         * include/bits/regex_compiler.h: Adjust to new files.
244         * include/bits/regex_compiler.tcc: New.
245         * include/bits/regex_constants.h: Tail spaces.
246         * include/bits/regex_error.h: Likewise.
247         * include/bits/regex_executor.h: New.
248         * include/bits/regex_executor.tcc: New.
249         * include/std/regex: Adjust to new files.
250         * testsuite/28_regex/algorithms/regex_match/extended/
251         string_dispatch_01.cc: Adjust to new interfaces.
253 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
255         * include/ext/atomicity.h: Add #pragma GCC system_header.
257 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
259         PR libstdc++/58098
260         * include/bits/random.h (cauchy_distribution<>::min,
261         extreme_value_distribution<>::min, normal_distribution<>::min,
262         student_t_distribution<>::min): Fix.
263         * include/ext/random (normal_mv_distribution<>::min): Likewise.
264         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
265         Adjust.
266         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
267         Likewise.
268         * testsuite/26_numerics/random/extreme_value_distribution/cons/
269         parms.cc: Likewise.
270         testsuite/26_numerics/random/extreme_value_distribution/cons/
271         default.cc: Likewise.
272         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
273         Likewise.
274         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
275         Likewise.
276         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
277         Likewise.
278         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
279         Likewise.
280         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
281         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
283         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
284         Minor tweak.
285         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
286         Likewise.
288         * testsuite/ext/von_mises_distribution/*: Move to...
289         * testsuite/ext/random/von_mises_distribution/*: ... here.
290         * testsuite/ext/triangular_distribution/*: Move to...
291         * testsuite/ext/random/triangular_distribution/*: ... here.
293 2013-08-06  Caroline Tice  <cmtice@google.com>
295         * fragment.am: Add XTEMPLATE_FLAGS.
296         * configure.ac: Add definitions for --enable-vtable-verify.
297         * acinclude.m4:  Add --enable-vtable-verify and
298         --disable-vtable-verify; define --enable-vtable-verify; define
299         VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS.
300         * config/abi/pre/gnu.ver: Export symbols for vtable verification.
301         * libsupc++/Makefile.am: Define vtv_sources and add it to
302         libsupc___la_SOURCES and libsupc__convenience_la_SOURCES.
303         * libsupc++/vtv_stubs.cc: New file.
304         * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS.
305         * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add
306         VTV_CXXLINKFLAGS to CXXLINK.
307         * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS
308         to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK.
309         * src/C++11/Makefile.am: Ditto.
310         * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify.
311         * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause
312         cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS.
313         * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate
314         libvtv if --enable-vtable-verify was used; set cxxvtvflags; add
315         cxxvtvflags to cxx_final.
316         * testsuite/18_support/bad_exception/23591_thread-1.c: Add
317         -fvtable-verify=none to compiler flags.
318         * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none
319         to compiler flags.
320         * configure: Regenerated.
321         * Makefile.in: Regenerated.
322         * python/Makefile.in: Regenerated.
323         * include/Makefile.in: Regenerated.
324         * libsupc++/Makefile.in: Regenerated.
325         * config.h.in: Regenerated.
326         * po/Makefile.in: Regenerated.
327         * src/Makefile.in: Regenerated.
328         * src/c++98/Makefile.in: Regenerated.
329         * src/c++11/Makefile.in: Regenerated.
330         * doc/Makefile.in: Regenerated.
331         * testsuite/Makefile.in: Regenerated.
333 2013-08-06  Paolo Carlini  <paolo.carlini@oracle.com>
335         Revert the last commit.
337 2013-08-06  François Dumont  <fdumont@gcc.gnu.org>
339         * include/bits/hashtable_policy.h (_Hashtable_alloc): New.
340         (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than
341         _Hashtable.
342         (_Before_begin<>): Remove.
343         * include/bits/hashtable.h (_Hashtable): Inherit from
344         _Hashtable_alloc and adapt. Restore _M_before_begin field.
345         * python/libstdcxx/v6/printers.py (StdHashtableIterator): Adapt
346         access to hashtable before begin.
347         * testsuite/23_containers/unordered_set/
348         not_default_constructible_hash_neg.cc: Adapt dg-error line number.
349         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
350         Likewise.
352 2013-08-03  Tim Shen  <timshen91@gmail.com>
354         Implement bracket expression.
355         * include/bits/regex.h: Remove constexpr from "|=", etc.
356         * include/bits/regex_compiler.h: Parse bracket expression.
357         * include/bits/regex_nfa.h: _Comparator and _BracketMatcher(old
358         _RangeMatcher).
359         * include/bits/regex_nfa.tcc: Implement them.
360         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
361         from regex_search to regex_match.
362         * testsuite/28_regex/algorithms/regex_match/extended/
363         cstring_bracket_01.cc: New.
365 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
367         * include/debug/functions.h (__foreign_iterator_aux4):
368         Initialize __l and __ge.
370 2013-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
372         PR libstdc++/58049
373         * include/debug/functions.h: Include <bits/move.h>; minor formatting
374         changes.
375         (__foreign_iterator_aux4): Declare __l and __ge constexpr.
376         * include/debug/safe_iterator.h (_Safe_iterator<>::operator->):
377         Use __addressof.
378         * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
379         operator->): Likewise.
381 2013-08-01  François Dumont  <fdumont@gcc.gnu.org>
383         PR libstdc++/57779
384         * include/debug/formatter.h (_Debug_msg_id): Add
385         __msg_insert_itself_range entry.
386         * include/debug/functions.h (_Insert_range_from_self_is_safe<>):
387         New, indicate container types supporting self range insertion in
388         GNU implementation.
389         (__foreign_iterator): New, check if an iterator points to a given
390         sequence.
391         * include/debug/macros.h (__glibcxx_check_insert_range): Add check
392         using __foreign_iterator.
393         (__gibcxx_check_insert_range_after): Likewise.
394         * include/debug/string (_Insert_range_from_self_is_safe<>):
395         Partially specialized to mark __gnu_debug::basic_string<> as
396         supporting self range insert.
397         * include/debug/list (_Insert_range_from_self_is_safe<>):
398         Partially specialized to mark std::list as supporting self range
399         insert if _GLIBCXX_DEBUG_PEDANTIC is not defined.
400         * include/debug/forward_list (_Insert_range_from_self_is_safe<>):
401         Likewise.
402         * src/c++11/debug.cc (_S_debug_messages): Add
403         __msg_insert_itself_range_entry message.
404         (_Error_formatter::_Parameter::_M_print_description): Display
405         iterator sequence address rather than sequence address when the
406         parameter type is an iterator.
407         (_Error_formatter::_M_print_word): Enhance behavior when
408         displaying a word with an appended '\n'.
409         * testsuite/util/debug/checks.h (check_insert4<>): New.
410         * testsuite/23_containers/deque/debug/insert5_neg.cc: New.
411         * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise.
412         * testsuite/23_containers/vector/debug/insert6_neg.cc: Likewise.
413         * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise.
414         * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise.
415         * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc:
416         Likewise.
418 2013-08-01  Fabien Chêne  <fabien@gcc.gnu.org>
420         PR c++/54537
421         * include/tr1/cmath: Remove pow(double,double) overload, remove a
422         duplicated comment about DR 550. Add a comment to explain the
423         issue.
424         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: New.
426 2013-07-31  Tim Shen  <timshen91@gmail.com>
428         Thompson matcher refactored. Fix grouping problem.
429         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
430         * include/bits/regex_compiler.h: Tweak for auto switching.
431         * include/bits/regex_grep_matcher.h: Class structure.
432         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
433         matcher) refactoring.
434         * include/bits/regex_nfa.h: Change _Results's interfaces.
435         * include/std/regex: Includes <map> and <queue>.
436         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
437         For both matchers.
438         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
439         For both matchers.
440         * testsuite/28_regex/algorithms/regex_match/extended/
441         string_dispatch_01.cc: New.
443 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
445         PR libstdc++/56627
446         * include/bits/stl_bvector.h: Use friend struct hash intead of
447         friend class hash to work around useless warnings produced by
448         some compilers.
449         * include/std/bitset: Likewise.
451 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
453         * src/c++11/functexcept.cc: Do not include the whole <regex>.
454         * src/c++11/regex.cc: Likewise.
456 2013-07-31  Tim Shen  <timshen91@gmail.com>
458         Revert last commit.
460 2013-07-31  Tim Shen  <timshen91@gmail.com>
462         Thompson matcher refactored. Fix grouping problem.
463         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
464         * include/bits/regex_compiler.h: Tweak for auto switching.
465         * include/bits/regex_grep_matcher.h: Class structure.
466         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
467         matcher) refactoring.
468         * include/bits/regex_nfa.h: Change _Results's interfaces.
469         * include/std/regex: Includes <map> and <queue>.
470         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
471         For both matchers.
472         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
473         For both matchers.
474         * testsuite/28_regex/algorithms/regex_match/extended/
475         string_dispatch_01.cc: New.
477 2013-07-30  Paolo Carlini  <paolo.carlini@oracle.com>
479         Revert last commit.
481 2013-07-30  Tim Shen  <timshen91@gmail.com>
483         Thompson matcher refactored. Fix grouping problem.
484         * include/bits/regex.h: Use a dispatcher _M_get_matcher().
485         * include/bits/regex_compiler.h: Tweak for auto switching.
486         * include/bits/regex_grep_matcher.h: Class structure.
487         * include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
488         matcher) refactoring.
489         * include/bits/regex_nfa.h: Change _Results's interfaces.
490         * include/std/regex: Includes <map> and <queue>.
491         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
492         For both matchers.
493         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
494         For both matchers.
495         * testsuite/28_regex/algorithms/regex_match/extended/
496         string_dispatch_01.cc: New.
498 2013-07-29  Nathan Froyd  <froydnj@gcc.gnu.org>
500         * include/std/atomic (compare_exchange_weak, compare_exchange_strong):
501         Add call to __cmpexch_failure_order.
502         * testsuite/util/testsuite_common_types.h
503         (compare_exchange_order_lowering): New generator.
504         * testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
505         New test.
507 2013-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
509         * include/std/complex (pow(const complex<>&, int)): Enable in
510         C++11 mode too.
511         * testsuite/26_numerics/complex/dr844.cc: Adjust.
512         * doc/xml/manual/intro.xml: Update.
514 2013-07-25  Tim Shen  <timshen91@gmail.com>
516         Add documents and comments.
517         * include/bits/regex.h: Documents and comments.
518         * include/bits/regex_grep_matcher.h: Likewise.
519         * include/bits/regex_grep_matcher.tcc: Likewise.
520         * testsuite/28_regex/iterators/regex_iterator/char/
521         string_position_01.cc: New.
523 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
525         PR libstdc++/57976
526         * doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
527         time_get::do_get.
529 2013-07-24  Paolo Carlini  <paolo.carlini@oracle.com>
531         * include/bits/random.h (random_device): Avoid using the FILE type.
532         * include/std/random: Do not include <cstdio>.
533         * src/c++11/random.cc: ... include it here.
534         (random_device::_M_init, random_device::_M_fini,
535         random_device::_M_getval): Cast back and forth void* and FILE*.
537 2013-07-24  Tim Shen  <timshen91@gmail.com>
539         Reimplment matcher using Depth-first search(backtracking).
540         PR libstdc++/53622
541         PR libstdc++/57173
542         * include/bits/regex.h: regex_match() and regex_search().
543         * include/bits/regex_cursor.h: Fix _M_set_pos().
544         * include/bits/regex_grep_matcher.h: add _M_dfs_match().
545         * include/bits/regex_grep_matcher.tcc: Implement it.
546         * testsuite/28_regex/algorithms/regex_match/extended/53622.cc: New.
547         * testsuite/28_regex/algorithms/regex_match/extended/57173.cc: New.
548         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
549         Remove xfail.
551 2013-07-23  Tim Shen  <timshen91@gmail.com>
553         Implement regex_iterator and regex_token_iterator.
554         * include/bits/regex.h: regex_iterator and regex_token_iterator.
555         * testsuite/28_regex/iterators/regex_iterator/char/string_01.cc:
556         New.
557         * testsuite/28_regex/iterators/regex_iterator/wchar_t/string_01.cc:
558         New.
559         * testsuite/28_regex/iterators/regex_token_iterator/char/string_01.cc:
560         New.
561         * testsuite/28_regex/iterators/regex_token_iterator/wchar_t/
562         string_01.cc: New.
564 2013-07-23  Paolo Carlini  <paolo.carlini@oracle.com>
566         * include/std/random: Add back <cstdio> include.
567         * src/c++11/random.cc: Don't include <cstdio> here.
569 2013-07-22  Jason Merrill  <jason@redhat.com>
571         PR libstdc++/57914
572         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
574 2013-07-22  Paolo Carlini  <paolo.carlini@oracle.com>
576         PR c++/57920
577         * src/c++11/random.cc (random_device::_M_getval): If possible, use
578         read instead of std::fread.
579         * include/std/random: Do not include <cstdio> unnecessarily.
581 2013-07-21  Tim Shen  <timshen91@gmail.com>
583         Partially implement regex_search.
584         * include/bits/regex.h: regex_search.
585         * include/bits/regex_grep_matcher.h: _M_search_from_first.
586         * include/bits/regex_grep_matcher.tcc: Implement it.
587         * testsuite/28_regex/algorithms/regex_search/basic/string_01.cc: New.
589 2013-07-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
591         PR libstdc++/54352
592         * include/std/condition_variable (condition_variable_any): Move into
593         inline namespace _V2 and replace mutex member with shared_ptr<mutex>.
594         * src/c++11/condition_variable.cc (condition_variable_any): Move
595         definitions to ...
596         * src/c++11/compatibility-condvar.cc (condition_variable_any): Here.
597         * src/Makefile.am: Add new source file.
598         * src/Makefile.in: Regenerate.
600 2013-07-09  Tim Shen  <timshen91@gmail.com>
602         Implement class regex_traits.
603         * include/bits/regex.h: Implement lookup_classname and
604         lookup_collatename; modify isctype; partially implement
605         transform_primary.
606         * testsuite/28_regex/traits/char/isctype.cc: Add more test cases.
607         * testsuite/28_regex/traits/char/lookup_classname.cc: Likewise.
608         * testsuite/28_regex/traits/char/lookup_collatename.cc: Likewise.
609         * testsuite/28_regex/traits/char/transform_primary.cc: Likewise.
610         * testsuite/28_regex/traits/wchar_t/isctype.cc: New.
611         * testsuite/28_regex/traits/wchar_t/lookup_classname.cc: New.
612         * testsuite/28_regex/traits/wchar_t/lookup_collatename.cc: New.
613         * testsuite/28_regex/traits/wchar_t/transform_primary.cc: New.
615 2013-07-07  Ed Smith-Rowland  <3dw4rd@verizon.net>
617         * doc/xml/manual/status_cxx2014.xml: Add links for papers.
619 2013-07-05  François Dumont  <fdumont@gcc.gnu.org>
621         * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward
622         pattern.
623         (_MoveReuseOrAllocNode): Remove.
624         (_Insert_base): Take a functor defining how the node is generated.
625         * include/bits/hashtable.h: Adapt.
626         (operator=(initializer_list<value_type>)): Reuse node if any.
627         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
628         Adjust dg-error line number.
629         * testsuite/23_containers/unordered_set/
630         not_default_constructible_hash_neg.cc: Likewise.
632 2013-07-05  Paolo Carlini  <paolo.carlini@oracle.com>
634         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
635         Tweak, avoid potential undefined behavior.
636         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
637         Likewise.
638         * testsuite/23_containers/vector/bool/modifiers/insert/
639         const_iterator.cc: Likewise.
640         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
641         Likewise.
643 2013-07-04  Veres Lajos  <vlajos@gmail.com>
644             Jonathan Wakely  <jwakely.gcc@gmail.com>
646         * config/locale/generic/codecvt_members.cc: Fix typo.
647         * configure.host: Likewise.
648         * doc/html/manual/policy_data_structures_design.html: Likewise.
649         * doc/xml/manual/policy_data_structures.xml: Likewise.
650         * include/bits/hashtable.h: Likewise.
651         * include/bits/random.h: Likewise.
652         * include/profile/impl/profiler_trace.h: Likewise.
653         * testsuite/23_containers/deque/cons/2.cc: Likewise.
654         * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.
655         * testsuite/ext/pb_ds/example/basic_multimap.cc: Likewise.
656         * testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
658 2013-07-04  Ray Chason  <chasonr@newsguy.com>
659             Paolo Carlini  <paolo.carlini@oracle.com>
661         PR libstdc++/57808
662         * include/bits/regex.h (regex_token_iterator<>::operator==,
663         regex_token_iterator<>::operator!=, regex_token_iterator<>::operator*,
664         regex_token_iterator<>::operator->): Declare const.
666 2013-07-01  Paolo Carlini  <paolo.carlini@oracle.com>
668         * include/bits/stl_list.h (list<>::insert(iterator,
669         size_type, const value_type&), list<>::insert(iterator,
670         initializer_list<>), list<>::insert(iterator, _InputIterator,
671         _InputIterator), list<>::splice(iterator, list&&),
672         list<>::splice(iterator, list&), list<>::splice(iterator, list&&,
673         iterator), list<>::splice(iterator, list&, iterator),
674         list<>::splice(iterator, list&&, iterator, iterator),
675         list<>::splice(iterator, list&, iterator, iterator)): Adjust C++11
676         signatures to take const_iterator(s).
677         * include/bits/list.tcc (list<>::insert(const_iterator, size_type,
678         const value_type&), list<>::insert(const_iterator, _InputIterator,
679         _InputIterator)): Define.
680         * include/ext/vstring.h (__versa_string<>::insert(iterator,
681         size_type, _CharT), __versa_string<>::insert(iterator,
682         _InputIterator, _InputIterator), __versa_string<>::insert(iterator,
683         std::initializer_list<>), __versa_string<>::replace(iterator,
684         iterator, _InputIterator, _InputIterator), __versa_string<>::
685         replace(iterator, iterator, std::initializer_list<>)): Adjust C++11
686         signatures to take const_iterator(s).
687         (__versa_string<>::_M_replace_dispatch): Take const_iterators.
688         * include/ext/vstring.tcc: Likewise.
689         * include/debug/list: Adjust.
690         * include/profile/list: Likewise.
691         * testsuite/23_containers/list/operations/splice/const_iterator.cc:
692         New.
693         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
694         Extend.
695         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
696         Likewise.
697         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
698         Likewise.
699         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
700         Likewise.
701         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
702         Likewise.
704         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
705         Adjust dg-error line number.
706         * testsuite/23_containers/list/requirements/dr438/
707         constructor_1_neg.cc: Likewise.
708         * testsuite/23_containers/list/requirements/dr438/
709         constructor_2_neg.cc: Likewise.
710         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
711         Likewise.
713 2013-06-30  Paolo Carlini  <paolo.carlini@oracle.com>
715         * include/bits/stl_deque.h (deque<>::insert(iterator,
716         size_type, const value_type&), deque<>::insert(iterator,
717         initializer_list<>), deque<>::insert(iterator, _InputIterator,
718         _InputIterator)): Adjust C++11 signatures to take a const_iterator.
719         * include/bits/stl_vector.h: Likewise.
720         * include/bits/stl_bvector.h: Likewise.
721         * include/debug/deque: Adjust.
722         * include/debug/vector: Likewise.
723         * include/profile/deque: Likewise.
724         * include/profile/vector: Likewise.
725         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
726         Extend.
727         * testsuite/23_containers/vector/bool/modifiers/insert/
728         const_iterator.cc: Likewise.
729         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
730         Likewise.
732         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
733         Adjust dg-error line number.
734         * testsuite/23_containers/deque/requirements/dr438/
735         constructor_1_neg.cc: Likewise.
736         * testsuite/23_containers/deque/requirements/dr438/
737         constructor_2_neg.cc: Likewise.
738         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
739         Likewise.
740         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
741         Likewise.
742         * testsuite/23_containers/vector/requirements/dr438/
743         constructor_1_neg.cc: Likewise.
744         * testsuite/23_containers/vector/requirements/dr438/
745         constructor_2_neg.cc: Likewise.
746         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
747         Likewise.
749 2013-06-29  François Dumont  <fdumont@gcc.gnu.org>
751         * include/bits/hashtable_policy.h (_Insert_base): Consider hint in
752         insert methods.
753         * include/bits/hashtable.h: Likewise.
754         * testsuite/23_containers/unordered_multimap/insert/hint.cc: New.
755         * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc:
756         New.
757         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
758         Adjust dg-error line number.
759         * testsuite/23_containers/unordered_set/
760         not_default_constructible_hash_neg.cc: Likewise.
761         * doc/xml/manual/containers.xml: Document hinting in unordered
762         containers.
764 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
766         * testsuite/21_strings/basic_string/operations/*: Move inside
767         testsuite/21_strings/basic_string/operations/data/.
768         * testsuite/21_strings/basic_string/compare/*: Move inside
769         testsuite/21_strings/basic_string/operations/.
770         * testsuite/21_strings/basic_string/find/*: Likewise.
771         * testsuite/21_strings/basic_string/rfind/*: Likewise.
772         * testsuite/21_strings/basic_string/substr/*: Likewise.
774 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
776         * testsuite/21_strings/basic_string/append/*: Move inside
777         testsuite/21_strings/basic_string/modifiers/.
778         * testsuite/21_strings/basic_string/assign/*: Likewise.
779         * testsuite/21_strings/basic_string/insert/*: Likewise.
780         * testsuite/21_strings/basic_string/replace/*: Likewise.
781         * testsuite/21_strings/basic_string/modifiers/pop_back/char/
782         pop_back.cc: Rename to 1.cc.
783         * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/
784         pop_back.cc: Likewise.
785         * testsuite/ext/vstring/assign/*: Move inside
786         testsuite/ext/vstring/modifiers/.
788 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
790         * include/bits/stl_deque.h (deque<>::insert(iterator,
791         const value_type&), deque<>::insert(iterator, value_type&&),
792         deque<>::emplace(iterator, _Args&&...)): Adjust C++11 signatures to
793         take a const_iterator.
794         (deque<>::erase): Simplify.
795         * include/bits/stl_list.h: Likewise.
796         (_List_iterator<>::_M_const_cast): Add.
797         * include/bits/stl_vector.h: Likewise.
798         * include/bits/stl_bvector.h: Likewise.
799         (_Bit_iterator::_M_const_cast): Add.
800         * include/bits/deque.tcc: Adjust definitions.
801         * include/bits/list.tcc: Likewise.
802         * include/bits/vector.tcc: Likewise.
803         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
804         Define trivial version in C++98 mode.
805         * include/ext/vstring.h (__versa_string<>::insert(iterator, _CharT),
806         __versa_string<>::replace(iterator, iterator, const __versa_string&),
807         __versa_string<>::replace(iterator, iterator, const _CharT*,
808         size_type), __versa_string<>::replace(iterator, iterator,
809         const _CharT*), __versa_string<>::replace(iterator, iterator,
810         size_type, _CharT)): Adjust C++11 signatures to take a pair of
811         const_iterators.
812         * include/debug/deque: Adjust.
813         * include/debug/list: Likewise.
814         * include/debug/vector: Likewise.
815         * include/profile/deque: Likewise.
816         * include/profile/list: Likewise.
817         * include/profile/vector: Likewise.
818         (vector<>::emplace): Add.
819         * testsuite/util/exception/safety.h: Update.
820         * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
821         New.
822         * testsuite/23_containers/deque/modifiers/insert/const_iterator.cc:
823         Likewise.
824         * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
825         Likewise.
826         * testsuite/23_containers/list/modifiers/insert/const_iterator.cc:
827         Likewise.
828         * testsuite/23_containers/vector/bool/modifiers/insert/
829         const_iterator.cc: Likewise.
830         * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
831         Likewise.
832         * testsuite/23_containers/vector/modifiers/insert/const_iterator.cc:
833         Likewise.
834         * testsuite/ext/vstring/modifiers/insert/char/const_iterator.cc:
835         Likewise.
836         * testsuite/ext/vstring/modifiers/insert/wchar_t/const_iterator.cc:
837         Likewise.
838         * testsuite/ext/vstring/modifiers/replace/char/const_iterator.cc:
839         Likewise.
840         * testsuite/ext/vstring/modifiers/replace/wchar_t/const_iterator.cc:
841         Likewise.
843         * testsuite/ext/vstring/modifiers/char/54577.cc: Move to testsuite/
844         ext/vstring/modifiers/erase/char/.
845         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Move to testsuite/
846         ext/vstring/modifiers/wchar_t/.
847         * testsuite/ext/vstring/modifiers/char/pop_back.cc: Move to testsuite/
848         ext/vstring/modifiers/pop_back/char/.
849         * testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: Move to
850         testsuite/ext/vstring/modifiers/pop_back/wchar_t/.
852         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
853         Adjust dg-error line number.
854         * testsuite/23_containers/deque/requirements/dr438/
855         constructor_1_neg.cc: Likewise.
856         * testsuite/23_containers/deque/requirements/dr438/
857         constructor_2_neg.cc: Likewise.
858         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
859         Likewise.
860         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
861         Likewise.
862         * testsuite/23_containers/list/requirements/dr438/
863         constructor_1_neg.cc: Likewise.
864         * testsuite/23_containers/list/requirements/dr438/
865         constructor_2_neg.cc: Likewise.
866         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
867         Likewise.
868         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
869         Likewise.
870         * testsuite/23_containers/vector/requirements/dr438/
871         constructor_1_neg.cc: Likewise.
872         * testsuite/23_containers/vector/requirements/dr438/
873         constructor_2_neg.cc: Likewise.
874         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
875         Likewise.
877 2013-06-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
879         Status page for C++2014 library features
880         * doc/xml/faq.xml: Add link to new C++14 status page.
881         * doc/xml/manual/intro.xml: Ditto.
882         * doc/xml/manual/status_cxx2014.xml: New.
884 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
886         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
887         spurious fails with check-debug.
888         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
889         Likewise.
890         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
891         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
892         Likewise.
894 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
896         PR libstdc++/57704
897         * include/bits/char_traits.h (char_traits<char>::lt): Implement
898         LWG 467.
899         * testsuite/21_strings/char_traits/requirements/char/57704.cc: New.
901 2013-06-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
903         PR libstdc++/57691
904         * include/c_global/cstdlib (atexit, at_quick_exit): If !_GLIBCC_HOSTED,
905         declare per the letter of the C++ standard in terms of void.
906         * include/c_std/cstdlib: Likewise.
908 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
910         PR libstdc++/57674
911         * include/bits/random.h (binomial_distribution<>::_M_waiting):
912         Add double parameter.
913         * include/bits/random.tcc (binomial_distribution<>::operator()
914         (_UniformRandomNumberGenerator&, const param_type&)): Pass
915         __param._M_q to _M_waiting.
916         (_M_waiting): Adjust.
917         * testsuite/26_numerics/random/binomial_distribution/
918         operators/values.cc: Add tests.
920 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
922         PR libstdc++/57666
923         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
924         Implement correctly C++11 26.6.2.3/1.
925         * testsuite/26_numerics/valarray/dr630-3.C: New.
927 2013-06-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
929         PR libstdc++/57641
930         * include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
931         functionality to new __timed_mutex_impl mixin. Overload try_lock_until
932         to handle conversion between different clocks. Replace constrained
933         __try_lock_for_impl overloads with conditional increment.
934         * include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
935         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
937 2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
938             Chris Jefferson  <chris@bubblescope.net>
940         * include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
941         dispatch to traditional std::equal for random-access iterators.
942         (__equal2_aux, __equal2): Remove.
943         (__equal::equal): Remove unused overloads.
944         * include/bits/stl_algo.h (is_permutation): Fix typos.
946 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
948         * include/std/shared_mutex (shared_lock::operator=): Add missing
949         return statement.
951 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
953         PR libstdc++/57263
954         * include/bits/forward_list.h (_Fwd_list_base): Convert to/from
955         allocator's pointer type.
956         * include/bits/hashtable.h (_Hashtable): Likewise.
957         * testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
958         * testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
959         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
960         * testsuite/23_containers/vector/allocator/ext_ptr.cc: New.
962 2013-06-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
964         * include/std/shared_mutex: Implement N3659.
965         * include/bits/c++14_warning.h: New.
966         * include/Makefile.am: Add new headers.
967         * include/Makefile.in: Regenerate.
968         * testsuite/30_threads/shared_lock/cons/1.cc: New.
969         * testsuite/30_threads/shared_lock/locking/2.cc: New.
970         * testsuite/30_threads/shared_lock/cons/2.cc: New.
971         * testsuite/30_threads/shared_lock/locking/3.cc: New.
972         * testsuite/30_threads/shared_lock/cons/3.cc: New.
973         * testsuite/30_threads/shared_lock/locking/4.cc: New.
974         * testsuite/30_threads/shared_lock/cons/4.cc: New.
975         * testsuite/30_threads/shared_lock/modifiers/1.cc: New.
976         * testsuite/30_threads/shared_lock/cons/5.cc: New.
977         * testsuite/30_threads/shared_lock/modifiers/2.cc: New.
978         * testsuite/30_threads/shared_lock/cons/6.cc: New.
979         * testsuite/30_threads/shared_lock/requirements/
980         explicit_instantiation.cc: New.
981         * testsuite/30_threads/shared_lock/locking/1.cc: New.
982         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
983         * testsuite/30_threads/shared_mutex/cons/1.cc: New.
984         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
985         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
986         * testsuite/30_threads/shared_mutex/requirements/
987         standard_layout.cc: New.
988         * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
989         * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
991 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
993         PR libstdc++/57619
994         * include/bits/unordered_map.h (unordered_map<>::insert,
995         unordered_multimap<>::insert): Use std::forward, not std::move.
996         * testsuite/23_containers/unordered_map/insert/57619.C: New.
997         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
999 2013-06-14  Alan Modra  <amodra@gmail.com>
1001         * configure.host (abi_baseline_pair): Match powerpc64*.
1003 2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>
1005         * include/std/type_traits (is_function): Support ref-qualified
1006         functions.
1007         (is_copy_constructible, is_move_constructible, is_copy_assignable,
1008         is_move_assignable, is_nothrow_copy_constructible,
1009         is_nothrow_move_constructible, is_nothrow_copy_assignable,
1010         is_nothrow_move_assignable): Implement LWG 2196.
1011         (add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
1012         LWG 2101.
1013         (__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
1014         unused.
1015         * testsuite/20_util/add_lvalue_reference/value.cc: Extend.
1016         * testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
1017         * testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
1018         * testsuite/20_util/is_assignable/value.cc: Likewise.
1019         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1020         * testsuite/20_util/is_copy_assignable/value.cc: Likewise.
1021         * testsuite/20_util/is_copy_constructible/value.cc: Likewise.
1022         * testsuite/20_util/is_function/value.cc: Likewise.
1023         * testsuite/20_util/is_move_assignable/value.cc: Likewise.
1024         * testsuite/20_util/is_move_constructible/value.cc: Likewise.
1025         * testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
1026         * testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
1027         * testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
1028         * testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
1030         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1031         line number.
1032         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1033         Likewise.
1034         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1035         Likewise.
1037 2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>
1039         * include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
1040         __gnu_cxx::__airy_bi()): Remove.
1041         * testsuite/tr1/5_numerical_facilities/special_functions/
1042         10_cyl_bessel_k/airy.cc: Fix.
1044 2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>
1046         PR libstdc++/56430
1047         * include/tr1/modified_bessel_func.tcc (__airy): Remove return
1048         from void function.
1049         (__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
1050         * testsuite/tr1/5_numerical_facilities/special_functions/
1051         10_cyl_bessel_k/airy.cc: New.
1053 2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>
1055         Fix library literals error involving namespace __detail.
1056         * include/std/chrono: Rename __detail to __select_type. Reformat.
1057         * include/bits/basic_string.h: Reformat.
1058         * testsuite/20_util/duration/literals/ns_detail.cc: New.
1060 2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>
1062         PR libstdc++/56019
1063         * include/c_global/cstddef (max_align_t): Add to namespace std.
1064         * include/c_std/cstddef: Likewise.
1065         * testsuite/18_support/max_align_t/requirements/1.cc: New.
1066         * testsuite/18_support/max_align_t/requirements/2.cc: Likewise.
1068 2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>
1070         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
1071         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
1072         * include/bits/stl_multimap.h: Same.
1073         * include/bits/stl_multiset.h: Same.
1074         * include/bits/stl_set.h: Same.
1075         * include/bits/stl_tree.h: Same.
1076         * include/std/complex (real, imag): Use macro for abi_tag.
1078         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
1079         * testsuite/util/testsuite_containers.h (erase_external): New
1080         declarations.
1081         (erase_external_iterators): Same.
1082         (linkage_check_cxx98_cxx11_erase): Same.
1083         (linkage_check_cxx98_cxx11_erase_iterators): Same.
1084         * testsuite/util/testsuite_shared.cc: Define.
1085         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
1086         * testsuite/23_containers/map/modifiers/erase/
1087         dr130-linkage-check.cc: New.
1088         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
1089         * testsuite/23_containers/multimap/modifiers/erase/
1090         dr130-linkage-check.cc: New.
1091         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
1092         * testsuite/23_containers/multiset/modifiers/erase/
1093         dr130-linkage-check.cc: New.
1094         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
1095         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
1096         New.
1097         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
1099         * testsuite/23_containers/map/dr130.cc: Move...
1100         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
1101         * testsuite/23_containers/multimap/dr130.cc: Move ...
1102         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
1103         * testsuite/23_containers/multiset/dr130.cc: Move...
1104         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
1105         * testsuite/23_containers/set/dr130.cc: Move...
1106         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
1108 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
1110         * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
1111         handling of Linux-based x86 systems to cover all GNU systems.
1112         * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
1113         * testsuite/18_support/pthread_guard.cc: Likewise.
1114         * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
1115         Likewise.
1116         * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
1117         Likewise.
1118         * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1119         * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1120         * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
1121         * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
1122         * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1123         * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1124         * testsuite/23_containers/list/pthread1.cc: Likewise.
1125         * testsuite/23_containers/list/pthread5.cc: Likewise.
1126         * testsuite/23_containers/map/pthread6.cc: Likewise.
1127         * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
1128         Likewise.
1129         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
1130         Likewise.
1131         * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1132         * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1133         * testsuite/30_threads/async/42819.cc: Likewise.
1134         * testsuite/30_threads/async/49668.cc: Likewise.
1135         * testsuite/30_threads/async/54297.cc: Likewise.
1136         * testsuite/30_threads/async/any.cc: Likewise.
1137         * testsuite/30_threads/async/async.cc: Likewise.
1138         * testsuite/30_threads/async/launch.cc: Likewise.
1139         * testsuite/30_threads/async/sync.cc: Likewise.
1140         * testsuite/30_threads/call_once/39909.cc: Likewise.
1141         * testsuite/30_threads/call_once/49668.cc: Likewise.
1142         * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1143         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1144         * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1145         * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1146         * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1147         * testsuite/30_threads/condition_variable/members/53841.cc:
1148         Likewise.
1149         * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1150         Likewise.
1151         * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1152         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1153         * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1154         * testsuite/30_threads/condition_variable_any/members/1.cc:
1155         Likewise.
1156         * testsuite/30_threads/condition_variable_any/members/2.cc:
1157         Likewise.
1158         * testsuite/30_threads/future/cons/move.cc: Likewise.
1159         * testsuite/30_threads/future/members/45133.cc: Likewise.
1160         * testsuite/30_threads/future/members/get.cc: Likewise.
1161         * testsuite/30_threads/future/members/get2.cc: Likewise.
1162         * testsuite/30_threads/future/members/share.cc: Likewise.
1163         * testsuite/30_threads/future/members/valid.cc: Likewise.
1164         * testsuite/30_threads/future/members/wait.cc: Likewise.
1165         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1166         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1167         * testsuite/30_threads/lock/1.cc: Likewise.
1168         * testsuite/30_threads/lock/2.cc: Likewise.
1169         * testsuite/30_threads/lock/3.cc: Likewise.
1170         * testsuite/30_threads/lock/4.cc: Likewise.
1171         * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1172         * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1173         * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1174         * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1175         * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1176         * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1177         * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1178         * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1179         * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1180         * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1181         * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1182         * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1183         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1184         * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1185         * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1186         * testsuite/30_threads/packaged_task/cons/move_assign.cc:
1187         Likewise.
1188         * testsuite/30_threads/packaged_task/members/get_future.cc:
1189         Likewise.
1190         * testsuite/30_threads/packaged_task/members/get_future2.cc:
1191         Likewise.
1192         * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1193         * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1194         * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1195         * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1196         * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1197         * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1198         * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1199         * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1200         * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1201         * testsuite/30_threads/promise/cons/1.cc: Likewise.
1202         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1203         * testsuite/30_threads/promise/cons/move.cc: Likewise.
1204         * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1205         * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1206         * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1207         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1208         * testsuite/30_threads/promise/members/set_exception2.cc:
1209         Likewise.
1210         * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1211         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1212         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1213         * testsuite/30_threads/promise/members/swap.cc: Likewise.
1214         * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1215         * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1216         Likewise.
1217         * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1218         * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
1219         Likewise.
1220         * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1221         Likewise.
1222         * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1223         * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1224         * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1225         * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1226         * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1227         Likewise.
1228         * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1229         * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1230         * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1231         Likewise.
1232         * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1233         Likewise.
1234         * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
1235         Likewise.
1236         * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
1237         Likewise.
1238         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1239         Likewise.
1240         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1241         Likewise.
1242         * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1243         Likewise.
1244         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1245         Likewise.
1246         * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1247         Likewise.
1248         * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
1249         Likewise.
1250         * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1251         * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1252         * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1253         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1254         * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1255         * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1256         * testsuite/30_threads/shared_future/members/wait_for.cc:
1257         Likewise.
1258         * testsuite/30_threads/shared_future/members/wait_until.cc:
1259         Likewise.
1260         * testsuite/30_threads/this_thread/1.cc: Likewise.
1261         * testsuite/30_threads/this_thread/2.cc: Likewise.
1262         * testsuite/30_threads/this_thread/3.cc: Likewise.
1263         * testsuite/30_threads/this_thread/4.cc: Likewise.
1264         * testsuite/30_threads/thread/cons/1.cc: Likewise.
1265         * testsuite/30_threads/thread/cons/2.cc: Likewise.
1266         * testsuite/30_threads/thread/cons/3.cc: Likewise.
1267         * testsuite/30_threads/thread/cons/4.cc: Likewise.
1268         * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1269         * testsuite/30_threads/thread/cons/5.cc: Likewise.
1270         * testsuite/30_threads/thread/cons/6.cc: Likewise.
1271         * testsuite/30_threads/thread/cons/7.cc: Likewise.
1272         * testsuite/30_threads/thread/cons/8.cc: Likewise.
1273         * testsuite/30_threads/thread/cons/9.cc: Likewise.
1274         * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1275         * testsuite/30_threads/thread/members/1.cc: Likewise.
1276         * testsuite/30_threads/thread/members/2.cc: Likewise.
1277         * testsuite/30_threads/thread/members/3.cc: Likewise.
1278         * testsuite/30_threads/thread/members/4.cc: Likewise.
1279         * testsuite/30_threads/thread/members/5.cc: Likewise.
1280         * testsuite/30_threads/thread/members/hardware_concurrency.cc:
1281         Likewise.
1282         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1283         * testsuite/30_threads/thread/native_handle/typesizes.cc:
1284         Likewise.
1285         * testsuite/30_threads/thread/swap/1.cc: Likewise.
1286         * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1287         * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1288         Likewise.
1289         * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1290         * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1291         * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
1292         Likewise.
1293         * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1294         * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1295         * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1296         * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1297         * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1298         * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1299         * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1300         * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1301         * testsuite/30_threads/try_lock/1.cc: Likewise.
1302         * testsuite/30_threads/try_lock/2.cc: Likewise.
1303         * testsuite/30_threads/try_lock/3.cc: Likewise.
1304         * testsuite/30_threads/try_lock/4.cc: Likewise.
1305         * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1306         * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1307         * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1308         * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1309         * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1310         * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1311         * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1312         * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1313         * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1314         * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1315         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1316         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1317         * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
1318         * testsuite/ext/profile/mh.cc: Likewise.
1319         * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1320         * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
1321         * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1322         Likewise.
1323         * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1324         Likewise.
1325         * testsuite/util/testsuite_performance.h: Extend current handling
1326         of Linux-based systems to cover all glibc-based systems.
1328 2013-06-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
1330         * include/std/mutex (call_once): Remove parentheses to fix error in
1331         c++1y and gnu++1y mode.
1332         * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
1333         thread to avoid undefined behaviour.
1335 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1337         Simplify and clean up library literals.
1338         * include/std/chrono: Simplify namespace and versioning management.
1339         * include/bits/basic_string.h: Ditto.
1340         * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
1341         * testsuite/20_util/duration/literals/values.cc: Ditto.
1342         * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
1343         * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
1345 2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>
1347         Implement N3654 - Quoted Strings Library Proposal
1348         * include/std/iomanip: Add quoted(String, Char delim, Char escape)
1349         manipulators and supporting machinery in c++1y mode.
1350         * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
1351         * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
1353 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1355         * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
1356         2162: Add noexcept.
1358 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1360         * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
1361         * include/bits/stl_algobase.h (equal, mismatch): Likewise.
1362         * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
1363         * testsuite/25_algorithms/equal/2.cc: New.
1364         * testsuite/25_algorithms/equal/check_type2.cc: New.
1365         * testsuite/25_algorithms/is_permutationqual/2.cc: New.
1366         * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
1367         * testsuite/25_algorithms/mismatch/2.cc: New.
1368         * testsuite/25_algorithms/mismatch/check_type2.cc: New.
1369         * testsuite/util/testsuite_iterators.h: Fix spelling.
1371 2013-06-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1373         * include/std/type-traits (integral_constant::operator()): Implement
1374         N3545.
1375         * testsuite/20_util/integral_constant/call_operator.cc: New.
1376         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1377         line numbers.
1378         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1379         Likewise.
1380         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1381         Likewise.
1383 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
1385         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1387 2013-06-05  Tom Tromey  <tromey@redhat.com>
1389         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
1391 2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
1393         PR c++/57419
1394         * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
1396 2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>
1398         * include/std/chrono: Collapse redundant 'inline' from 'inline
1399         constexpr'.
1400         * include/std/tuple: Ditto.
1401         * include/bits/move.h: Ditto.
1403 2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>
1405         Implement N3642 - User-defined Literals for Standard Library Types
1406         * include/bits/parse_numbers.h: New.
1407         * include/std/chrono: Add duration literal operators.
1408         * include/bits/basic_string.h: Add string literal operators.
1409         * include/Makefile.in: Add parse_numbers.h.
1410         * include/Makefile.am: Ditto.
1411         * testsuite/20_util/duration/literals/values.cc: New.
1412         * testsuite/20_util/duration/literals/types.cc: New.
1413         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
1414         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
1415         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
1416         * testsuite/21_strings/basic_string/literals/values.cc: New.
1417         * testsuite/21_strings/basic_string/literals/types.cc: New.
1419 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1421         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
1422         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
1423         calling non-existent from_time_t.
1425 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1427         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1428         Regenerate.
1430 2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
1432         * include/std/chrono: Wrap clocks in inline namespace _V2.
1433         * src/c++11/chrono.cc: Same.
1434         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
1435         file, with default configure macros selected.
1437         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
1438         namespace.
1439         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
1441         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1442         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1443         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1444         Regenerated.
1445         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1446         Regenerated.
1447         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1448         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1449         Regenerated.
1450         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1451         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1452         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1453         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1454         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1455         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1456         Regenerated.
1457         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1458         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1460 2013-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1462         * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
1463         (CLOCK_MONOTONIC): Define.
1465 2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
1467         * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
1468         overload.
1470         * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
1472 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
1474         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
1475         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
1476         don't define system_clock::is_steady, system_clock::now() and
1477         steady_clock::is_steady.
1478         (std::chrono::system_clock::now()): If
1479         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
1480         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
1481         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
1482         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
1483         be non-empty.
1484         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
1485         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
1486         * src/c++11/compatibility-chrono.cc: New file.
1487         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
1488         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
1489         * testsuite/util/testsuite_abi.cc (check_version): Add
1490         GLIBCXX_3.4.20 version and make it the latest.
1491         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
1492         also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
1493         @@GLIBCXX_3.4.20 instead.
1494         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
1495         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
1496         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
1497         Regenerated.
1498         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1499         Regenerated.
1500         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
1501         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
1502         Regenerated.
1503         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
1504         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
1505         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
1506         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
1507         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
1508         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
1509         Regenerated.
1510         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
1511         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
1512         * config.h.in: Regenerated.
1513         * src/Makefile.in: Regenerated.
1514         * configure: Regenerated.
1516 2013-05-23  Matthias Klose  <doko@ubuntu.com>
1518         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1519         (ext_headers): Remove ${ext_host_headers}.
1520         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1521         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1522         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1523         * include/Makefile.in: Regenerate.
1524         * include/ext/random: Include ext/opt_random.h.
1526 2013-05-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
1528         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
1529         enable features if target OS is known to support them.
1530         * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
1531         * configure: Regenerate.
1533 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
1535         PR libstdc++/57336
1536         * include/std/functional (__invoke): Do not form function types with
1537         abstract return type.
1538         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
1540 2013-05-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1542         * include/std/tuple (get): Implement N3670.
1543         * include/std/utility (get): Likewise.
1544         * testsuite/20_util/pair/get.cc: Move to ...
1545         * testsuite/20_util/pair/astuple/get.cc: Here.
1546         * testsuite/20_util/pair/astuple/astuple.cc: New.
1547         * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
1548         * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
1549         * testsuite/20_util/pair/astuple/get_by_type.cc: New.
1550         * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
1551         * testsuite/20_util/pair/astuple/get_neg.cc: New.
1552         * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
1553         * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
1554         * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
1556 2013-05-19  Paolo Carlini  <paolo.carlini@oracle.com>
1558         * Revert last commit.
1560 2013-05-19  Matthias Klose  <doko@ubuntu.com>
1562         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
1563         (ext_headers): Remove ${ext_host_headers}.
1564         (stamp-${host_alias}): Create ${host_builddir}/../ext.
1565         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
1566         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
1567         * include/Makefile.in: Regenerate.
1569 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1571         * include/std/system_error (error_category::error_category()): LWG
1572         2145: Declare public and constexpr.
1573         * src/c++11/system_error.cc (error_category::error_category()): Move
1574         definition to ...
1575         * src/c++11/compatibility-c++0x.cc: Here.
1577 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1579         * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
1581 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1583         * include/bits/unique_ptr.h (make_unique): Declare inline.
1584         (unique_ptr<T[],D>::reset()): Combine two overloads into one.
1585         (default_delete, unique_ptr): Add doxygen comments.
1586         * include/bits/shared_ptr_base.h: Improve doxygen comments.
1587         * include/bits/shared_ptr.h: Likewise.
1588         * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
1589         number.
1590         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
1592 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1594         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1596 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1598         * doc/xml/manual/status_cxx2011.xml: Fix markup error.
1600 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1602         * include/std/utility (exchange): Define.
1603         * testsuite/20_util/exchange/1.cc: New.
1605 2013-05-18  Jonathan Wakely  <jwakely.gcc@gmail.com>
1607         * include/bits/unique_ptr.h (make_unique): Define.
1608         * testsuite/20_util/unique_ptr/creation/single.cc: New.
1609         * testsuite/20_util/unique_ptr/creation/array.cc: New.
1610         * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
1612 2013-05-15  François Dumont  <fdumont@gcc.gnu.org>
1614         * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
1615         rendering of std::tr1 unordered containers iterator.
1616         (StdHashtableIterator): New, render std unordered containers iterator.
1617         * testsuite/libstdc++-prettyprinters/tr1.cc: New.
1619 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
1621         * include/bits/basic_string.h (getline): Fix doxygen comments.
1623 2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>
1625         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1626         Use std::pointer_traits.
1628 2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>
1630         * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
1631         bad_array_new.cc.
1632         * libsupc++/Makefile.in: Regenerate.
1633         * libsupc++/bad_array_length.cc: Tweak.
1634         * libsupc++/bad_array_new.cc: Tweak.
1636 2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
1638         PR libstdc++/54577
1639         * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
1640         (_Deque_iterator<>::_M_const_cast): Add.
1641         (deque<>::_M_erase): Declare.
1642         * include/bits/deque.tcc: ... and define.
1643         * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
1644         (_List_const_iterator<>::_M_const_cast): Add.
1645         * include/bits/list.tcc (erase (iterator)): Fix.
1646         * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
1647         Add; include <ext/cast.h>.
1648         * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
1649         (vector<>::_M_erase): Declare.
1650         * include/bits/stl_bvector.h: Likewise.
1651         * include/bits/vector.tcc (vector<>::_M_erase): Define.
1652         * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
1653         * include/debug/deque: Adjust.
1654         * include/debug/list: Likewise.
1655         * include/debug/vector: Likewise.
1656         * include/profile/deque: Likewise.
1657         * include/profile/list: Likewise.
1658         * include/profile/vector: Likewise.
1659         * testsuite/util/exception/safety.h (erase_base<deque>,
1660         erase_base<deque>, erase_base<vector>): Remove.
1661         (erase_base<__versa_string>): Update.
1662         * testsuite/ext/vstring/modifiers/char/54577.cc: New.
1663         * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
1664         * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
1665         * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
1666         * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
1667         Likewise.
1668         * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
1669         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1670         Adjust dg-error line numbers.
1671         * testsuite/23_containers/deque/requirements/dr438/
1672         constructor_1_neg.cc: Likewise.
1673         * testsuite/23_containers/deque/requirements/dr438/
1674         constructor_2_neg.cc: Likewise.
1675         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1676         Likewise.
1677         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1678         Likewise.
1679         * testsuite/23_containers/list/requirements/dr438/
1680         constructor_1_neg.cc: Likewise.
1681         * testsuite/23_containers/list/requirements/dr438/
1682         constructor_2_neg.cc: Likewise.
1683         * testsuite/23_containers/list/requirements/dr438/
1684         insert_neg.cc: Likewise.
1685         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1686         Likewise.
1687         * testsuite/23_containers/vector/requirements/dr438/
1688         constructor_1_neg.cc: Likewise.
1689         * testsuite/23_containers/vector/requirements/dr438/
1690         constructor_2_neg.cc: Likewise.
1691         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1692         Likewise.
1694 2013-05-09  Uros Bizjak  <ubizjak@gmail.com>
1696         * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
1698 2013-05-08  Jason Merrill  <jason@redhat.com>
1700         Add std::bad_array_length (N3639)
1701         * libsupc++/new: Add std::bad_array_length.
1702         * libsupc++/bad_array_length.cc: New.
1703         * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
1704         * libsupc++/Makefile.in: Build them.
1705         * config/abi/pre/gnu.ver: Add new symbols.
1706         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1708 2013-05-08  Andi Kleen  <ak@linux.intel.com>
1710         PR target/55947
1711         * libstdc++-v3/include/bits/atomic_base.h
1712         (_GLIBCXX_ALWAYS_INLINE): Add new macro.
1713         (atomic_thread_fence, atomic_signal_fence, test_and_set,
1714         clear, store, load, exchange, compare_exchange_weak)
1715         compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
1716         fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
1718 2013-05-08  Jason Merrill  <jason@redhat.com>
1720         Add std::bad_array_new_length (N2932)
1721         * libsupc++/new: Add std::bad_array_new_length.
1722         * libsupc++/bad_array_new.cc: New.
1723         * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
1724         * libsupc++/Makefile.in: Build them.
1725         * config/abi/pre/gnu.ver: Add new symbols.
1726         * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
1728 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
1730         PR libstdc++/57212
1731         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
1732         to __MINGW32__.
1733         * include/Makefile.in: Regenerated.
1735 2013-05-07  François Dumont  <fdumont@gcc.gnu.org>
1737         * include/profile/unordered_base.h: New.
1738         * include/Makefile.am: Add new profile header.
1739         * include/Makefile.in: Regenerate.
1740         * include/profile/impl/profiler.h
1741         (__profcxx_inefficient_hash_is_on): New macro.
1742         * include/profile/unordered_map (std::profile::unordered_map<>):
1743         Use new _Unordered_profile base class. Use default implementations
1744         for special functions.
1745         (std::profile::unordered_multimap<>): Likewise.
1746         * include/profile/unordered_set (std::profile::unordered_set<>):
1747         Likewise.
1748         (std::profile::unordered_multiset<>): Likewise.
1749         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
1750         MoveOnly equality operator signature.
1752 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1754         * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
1755         constexpr_data.cc: Move...
1756         * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
1757         ... here.
1758         * testsuite/20_util/integral_constant/requirements/
1759         explicit_instantiation.cc: New.
1760         * testsuite/20_util/integral_constant/requirements/typedefs.cc:
1761         Likewise.
1762         * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
1763         * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
1764         Likewise.
1765         * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
1766         * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
1768 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1770         * include/std/type_traits (is_null_pointer): Add.
1771         (__is_nullptr_t): Implement in terms of the latter.
1772         (is_fundamental, is_scalar): Adjust.
1773         * testsuite/20_util/is_null_pointer/requirements/
1774         explicit_instantiation.cc: New.
1775         * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
1776         Likewise.
1777         * testsuite/20_util/is_null_pointer/value.cc: Likewise.
1778         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1779         line number.
1780         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1781         Likewise.
1782         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1783         Likewise.
1785 2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>
1787         * include/c_global/cstdio: Add comment about LWG 2249.
1788         * include/c_std/cstdio: Likewise.
1790 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1792         * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
1793         comment.
1794         * include/std/mutex (__recursive_mutex_base): Likewise.
1796 2013-04-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1798         PR libstdc++/51365
1799         * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
1800         implement EBO safely.
1801         (_Sp_counted_base::_M_get_deleter): Add noexcept.
1802         (_Sp_counter_ptr): Use noexcept instead of comments.
1803         (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
1804         (_Sp_counted_ptr_inplace): Likewise.
1805         * testsuite/20_util/shared_ptr/cons/51365.cc: New.
1806         * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
1807         custom allocator and test construction with custom allocator.
1808         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
1809         line number.
1811 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1813         * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
1814         dialect to -std=gnu++11.
1816 2013-04-26  François Dumont  <fdumont@gcc.gnu.org>
1818         * include/bits/hashtable_policy.h
1819         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
1820         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
1822 2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>
1824         * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
1825         * include/c_std/cstdio (gets): Likewise.
1826         * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
1828 2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>
1830         PR libstdc++/57065
1831         * include/debug/unordered_map (unordered_map, unordered_multimap):
1832         Fix default allocator type.
1833         * include/profile/unordered_map (unordered_map, unordered_multimap):
1834         Likewise.
1835         * include/bits/unordered_map.h: Fix comments.
1837 2013-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
1839         PR libstdc++/56905
1840         * libsupc++/exception_ptr.h (copy_exception): Deprecate and
1841         move implementation to make_exception_ptr.
1842         * include/std/future (_State_base::_M_break_promise): Replace
1843         copy_exception with make_exception_ptr.
1844         * testsuite/18_support/exception_ptr/move.cc: Likewise.
1845         * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
1846         * testsuite/30_threads/future/members/get2.cc: Likewise.
1847         * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1848         * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1849         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1850         * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1852 2013-04-22  Jason Merrill  <jason@redhat.com>
1854         * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
1856         * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
1857         substitution" lines.
1859         * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
1860         function-cv-quals.
1861         * testsuite/20_util/is_constructible/value-2.cc: Likewise.
1862         * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
1863         * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
1865 2013-04-22  François Dumont  <fdumont@gcc.gnu.org>
1867         * include/bits/hashtable_policy.h: Add C++11 allocator support.
1868         * include/bits/hashtable.h: Likewise.
1869         * include/bits/unordered_set.h: Likewise.
1870         * include/bits/unordered_map.h: Likewise.
1871         * include/debug/unordered_set: Likewise.
1872         * include/debug/unordered_map: Likewise.
1873         * include/std/unordered_set: Remove bits/algobase.h
1874         include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
1875         * include/std/unordered_map: Likewise.
1876         * include/ext/throw_allocator.h: Add checks on calls to allocator
1877         construct/destroy.
1878         (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
1879         (std::hash<__gnu_cxx::throw_value_random>): Likewise.
1880         * testsuite/util/regression/rand/priority_queue
1881         /container_rand_regression_test.tcc: Adapt.
1882         * testsuite/util/regression/rand/assoc
1883         /container_rand_regression_test.tcc: Likewise.
1884         * testsuite/util/testsuite_counter_type.h: Add count of destructors.
1885         * testsuite/23_containers/unordered_set
1886         /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
1887         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
1888         * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
1889         * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
1890         * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
1891         * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
1892         * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
1893         * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
1894         * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
1895         * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
1896         New.
1897         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
1898         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1899         New.
1900         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
1901         * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
1902         * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
1903         * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
1904         * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
1905         * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
1906         * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
1907         New.
1908         * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
1909         * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
1910         * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
1911         New.
1912         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
1913         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1914         New.
1915         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
1916         * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
1918 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1920         * include/std/type_traits (is_signed): Simplify.
1921         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1922         Adjust dg-error line numbers.
1923         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1924         Likewise.
1925         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
1927 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1929         N3669
1930         * include/std/complex (complex<float>::real, complex<float>::imag,
1931         complex<double>::real, complex<double>::imag,
1932         complex<long double>::real, complex<long double>::imag): Declare
1933         as const member functions.
1934         * include/std/type_traits (integral_constant<>::operator value_type):
1935         Likewise.
1937 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
1939         PR libstdc++/57010
1940         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
1941         * testsuite/25_algorithms/pop_heap/57010.cc: New.
1943 2013-04-21  Evgeniy Stepanov  <eugenis@google.com>
1945         * src/c++11/system_error.cc (generic_category_instance): Add
1946         initializer.
1947         (system_category_instance): Likewise.
1948         * src/c++11/future.cc (__fec): Likewise.
1950 2013-04-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
1952         * doc/xml/manual/extensions.xml: Fix anachronism.
1954 2013-04-09  Tom Tromey  <tromey@redhat.com>
1956         * configure, config.h.in: Rebuild.
1957         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
1958         sys/sdt.h.
1959         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
1961 2013-04-09  Uros Bizjak  <ubizjak@gmail.com>
1963         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1965 2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>
1967         * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
1969 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1971         * include/Makefile.am: Add ext/aligned_buffer.h
1972         * include/Makefile.in: Regenerate.
1973         * include/ext/aligned_buffer.h: New.
1974         * include/std/future (_Result): Use __aligned_buffer.
1975         * include/bits/forward_list.h (_Fwd_list_node): Likewise.
1976         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
1977         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
1978         number.
1980 2013-04-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1982         * include/bits/forward_list.h: Only include required headers.
1983         (forward_list::reference): Define directly, not using __alloc_traits.
1984         (forward_list::const_reference): Likewise.
1986 2013-04-07  François Dumont  <fdumont@gcc.gnu.org>
1988         * include/std/functional (_Derives_from_unary_function): Remove.
1989         (_Derives_from_binary_function): Remove.
1990         * include/std/type_traits (__sfinae_types): Remove.
1991         (__is_assignable_helper): Adapt.
1992         (__is_convertible_helper): Adapt.
1993         (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
1994         Remove several explicit instantiations of integral_constant.
1995         * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
1996         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1997         Adapt dg-error line number.
1998         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1999         Likewise.
2000         * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
2001         * testsuite/20_util/bind/ref_neg.cc: Likewise.
2003 2013-04-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
2005         PR libstdc++/56841
2006         * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
2007         get_terminate() accessors.
2008         * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
2009         * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
2010         available.
2011         * libsupc++/new_handler.cc: Likewise.
2013 2013-04-04  Jonathan Wakely  <jwakely.gcc@gmail.com>
2015         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
2017 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
2019         PR libstdc++/56834
2020         * include/debug/array (tuple_size, tuple_element): Do not declare.
2021         * include/profile/array: Likewise.
2022         * testsuite/23_containers/array/tuple_interface/
2023         tuple_element_debug_neg.cc: Adjust dg-error line number.
2025 2013-04-03  Jonathan Wakely  <jwakely.gcc@gmail.com>
2027         * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
2028         * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
2029         Define.
2030         (set_terminate(terminate_handler)): Set atomically.
2031         (set_unexpected(terminate_handler)): Likewise.
2032         * libsupc++/new (get_new_handler()): Declare.
2033         * libsupc++/new_handler.cc (get_new_handler()): Define.
2034         (set_new_handler(new_handler)): Set atomically.
2035         (__new_handler): Use internal linkage.
2036         * libsupc++/new_op.cc (operator new): Use get_new_handler().
2037         * libsupc++/new_opnt.cc (operator new): Likewise.
2038         * acinclude.m4: Bump libtool_VERSION to 6:19:0.
2039         * configure: Regenerate.
2040         * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
2041         * libsupc++/Makefile.in: Regenerate.
2042         * config/abi/pre/gnu.ver: Add new exports.
2043         * doc/xml/manual/status_cxx2011.xml: Update.
2044         * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
2045         for handlers.
2046         * testsuite/18_support/headers/new/synopsis.cc: Likewise.
2047         * testsuite/18_support/new_handler.cc: New.
2048         * testsuite/18_support/terminate_handler.cc: New.
2049         * testsuite/18_support/unexpected_handler.cc: New.
2051 2013-04-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
2053         * doc/xml/manual/appendix_contributing.xml: Remove broken link and
2054         defer to general documentation on contributing to GCC.
2055         * doc/html/*: Regenerate.
2057 2013-03-30  Gerald Pfeifer  <gerald@pfeifer.com>
2059         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
2061         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
2062         Coding Standards.
2064         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
2066         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
2068         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
2070         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
2072         * doc/xml/manual/policy_data_structures: Remove direct link to
2073         IBM Haifa Research Labs.
2075         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
2076         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
2078         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
2079         papers.
2081         * doc/xml/manual/shared_ptr.xml: Use canonical address for
2082         www.boost.org.
2084 2013-03-27  Kai Tietz  <ktietz@redhat.com>
2086         * crossconfig.m4: Add support for cygwin x64 target.
2087         * configure: Regenerated.
2089 2013-03-25  Kai Tietz  <ktietz@redhat.com>
2091         * testsuite/18_support/50594.cc: For mingw-targets use only static
2092         libstdc++-version.
2093         * testsuite/19_diagnostics/error_category/operators/equal.cc
2094         * testsuite/19_diagnostics/error_code/cons/1.cc
2095         * testsuite/19_diagnostics/error_code/operators/bool.cc
2096         * testsuite/19_diagnostics/error_code/operators/equal.cc
2097         * testsuite/19_diagnostics/error_code/operators/not_equal.cc
2098         * testsuite/19_diagnostics/error_condition/cons/1.cc
2099         * testsuite/19_diagnostics/error_condition/operators/bool.cc
2100         * testsuite/19_diagnostics/error_condition/operators/equal.cc
2101         * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
2102         * testsuite/23_containers/set/requirements/exception/basic.cc
2103         * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
2104         * testsuite/lib/dg-options.exp (dg-additional-options): New option.
2106 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
2108         PR libstdc++/56170
2109         * include/ext/debug_allocator.h (debug_allocator): Add missing members
2110         to meet allocator requirements.
2111         * testsuite/ext/debug_allocator/56170.cc: New.
2113 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
2115         PR libstdc++/56678
2116         * include/std/chrono (__is_ratio): Uglify T.
2118 2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
2120         PR libstdc++/55977 (partial, std::vector and std::deque bits)
2121         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
2122         _InputIterator, std::input_iterator_tag)): Use emplace_back.
2123         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
2124         _InputIterator, std::input_iterator_tag)): Likewise.
2125         * testsuite/23_containers/vector/cons/55977.cc: New.
2126         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
2127         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2128         Adjust dg-error line number.
2129         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2130         Likewise.
2132 2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>
2134         PR libstdc++/55979
2135         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
2136         _InputIterator, __false_type)): Use emplace_back.
2137         * testsuite/23_containers/list/cons/55979.cc: New.
2138         * testsuite/23_containers/list/modifiers/1.h: Adjust.
2139         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2140         Adjust dg-error line number.
2142 2013-03-16  Jason Merrill  <jason@redhat.com>
2144         PR c++/55017
2145         * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
2147 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2149         PR libstdc++/56468
2150         * libsupc++/exception_ptr.h (type_info): Declare.
2152 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2154         PR libstdc++/56002
2155         * include/std/mutex (lock_guard, unique_lock, lock): Define without
2156         depending on _GLIBCXX_HAS_GTHREADS.
2157         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
2159 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2161         PR libstdc++/56492
2162         * include/std/future (__future_base::_Result): Add result_type
2163         typedef.
2164         (__future_base::_S_allocate_result): Overload for std::allocator.
2165         (__future_base::_Task_setter): Use _Result::result_type instead of
2166         deducing the type from the task.
2167         (__future_base::_Task_state): Store allocator to allow shared state
2168         to be reset.  Replace std::function with member of target object type
2169         accessed via ...
2170         (__future_base::_Task_state_base): New abstract base class.
2171         (__future_base::_Task_state_base::_M_run): New virtual function to
2172         invoke type-erased target object.
2173         (__future_base::_Task_state_base::_M_reset): New virtual function to
2174         create new shared_state using same target object and allocator.
2175         (__future_base::__create_task_state): Allocate a new _Task_state.
2176         (packaged_task::packaged_task): Use __create_task_state.
2177         (packaged_task::reset): Use _Task_state_base::_M_reset.
2178         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
2180 2013-03-15  Tom Tromey  <tromey@redhat.com>
2182         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
2183         (PROBE2): New macro.
2184         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
2185         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
2186         * configure.ac: Check for sys/sdt.h.
2187         * configure, config.h.in: Rebuild.
2189 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
2191         PR libstdc++/56613
2192         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
2193         allocator_traits instead of calling construct directly.
2194         * testsuite/23_containers/map/56613.cc: New.
2196 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
2198         * doc/html/*: Regenerate.
2200 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
2202         PR libstdc++/56609
2203         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
2204         * testsuite/20_util/is_fundamental/value.cc: Extend.
2205         * testsuite/20_util/is_compound/value.cc: Likewise.
2207 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
2209         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
2210         -Wunused warnings.
2212 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
2214         * include/bits/memoryfwd.h: New. Centralize forward declarations.
2215         * include/bits/algorithmfwd.h: Consistent comments.
2216         * include/bits/localefwd.h: Same.
2217         * include/ext/vstring_fwd.h: Same.
2218         * include/parallel/algorithmfwd.h: Same.
2219         * include/parallel/numericfwd.h: Same.
2220         * include/std/iosfwd: Same.
2222         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
2223         forward decl.
2224         * include/ext/alloc_traits.h: Remove allocator forward decl.
2225         * include/bits/stl_construct.h: Same.
2226         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
2227         forward decl. Consistent comments.
2229         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
2231         * include/Makefile.am (bits_headers): Add memoryfwd.h.
2232         * include/Makefile.in: Regenerate.
2233         * configure: Same.
2235 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
2237         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
2238         Reset pointers after deallocation when memory can be reused.
2239         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
2240         elements to really challenge C++11 allocator integration.
2241         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
2242         * testsuite/23_containers/vector/allocator/copy_assign.cc:
2243         Likewise.
2244         * testsuite/23_containers/vector/allocator/move_assign.cc:
2245         Likewise.
2246         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
2247         swap vector back before checks on memory/personality mapping are
2248         performed.
2249         * testsuite/23_containers/forward_list/allocator/minimal.cc:
2250         Insert element to really challenge C++11 allocator integration.
2251         * testsuite/23_containers/forward_list/allocator/copy.cc:
2252         Likewise.
2253         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
2254         Likewise.
2255         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
2256         Likewise.
2257         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
2258         and swap forward_list back before checks on memory/personality
2259         mapping are performed.
2261 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
2263         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
2264         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2265         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
2266         Likewise.
2267         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2268         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2269         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2270         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2271         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2272         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2274 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2276         * scripts/extract_symvers.pl: Omit symbols bound to base
2277         versions.
2278         * scripts/extract_symvers.in: Likewise.
2279         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2280         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2281         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2282         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2283         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2285 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
2287         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
2288         Optimize generation function by pulling computation of __r into the
2289         constructor for param_type.  Also compare _M_mu in operator==.
2290         Fix comment.
2292 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
2294         Add triangular and von Mises distributions.
2295         * include/ext/random: Include <ext/cmath>.
2296         Add __gnu_cxx::triangular_distribution<> and
2297         __gnu_cxx::von_mises_distribution<> classes.
2298         * include/ext/random.tcc: Add out-of-line functions for
2299         __gnu_cxx::triangular_distribution<> and
2300         __gnu_cxx::von_mises_distribution<>.
2301         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
2302         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
2303         * testsuite/ext/triangular_distribution/operators/serialize.cc:
2304         New file.
2305         * testsuite/ext/triangular_distribution/operators/equal.cc:
2306         New file.
2307         * testsuite/ext/triangular_distribution/operators/inequal.cc:
2308         New file.
2309         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
2310         New file.
2311         * testsuite/ext/triangular_distribution/requirements/
2312         explicit_instantiation/1.cc: New file.
2313         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
2314         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
2315         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
2316         New file.
2317         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
2318         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
2319         New file.
2320         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
2321         New file.
2322         * testsuite/ext/von_mises_distribution/requirements/
2323         explicit_instantiation/1.cc: New file.
2325         Add math constants.
2326         * include/Makefile.am (ext_headers): Add cmath.
2327         * include/Makefile.in: Regenerated.
2328         * include/ext/cmath: New file.
2330 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2332         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2333         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2334         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2335         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2336         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2338 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
2340         PR libstdc++/56012
2341         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
2342         * testsuite/29_atomics/atomic/operators/56012.cc: New.
2344         PR libstdc++/56011
2345         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
2346         missing overload.
2347         * testsuite/29_atomics/atomic/operators/56011.cc: New.
2349 2013-02-25  Jason Merrill  <jason@redhat.com>
2351         * configure.ac: Check for __cxa_thread_atexit_impl.
2352         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
2353         to it if available.
2354         * config.h.in, configure: Regenerate.
2356 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2358         * include/std/streambuf (basic_streambuf): Use injected class name
2359         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
2360         group.
2362 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2364         * doc/html/faq.html: Fix spelling.
2365         * doc/xml/faq.xml: Likewise.
2366         * include/bits/basic_ios.h: Likewise.
2367         * include/bits/regex.h: Likewise.
2368         * include/std/istream: Likewise.
2369         * include/std/streambuf: Likewise.
2371 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
2373         * testsuite/23_containers/unordered_set/55043.cc: Add missing
2374         namespace qualification.
2375         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2377 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
2379         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
2380         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
2381         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
2382         * include/bits/stl_pair.h: Add to utilities group.
2383         * include/std/tuple: Same.
2384         * include/std/typeindex: Same.
2386         * include/bits/stringfwd.h: Fix markup.
2387         * include/std/limits: Same.
2388         * include/std/type_traits: Same.
2389         * include/tr1/memory: Same.
2390         * include/tr1/regex: Same.
2391         * scripts/run_doxygen: Comment.
2392         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
2394 2013-02-14  Jason Merrill  <jason@redhat.com>
2396         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
2397         test if unsupported.
2399 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
2401         PR libstdc++/56111
2402         * include/std/complex (complex): Undefine.
2403         * include/c_compatibility/complex.h (complex): Only undefine if
2404         <complex> has been included.
2405         * testsuite/26_numerics/complex/56111.cc: New testcase.
2407 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
2409         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
2410         default constructor protected.
2411         * include/bits/hashtable.h: static assert that _Hash_code_base has
2412         a default constructor available through inheritance.
2414 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2416         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
2417         C++11 mode.
2419 2013-02-12  Julian Brown  <julian@codesourcery.com>
2421         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
2422         Don't expect dots after abbreviated weekday names for ru_RU for
2423         glibc versions >= 2.17.
2424         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
2425         Likewise.
2427 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
2429         * include/bits/random.tcc (__transform): Remove.
2430         (__normalize): Add.
2431         (discrete_distribution<>::param_type::_M_initialize): Adjust.
2432         (piecewise_constant_distribution<>::param_type::_M_initialize):
2433         Likewise.
2434         (piecewise_linear_distribution<>::param_type::_M_initialize):
2435         Likewise.
2437 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2439         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
2440         Use -fimplicit-templates.
2441         * src/c++11/Makefile.in: Regenerate.
2442         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
2443         std::lower_bound template.
2445 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2447         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
2448         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
2449         in C++11 mode and if available in the underlying C library.
2450         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
2451         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
2452         _GLIBCXX_HAVE_QUICK_EXIT.
2454 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
2456         * doc/html/*: Regenerate.
2458 2013-02-11  Jason Merrill  <jason@redhat.com>
2460         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
2461         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
2462         * config.h.in, configure: Regenerate.
2463         * include/c_std/cstdlib: Add atexit and at_quick_exit.
2464         * include/c_global/cstdlib: Add atexit and at_quick_exit.
2465         * testsuite/18_support/quick_exit/quick_exit.cc: New.
2467 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
2469         PR libstdc++/56282
2470         Revert:
2471         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2473         PR libstdc++/56193
2474         * include/bits/basic_ios.h: Replace operator void*() const
2475         with explicit operator bool() const in C++11 and greater.
2476         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2478 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
2479             Jonathan Wakely  <jwakely.gcc@gmail.com>
2481         * doc/xml/manual/containers.xml: Add section on unordered containers.
2482         * doc/xml/manual/using.xml: Fix incomplete sentence.
2484 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
2486         PR libstdc++/56267
2487         * include/bits/hashtable.h (__cache_default): Check if hash function
2488         is copy assignable.
2489         * testsuite/23_containers/unordered_set/56267.cc: New.
2490         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2491         dg-error line number.
2492         * testsuite/23_containers/unordered_set/
2493         not_default_constructible_hash_neg.cc: Likewise.
2495         PR libstdc++/56278
2496         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
2497         constructor public.
2498         * testsuite/23_containers/unordered_set/56278.cc: New.
2500 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
2502         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
2503         simplification.
2505 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
2507         PR libstdc++/56216
2508         * include/tr1/special_function_util.h: Remove spurious const
2509         from numeric arguments.
2510         * include/tr1/riemann_zeta.tcc: Likewise.
2511         * include/tr1/exp_integral.tcc: Likewise.
2512         * include/tr1/bessel_function.tcc: Likewise.
2513         * include/tr1/hypergeometric.tcc: Likewise.
2514         * include/tr1/modified_bessel_func.tcc: Likewise.
2515         * include/tr1/poly_laguerre.tcc: Likewise.
2516         * include/tr1/gamma.tcc: Likewise.
2517         * include/tr1/legendre_function.tcc: Likewise.
2518         * include/tr1/poly_hermite.tcc: Likewise.
2519         * include/tr1/ell_integral.tcc: Likewise.
2520         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
2521         If argument is zero return function value.
2522         * testsuite/tr1/5_numerical_facilities/special_functions/
2523         08_cyl_bessel_i/pr56216.cc: New.
2525 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
2527         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
2529 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
2531         PR libstdc++/56193
2532         * include/bits/basic_ios.h: Replace operator void*() const
2533         with explicit operator bool() const in C++11 and greater.
2534         * testsuite/27_io/basic_ios/pr56193.cc: New file.
2536 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
2538         Add missing explicit instantiation for std::lower_bound template
2539         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
2540         missing instantiation for std::lower_bound template.
2542 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
2544         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
2545         * include/bits/basic_string.h: Specialize previous to mark
2546         std::hash for string types as slow.
2547         * include/bits/hashtable.h (__cache_default): Replace is_integral
2548         with __is_fast_hash.
2549         * src/c++11/hash_c++0x.cc: Add type_traits include.
2550         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2551         Adapt dg-error line number.
2552         * testsuite/23_containers/unordered_set/
2553         not_default_constructible_hash_neg.cc: Likewise.
2555 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2556             Paolo Carlini  <paolo.carlini@oracle.com>
2558         PR libstdc++/56202 (again)
2559         * include/bits/random.tcc (binomial_distribution<>::
2560         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
2561         in previous commit.
2563         * include/bits/random.h: Fix comment typo.
2565 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
2566             Paolo Carlini  <paolo.carlini@oracle.com>
2568         PR libstdc++/56202
2569         * include/bits/random.tcc (binomial_distribution<>::
2570         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
2571         division by zero.
2573 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2575         Update copyright years.
2576         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
2577         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
2578         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
2579         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
2580         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
2581         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
2582         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
2583         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
2584         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
2585         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
2586         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
2587         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
2588         testsuite/29_atomics/atomic/cons/assign_neg.cc,
2589         testsuite/29_atomics/atomic/cons/copy_neg.cc,
2590         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
2591         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
2592         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
2593         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
2594         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
2595         Update lines in dg error matches.
2597 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
2599         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
2601 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
2603         * include/bits/hashtable_policy.h
2604         (_Prime_rehash_policy::_M_next_bkt)
2605         (_Prime_rehash_policy::_M_need_rehash): Move definition...
2606         * src/c++11/hashtable_c++0x.cc: ... here.
2607         * src/shared/hashtable-aux.cc: Remove c++config.h include.
2608         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
2609         symbols.
2611 2013-01-29  Jason Merrill  <jason@redhat.com>
2613         PR libstdc++/54314
2614         * config/abi/pre/gnu.ver: Don't export construction vtables.
2615         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2617 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
2619         PR libstdc++/56112
2620         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
2621         to construct value_type explicitly before trying to extract the key.
2622         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
2624 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
2626         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
2627         _Hashtable_ebo_helper to embed functors into the local_iterator
2628         when necessary. Pass information about functors involved in hash
2629         code by copy.
2630         * include/bits/hashtable.h (__cache_default): Do not cache for
2631         builtin integral types unless the hash functor is not noexcept
2632         qualified or is not default constructible. Adapt static assertions
2633         and local iterator instantiations.
2634         * include/debug/unordered_set
2635         (std::__debug::unordered_set<>::erase): Detect local iterators to
2636         invalidate using contained node rather than generating a dummy
2637         local_iterator instance.
2638         (std::__debug::unordered_multiset<>::erase): Likewise.
2639         * include/debug/unordered_map
2640         (std::__debug::unordered_map<>::erase): Likewise.
2641         (std::__debug::unordered_multimap<>::erase): Likewise.
2642         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
2643         std::tr1 and std versions of unordered_set regardless of any
2644         macro. Add test on default cache behavior.
2645         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
2646         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2647         Adapt line number.
2648         * testsuite/23_containers/unordered_set/
2649         not_default_constructible_hash_neg.cc: New.
2650         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
2652 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
2654         PR libstdc++/56085
2655         * include/std/complex (pow(const complex<>&, int)): Avoid __n
2656         signed overflow.
2658 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
2660         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2661         Tightten scan-assembler-times regexps, add dg-additional-options for
2662         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
2663         dg-options.
2665 2013-01-12  Andi Kleen  <ak@linux.intel.com>
2666             Jonathan Wakely  <jwakely.gcc@gmail.com>
2668         PR libstdc++/55233
2669         * include/bits/atomic_base.h (__memory_order_modifier): Add
2670         __memory_order_mask, __memory_order_modifier_mask,
2671         __memory_order_hle_acquire, __memory_order_hle_release.
2672         (operator|,operator&): Add.
2673         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
2674         (__cmpexch_failure_order): Add.
2675         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
2676         Handle flags.
2677         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
2678         Add.
2680 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
2682         PR libstdc++/55861
2683         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
2684         Fix return type.
2685         (__basic_future::_M_get_result()): Const qualify.
2686         (shared_future::get()): Likewise.
2687         * testsuite/30_threads/shared_future/members/get.cc: Use const
2688         objects.
2690 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2692         PR libstdc++/55043 (again)
2693         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
2694         unless construction would be well-formed.
2695         (__allow_copy_cons, __check_copy_constructible): Define.
2696         * include/bits/unordered_map.h (__check_copy_constructible): Use as
2697         base class so copy constructor will be deleted if appropriate.
2698         (is_copy_constructible): Remove specialization.
2699         * include/bits/unordered_set.h: Likewise.
2700         * include/debug/unordered_map.h: Undo previous commit. Default copy
2701         and move constructors.
2702         * include/debug/unordered_set.h: Likewise.
2703         * include/profile/unordered_map.h: Undo previous commit.
2704         * include/profile/unordered_set.h: Likewise.
2705         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
2706         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
2707         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
2708         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
2709         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
2710         cannot support incomplete types.
2711         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
2712         Likewise.
2714 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
2716         PR libstdc++/55043
2717         * include/std/unordered_map: Include alloc_traits.h
2718         * include/std/unordered_set: Likewise.
2719         * include/bits/alloc_traits.h: Define __is_copy_insertable.
2720         * include/bits/unordered_map.h: Use it.
2721         * include/bits/unordered_set.h: Likewise.
2722         * include/debug/unordered_map.h: Likewise.
2723         * include/debug/unordered_set.h: Likewise.
2724         * include/profile/unordered_map.h: Likewise.
2725         * include/profile/unordered_set.h: Likewise.
2726         * include/bits/hashtable.h: Fix comment typos.
2727         * testsuite/23_containers/unordered_map/55043.cc: New.
2728         * testsuite/23_containers/unordered_multimap/55043.cc: New.
2729         * testsuite/23_containers/unordered_multiset/55043.cc: New.
2730         * testsuite/23_containers/unordered_set/55043.cc: New.
2732 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
2734         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
2735         gdb command.
2737 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2739         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
2741 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
2743         PR libstdc++/55908
2744         * include/std/functional (_Mem_fn::operator()): Fix constraints to
2745         avoid ambiguity.
2746         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
2747         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
2749 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2751         PR libstdc++/55594
2752         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
2753         Solaris targets.
2754         * configure: Regenerate.
2756 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
2758         PR libstdc++/55847
2759         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
2760         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
2761         string.
2763         PR libstdc++/55728
2764         * include/std/functional (bad_function_call::what()): Declare.
2765         * src/c++11/functional.cc (bad_function_call::what()): Define.
2766         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
2767         * testsuite/20_util/bad_function_call/what.cc: New.
2769 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2771         * include/bits/unordered_map.h: Fix typo in comments.
2772         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
2773         counts for unordered associative containers.
2775 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
2777         * doc/xml/manual/abi.xml: Update library and symbol versions.
2779 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
2781         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
2782         in copyright years.
2783         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
2786 Copyright (C) 2013 Free Software Foundation, Inc.
2788 Copying and distribution of this file, with or without modification,
2789 are permitted in any medium without royalty provided the copyright
2790 notice and this notice are preserved.