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