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