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