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