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