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