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