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