alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument...
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2
3 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
4 not use varargs when argument could be non-POD.
5 (__alloctr_rebind_helper): Eliminate static const bool member by
6 using true_type and false_type.
7 (allocator_traits::__allocate_helper): Likewise.
8 (allocator_traits::__construct_helper): Likewise.
9 (allocator_traits::__destroy_helper): Likewise.
10 (allocator_traits::__maxsize_helper): Likewise.
11 (allocator_traits::__select_helper): Likewise.
12 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
13 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
14 Remove redundant condition.
15 * include/bits/stl_vector.h (vector::operator=(const vector&)):
16 Likewise.
17 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
18 indirection through __alloc_traits.
19 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
20 Eliminate static const bool members by using true_type and false_type.
21 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
22 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
23 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
24 New.
25 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
26
27 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
28 Kyle Lippincott <spectral@google.com>
29
30 PR libstdc++/59656
31 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
32 constructor and grant friendship to weak_ptr.
33 (weak_ptr::lock()): Use new constructor.
34 * include/bits/shared_ptr_base.h
35 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
36 and define specializations.
37 (__shared_count): Add new non-throwing constructor.
38 (__shared_ptr): Add new non-throwing constructor and grant friendship
39 to __weak_ptr.
40 (__weak_ptr::lock()): Use new constructor.
41 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
42 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
43
44 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
45
46 PR libstdc++/59215
47 * include/bits/shared_ptr_base.h
48 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
49 load.
50
51 2014-01-27 Jason Merrill <jason@redhat.com>
52
53 Core DR 475
54 PR c++/41174
55 PR c++/59224
56 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
57 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
58 (__cxa_allocate_exception): Don't set it here.
59
60 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
61
62 * include/bits/stl_map.h: Remove anachronistic comment.
63 * include/bits/stl_multimap.h: Add whitespace.
64 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
65 -std=gnu++11 instead of -std=c++11.
66 * testsuite/23_containers/map/operators/2.cc: Likewise.
67 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
68 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
69 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
70
71 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
72 * configure: Regenerate.
73
74 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
75
76 PR libstdc++/59531
77 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
78 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
79
80 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
81 Peter A. Bigot <pab@pabigot.com>
82
83 PR libstdc++/59531
84 * include/experimental/string_view
85 (copy(_CharT*, size_type, size_type) const): Correct throw string.
86 Correct copy start location.
87
88 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
89 Peter A. Bigot <pab@pabigot.com>
90
91 PR libstdc++/59530
92 * include/experimental/string_view (operator[](size_type) const):
93 Fix one-off index error in debug check.
94 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
95 test basic_string_view at size().
96 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
97
98 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
99 Peter A. Bigot <pab@pabigot.com>
100
101 PR libstdc++/59529
102 * include/experimental/string_view
103 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
104 * testsuite/experimental/string_view/operations/substr/char/1.cc:
105 Comment out catch of out_of_range; No terminating null
106 in basic_string_view. Check begin == end.
107 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
108 Ditto.
109
110 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
111
112 PR libstdc++/59548
113 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
114 constructor to prevent it being implicitly defined as deleted, but
115 do not copy anything.
116 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
117 Define copy and move constructors similar to _Safe_sequence_base's.
118 * testsuite/23_containers/unordered_map/59548.cc: New.
119
120 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
121 Steve Ellcey <sellcey@mips.com>
122
123 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
124 function.
125 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
126 * (configure, config.h.in): Regenerate.
127 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
128
129 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
130
131 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
132 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
133
134 PR libstdc++/59872
135 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
136 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
137 Likewise.
138 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
139 Likewise.
140 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
141 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
142 functions to perform moving or copying of elements from rvalue tree.
143 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
144 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
145 * testsuite/23_containers/map/59872.cc: New.
146 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
147
148 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
149
150 * include/bits/stl_deque.h (_Deque_impl): Move comment.
151
152 PR libstdc++/58764
153 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
154 Split into separate default constructor and constructor taking
155 allocator.
156 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
157 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
158 Likewise.
159 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
160 * include/debug/list (list::list(const _Allocator&)): Likewise.
161 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
162 Likewise.
163 * include/debug/multimap.h
164 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
165 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
166 Likewise.
167 * include/debug/multiset.h
168 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
169 * include/debug/vector (vector::vector(const allocator_type&)):
170 Likewise.
171 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
172 * include/profile/list (list::list(const _Allocator&)): Likewise.
173 * include/profile/map.h
174 (map::map(const _Compare&, const _Allocator&)): Likewise.
175 * include/profile/multimap.h
176 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
177 * include/profile/set.h
178 (set::set(const _Compare&, const _Allocator&)): Likewise.
179 * include/profile/multiset.h
180 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
181 * include/profile/vector (vector::vector(const _Allocator&)):
182 Likewise.
183 * testsuite/23_containers/deque/58764.cc: New.
184 * testsuite/23_containers/list/58764.cc: New.
185 * testsuite/23_containers/map/58764.cc: New.
186 * testsuite/23_containers/multimap/58764.cc: New.
187 * testsuite/23_containers/set/58764.cc: New.
188 * testsuite/23_containers/multiset/58764.cc: New.
189 * testsuite/23_containers/vector/58764.cc: New.
190 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
191 Adjust dg-error line number.
192 * testsuite/23_containers/deque/requirements/dr438/
193 constructor_1_neg.cc: Likewise.
194 * testsuite/23_containers/deque/requirements/dr438/
195 constructor_2_neg.cc: Likewise.
196 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
197 Likewise.
198 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
199 Likewise.
200 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
201 Likewise.
202 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
203 Likewise.
204 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
205 Likewise.
206 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
207 Likewise.
208 * testsuite/23_containers/vector/requirements/dr438/
209 constructor_1_neg.cc: Likewise.
210 * testsuite/23_containers/vector/requirements/dr438/
211 constructor_2_neg.cc: Likewise.
212 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
213 Likewise.
214
215 PR libstdc++/58764 (again)
216 * include/bits/stl_list.h (list): Make default constructor's exception
217 specification conditional.
218 * include/bits/stl_vector.h (vector): Likewise.
219 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
220 to default constructor.
221 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
222 Adjust dg-error line number.
223 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
224 Likewise.
225 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
226 Likewise.
227 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
228 Likewise.
229 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
230 Likewise.
231 * testsuite/23_containers/vector/requirements/dr438/
232 constructor_1_neg.cc: Likewise.
233 * testsuite/23_containers/vector/requirements/dr438/
234 constructor_2_neg.cc: Likewise.
235 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
236 Likewise.
237
238 2014-01-21 Tim Shen <timshen91@gmail.com>
239
240 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
241 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
242 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
243
244 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
245
246 PR libstdc++/56267
247 * include/bits/hashtable.h (__cache_default): Do not depend on
248 whether the hash function is DefaultConstructible or CopyAssignable.
249 (_Hashtable): Adjust static assertions.
250 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
251 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
252 dg-error line number.
253 * testsuite/23_containers/unordered_set/
254 not_default_constructible_hash_neg.cc: Remove.
255
256 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
257
258 * scripts/create_testsuite_files: Add testsuite/experimental in
259 the list of folders to search for tests.
260 * include/experimental/string_view
261 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
262 incompatible with constexpr qualifier.
263 (basic_string_view<>::front()): Likewise.
264 (basic_string_view<>::back()): Likewise.
265 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
266 Merge dg-options directives into one.
267 * testsuite/experimental/string_view/element_access/char/2.cc:
268 Likewise. Remove invalid experimental namespace scope on
269 string_view_type.
270
271 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
272
273 PR libstdc++/56267
274 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
275 friendship to _Local_iterator_base<..., false>.
276 (_Local_iterator_base): Give protected access to all existing members.
277 (_Local_iterator_base::_M_curr()): New public accessor.
278 (_Local_iterator_base::_M_get_bucket()): New public accessor.
279 (_Local_iterator_base<..., false>::_M_init()): New function to manage
280 the lifetime of the _Hash_code_base explicitly.
281 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
282 (_Local_iterator_base<..., false>): Define copy constructor and copy
283 assignment operator that use new functions to manage _Hash_code_base.
284 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
285 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
286 Use public API for _Local_iterator_base.
287 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
288 * include/debug/unordered_map (__debug::unordered_map::erase(),
289 __debug::unordered_multimap::erase()): Likewise.
290 * include/debug/unordered_set (__debug::unordered_set::erase(),
291 __debug::unordered_multiset::erase()): Likewise.
292 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
293
294 2014-01-19 Tim Shen <timshen91@gmail.com>
295
296 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
297 Fix parse error of multiple consecutive quantifiers like "a**".
298 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
299 Likewise.
300 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
301
302 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
303
304 * include/profile/set.h (set): Implement C++11 allocator-aware
305 container requirements.
306 * include/profile/map.h (map): Likewise.
307 * include/profile/multiset.h (multiset): Likewise.
308 * include/profile/multimap.h (multimap): Likewise.
309 * include/profile/set.h
310 (set::operator=(const set&)): Define as default in C++11 mode.
311 (set::operator=(set&&)): Likewise.
312 * include/profile/map.h
313 (map::operator=(const map&)): Likewise.
314 (map::operator=(map&&)): Likewise.
315 * include/profile/multiset.h
316 (multiset::operator=(const multiset&)): Likewise.
317 (multiset::operator=(multiset&&)): Likewise.
318 * include/profile/multimap.h
319 (multimap::operator=(const multimap&)): Likewise.
320 (multimap::operator=(multimap&&)): Likewise.
321 * include/profile/set.h (set::operator=(std::initializer_list<>)):
322 Rely on the same operator from normal mode.
323 * include/profile/map.h (map::operator=(std::initializer_list<>)):
324 Likewise.
325 * include/profile/multiset.h
326 (multiset::operator=(std::initializer_list<>)): Likewise.
327 * include/profile/multimap.h
328 (multimap::operator=(std::initializer_list<>)): Likewise.
329 * include/profile/set.h (set::swap(set&)): Add noexcept
330 specification.
331 * include/profile/map.h (map::swap(map&)): Likewise.
332 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
333 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
334
335 2014-01-17 Tim Shen <timshen91@gmail.com>
336
337 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
338 use std::map.
339 * include/bits/regex_automaton.h: Do not use std::set.
340 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
341 _BracketMatcher<>::_M_add_collating_element(),
342 _BracketMatcher<>::_M_add_equivalence_class(),
343 _BracketMatcher<>::_M_make_range()): Likewise.
344 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
345 Likewise.
346 * include/bits/regex_executor.h: Do not use std::queue.
347 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
348 _Executor<>::_M_dfs()): Likewise.
349 * include/std/regex: Remove <map>, <set> and <queue>.
350
351 2014-01-17 Tim Shen <timshen91@gmail.com>
352
353 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
354 basic_regex<>::assign()): Change __compile_nfa to accept
355 const _CharT* only.
356 * include/bits/regex_compiler.h: Change _Compiler's template
357 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
358 * include/bits/regex_compiler.tcc: Likewise.
359
360 2014-01-17 Tim Shen <timshen91@gmail.com>
361
362 * include/bits/regex_compiler.h: Change _ScannerT into char-type
363 templated.
364 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
365 _ScannerBase from _Scanner; Change _Scanner's template argument from
366 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
367 instead.
368 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
369 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
370 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
371 Likewise.
372 * include/std/regex: Add <cstring> for using strchr.
373
374 2014-01-17 Tim Shen <timshen91@gmail.com>
375
376 * bits/regex_automaton.tcc: Indentation fix.
377 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
378 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
379 _BracketMatcher<>): Add bool option template parameters and
380 specializations to make matching more efficient and space saving.
381 * bits/regex_compiler.tcc: Likewise.
382
383 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
384
385 PR libstdc++/59712
386 * include/bits/hashtable_policy.h: Fix some long lines.
387 * include/bits/hashtable.h (__hash_code_base_access): Define and
388 use it to check its _M_bucket_index noexcept qualification. Use
389 also in place of...
390 (__access_protected_ctor): ...this.
391 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
392 Adapt line number.
393 * testsuite/23_containers/unordered_set/
394 not_default_constructible_hash_neg.cc: Likewise.
395
396 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
397
398 * include/debug/set.h (set): Implement C++11 allocator-aware
399 container requirements.
400 * include/debug/map.h (map): Likewise.
401 * include/debug/multiset.h (multiset): Likewise.
402 * include/debug/multimap.h (multimap): Likewise.
403 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
404 fix implementation regarding management of safe iterators.
405 * include/debug/map.h (map::operator=(map&&)): Likewise.
406 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
407 * include/debug/multimap.h (multimap::operator=(multimap&&)):
408 Likewise.
409 * include/debug/set.h (set::operator=(std::initializer_list<>)):
410 Rely on the same operator from normal mode.
411 * include/debug/map.h (map::operator=(std::initializer_list<>)):
412 Likewise.
413 * include/debug/multiset.h
414 (multiset::operator=(std::initializer_list<>)): Likewise.
415 * include/debug/multimap.h
416 (multimap::operator=(std::initializer_list<>)): Likewise.
417 * include/debug/set.h (set::swap(set&)): Add noexcept
418 specification, add allocator equality check.
419 * include/debug/map.h (map::swap(map&)): Likewise.
420 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
421 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
422
423 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
424
425 PR libstdc++/59698
426 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
427 and stylistic improvements.
428 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
429 and update for C++11.
430 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
431
432 PR libstdc++/59687
433 * doc/xml/manual/backwards_compatibility.xml
434 (backwards.third.nocreate_noreplace): Correct and expand.
435
436 PR libstdc++/59699
437 * doc/xml/manual/support.xml (std.support.types.null): Update links.
438
439 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
440
441 PR libstdc++/59738
442 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
443 support for non-Movable types.
444
445 PR libstdc++/59680
446 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
447
448 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
449
450 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
451 *this allocator instance when building temporary vector instance
452 so that *this allocator does not get moved.
453 * include/debug/safe_base.h
454 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
455 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
456 move constructor from _Safe_sequence_base.
457 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
458 safe iterators if the instance is moved.
459 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
460 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
461 check on a vector iterator.
462 * testsuite/23_containers/vector/allocator/move_assign.cc
463 (test02): Likewise.
464 (test03): New, test with a non-propagating allocator.
465 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
466
467 2014-01-07 Tim Shen <timshen91@gmail.com>
468
469 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
470 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
471 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
472 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
473 _BracketMatcher<>::_M_add_char(),
474 _BracketMatcher<>::_M_add_collating_element(),
475 _BracketMatcher<>::_M_add_equivalence_class(),
476 _BracketMatcher<>::_M_add_character_class(),
477 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
478 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
479 Fix _AnyMatcher behavior of POSIX style and move _M_flags
480 to template parameter; Add cache for _BracketMatcher. Adjust
481 declarations from here...
482 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
483 imbuing a regex will trigger a recompilation to rebuild the cache.
484 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
485 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
486 different template bool parameters.
487 * include/bits/regex_executor.h: Remove unnecessary declarations.
488 * include/std/regex: Adjust including orders.
489 * testsuite/28_regex/traits/char/user_defined.cc: New.
490 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
491
492 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
493
494 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
495 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
496 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
497 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
498 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
499
500 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
501
502 Update copyright years
503
504 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
505
506 * testsuite/18_support/new_handler.cc,
507 testsuite/18_support/terminate_handler.cc,
508 testsuite/18_support/unexpected_handler.cc: Use the standard form for
509 the copyright notice.
510 \f
511 Copyright (C) 2014 Free Software Foundation, Inc.
512
513 Copying and distribution of this file, with or without modification,
514 are permitted in any medium without royalty provided the copyright
515 notice and this notice are preserved.