1 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/hashtable.h (__cache_default): Do not depend on
5 whether the hash function is DefaultConstructible or CopyAssignable.
6 (_Hashtable): Adjust static assertions.
7 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
8 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
10 * testsuite/23_containers/unordered_set/
11 not_default_constructible_hash_neg.cc: Remove.
13 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
15 * scripts/create_testsuite_files: Add testsuite/experimental in
16 the list of folders to search for tests.
17 * include/experimental/string_view
18 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
19 incompatible with constexpr qualifier.
20 (basic_string_view<>::front()): Likewise.
21 (basic_string_view<>::back()): Likewise.
22 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
23 Merge dg-options directives into one.
24 * testsuite/experimental/string_view/element_access/char/2.cc:
25 Likewise. Remove invalid experimental namespace scope on
28 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
31 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
32 friendship to _Local_iterator_base<..., false>.
33 (_Local_iterator_base): Give protected access to all existing members.
34 (_Local_iterator_base::_M_curr()): New public accessor.
35 (_Local_iterator_base::_M_get_bucket()): New public accessor.
36 (_Local_iterator_base<..., false>::_M_init()): New function to manage
37 the lifetime of the _Hash_code_base explicitly.
38 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
39 (_Local_iterator_base<..., false>): Define copy constructor and copy
40 assignment operator that use new functions to manage _Hash_code_base.
41 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
42 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
43 Use public API for _Local_iterator_base.
44 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
45 * include/debug/unordered_map (__debug::unordered_map::erase(),
46 __debug::unordered_multimap::erase()): Likewise.
47 * include/debug/unordered_set (__debug::unordered_set::erase(),
48 __debug::unordered_multiset::erase()): Likewise.
49 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
51 2014-01-19 Tim Shen <timshen91@gmail.com>
53 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
54 Fix parse error of multiple consecutive quantifiers like "a**".
55 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
57 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
59 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
61 * include/profile/set.h (set): Implement C++11 allocator-aware
62 container requirements.
63 * include/profile/map.h (map): Likewise.
64 * include/profile/multiset.h (multiset): Likewise.
65 * include/profile/multimap.h (multimap): Likewise.
66 * include/profile/set.h
67 (set::operator=(const set&)): Define as default in C++11 mode.
68 (set::operator=(set&&)): Likewise.
69 * include/profile/map.h
70 (map::operator=(const map&)): Likewise.
71 (map::operator=(map&&)): Likewise.
72 * include/profile/multiset.h
73 (multiset::operator=(const multiset&)): Likewise.
74 (multiset::operator=(multiset&&)): Likewise.
75 * include/profile/multimap.h
76 (multimap::operator=(const multimap&)): Likewise.
77 (multimap::operator=(multimap&&)): Likewise.
78 * include/profile/set.h (set::operator=(std::initializer_list<>)):
79 Rely on the same operator from normal mode.
80 * include/profile/map.h (map::operator=(std::initializer_list<>)):
82 * include/profile/multiset.h
83 (multiset::operator=(std::initializer_list<>)): Likewise.
84 * include/profile/multimap.h
85 (multimap::operator=(std::initializer_list<>)): Likewise.
86 * include/profile/set.h (set::swap(set&)): Add noexcept
88 * include/profile/map.h (map::swap(map&)): Likewise.
89 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
90 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
92 2014-01-17 Tim Shen <timshen91@gmail.com>
94 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
96 * include/bits/regex_automaton.h: Do not use std::set.
97 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
98 _BracketMatcher<>::_M_add_collating_element(),
99 _BracketMatcher<>::_M_add_equivalence_class(),
100 _BracketMatcher<>::_M_make_range()): Likewise.
101 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
103 * include/bits/regex_executor.h: Do not use std::queue.
104 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
105 _Executor<>::_M_dfs()): Likewise.
106 * include/std/regex: Remove <map>, <set> and <queue>.
108 2014-01-17 Tim Shen <timshen91@gmail.com>
110 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
111 basic_regex<>::assign()): Change __compile_nfa to accept
113 * include/bits/regex_compiler.h: Change _Compiler's template
114 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
115 * include/bits/regex_compiler.tcc: Likewise.
117 2014-01-17 Tim Shen <timshen91@gmail.com>
119 * include/bits/regex_compiler.h: Change _ScannerT into char-type
121 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
122 _ScannerBase from _Scanner; Change _Scanner's template argument from
123 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
125 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
126 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
127 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
129 * include/std/regex: Add <cstring> for using strchr.
131 2014-01-17 Tim Shen <timshen91@gmail.com>
133 * bits/regex_automaton.tcc: Indentation fix.
134 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
135 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
136 _BracketMatcher<>): Add bool option template parameters and
137 specializations to make matching more efficient and space saving.
138 * bits/regex_compiler.tcc: Likewise.
140 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
143 * include/bits/hashtable_policy.h: Fix some long lines.
144 * include/bits/hashtable.h (__hash_code_base_access): Define and
145 use it to check its _M_bucket_index noexcept qualification. Use
147 (__access_protected_ctor): ...this.
148 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
150 * testsuite/23_containers/unordered_set/
151 not_default_constructible_hash_neg.cc: Likewise.
153 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
155 * include/debug/set.h (set): Implement C++11 allocator-aware
156 container requirements.
157 * include/debug/map.h (map): Likewise.
158 * include/debug/multiset.h (multiset): Likewise.
159 * include/debug/multimap.h (multimap): Likewise.
160 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
161 fix implementation regarding management of safe iterators.
162 * include/debug/map.h (map::operator=(map&&)): Likewise.
163 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
164 * include/debug/multimap.h (multimap::operator=(multimap&&)):
166 * include/debug/set.h (set::operator=(std::initializer_list<>)):
167 Rely on the same operator from normal mode.
168 * include/debug/map.h (map::operator=(std::initializer_list<>)):
170 * include/debug/multiset.h
171 (multiset::operator=(std::initializer_list<>)): Likewise.
172 * include/debug/multimap.h
173 (multimap::operator=(std::initializer_list<>)): Likewise.
174 * include/debug/set.h (set::swap(set&)): Add noexcept
175 specification, add allocator equality check.
176 * include/debug/map.h (map::swap(map&)): Likewise.
177 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
178 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
180 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
183 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
184 and stylistic improvements.
185 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
186 and update for C++11.
187 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
190 * doc/xml/manual/backwards_compatibility.xml
191 (backwards.third.nocreate_noreplace): Correct and expand.
194 * doc/xml/manual/support.xml (std.support.types.null): Update links.
196 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
199 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
200 support for non-Movable types.
203 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
205 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
207 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
208 *this allocator instance when building temporary vector instance
209 so that *this allocator does not get moved.
210 * include/debug/safe_base.h
211 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
212 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
213 move constructor from _Safe_sequence_base.
214 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
215 safe iterators if the instance is moved.
216 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
217 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
218 check on a vector iterator.
219 * testsuite/23_containers/vector/allocator/move_assign.cc
221 (test03): New, test with a non-propagating allocator.
222 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
224 2014-01-07 Tim Shen <timshen91@gmail.com>
226 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
227 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
228 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
229 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
230 _BracketMatcher<>::_M_add_char(),
231 _BracketMatcher<>::_M_add_collating_element(),
232 _BracketMatcher<>::_M_add_equivalence_class(),
233 _BracketMatcher<>::_M_add_character_class(),
234 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
235 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
236 Fix _AnyMatcher behavior of POSIX style and move _M_flags
237 to template parameter; Add cache for _BracketMatcher. Adjust
238 declarations from here...
239 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
240 imbuing a regex will trigger a recompilation to rebuild the cache.
241 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
242 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
243 different template bool parameters.
244 * include/bits/regex_executor.h: Remove unnecessary declarations.
245 * include/std/regex: Adjust including orders.
246 * testsuite/28_regex/traits/char/user_defined.cc: New.
247 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
249 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
251 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
252 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
253 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
254 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
255 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
257 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
259 Update copyright years
261 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
263 * testsuite/18_support/new_handler.cc,
264 testsuite/18_support/terminate_handler.cc,
265 testsuite/18_support/unexpected_handler.cc: Use the standard form for
266 the copyright notice.
268 Copyright (C) 2014 Free Software Foundation, Inc.
270 Copying and distribution of this file, with or without modification,
271 are permitted in any medium without royalty provided the copyright
272 notice and this notice are preserved.