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