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