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