re PR libstdc++/60564 ([C++11] The std::packaged_task constructor taking a reference...
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/60564
4 * include/std/future (__future_base::_Task_state<>): Change
5 constructors to template functions using perfect forwarding.
6 (__create_task_state): Use decayed type as stored task.
7 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
8 * testsuite/30_threads/packaged_task/60564.cc: New.
9
10 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
11
12 * scripts/create_testsuite_files: Add testsuite/experimental in
13 the list of folders to search for tests.
14
15 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
16
17 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
18
19 2014-03-15 Tim Shen <timshen91@gmail.com>
20
21 * include/bits/regex.h: Add/modify comments.
22 * include/bits/regex_compiler.h: Likewise.
23 * include/bits/regex_executor.h: Likewise.
24 * include/bits/regex_executor.tcc: Likewise.
25 * include/bits/regex_scanner.h: Likewise.
26
27 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
28
29 PR ipa/58721
30 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
31 _ZNSt12system_errorC* symbols which are not exported on any target.
32
33 2014-03-12 Roland McGrath <mcgrathr@google.com>
34 Mark Seaborn <mseaborn@google.com>
35
36 PR libstdc++/59392
37 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
38 the address of a null pointer, not with a null pointer to pointer.
39 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
40 * testsuite/18_support/bad_exception/59392.cc: New file.
41
42 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
43
44 PR libstdc++/60499
45 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
46 Uglify name.
47 * include/debug/map (map::operator=(map&&)): Likewise.
48 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
49 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
50 * include/debug/set (set::operator=(set&&)): Likewise.
51 * include/debug/unordered_map
52 (unordered_map::operator=(unordered_map&&)): Likewise.
53 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
54 * include/debug/unordered_set
55 (unordered_set::operator=(unordered_set&&)): Likewise.
56 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
57 * include/debug/vector (vector::operator=(vector&&)): Likewise.
58 * testsuite/23_containers/forward_list/debug/60499.cc: New
59 * testsuite/23_containers/map/debug/60499.cc: New
60 * testsuite/23_containers/multimap/debug/60499.cc: New
61 * testsuite/23_containers/multiset/debug/60499.cc: New
62 * testsuite/23_containers/set/debug/60499.cc: New
63 * testsuite/23_containers/unordered_map/debug/60499.cc: New
64 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
65 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
66 * testsuite/23_containers/unordered_set/debug/60499.cc: New
67 * testsuite/23_containers/vector/debug/60499.cc: New
68
69 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
70
71 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
72 for filesystem and fundamentals TS work items.
73
74 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
75
76 PR c++/60376
77 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
78 Adjust dg-error directives.
79
80 2014-02-26 Tim Shen <timshen91@gmail.com>
81
82 * include/bits/regex.tcc (match_results<>::format,
83 regex_replace<>): Update __out after calling std::copy.
84 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
85 Add testcase.
86 * testsuite/28_regex/match_results/format.cc: Likewise.
87
88 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
89
90 PR libstdc++/60308
91 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
92 allocator_type&)): Remove redundant call to _M_initialize_map.
93 (deque::deque(const allocator_type&)): Initialize _Base with a
94 constructor that calls _M_initialize_map.
95
96 Partial revert:
97
98 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
99 PR libstdc++/58338
100 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
101 _M_initialize_map.
102
103 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
104
105 Rename testsuite directory shared_mutex to shared_timed_mutex
106 for consistency.
107 * testsuite/30_threads/shared_mutex: Moved to...
108 * testsuite/30_threads/shared_timed_mutex: ...here
109
110 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
111
112 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
113 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
114 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
115 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
116 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
117 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
118 * testsuite/30_threads/shared_lock/requirements/
119 explicit_instantiation.cc: Ditto.
120 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
121 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
122 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
123 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
124 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
125 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
126 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
127 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
128 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
129 * testsuite/30_threads/shared_mutex/requirements/
130 standard_layout.cc: Ditto.
131 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
132 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
133 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
134 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
135 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
136
137 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
138
139 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
140 execution on i?86-*-solaris2.9, remove comment.
141 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
142
143 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
144
145 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
146 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
147 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
148
149 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
150
151 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
152 not use varargs when argument could be non-POD.
153 (__alloctr_rebind_helper): Eliminate static const bool member by
154 using true_type and false_type.
155 (allocator_traits::__allocate_helper): Likewise.
156 (allocator_traits::__construct_helper): Likewise.
157 (allocator_traits::__destroy_helper): Likewise.
158 (allocator_traits::__maxsize_helper): Likewise.
159 (allocator_traits::__select_helper): Likewise.
160 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
161 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
162 Remove redundant condition.
163 * include/bits/stl_vector.h (vector::operator=(const vector&)):
164 Likewise.
165 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
166 indirection through __alloc_traits.
167 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
168 Eliminate static const bool members by using true_type and false_type.
169 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
170 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
171 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
172 New.
173 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
174
175 PR libstdc++/59829
176 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
177 (vector::_M_data_ptr): New overloaded functions to ensure empty
178 vectors do not dereference the pointer.
179 * testsuite/23_containers/vector/59829.cc: New.
180 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
181 Adjust dg-error line number.
182 * testsuite/23_containers/vector/requirements/dr438/
183 constructor_1_neg.cc: Likewise.
184 * testsuite/23_containers/vector/requirements/dr438/
185 constructor_2_neg.cc: Likewise.
186 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
187 Likewise.
188
189 PR libstdc++/21609
190 * include/ext/array_allocator.h: Add deprecated attribute.
191
192 PR libstdc++/57226
193 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
194 installation and use of python printers.
195 * doc/xml/manual/status_cxx2011.xml: Update.
196 * doc/html/*: Regenerate.
197
198 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
199 Kyle Lippincott <spectral@google.com>
200
201 PR libstdc++/59656
202 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
203 constructor and grant friendship to weak_ptr.
204 (weak_ptr::lock()): Use new constructor.
205 * include/bits/shared_ptr_base.h
206 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
207 and define specializations.
208 (__shared_count): Add new non-throwing constructor.
209 (__shared_ptr): Add new non-throwing constructor and grant friendship
210 to __weak_ptr.
211 (__weak_ptr::lock()): Use new constructor.
212 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
213 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
214
215 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
216
217 PR libstdc++/59215
218 * include/bits/shared_ptr_base.h
219 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
220 load.
221
222 2014-01-27 Jason Merrill <jason@redhat.com>
223
224 Core DR 475
225 PR c++/41174
226 PR c++/59224
227 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
228 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
229 (__cxa_allocate_exception): Don't set it here.
230
231 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
232
233 * include/bits/stl_map.h: Remove anachronistic comment.
234 * include/bits/stl_multimap.h: Add whitespace.
235 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
236 -std=gnu++11 instead of -std=c++11.
237 * testsuite/23_containers/map/operators/2.cc: Likewise.
238 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
239 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
240 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
241
242 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
243 * configure: Regenerate.
244
245 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
246
247 PR libstdc++/59531
248 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
249 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
250
251 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
252 Peter A. Bigot <pab@pabigot.com>
253
254 PR libstdc++/59531
255 * include/experimental/string_view
256 (copy(_CharT*, size_type, size_type) const): Correct throw string.
257 Correct copy start location.
258
259 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
260 Peter A. Bigot <pab@pabigot.com>
261
262 PR libstdc++/59530
263 * include/experimental/string_view (operator[](size_type) const):
264 Fix one-off index error in debug check.
265 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
266 test basic_string_view at size().
267 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
268
269 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
270 Peter A. Bigot <pab@pabigot.com>
271
272 PR libstdc++/59529
273 * include/experimental/string_view
274 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
275 * testsuite/experimental/string_view/operations/substr/char/1.cc:
276 Comment out catch of out_of_range; No terminating null
277 in basic_string_view. Check begin == end.
278 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
279 Ditto.
280
281 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
282
283 PR libstdc++/59548
284 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
285 constructor to prevent it being implicitly defined as deleted, but
286 do not copy anything.
287 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
288 Define copy and move constructors similar to _Safe_sequence_base's.
289 * testsuite/23_containers/unordered_map/59548.cc: New.
290
291 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
292 Steve Ellcey <sellcey@mips.com>
293
294 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
295 function.
296 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
297 * (configure, config.h.in): Regenerate.
298 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
299
300 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
301
302 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
303 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
304
305 PR libstdc++/59872
306 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
307 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
308 Likewise.
309 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
310 Likewise.
311 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
312 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
313 functions to perform moving or copying of elements from rvalue tree.
314 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
315 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
316 * testsuite/23_containers/map/59872.cc: New.
317 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
318
319 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
320
321 * include/bits/stl_deque.h (_Deque_impl): Move comment.
322
323 PR libstdc++/58764
324 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
325 Split into separate default constructor and constructor taking
326 allocator.
327 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
328 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
329 Likewise.
330 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
331 * include/debug/list (list::list(const _Allocator&)): Likewise.
332 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
333 Likewise.
334 * include/debug/multimap.h
335 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
336 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
337 Likewise.
338 * include/debug/multiset.h
339 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
340 * include/debug/vector (vector::vector(const allocator_type&)):
341 Likewise.
342 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
343 * include/profile/list (list::list(const _Allocator&)): Likewise.
344 * include/profile/map.h
345 (map::map(const _Compare&, const _Allocator&)): Likewise.
346 * include/profile/multimap.h
347 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
348 * include/profile/set.h
349 (set::set(const _Compare&, const _Allocator&)): Likewise.
350 * include/profile/multiset.h
351 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
352 * include/profile/vector (vector::vector(const _Allocator&)):
353 Likewise.
354 * testsuite/23_containers/deque/58764.cc: New.
355 * testsuite/23_containers/list/58764.cc: New.
356 * testsuite/23_containers/map/58764.cc: New.
357 * testsuite/23_containers/multimap/58764.cc: New.
358 * testsuite/23_containers/set/58764.cc: New.
359 * testsuite/23_containers/multiset/58764.cc: New.
360 * testsuite/23_containers/vector/58764.cc: New.
361 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
362 Adjust dg-error line number.
363 * testsuite/23_containers/deque/requirements/dr438/
364 constructor_1_neg.cc: Likewise.
365 * testsuite/23_containers/deque/requirements/dr438/
366 constructor_2_neg.cc: Likewise.
367 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
368 Likewise.
369 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
370 Likewise.
371 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
372 Likewise.
373 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
374 Likewise.
375 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
376 Likewise.
377 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
378 Likewise.
379 * testsuite/23_containers/vector/requirements/dr438/
380 constructor_1_neg.cc: Likewise.
381 * testsuite/23_containers/vector/requirements/dr438/
382 constructor_2_neg.cc: Likewise.
383 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
384 Likewise.
385
386 PR libstdc++/58764 (again)
387 * include/bits/stl_list.h (list): Make default constructor's exception
388 specification conditional.
389 * include/bits/stl_vector.h (vector): Likewise.
390 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
391 to default constructor.
392 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
393 Adjust dg-error line number.
394 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
395 Likewise.
396 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
397 Likewise.
398 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
399 Likewise.
400 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
401 Likewise.
402 * testsuite/23_containers/vector/requirements/dr438/
403 constructor_1_neg.cc: Likewise.
404 * testsuite/23_containers/vector/requirements/dr438/
405 constructor_2_neg.cc: Likewise.
406 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
407 Likewise.
408
409 2014-01-21 Tim Shen <timshen91@gmail.com>
410
411 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
412 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
413 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
414
415 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
416
417 PR libstdc++/56267
418 * include/bits/hashtable.h (__cache_default): Do not depend on
419 whether the hash function is DefaultConstructible or CopyAssignable.
420 (_Hashtable): Adjust static assertions.
421 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
422 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
423 dg-error line number.
424 * testsuite/23_containers/unordered_set/
425 not_default_constructible_hash_neg.cc: Remove.
426
427 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
428
429 * scripts/create_testsuite_files: Add testsuite/experimental in
430 the list of folders to search for tests.
431 * include/experimental/string_view
432 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
433 incompatible with constexpr qualifier.
434 (basic_string_view<>::front()): Likewise.
435 (basic_string_view<>::back()): Likewise.
436 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
437 Merge dg-options directives into one.
438 * testsuite/experimental/string_view/element_access/char/2.cc:
439 Likewise. Remove invalid experimental namespace scope on
440 string_view_type.
441
442 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
443
444 PR libstdc++/56267
445 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
446 friendship to _Local_iterator_base<..., false>.
447 (_Local_iterator_base): Give protected access to all existing members.
448 (_Local_iterator_base::_M_curr()): New public accessor.
449 (_Local_iterator_base::_M_get_bucket()): New public accessor.
450 (_Local_iterator_base<..., false>::_M_init()): New function to manage
451 the lifetime of the _Hash_code_base explicitly.
452 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
453 (_Local_iterator_base<..., false>): Define copy constructor and copy
454 assignment operator that use new functions to manage _Hash_code_base.
455 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
456 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
457 Use public API for _Local_iterator_base.
458 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
459 * include/debug/unordered_map (__debug::unordered_map::erase(),
460 __debug::unordered_multimap::erase()): Likewise.
461 * include/debug/unordered_set (__debug::unordered_set::erase(),
462 __debug::unordered_multiset::erase()): Likewise.
463 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
464
465 2014-01-19 Tim Shen <timshen91@gmail.com>
466
467 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
468 Fix parse error of multiple consecutive quantifiers like "a**".
469 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
470 Likewise.
471 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
472
473 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
474
475 * include/profile/set.h (set): Implement C++11 allocator-aware
476 container requirements.
477 * include/profile/map.h (map): Likewise.
478 * include/profile/multiset.h (multiset): Likewise.
479 * include/profile/multimap.h (multimap): Likewise.
480 * include/profile/set.h
481 (set::operator=(const set&)): Define as default in C++11 mode.
482 (set::operator=(set&&)): Likewise.
483 * include/profile/map.h
484 (map::operator=(const map&)): Likewise.
485 (map::operator=(map&&)): Likewise.
486 * include/profile/multiset.h
487 (multiset::operator=(const multiset&)): Likewise.
488 (multiset::operator=(multiset&&)): Likewise.
489 * include/profile/multimap.h
490 (multimap::operator=(const multimap&)): Likewise.
491 (multimap::operator=(multimap&&)): Likewise.
492 * include/profile/set.h (set::operator=(std::initializer_list<>)):
493 Rely on the same operator from normal mode.
494 * include/profile/map.h (map::operator=(std::initializer_list<>)):
495 Likewise.
496 * include/profile/multiset.h
497 (multiset::operator=(std::initializer_list<>)): Likewise.
498 * include/profile/multimap.h
499 (multimap::operator=(std::initializer_list<>)): Likewise.
500 * include/profile/set.h (set::swap(set&)): Add noexcept
501 specification.
502 * include/profile/map.h (map::swap(map&)): Likewise.
503 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
504 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
505
506 2014-01-17 Tim Shen <timshen91@gmail.com>
507
508 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
509 use std::map.
510 * include/bits/regex_automaton.h: Do not use std::set.
511 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
512 _BracketMatcher<>::_M_add_collating_element(),
513 _BracketMatcher<>::_M_add_equivalence_class(),
514 _BracketMatcher<>::_M_make_range()): Likewise.
515 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
516 Likewise.
517 * include/bits/regex_executor.h: Do not use std::queue.
518 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
519 _Executor<>::_M_dfs()): Likewise.
520 * include/std/regex: Remove <map>, <set> and <queue>.
521
522 2014-01-17 Tim Shen <timshen91@gmail.com>
523
524 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
525 basic_regex<>::assign()): Change __compile_nfa to accept
526 const _CharT* only.
527 * include/bits/regex_compiler.h: Change _Compiler's template
528 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
529 * include/bits/regex_compiler.tcc: Likewise.
530
531 2014-01-17 Tim Shen <timshen91@gmail.com>
532
533 * include/bits/regex_compiler.h: Change _ScannerT into char-type
534 templated.
535 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
536 _ScannerBase from _Scanner; Change _Scanner's template argument from
537 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
538 instead.
539 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
540 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
541 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
542 Likewise.
543 * include/std/regex: Add <cstring> for using strchr.
544
545 2014-01-17 Tim Shen <timshen91@gmail.com>
546
547 * bits/regex_automaton.tcc: Indentation fix.
548 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
549 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
550 _BracketMatcher<>): Add bool option template parameters and
551 specializations to make matching more efficient and space saving.
552 * bits/regex_compiler.tcc: Likewise.
553
554 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
555
556 PR libstdc++/59712
557 * include/bits/hashtable_policy.h: Fix some long lines.
558 * include/bits/hashtable.h (__hash_code_base_access): Define and
559 use it to check its _M_bucket_index noexcept qualification. Use
560 also in place of...
561 (__access_protected_ctor): ...this.
562 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
563 Adapt line number.
564 * testsuite/23_containers/unordered_set/
565 not_default_constructible_hash_neg.cc: Likewise.
566
567 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
568
569 * include/debug/set.h (set): Implement C++11 allocator-aware
570 container requirements.
571 * include/debug/map.h (map): Likewise.
572 * include/debug/multiset.h (multiset): Likewise.
573 * include/debug/multimap.h (multimap): Likewise.
574 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
575 fix implementation regarding management of safe iterators.
576 * include/debug/map.h (map::operator=(map&&)): Likewise.
577 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
578 * include/debug/multimap.h (multimap::operator=(multimap&&)):
579 Likewise.
580 * include/debug/set.h (set::operator=(std::initializer_list<>)):
581 Rely on the same operator from normal mode.
582 * include/debug/map.h (map::operator=(std::initializer_list<>)):
583 Likewise.
584 * include/debug/multiset.h
585 (multiset::operator=(std::initializer_list<>)): Likewise.
586 * include/debug/multimap.h
587 (multimap::operator=(std::initializer_list<>)): Likewise.
588 * include/debug/set.h (set::swap(set&)): Add noexcept
589 specification, add allocator equality check.
590 * include/debug/map.h (map::swap(map&)): Likewise.
591 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
592 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
593
594 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
595
596 PR libstdc++/59698
597 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
598 and stylistic improvements.
599 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
600 and update for C++11.
601 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
602
603 PR libstdc++/59687
604 * doc/xml/manual/backwards_compatibility.xml
605 (backwards.third.nocreate_noreplace): Correct and expand.
606
607 PR libstdc++/59699
608 * doc/xml/manual/support.xml (std.support.types.null): Update links.
609
610 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
611
612 PR libstdc++/59738
613 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
614 support for non-Movable types.
615
616 PR libstdc++/59680
617 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
618
619 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
620
621 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
622 *this allocator instance when building temporary vector instance
623 so that *this allocator does not get moved.
624 * include/debug/safe_base.h
625 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
626 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
627 move constructor from _Safe_sequence_base.
628 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
629 safe iterators if the instance is moved.
630 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
631 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
632 check on a vector iterator.
633 * testsuite/23_containers/vector/allocator/move_assign.cc
634 (test02): Likewise.
635 (test03): New, test with a non-propagating allocator.
636 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
637
638 2014-01-07 Tim Shen <timshen91@gmail.com>
639
640 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
641 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
642 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
643 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
644 _BracketMatcher<>::_M_add_char(),
645 _BracketMatcher<>::_M_add_collating_element(),
646 _BracketMatcher<>::_M_add_equivalence_class(),
647 _BracketMatcher<>::_M_add_character_class(),
648 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
649 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
650 Fix _AnyMatcher behavior of POSIX style and move _M_flags
651 to template parameter; Add cache for _BracketMatcher. Adjust
652 declarations from here...
653 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
654 imbuing a regex will trigger a recompilation to rebuild the cache.
655 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
656 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
657 different template bool parameters.
658 * include/bits/regex_executor.h: Remove unnecessary declarations.
659 * include/std/regex: Adjust including orders.
660 * testsuite/28_regex/traits/char/user_defined.cc: New.
661 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
662
663 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
664
665 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
666 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
667 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
668 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
669 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
670
671 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
672
673 Update copyright years
674
675 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
676
677 * testsuite/18_support/new_handler.cc,
678 testsuite/18_support/terminate_handler.cc,
679 testsuite/18_support/unexpected_handler.cc: Use the standard form for
680 the copyright notice.
681 \f
682 Copyright (C) 2014 Free Software Foundation, Inc.
683
684 Copying and distribution of this file, with or without modification,
685 are permitted in any medium without royalty provided the copyright
686 notice and this notice are preserved.