1 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
5 friendship to _Local_iterator_base<..., false>.
6 (_Local_iterator_base): Give protected access to all existing members.
7 (_Local_iterator_base::_M_curr()): New public accessor.
8 (_Local_iterator_base::_M_get_bucket()): New public accessor.
9 (_Local_iterator_base<..., false>::_M_init()): New function to manage
10 the lifetime of the _Hash_code_base explicitly.
11 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
12 (_Local_iterator_base<..., false>): Define copy constructor and copy
13 assignment operator that use new functions to manage _Hash_code_base.
14 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
15 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
16 Use public API for _Local_iterator_base.
17 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
18 * include/debug/unordered_map (__debug::unordered_map::erase(),
19 __debug::unordered_multimap::erase()): Likewise.
20 * include/debug/unordered_set (__debug::unordered_set::erase(),
21 __debug::unordered_multiset::erase()): Likewise.
22 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
24 2014-01-19 Tim Shen <timshen91@gmail.com>
26 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
27 Fix parse error of multiple consecutive quantifiers like "a**".
28 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
30 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
32 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
34 * include/profile/set.h (set): Implement C++11 allocator-aware
35 container requirements.
36 * include/profile/map.h (map): Likewise.
37 * include/profile/multiset.h (multiset): Likewise.
38 * include/profile/multimap.h (multimap): Likewise.
39 * include/profile/set.h
40 (set::operator=(const set&)): Define as default in C++11 mode.
41 (set::operator=(set&&)): Likewise.
42 * include/profile/map.h
43 (map::operator=(const map&)): Likewise.
44 (map::operator=(map&&)): Likewise.
45 * include/profile/multiset.h
46 (multiset::operator=(const multiset&)): Likewise.
47 (multiset::operator=(multiset&&)): Likewise.
48 * include/profile/multimap.h
49 (multimap::operator=(const multimap&)): Likewise.
50 (multimap::operator=(multimap&&)): Likewise.
51 * include/profile/set.h (set::operator=(std::initializer_list<>)):
52 Rely on the same operator from normal mode.
53 * include/profile/map.h (map::operator=(std::initializer_list<>)):
55 * include/profile/multiset.h
56 (multiset::operator=(std::initializer_list<>)): Likewise.
57 * include/profile/multimap.h
58 (multimap::operator=(std::initializer_list<>)): Likewise.
59 * include/profile/set.h (set::swap(set&)): Add noexcept
61 * include/profile/map.h (map::swap(map&)): Likewise.
62 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
63 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
65 2014-01-17 Tim Shen <timshen91@gmail.com>
67 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
69 * include/bits/regex_automaton.h: Do not use std::set.
70 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
71 _BracketMatcher<>::_M_add_collating_element(),
72 _BracketMatcher<>::_M_add_equivalence_class(),
73 _BracketMatcher<>::_M_make_range()): Likewise.
74 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
76 * include/bits/regex_executor.h: Do not use std::queue.
77 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
78 _Executor<>::_M_dfs()): Likewise.
79 * include/std/regex: Remove <map>, <set> and <queue>.
81 2014-01-17 Tim Shen <timshen91@gmail.com>
83 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
84 basic_regex<>::assign()): Change __compile_nfa to accept
86 * include/bits/regex_compiler.h: Change _Compiler's template
87 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
88 * include/bits/regex_compiler.tcc: Likewise.
90 2014-01-17 Tim Shen <timshen91@gmail.com>
92 * include/bits/regex_compiler.h: Change _ScannerT into char-type
94 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
95 _ScannerBase from _Scanner; Change _Scanner's template argument from
96 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
98 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
99 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
100 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
102 * include/std/regex: Add <cstring> for using strchr.
104 2014-01-17 Tim Shen <timshen91@gmail.com>
106 * bits/regex_automaton.tcc: Indentation fix.
107 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
108 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
109 _BracketMatcher<>): Add bool option template parameters and
110 specializations to make matching more efficient and space saving.
111 * bits/regex_compiler.tcc: Likewise.
113 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
116 * include/bits/hashtable_policy.h: Fix some long lines.
117 * include/bits/hashtable.h (__hash_code_base_access): Define and
118 use it to check its _M_bucket_index noexcept qualification. Use
120 (__access_protected_ctor): ...this.
121 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
123 * testsuite/23_containers/unordered_set/
124 not_default_constructible_hash_neg.cc: Likewise.
126 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
128 * include/debug/set.h (set): Implement C++11 allocator-aware
129 container requirements.
130 * include/debug/map.h (map): Likewise.
131 * include/debug/multiset.h (multiset): Likewise.
132 * include/debug/multimap.h (multimap): Likewise.
133 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
134 fix implementation regarding management of safe iterators.
135 * include/debug/map.h (map::operator=(map&&)): Likewise.
136 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
137 * include/debug/multimap.h (multimap::operator=(multimap&&)):
139 * include/debug/set.h (set::operator=(std::initializer_list<>)):
140 Rely on the same operator from normal mode.
141 * include/debug/map.h (map::operator=(std::initializer_list<>)):
143 * include/debug/multiset.h
144 (multiset::operator=(std::initializer_list<>)): Likewise.
145 * include/debug/multimap.h
146 (multimap::operator=(std::initializer_list<>)): Likewise.
147 * include/debug/set.h (set::swap(set&)): Add noexcept
148 specification, add allocator equality check.
149 * include/debug/map.h (map::swap(map&)): Likewise.
150 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
151 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
153 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
156 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
157 and stylistic improvements.
158 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
159 and update for C++11.
160 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
163 * doc/xml/manual/backwards_compatibility.xml
164 (backwards.third.nocreate_noreplace): Correct and expand.
167 * doc/xml/manual/support.xml (std.support.types.null): Update links.
169 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
172 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
173 support for non-Movable types.
176 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
178 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
180 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
181 *this allocator instance when building temporary vector instance
182 so that *this allocator does not get moved.
183 * include/debug/safe_base.h
184 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
185 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
186 move constructor from _Safe_sequence_base.
187 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
188 safe iterators if the instance is moved.
189 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
190 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
191 check on a vector iterator.
192 * testsuite/23_containers/vector/allocator/move_assign.cc
194 (test03): New, test with a non-propagating allocator.
195 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
197 2014-01-07 Tim Shen <timshen91@gmail.com>
199 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
200 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
201 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
202 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
203 _BracketMatcher<>::_M_add_char(),
204 _BracketMatcher<>::_M_add_collating_element(),
205 _BracketMatcher<>::_M_add_equivalence_class(),
206 _BracketMatcher<>::_M_add_character_class(),
207 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
208 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
209 Fix _AnyMatcher behavior of POSIX style and move _M_flags
210 to template parameter; Add cache for _BracketMatcher. Adjust
211 declarations from here...
212 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
213 imbuing a regex will trigger a recompilation to rebuild the cache.
214 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
215 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
216 different template bool parameters.
217 * include/bits/regex_executor.h: Remove unnecessary declarations.
218 * include/std/regex: Adjust including orders.
219 * testsuite/28_regex/traits/char/user_defined.cc: New.
220 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
222 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
224 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
225 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
226 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
227 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
228 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
230 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
232 Update copyright years
234 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
236 * testsuite/18_support/new_handler.cc,
237 testsuite/18_support/terminate_handler.cc,
238 testsuite/18_support/unexpected_handler.cc: Use the standard form for
239 the copyright notice.
241 Copyright (C) 2014 Free Software Foundation, Inc.
243 Copying and distribution of this file, with or without modification,
244 are permitted in any medium without royalty provided the copyright
245 notice and this notice are preserved.