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