2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
2
3 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
4 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
5
6 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
7
8 PR libstdc++/61667
9 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
10 _M_need_rehash to initialize the rehash policy and check if a rehash is
11 needed.
12 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
13
14 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
15
16 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
17 Optimize.
18 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
19 Adjust dg-error line number.
20 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
21 Likewise.
22 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
23 Likewise.
24 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
25 Likewise.
26
27 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
28 _M_do_set.
29 (_State_baseV2::_M_do_set): Change parameters to pointers.
30 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
31 (_State_baseV2::__setter): Initialize _Setter with pointers.
32 (_State_baseV2::__setter(promise<void>*)): Remove overload.
33 (promise::set_value, promise::set_exception): Pass setter directly
34 to _M_set_result.
35 (_State_baseV2::_Task_setter): Add template parameter for callable
36 type and replace std::function member with pointer to that type.
37 Change _M_result member from reference to pointer.
38 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
39 and initialize _Task_setter with pointers.
40 (__location_invariant): Specialize for _Setter and _Task_setter.
41
42 * include/std/future (__location_invariant): Move specializations
43 after preprocessor condition.
44
45 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
46
47 PR c++/15339
48 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
49
50 2014-08-01 Zifei Tong <zifeitong@gmail.com>
51
52 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
53 _GLIBCXX_ prefix to macro.
54
55 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
56
57 * python/libstdcxx/v6/printers.py
58 (SingleObjContainerPrinter._contained): Use compatibility mixin.
59
60 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
61
62 * testsuite/util/testsuite_allocator.h
63 (tracker_allocator_counter::allocate): Remove new invocation, only
64 collect information.
65 (tracker_allocator_counter::deallocate): Remove delete invocation, only
66 collect information.
67 (check_inconsistent_alloc_value_type): New.
68 (tracker_allocator): Transform as a facade for any allocator type.
69 (uneq_allocator): Likewise.
70 (propagating_allocator): Likewise.
71 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
72 explicitly non propagating allocator.
73 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
74 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
75 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
76 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
77 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
78 Likewise.
79 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
80 Likewise.
81 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
82 Likewise.
83 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
84 Likewise.
85 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
86
87 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
88
89 PR libstdc++/61946
90 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
91 const allocator_type&)): Pass non-const allocator to
92 _S_new_RopeFunction.
93 * testsuite/ext/rope/61946.cc: New.
94
95 PR libstdc++/61947
96 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
97 disambiguate unary constructors.
98 (_Tuple_impl): Pass allocator_arg_t arguments.
99 * testsuite/20_util/tuple/61947.cc: New.
100 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
101
102 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
103
104 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
105 * include/bits/random.h (_Adaptor): static_assert for non floating-point
106 result type.
107 * include/bits/random.tcc (generate_canonical): Ditto.
108 * include/ext/random.tcc (hypergeometric_distribution::operator()):
109 Use double as a rng result type.
110 * testsuite/26_numerics/random/pr60037-neg.cc: New.
111 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
112
113 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
114
115 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
116
117 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
118
119 * include/experimental/string_view: Make the literal operators
120 constexpr like the ctors they call.
121
122 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
123
124 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
125
126 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
127
128 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
129 to string instead of using gdb.Type.name attribute.
130
131 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
132
133 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
134 AC_MSG_CHECKING.
135
136 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
137
138 PR libstdc++/61835
139 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
140 raw string.
141 (SingleObjContainerPrinter): Check if type printers are in use.
142
143 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
144
145 * include/ext/random: Minor formatting and cosmetic tweaks.
146 (uniform_on_sphere_distribution<>::operator==
147 (const uniform_on_sphere_distribution&,
148 const uniform_on_sphere_distribution&)): Compare the _M_nds.
149 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
150 (operator!=(const uniform_on_sphere_distribution&,
151 const uniform_on_sphere_distribution&)): Adjust.
152 * include/ext/random.tcc: Minor cosmetc tweaks.
153
154 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
155
156 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
157 printer for class templates.
158 (register_type_printers): Use TemplateTypePrinter for containers
159 and other class templates with default template arguments.
160 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
161
162 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
163 base class for experimental::any and experimental::optional printers.
164 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
165 New printers for Fundamentals TS types.
166 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
167
168 2014-07-15 Tim Shen <timshen@google.com>
169
170 PR libstdc++/61720
171 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
172 Clear match queue for next use.
173 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
174
175 2014-07-14 Ulrich Drepper <drepper@gmail.com>
176
177 * include/ext/random.tcc: Unfortunately more fixes for
178 operator>> and operator<< for uniform_on_sphere_distribution.
179
180 2014-07-13 Ulrich Drepper <drepper@gmail.com>
181
182 * include/ext/random.tcc: Fix operator>> and operator<< for
183 uniform_on_sphere_distribution.
184
185 2014-07-12 Ulrich Drepper <drepper@gmail.com>
186
187 * include/ext/random: Add uniform_on_sphere_distribution definition.
188 * include/ext/random.tcc: Add out-of-band member function definitions
189 for uniform_on_sphere_distribution.
190 * testsuite/ext/random/uniform_on_sphere_distribution/
191 cons/default.cc: New file.
192 * testsuite/ext/random/uniform_on_sphere_distribution/
193 operators/equal.cc: New file.
194 * testsuite/ext/random/uniform_on_sphere_distribution/
195 operators/inequal.cc: New file.
196 * testsuite/ext/random/uniform_on_sphere_distribution/
197 operators/serialize.cc: New file.
198
199 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
200
201 Add the logistic_distribution as an extension.
202 * include/ext/random: Add the logistic_distribution.
203 * include/ext/random.tcc: Add the logistic_distribution.
204 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
205 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
206 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
207 New.
208 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
209 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
210 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
211 New.
212
213 2014-07-11 Samuel Bronson <naesten@gmail.com>
214
215 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
216 instead of insisting that GCC understand -fdiagnostics-color=never
217
218 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
219 list loaded libs.
220
221 2014-07-11 Samuel Bronson <naesten@gmail.com>
222 Matthias Klose <doko@ubuntu.com>
223
224 PR libstdc++/58962
225 * python/libstdcxx/v6/printers.py: Port to Python 2+3
226 (imap): New compat function.
227 (izip): Likewise.
228 (Iterator): New mixin to allow writing iterators in Python 3 style
229 regardless of which version we're running on.
230 [Python3] (long) New compat alias for "int".
231 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
232
233 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
234
235 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
236 tuple members to simplify pretty printing.
237 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
238 construction.
239 * testsuite/experimental/any/cons/4.cc: New.
240
241 2014-07-09 Jason Merrill <jason@redhat.com>
242
243 PR libstdc++/61728
244 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
245 * libsupc++/tinfo.h: Not here.
246
247 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
248
249 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
250 missing return.
251 * include/experimental/any: Remove unused header.
252 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
253 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
254 * testsuite/util/testsuite_regex.h: Move include guard.
255
256 2014-07-01 Tim Shen <timshen@google.com>
257
258 PR libstdc++/61601
259 PR libstdc++/61582
260 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
261 a NFA state limit. If it's exceeded, regex_constants::error_space
262 will be throwed.
263 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
264 map (which is sparse) instead of vector. This reduce n times clones'
265 cost from O(n^2) to O(n).
266 * include/std/regex: Add map dependency.
267 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
268 testcase.
269
270 2014-07-01 Tim Shen <timshen@google.com>
271
272 PR libstdc++/61424
273 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
274 not just regex containing back-references.
275 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
276 exchange _M_next and _M_alt for alternative operator,
277 making matching from left to right.
278 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
279 Add position tracking fom DFS.
280 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
281 _Executor<>::_M_dfs): Likewise.
282 * include/bits/regex_scanner.h: Remove unused enum entry.
283 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
284 testcase from PR.
285
286 2014-06-30 Jason Merrill <jason@redhat.com>
287
288 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
289 is pure, not inline.
290
291 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
292
293 Revert:
294 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
295 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
296
297 PR libstdc++/61536
298 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
299
300 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
301
302 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
303
304 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
305
306 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
307 parameter type.
308
309 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
310
311 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
312 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
313 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
314 Likewise.
315 * include/ext/alloc_traits.h: Fix comment.
316
317 * include/Makefile.am: Add new header.
318 * include/Makefile.in: Regenerate.
319 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
320 New RAII utilities for working with allocators.
321 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
322 __allocator_type typedef and use new __allocated_ptr type.
323 (_Sp_counted_ptr_inplace): Likewise.
324 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
325 __allocate_guarded to to simplify exception handling.
326 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
327 * include/std/future (_Result_alloc::_M_destroy): Likewise.
328 (_Result_alloc::_S_allocate_result): Likewise.
329 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
330 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
331 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
332 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
333 with fancy pointer.
334 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
335
336 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
337 allocator.
338 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
339 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
340
341 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
342
343 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
344 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
345 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
346 Remove unused typedef.
347 (time_get::do_get_monthname): Likewise.
348 * include/bits/stl_tree.h: Add system_header pragma.
349 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
350 redundant const-qualifier.
351 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
352 instead of _GLIBCXX_USE_CONSTEXPR.
353
354 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
355
356 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
357 * include/std/chrono (_Checked_integral_constant): Allow zero.
358 * testsuite/20_util/duration/literals/values.cc: Test non-positive
359 values and digit separators.
360 * include/experimental/any
361
362 PR libstdc++/61532
363 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
364 apply the signed specifier to wchar_t.
365 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
366 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
367 cv-qualifier and size.
368 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
369 Likewise.
370
371 * include/experimental/any (any_v1): Rename namespace to
372 fundamentals_v1. Change string returned by bad_any_cast::what().
373 * include/experimental/optional (fundamentals_v1): Add namespace.
374 * include/experimental/string_view (fundamentals_v1): Likewise.
375 * testsuite/experimental/any/typedefs.cc: New.
376 * testsuite/experimental/optional/typedefs.cc: New.
377 * testsuite/experimental/string_view/typedefs.cc: New.
378
379 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
380 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
381
382 PR libstdc++/61536
383 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
384
385 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
386
387 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
388 * include/Makefile.am: Add new header.
389 * include/Makefile.in: Regenerate.
390 * include/experimental/any: New.
391 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
392 constructor.
393 * testsuite/experimental/any/assign/1.cc: New.
394 * testsuite/experimental/any/assign/2.cc: New.
395 * testsuite/experimental/any/cons/1.cc: New.
396 * testsuite/experimental/any/cons/2.cc: New.
397 * testsuite/experimental/any/cons/3.cc: New.
398 * testsuite/experimental/any/misc/any_cast.cc: New.
399 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
400 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
401 * testsuite/experimental/any/misc/swap.cc: New.
402 * testsuite/experimental/any/modifiers/1.cc: New.
403 * testsuite/experimental/any/observers/type.cc: New.
404
405 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
406 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
407 warnings.
408 * include/bits/shared_ptr.h (shared_ptr): Likewise.
409 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
410 Likewise.
411 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
412 Likewise.
413 * include/parallel/list_partition.h (__parallel::list_partition):
414 Likewise.
415 * include/std/iomanip (quoted): Likewise.
416 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
417
418 * doc/xml/api.xml: Link to more recent API docs.
419 * include/bits/allocator.h: Fix link in doxygen comment.
420 * include/bits/char_traits.h: Likewise.
421 * include/bits/ios_base.h: Likewise.
422 * include/bits/stl_map.h: Likewise.
423 * include/bits/stl_multimap.h: Likewise.
424 * include/bits/stl_multiset.h: Likewise.
425 * include/bits/stl_set.h: Likewise.
426 * include/bits/unordered_map.h: Likewise.
427 * include/bits/unordered_set.h: Likewise.
428 * include/ext/mt_allocator.h: Likewise.
429 * include/std/fstream: Likewise.
430 * include/std/iosfwd: Likewise.
431 * include/std/ostream: Likewise.
432 * include/std/sstream: Likewise.
433 * include/std/streambuf: Likewise.
434 * doc/html/*: Regenerate.
435
436 * include/experimental/any (any_cast): Combine duplicate doxygen
437 comments.
438 * include/experimental/string_view (basic_string_view): Update
439 doxygen comment.
440 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
441 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
442 (dynamic_bitset): Improve Doxygen comments.
443 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
444 comment.
445
446 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
447
448 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
449 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
450
451 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
452
453 PR libstdc++/61390
454 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
455 (bin_search_tree_traits): Do not redeclare template-parameters.
456 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
457
458 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
459
460 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
461 parameter for DocBook HTML generation.
462 * doc/Makefile.in: Regenerate.
463 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
464 * doc/xml/faq.xml: Update content and improve formatting.
465 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
466 * doc/xml/manual/allocator.xml: Add stable ID attribute.
467 * doc/xml/manual/bitmap_allocator.xml: Likewise.
468 * doc/xml/manual/build_hacking.xml: Likewise.
469 * doc/xml/manual/codecvt.xml: Change URL.
470 * doc/xml/manual/ctype.xml: Add stable ID attribute.
471 * doc/xml/manual/debug_mode.xml: Likewise.
472 * doc/xml/manual/documentation_hacking.xml: Likewise.
473 * doc/xml/manual/evolution.xml: Likewise.
474 * doc/xml/manual/extensions.xml: Likewise.
475 * doc/xml/manual/locale.xml: Likewise.
476 * doc/xml/manual/messages.xml: Make section id consistent, improve
477 markup, change URL.
478 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
479 * doc/xml/manual/profile_mode.xml: Likewise.
480 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
481 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
482 * doc/xml/manual/status_cxx2011.xml: Likewise.
483 * doc/xml/manual/status_cxx2014.xml: Likewise.
484 * doc/xml/manual/status_cxxtr1.xml: Likewise.
485 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
486 * doc/xml/manual/using.xml: Likewise.
487 * doc/html/*: Regenerate.
488
489 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
490
491 * include/tr1/beta_function.tcc: Fix spelling of include guard in
492 comment.
493
494 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
495
496 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
497
498 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
499
500 DR 2344 - std::quoted doesn't respect padding
501 * include/std/iomanip: Allow for padding in quoted inserters.
502 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
503 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
504
505 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
506
507 * testsuite/23_containers/map/operators/1.cc: Simplify test.
508
509 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
510
511 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
512 code example.
513 * doc/xml/manual/backwards_compatibility.xml
514 (backwards.second.stringstreams): Likewise.
515 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
516 change of default.
517 * doc/xml/manual/containers.xml (associative.bitset.type_string):
518 Replace <quote> in code example.
519 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
520 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
521 fix typos, improve markup.
522 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
523 <emphasis> with <replaceable>.
524 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
525 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
526 and remove newlines in string literal.
527
528 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
529
530 DR 1423
531 PR c++/52174
532 * testsuite/20_util/is_assignable/value.cc: Update.
533
534 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
535
536 * include/std/condition_variable (condition_variable_any::_Unlock): Do
537 not swallow __forced_unwind.
538 * include/std/future (__future_base::_Task_setter): Likewise.
539 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
540 promise and rethrow.
541 * include/std/mutex (try_lock): Likewise.
542 * testsuite/30_threads/async/forced_unwind.cc: New.
543 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
544
545 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
546 members to avoid wasted space when not using a cache.
547 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
548 * include/bits/regex_compiler.tcc
549 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
550 search on set.
551 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
552 New enumeration type to indicate match mode.
553 (__detail::_Executor::_State_info): New type holding members only
554 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
555 unique_ptr<bool[]>.
556 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
557 Replace template parameter with run-time function parameter.
558 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
559 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
560 implement DFS and BFS mode.
561 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
562 Split implementation into ...
563 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
564 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
565 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
566 argument instead of template argument.
567 (__detail::_Executor::_M_dfs): Likewise.
568 * include/bits/regex_scanner.tcc: Fix typos in comments.
569 * testsuite/performance/28_regex/range.cc: New.
570
571 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
572 Jonathan Wakely <jwakely@redhat.com>
573
574 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
575 helper struct.
576 (aligned_union): New struct (C++11).
577 (aligned_union_t): New type alias (C++14).
578 * doc/xml/manual/status_cxx2011.xml: Update.
579 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
580 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
581 line number.
582
583 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
584
585 PR libstdc++/61374
586 * include/experimental/string_view (operator basic_string): Correct
587 order of arguments.
588 (to_string): Replace with member function.
589 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
590 allow _M_str to be null.
591 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
592 default constructor semantics.
593 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
594 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
595 copyright dates. Remove unused header.
596 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
597 Likewise.
598 * testsuite/experimental/string_view/operations/data/char/1.cc:
599 Fix copyright dates. Adjust to new default constructor semantics.
600 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
601 Likewise.
602 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
603
604 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
605 (__uses_allocator_arg): Remove unused type.
606 (__uses_alloc0): Turn into a trivial type.
607 (__uses_alloc): Add missing template parameter in primary template.
608 (__uses_alloc_impl): Rename to __uses_alloc_t.
609
610 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
611
612 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
613 work with previous versions of Tcl.
614
615 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
616 Benjamin's old email address.
617
618 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
619 Paolo's address too.
620
621 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
622
623 * include/tr2/bool_set: Use UTF-8 for accented characters.
624 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
625 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
626 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
627
628 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
629
630 PR libstdc++/61329
631 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
632 inline specifier.
633 (_State_base::_M_dot): Likewise.
634
635 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
636
637 * include/profile/map.h: Fix typo in comment; minor formatting fix.
638 * include/profile/multimap.h: Likewise.
639 * include/profile/set.h: Likewise.
640 * include/profile/multiset.h: Likewise.
641
642 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
643
644 * include/profile/array: Clean useless white chars.
645 * include/profile/base.h: Likewise.
646 * include/profile/iterator_tracker.h: Likewise.
647 * include/profile/bitset: Code cleanup and remove not instrumented code.
648 * include/profile/deque: Likewise.
649 * include/profile/forward_list: Likewise.
650 * include/profile/list (std::__profile::_List_profile<>): New.
651 (std::__profile::list<>): Inherit from latter and adapt.
652 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
653 advise to match any ordered to unordered container conversion.
654 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
655 New.
656 * include/Makefile.am: Add latter.
657 * include/Makefile.in: Regenerate.
658 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
659 remove not instrumented code.
660 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
661 * include/profile/set.h (std::__profile::set<>): Likewise.
662 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
663 * include/profile/unordered_base.h: Add some line feed.
664 * include/profile/unordered_map: Clean useless white chars and replace
665 spaces with tabs.
666 * include/profile/unordered_set: Likewise.
667 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
668 (std::__profile::_Vector_profile_post<>): New.
669 (std::__profile::vector<>): Inherit from latter and adapt.
670
671 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
672
673 PR libstdc++/60793
674 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
675 dragonfly target selector to all tests that run on freebsd.
676
677 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
678 dragonfly.
679 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
680 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
681
682 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
683 selector.
684 * testsuite/30_threads/call_once/60497.cc: Likewise.
685 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
686 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
687 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
688 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
689 * testsuite/30_threads/promise/60966.cc: Likewise.
690 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
691 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
692 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
693 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
694 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
695 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
696 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
697 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
698 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
699 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
700 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
701 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
702 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
703 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
704 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
705 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
706 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
707
708 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
709
710 PR libstdc++/61143
711 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
712 usable state.
713 * testsuite/23_containers/unordered_set/61143.cc: New.
714 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
715
716 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
717
718 PR libstdc++/61269
719 * include/std/type_traits: Move include outside namespace std.
720 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
721 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
722 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
723 Likewise.
724
725 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
726 Fix warning.
727
728 2014-05-21 John Marino <gnugcc@marino.st>
729
730 * acinclude.m4 (*-*-dragonfly*): New target.
731 * configure: Regenerate.
732 * configure.host (*-*-dragonfly*): New target.
733 * config/locale/dragonfly/c_locale.cc: New.
734 * config/locale/dragonfly/ctype_members.cc: New.
735 * config/os/bsd/dragonfly/ctype_base.h: New.
736 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
737 * config/os/bsd/dragonfly/ctype_inline.h: New.
738 * config/os/bsd/dragonfly/os_defines.h: New.
739
740 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
741
742 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
743 libstdc++.exp imports those flags via getenv.
744 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
745 CXXFLAGS contains a '-O' flag.
746
747 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
748
749 PR libstdc++/61223
750 Revert:
751 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
752
753 PR libstdc++/60758
754 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
755 and add unwind directives.
756
757 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
758
759 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
760
761 2014-05-20 Tim Shen <timshen91@gmail.com>
762
763 PR libstdc++/61227
764 * include/bits/regex_compiler.h
765 (_BracketMatcher<>::_M_add_character_class): Add negative character
766 class support.
767 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
768 Likewise.
769 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
770 Add more testcases.
771
772 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
773
774 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
775
776 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
777
778 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
779 * libsupc++/new_opnt.cc: Likewise.
780
781 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
782
783 PR libstdc++/60966
784 * include/std/future (__future_base::_State_baseV2::_M_set_result):
785 Pass lock into _M_do_set and hold it until the function returns.
786 Signal condition variable after call_once completes.
787 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
788 signal here.
789 * testsuite/30_threads/promise/60966.cc: New.
790
791 2014-05-16 Iain Sandoe <iain@codesourcery.com>
792 Sandra Loosemore <sandra@codesourcery.com>
793
794 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
795 until after checking that the test is eligible to be run.
796
797 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
798
799 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
800 test for 32-bit target.
801 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
802 Likewise.
803 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
804 Fix test.
805
806 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
807
808 PR libstdc++/60758
809 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
810 and add unwind directives.
811
812 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
813
814 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
815 overflow.
816 * include/std/chrono (chrono_literals::__select_type::_Select_type):
817 Remove.
818 (chrono_literals::_Checked_integral_constant): Define.
819 Simplify UDL operator templates and check for overflow.
820 * testsuite/20_util/duration/literals/range.cc: New.
821
822 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
823 Jonathan Wakely <jwakely@redhat.com>
824
825 PR libstdc++/61166
826 * include/bits/parse_numbers.h: Use integral_constant to remove
827 duplication and simplify.
828 * testsuite/20_util/duration/literals/61166.cc: New.
829
830 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
831
832 PR libstdc++/60326
833 * include/std/type_traits (__make_unsigned, __make_signed): Define
834 specializations for wchar_t, char16_t and char32_t.
835 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
836 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
837 test for make_unsigned<volatile wchar_t>.
838 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
839 Likewise.
840 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
841 line number.
842 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
843 Likewise.
844 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
845 Likewise.
846
847 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
848
849 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
850 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
851 * include/std/utility (tuple_size, tuple_element): Likewise.
852 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
853 Adjust dg-error line number.
854
855 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
856
857 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
858 (__tuple_element_t): Define.
859 (tuple_element): Use __tuple_element_t.
860 (__cv_tuple_size): Define.
861 (tuple_size<cv _Tp>): Use __cv_tuple_size.
862 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
863 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
864 (__tuple_compare): Remove size check, re-order parameters.
865 (operator==, operator<): Use static_assert to check requirements.
866 * include/std/functional (__volget): use __tuple_element_t.
867 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
868 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
869
870 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
871
872 PR libstdc++/60497
873 * include/std/tuple (get, __tuple_compare): Qualify more calls to
874 prevent ADL. Cast comparison results to bool.
875 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
876 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
877
878 PR libstdc++/60497
879 * include/debug/array (get): Qualify call to other get overload.
880 * include/profile/array (get): Likewise.
881 * include/std/array (get): Likewise.
882 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
883 * include/std/mutex (unique_lock, call_once): Use __addressof.
884 (__unlock_impl): Remove unused template.
885 (__try_to_lock): Declare inline.
886 (__try_lock_impl::__do_try_lock): Qualify function calls.
887 (lock): Avoid narrowing conversion.
888 * testsuite/20_util/bind/60497.cc: New.
889 * testsuite/23_containers/array/element_access/60497.cc: New.
890 * testsuite/30_threads/call_once/60497.cc: New.
891 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
892
893 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
894
895 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
896 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
897 * acinclude.m4 (libtool_VERSION): Bump.
898 * configure: Regenerate.
899 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
900 * testsuite/28_regex/regex_error/base.cc: New.
901
902 2014-05-08 Joshua Gay <jgay@gnu.org>
903
904 PR libstdc++/61117
905 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
906 source" with "free software".
907 * doc/html/faq.html: Likewise.
908
909 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
910
911 PR libstdc++/57394
912 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
913 deleted for C++11.
914 (operator=(const ios_base&)): Likewise.
915 * include/std/streambuf: Remove trailing whitespace.
916 (basic_streambuf(const basic_streambuf&)): Fix initializer for
917 _M_out_end. Define as defaulted for C++11.
918 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
919 (swap(basic_streambuf&)): Define for C++11.
920 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
921
922 PR libstdc++/13860
923 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
924
925 * include/std/iostream: Fix URL in comment.
926 * src/c++98/ios_init.cc: Fix path in comment.
927
928 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
929
930 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
931 * configure: Regenerate.
932
933 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
934
935 PR libstdc++/61023
936 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
937 comparison function.
938 * testsuite/23_containers/set/cons/61023.cc: New.
939
940 PR libstdc++/61086
941 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
942 Remove.
943 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
944 arithmetic to obtain a mutable iterator from const_iterator.
945 * include/bits/vector.tcc (vector::insert): Likewise.
946 * include/debug/vector (vector::erase): Likewise.
947 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
948 Adjust dg-error line number.
949 * testsuite/23_containers/vector/requirements/dr438/
950 constructor_1_neg.cc: Likewise.
951 * testsuite/23_containers/vector/requirements/dr438/
952 constructor_2_neg.cc: Likewise.
953 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
954 Likewise.
955
956 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
957
958 * include/Makefile.in: Regenerate.
959
960 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
961
962 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
963 parameter to pass the 2 instances to check allocator equality.
964 * include/debug/safe_container.h: New, define _Safe_container<>.
965 * include/Makefile.am: Add previous.
966 * include/debug/deque (std::__debug::deque<>): Inherit
967 _Safe_container<>. Use default implementation for all special
968 functions.
969 * include/debug/forward_list (std::__debug::forward_list<>):
970 Likewise.
971 * include/debug/list (std::__debug::list<>): Likewise.
972 * include/debug/map.h (std::__debug::map<>): Likewise.
973 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
974 * include/debug/set.h (std::__debug::set<>): Likewise.
975 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
976 * include/debug/string (std::__debug::basic_string<>): Likewise.
977 * include/debug/unordered_map
978 (std::__debug::unordered_map<>): Likewise.
979 (std::__debug::unordered_multimap<>): Likewise.
980 * include/debug/unordered_set
981 (std::__debug::unordered_set<>): Likewise.
982 (std::__debug::unordered_multiset<>): Likewise.
983 * include/debug/vector (std::__debug::vector<>): Likewise.
984 * include/debug/safe_base.h (_Safe_sequence_base()): Add
985 noexcept.
986 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
987 (~_Safe_sequence_base()): Add noexcept.
988 * include/debug/safe_sequence.h
989 (std::__debug::_Safe_node_sequence<>): New.
990 * include/debug/safe_unordered_base.h
991 (_Safe_unordered_container_base()): Add noexcept.
992 (~_Safe_unordered_container_base()): Likewise.
993 (_M_swap(_Safe_unordered_container_base&)): Likewise.
994 * include/debug/safe_unordered_container.h:
995 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
996 (_Safe_unordered_container<>::_M_invalidate_all()): New.
997 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
998 qualifications.
999 * testsuite/util/debug/checks.h (check_construct1): Just implement
1000 an invalid constructor invocation and no other operations
1001 potentially not supported by some types of container.
1002 (check_construct2): Likewise.
1003 (check_construct3): Likewise.
1004 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1005 check on iterators to make sure they are correctly moved in debug
1006 mode.
1007 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1008 Likewise.
1009 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1010 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1011 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1012 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1013 Likewise.
1014 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1015 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1016 Likewise.
1017 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1018 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1019 * testsuite/23_containers/unordered_map/allocator/move.cc:
1020 Likewise.
1021 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1022 Likewise.
1023 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1024 Likewise.
1025 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1026 Likewise.
1027 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1028 Likewise.
1029 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1030 Likewise.
1031 * testsuite/23_containers/unordered_set/allocator/move.cc:
1032 Likewise.
1033 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1034 Likewise.
1035 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1036 New.
1037 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1038 New.
1039 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1040 New.
1041 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1042 New.
1043 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1044 New.
1045 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1046 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1047 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1048 * testsuite/23_containers/map/debug/move_neg.cc: New.
1049 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1050 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1051 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1052 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1053 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1054 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1055 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1056 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1057 * testsuite/23_containers/set/debug/move_neg.cc: New.
1058 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1059 New.
1060 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1061 New.
1062 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1063 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1064 New.
1065 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1066 New.
1067 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1068 New.
1069 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1070 New.
1071 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1072 New.
1073 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1074 New.
1075 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1076 New.
1077 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1078 New.
1079 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1080 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1081
1082 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1083
1084 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1085 (CXXABI_1.3.9): Remove __float128 symbols.
1086
1087 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1088
1089 PR libstdc++/59476
1090 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1091 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1092 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1093 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1094 refer to...
1095 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1096
1097 PR libstdc++/61036
1098 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1099 Check the correct type in the static assertion.
1100 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1101
1102 2014-04-27 Tim Shen <timshen91@gmail.com>
1103
1104 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1105 Add _S_opcode_repeat support to distingush a loop from
1106 _S_opcode_alternative.
1107 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1108 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1109 _StateSeq<>::_M_clone): Likewise.
1110 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1111 Likewise.
1112 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1113 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1114 Uglify local variable __i.
1115 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1116 Use size_t instead of int to compare with vector::size().
1117
1118 2014-04-27 Tim Shen <timshen91@gmail.com>
1119
1120 * include/bits/regex_executor.h: Add _M_rep_count to track how
1121 many times this repeat node are visited.
1122 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1123 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1124 infinite loop.
1125
1126 2014-04-27 Tim Shen <timshen91@gmail.com>
1127
1128 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1129 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1130 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1131 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1132 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1133 Adjust debug NFA dump.
1134
1135 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1136
1137 PR libstdc++/60710
1138 * include/experimental/optional (operator!=): Implement in terms of
1139 operator==.
1140 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1141 * testsuite/experimental/optional/relops/2.cc: Likewise.
1142 * testsuite/experimental/optional/relops/3.cc: Likewise.
1143 * testsuite/experimental/optional/relops/4.cc: Likewise.
1144 * testsuite/experimental/optional/relops/5.cc: Likewise.
1145 * testsuite/experimental/optional/relops/6.cc: Likewise.
1146
1147 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1148
1149 PR libstdc++/60958
1150 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1151 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1152 comment.
1153
1154 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1155
1156 * testsuite/util/testsuite_abi.cc (check_version): Update for
1157 CXXABI_1.3.9.
1158
1159 2014-04-24 Tim Shen <timshen91@gmail.com>
1160
1161 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1162 Do _M_alt before _M_next.
1163 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1164
1165 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1166
1167 PR libstdc++/43622
1168 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1169 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1170 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1171
1172 2014-04-24 Andreas Schwab <schwab@suse.de>
1173
1174 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1175 new CXXABI_1.3.9 symbols.
1176
1177 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1178
1179 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1180 (CXXABI_1.3.9): New version.
1181
1182 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1183
1184 PR libstdc++/43622
1185 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1186 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1187 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1188
1189 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1190
1191 * configure.host: Remove solaris2.9 handling.
1192 Change os_include_dir to os/solaris/solaris2.10.
1193 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1194 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1195 * configure: Regenerate.
1196 * config/abi/post/solaris2.9: Remove.
1197 * config/os/solaris/solaris2.9: Rename to ...
1198 * config/os/solaris/solaris2.10: ... this.
1199 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1200 Remove.
1201
1202 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1203 Remove Solaris 9 reference.
1204 * doc/html/manual/configure.html: Regenerate.
1205
1206 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1207 Remove *-*-solaris2.9 xfail.
1208 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1209 Likewise.
1210
1211 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1212 xfail.
1213
1214 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1215
1216 * include/std/functional (__is_location_invariant): Use __or_ helper.
1217
1218 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1219
1220 PR libstdc++/60734
1221 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1222
1223 PR libstdc++/60695
1224 * include/std/atomic (atomic<_Tp>): Add static assertion.
1225 * testsuite/29_atomics/atomic/60695.cc: New.
1226
1227 PR libstdc++/60594
1228 * include/std/functional (function::_Callable): Exclude own type
1229 from the callable checks.
1230 * testsuite/20_util/function/60594.cc: New.
1231
1232 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1233 const to constexpr member functions.
1234
1235 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1236 delegating constructor.
1237 * include/bits/shared_ptr_base.h
1238 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1239
1240 * include/std/atomic: Uglify parameter names.
1241
1242 PR c++/60786
1243 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1244 1.cc: Fix invalid explicit instantiations with unqualified names.
1245 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1246 2.cc: Likweise.
1247 * testsuite/20_util/tuple/53648.cc: Likweise.
1248 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1249 Likewise.
1250 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1251 Likewise.
1252 * testsuite/23_containers/unordered_map/requirements/
1253 debug_container.cc: Likewise.
1254 * testsuite/23_containers/unordered_map/requirements/
1255 explicit_instantiation/3.cc: Likewise.
1256 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1257 Likewise.
1258 * testsuite/23_containers/unordered_multimap/requirements/
1259 explicit_instantiation/3.cc: Likewise.
1260 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1261 Likewise.
1262 * testsuite/23_containers/unordered_multiset/requirements/
1263 explicit_instantiation/3.cc: Likewise.
1264 * testsuite/23_containers/unordered_set/requirements/
1265 debug_container.cc: Likewise.
1266 * testsuite/23_containers/unordered_set/requirements/
1267 explicit_instantiation/3.cc: Likewise.
1268
1269 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1270 not use uninitialized members in mem-initializers.
1271 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1272 * testsuite/util/testsuite_common_types.h: Update comment.
1273
1274 * include/experimental/string_view: Fix inconsistent exception specs.
1275
1276 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1277 Remove name of unused parameter.
1278
1279 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1280
1281 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1282 _Vector_base::_M_allocate): NullablePointer requirements do not
1283 include initialization from literal zero, use value-initialization.
1284 * include/bits/vector.tcc (vector::_M_insert_aux,
1285 vector::_M_explace_back_aux): Likewise for assignment.
1286
1287 * include/bits/allocator.h (operator==, operator!=): Add exception
1288 specifications.
1289
1290 PR libstdc++/60497
1291 * include/std/tuple (get): Qualify calls to prevent ADL.
1292 * testsuite/20_util/tuple/60497.cc: New.
1293
1294 * include/std/tuple (tuple_element_t): Define.
1295 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1296 test.
1297 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1298
1299 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1300
1301 PR libstdc++/59434
1302 * include/bits/stl_iterator.h (move_iterator::reference,
1303 move_iterator::operator*): Implement LWG 2106.
1304 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1305
1306 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1307
1308 * include/std/complex (__complex_exp, pow): Specify the template
1309 parameter in calls to std::polar, for expression templates.
1310
1311 2014-04-10 Andreas Schwab <schwab@suse.de>
1312
1313 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1314 symbols.
1315 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1316 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1317
1318 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1319
1320 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1321
1322 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1323 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1324 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1325 specifications.
1326
1327 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1328 Jack Howarth <howarth@bromo.med.uc.edu>
1329
1330 PR target/54407
1331 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1332 darwin < 11.
1333
1334 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1335
1336 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1337 Update link.
1338 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1339 Fix broken links.
1340 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1341 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1342 * doc/xml/manual/concurrency_extensions.xml
1343 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1344 * doc/html/*: Regenerate.
1345
1346 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1347 Jonathan Wakely <jwakely@redhat.com>
1348
1349 PR libstdc++/60270
1350 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1351 string if input is not quoted.
1352 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1353
1354 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1355
1356 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1357
1358 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1359
1360 * testsuite/18_support/exception_ptr/60612-terminate.cc
1361 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1362 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1363
1364 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1365
1366 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1367
1368 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1369 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1370 Likewise.
1371 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1372 Likewise.
1373 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1374
1375 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1376 Fix bad s/part/chapter/ substitutions.
1377 * doc/xml/manual/io.xml (std.io): Likewise.
1378 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1379 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1380
1381 * doc/html/*: Regenerate.
1382
1383 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1384
1385 PR libstdc++/60612
1386 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1387 compatible with __cxa_exception.
1388 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1389 Fix typos in comments.
1390 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1391 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1392
1393 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1394
1395 PR libstdc++/60658
1396 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1397 Use sizeof pointer type not the element type.
1398 * testsuite/29_atomics/atomic/60658.cc: New.
1399
1400 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1401
1402 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1403 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1404 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1405 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1406 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1407 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1408 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1409 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1410 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1411 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1412 entries.
1413
1414 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1415
1416 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1417
1418 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1419
1420 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1421 to delegated constructor.
1422 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1423 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1424 Likewise.
1425 (_Hashtable(
1426 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1427
1428 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1429
1430 PR libstdc++/60623
1431 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1432
1433 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1434
1435 PR libstdc++/60587
1436 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1437 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1438 iterator category.
1439 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1440 from different types of debug container. Use _Is_contiguous_sequence
1441 instead of is_lvalue_reference.
1442 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1443 dereferencing past-the-end iterator.
1444 (__foreign_iterator_aux4): Use const value_type* instead of
1445 potentially user-defined const_pointer type.
1446 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1447 and pass end iterator to __gnu_debug::__foreign_iterator.
1448 (__glibcxx_check_insert_range_after): Likewise.
1449 (__glibcxx_check_max_load_factor): Fix comment.
1450 * include/debug/vector (_Is_contiguous_sequence): Define partial
1451 specializations.
1452 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1453 -std=gnu++11 option and unused header.
1454 * testsuite/23_containers/vector/debug/60587.cc: New.
1455 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1456
1457 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1458
1459 * crossconfig.m4: Support spu-*-elf* targets.
1460 * configure: Regenerate.
1461
1462 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1463
1464 PR libstdc++/60564
1465 * include/std/future (__future_base::_Task_state<>): Change
1466 constructors to template functions using perfect forwarding.
1467 (__create_task_state): Use decayed type as stored task.
1468 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1469 * testsuite/30_threads/packaged_task/60564.cc: New.
1470
1471 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1472
1473 * scripts/create_testsuite_files: Add testsuite/experimental in
1474 the list of folders to search for tests.
1475
1476 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1477
1478 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1479
1480 2014-03-15 Tim Shen <timshen91@gmail.com>
1481
1482 * include/bits/regex.h: Add/modify comments.
1483 * include/bits/regex_compiler.h: Likewise.
1484 * include/bits/regex_executor.h: Likewise.
1485 * include/bits/regex_executor.tcc: Likewise.
1486 * include/bits/regex_scanner.h: Likewise.
1487
1488 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1489
1490 PR ipa/58721
1491 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1492 _ZNSt12system_errorC* symbols which are not exported on any target.
1493
1494 2014-03-12 Roland McGrath <mcgrathr@google.com>
1495 Mark Seaborn <mseaborn@google.com>
1496
1497 PR libstdc++/59392
1498 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1499 the address of a null pointer, not with a null pointer to pointer.
1500 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1501 * testsuite/18_support/bad_exception/59392.cc: New file.
1502
1503 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1504
1505 PR libstdc++/60499
1506 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1507 Uglify name.
1508 * include/debug/map (map::operator=(map&&)): Likewise.
1509 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1510 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1511 * include/debug/set (set::operator=(set&&)): Likewise.
1512 * include/debug/unordered_map
1513 (unordered_map::operator=(unordered_map&&)): Likewise.
1514 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1515 * include/debug/unordered_set
1516 (unordered_set::operator=(unordered_set&&)): Likewise.
1517 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1518 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1519 * testsuite/23_containers/forward_list/debug/60499.cc: New
1520 * testsuite/23_containers/map/debug/60499.cc: New
1521 * testsuite/23_containers/multimap/debug/60499.cc: New
1522 * testsuite/23_containers/multiset/debug/60499.cc: New
1523 * testsuite/23_containers/set/debug/60499.cc: New
1524 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1525 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1526 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1527 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1528 * testsuite/23_containers/vector/debug/60499.cc: New
1529
1530 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1531
1532 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1533 for filesystem and fundamentals TS work items.
1534
1535 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1536
1537 PR c++/60376
1538 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1539 Adjust dg-error directives.
1540
1541 2014-02-26 Tim Shen <timshen91@gmail.com>
1542
1543 * include/bits/regex.tcc (match_results<>::format,
1544 regex_replace<>): Update __out after calling std::copy.
1545 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1546 Add testcase.
1547 * testsuite/28_regex/match_results/format.cc: Likewise.
1548
1549 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1550
1551 PR libstdc++/60308
1552 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1553 allocator_type&)): Remove redundant call to _M_initialize_map.
1554 (deque::deque(const allocator_type&)): Initialize _Base with a
1555 constructor that calls _M_initialize_map.
1556
1557 Partial revert:
1558
1559 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1560 PR libstdc++/58338
1561 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1562 _M_initialize_map.
1563
1564 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1565
1566 Rename testsuite directory shared_mutex to shared_timed_mutex
1567 for consistency.
1568 * testsuite/30_threads/shared_mutex: Moved to...
1569 * testsuite/30_threads/shared_timed_mutex: ...here
1570
1571 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1572
1573 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1574 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1575 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1576 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1577 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1578 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1579 * testsuite/30_threads/shared_lock/requirements/
1580 explicit_instantiation.cc: Ditto.
1581 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1582 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1583 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1584 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1585 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1586 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1587 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1588 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1589 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1590 * testsuite/30_threads/shared_mutex/requirements/
1591 standard_layout.cc: Ditto.
1592 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1593 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1594 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1595 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1596 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1597
1598 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1599
1600 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1601 execution on i?86-*-solaris2.9, remove comment.
1602 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1603
1604 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1605
1606 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1607 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1608 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1609
1610 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1611
1612 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1613 not use varargs when argument could be non-POD.
1614 (__alloctr_rebind_helper): Eliminate static const bool member by
1615 using true_type and false_type.
1616 (allocator_traits::__allocate_helper): Likewise.
1617 (allocator_traits::__construct_helper): Likewise.
1618 (allocator_traits::__destroy_helper): Likewise.
1619 (allocator_traits::__maxsize_helper): Likewise.
1620 (allocator_traits::__select_helper): Likewise.
1621 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1622 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1623 Remove redundant condition.
1624 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1625 Likewise.
1626 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1627 indirection through __alloc_traits.
1628 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1629 Eliminate static const bool members by using true_type and false_type.
1630 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1631 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1632 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1633 New.
1634 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1635
1636 PR libstdc++/59829
1637 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1638 (vector::_M_data_ptr): New overloaded functions to ensure empty
1639 vectors do not dereference the pointer.
1640 * testsuite/23_containers/vector/59829.cc: New.
1641 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1642 Adjust dg-error line number.
1643 * testsuite/23_containers/vector/requirements/dr438/
1644 constructor_1_neg.cc: Likewise.
1645 * testsuite/23_containers/vector/requirements/dr438/
1646 constructor_2_neg.cc: Likewise.
1647 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1648 Likewise.
1649
1650 PR libstdc++/21609
1651 * include/ext/array_allocator.h: Add deprecated attribute.
1652
1653 PR libstdc++/57226
1654 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1655 installation and use of python printers.
1656 * doc/xml/manual/status_cxx2011.xml: Update.
1657 * doc/html/*: Regenerate.
1658
1659 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1660 Kyle Lippincott <spectral@google.com>
1661
1662 PR libstdc++/59656
1663 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1664 constructor and grant friendship to weak_ptr.
1665 (weak_ptr::lock()): Use new constructor.
1666 * include/bits/shared_ptr_base.h
1667 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1668 and define specializations.
1669 (__shared_count): Add new non-throwing constructor.
1670 (__shared_ptr): Add new non-throwing constructor and grant friendship
1671 to __weak_ptr.
1672 (__weak_ptr::lock()): Use new constructor.
1673 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1674 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1675
1676 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1677
1678 PR libstdc++/59215
1679 * include/bits/shared_ptr_base.h
1680 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1681 load.
1682
1683 2014-01-27 Jason Merrill <jason@redhat.com>
1684
1685 Core DR 475
1686 PR c++/41174
1687 PR c++/59224
1688 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1689 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1690 (__cxa_allocate_exception): Don't set it here.
1691
1692 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1693
1694 * include/bits/stl_map.h: Remove anachronistic comment.
1695 * include/bits/stl_multimap.h: Add whitespace.
1696 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1697 -std=gnu++11 instead of -std=c++11.
1698 * testsuite/23_containers/map/operators/2.cc: Likewise.
1699 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1700 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1701 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1702
1703 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1704 * configure: Regenerate.
1705
1706 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1707
1708 PR libstdc++/59531
1709 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1710 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1711
1712 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1713 Peter A. Bigot <pab@pabigot.com>
1714
1715 PR libstdc++/59531
1716 * include/experimental/string_view
1717 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1718 Correct copy start location.
1719
1720 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1721 Peter A. Bigot <pab@pabigot.com>
1722
1723 PR libstdc++/59530
1724 * include/experimental/string_view (operator[](size_type) const):
1725 Fix one-off index error in debug check.
1726 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1727 test basic_string_view at size().
1728 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1729
1730 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1731 Peter A. Bigot <pab@pabigot.com>
1732
1733 PR libstdc++/59529
1734 * include/experimental/string_view
1735 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1736 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1737 Comment out catch of out_of_range; No terminating null
1738 in basic_string_view. Check begin == end.
1739 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1740 Ditto.
1741
1742 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1743
1744 PR libstdc++/59548
1745 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1746 constructor to prevent it being implicitly defined as deleted, but
1747 do not copy anything.
1748 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1749 Define copy and move constructors similar to _Safe_sequence_base's.
1750 * testsuite/23_containers/unordered_map/59548.cc: New.
1751
1752 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1753 Steve Ellcey <sellcey@mips.com>
1754
1755 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1756 function.
1757 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1758 * (configure, config.h.in): Regenerate.
1759 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1760
1761 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1762
1763 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1764 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1765
1766 PR libstdc++/59872
1767 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1768 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1769 Likewise.
1770 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1771 Likewise.
1772 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1773 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1774 functions to perform moving or copying of elements from rvalue tree.
1775 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1776 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1777 * testsuite/23_containers/map/59872.cc: New.
1778 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1779
1780 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1781
1782 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1783
1784 PR libstdc++/58764
1785 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1786 Split into separate default constructor and constructor taking
1787 allocator.
1788 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1789 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1790 Likewise.
1791 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1792 * include/debug/list (list::list(const _Allocator&)): Likewise.
1793 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1794 Likewise.
1795 * include/debug/multimap.h
1796 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1797 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1798 Likewise.
1799 * include/debug/multiset.h
1800 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1801 * include/debug/vector (vector::vector(const allocator_type&)):
1802 Likewise.
1803 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1804 * include/profile/list (list::list(const _Allocator&)): Likewise.
1805 * include/profile/map.h
1806 (map::map(const _Compare&, const _Allocator&)): Likewise.
1807 * include/profile/multimap.h
1808 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1809 * include/profile/set.h
1810 (set::set(const _Compare&, const _Allocator&)): Likewise.
1811 * include/profile/multiset.h
1812 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1813 * include/profile/vector (vector::vector(const _Allocator&)):
1814 Likewise.
1815 * testsuite/23_containers/deque/58764.cc: New.
1816 * testsuite/23_containers/list/58764.cc: New.
1817 * testsuite/23_containers/map/58764.cc: New.
1818 * testsuite/23_containers/multimap/58764.cc: New.
1819 * testsuite/23_containers/set/58764.cc: New.
1820 * testsuite/23_containers/multiset/58764.cc: New.
1821 * testsuite/23_containers/vector/58764.cc: New.
1822 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1823 Adjust dg-error line number.
1824 * testsuite/23_containers/deque/requirements/dr438/
1825 constructor_1_neg.cc: Likewise.
1826 * testsuite/23_containers/deque/requirements/dr438/
1827 constructor_2_neg.cc: Likewise.
1828 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1829 Likewise.
1830 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1831 Likewise.
1832 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1833 Likewise.
1834 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1835 Likewise.
1836 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1837 Likewise.
1838 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1839 Likewise.
1840 * testsuite/23_containers/vector/requirements/dr438/
1841 constructor_1_neg.cc: Likewise.
1842 * testsuite/23_containers/vector/requirements/dr438/
1843 constructor_2_neg.cc: Likewise.
1844 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1845 Likewise.
1846
1847 PR libstdc++/58764 (again)
1848 * include/bits/stl_list.h (list): Make default constructor's exception
1849 specification conditional.
1850 * include/bits/stl_vector.h (vector): Likewise.
1851 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1852 to default constructor.
1853 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1854 Adjust dg-error line number.
1855 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1856 Likewise.
1857 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1858 Likewise.
1859 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1860 Likewise.
1861 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1862 Likewise.
1863 * testsuite/23_containers/vector/requirements/dr438/
1864 constructor_1_neg.cc: Likewise.
1865 * testsuite/23_containers/vector/requirements/dr438/
1866 constructor_2_neg.cc: Likewise.
1867 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1868 Likewise.
1869
1870 2014-01-21 Tim Shen <timshen91@gmail.com>
1871
1872 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1873 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1874 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1875
1876 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1877
1878 PR libstdc++/56267
1879 * include/bits/hashtable.h (__cache_default): Do not depend on
1880 whether the hash function is DefaultConstructible or CopyAssignable.
1881 (_Hashtable): Adjust static assertions.
1882 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1883 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1884 dg-error line number.
1885 * testsuite/23_containers/unordered_set/
1886 not_default_constructible_hash_neg.cc: Remove.
1887
1888 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1889
1890 * scripts/create_testsuite_files: Add testsuite/experimental in
1891 the list of folders to search for tests.
1892 * include/experimental/string_view
1893 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1894 incompatible with constexpr qualifier.
1895 (basic_string_view<>::front()): Likewise.
1896 (basic_string_view<>::back()): Likewise.
1897 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1898 Merge dg-options directives into one.
1899 * testsuite/experimental/string_view/element_access/char/2.cc:
1900 Likewise. Remove invalid experimental namespace scope on
1901 string_view_type.
1902
1903 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1904
1905 PR libstdc++/56267
1906 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1907 friendship to _Local_iterator_base<..., false>.
1908 (_Local_iterator_base): Give protected access to all existing members.
1909 (_Local_iterator_base::_M_curr()): New public accessor.
1910 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1911 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1912 the lifetime of the _Hash_code_base explicitly.
1913 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1914 (_Local_iterator_base<..., false>): Define copy constructor and copy
1915 assignment operator that use new functions to manage _Hash_code_base.
1916 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1917 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1918 Use public API for _Local_iterator_base.
1919 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1920 * include/debug/unordered_map (__debug::unordered_map::erase(),
1921 __debug::unordered_multimap::erase()): Likewise.
1922 * include/debug/unordered_set (__debug::unordered_set::erase(),
1923 __debug::unordered_multiset::erase()): Likewise.
1924 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1925
1926 2014-01-19 Tim Shen <timshen91@gmail.com>
1927
1928 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1929 Fix parse error of multiple consecutive quantifiers like "a**".
1930 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1931 Likewise.
1932 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1933
1934 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1935
1936 * include/profile/set.h (set): Implement C++11 allocator-aware
1937 container requirements.
1938 * include/profile/map.h (map): Likewise.
1939 * include/profile/multiset.h (multiset): Likewise.
1940 * include/profile/multimap.h (multimap): Likewise.
1941 * include/profile/set.h
1942 (set::operator=(const set&)): Define as default in C++11 mode.
1943 (set::operator=(set&&)): Likewise.
1944 * include/profile/map.h
1945 (map::operator=(const map&)): Likewise.
1946 (map::operator=(map&&)): Likewise.
1947 * include/profile/multiset.h
1948 (multiset::operator=(const multiset&)): Likewise.
1949 (multiset::operator=(multiset&&)): Likewise.
1950 * include/profile/multimap.h
1951 (multimap::operator=(const multimap&)): Likewise.
1952 (multimap::operator=(multimap&&)): Likewise.
1953 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1954 Rely on the same operator from normal mode.
1955 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1956 Likewise.
1957 * include/profile/multiset.h
1958 (multiset::operator=(std::initializer_list<>)): Likewise.
1959 * include/profile/multimap.h
1960 (multimap::operator=(std::initializer_list<>)): Likewise.
1961 * include/profile/set.h (set::swap(set&)): Add noexcept
1962 specification.
1963 * include/profile/map.h (map::swap(map&)): Likewise.
1964 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1965 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1966
1967 2014-01-17 Tim Shen <timshen91@gmail.com>
1968
1969 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1970 use std::map.
1971 * include/bits/regex_automaton.h: Do not use std::set.
1972 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1973 _BracketMatcher<>::_M_add_collating_element(),
1974 _BracketMatcher<>::_M_add_equivalence_class(),
1975 _BracketMatcher<>::_M_make_range()): Likewise.
1976 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1977 Likewise.
1978 * include/bits/regex_executor.h: Do not use std::queue.
1979 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1980 _Executor<>::_M_dfs()): Likewise.
1981 * include/std/regex: Remove <map>, <set> and <queue>.
1982
1983 2014-01-17 Tim Shen <timshen91@gmail.com>
1984
1985 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1986 basic_regex<>::assign()): Change __compile_nfa to accept
1987 const _CharT* only.
1988 * include/bits/regex_compiler.h: Change _Compiler's template
1989 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1990 * include/bits/regex_compiler.tcc: Likewise.
1991
1992 2014-01-17 Tim Shen <timshen91@gmail.com>
1993
1994 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1995 templated.
1996 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1997 _ScannerBase from _Scanner; Change _Scanner's template argument from
1998 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1999 instead.
2000 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2001 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2002 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2003 Likewise.
2004 * include/std/regex: Add <cstring> for using strchr.
2005
2006 2014-01-17 Tim Shen <timshen91@gmail.com>
2007
2008 * bits/regex_automaton.tcc: Indentation fix.
2009 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2010 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2011 _BracketMatcher<>): Add bool option template parameters and
2012 specializations to make matching more efficient and space saving.
2013 * bits/regex_compiler.tcc: Likewise.
2014
2015 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2016
2017 PR libstdc++/59712
2018 * include/bits/hashtable_policy.h: Fix some long lines.
2019 * include/bits/hashtable.h (__hash_code_base_access): Define and
2020 use it to check its _M_bucket_index noexcept qualification. Use
2021 also in place of...
2022 (__access_protected_ctor): ...this.
2023 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2024 Adapt line number.
2025 * testsuite/23_containers/unordered_set/
2026 not_default_constructible_hash_neg.cc: Likewise.
2027
2028 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2029
2030 * include/debug/set.h (set): Implement C++11 allocator-aware
2031 container requirements.
2032 * include/debug/map.h (map): Likewise.
2033 * include/debug/multiset.h (multiset): Likewise.
2034 * include/debug/multimap.h (multimap): Likewise.
2035 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2036 fix implementation regarding management of safe iterators.
2037 * include/debug/map.h (map::operator=(map&&)): Likewise.
2038 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2039 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2040 Likewise.
2041 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2042 Rely on the same operator from normal mode.
2043 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2044 Likewise.
2045 * include/debug/multiset.h
2046 (multiset::operator=(std::initializer_list<>)): Likewise.
2047 * include/debug/multimap.h
2048 (multimap::operator=(std::initializer_list<>)): Likewise.
2049 * include/debug/set.h (set::swap(set&)): Add noexcept
2050 specification, add allocator equality check.
2051 * include/debug/map.h (map::swap(map&)): Likewise.
2052 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2053 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2054
2055 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2056
2057 PR libstdc++/59698
2058 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2059 and stylistic improvements.
2060 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2061 and update for C++11.
2062 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2063
2064 PR libstdc++/59687
2065 * doc/xml/manual/backwards_compatibility.xml
2066 (backwards.third.nocreate_noreplace): Correct and expand.
2067
2068 PR libstdc++/59699
2069 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2070
2071 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2072
2073 PR libstdc++/59738
2074 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2075 support for non-Movable types.
2076
2077 PR libstdc++/59680
2078 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2079
2080 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2081
2082 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2083 *this allocator instance when building temporary vector instance
2084 so that *this allocator does not get moved.
2085 * include/debug/safe_base.h
2086 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2087 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2088 move constructor from _Safe_sequence_base.
2089 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2090 safe iterators if the instance is moved.
2091 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2092 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2093 check on a vector iterator.
2094 * testsuite/23_containers/vector/allocator/move_assign.cc
2095 (test02): Likewise.
2096 (test03): New, test with a non-propagating allocator.
2097 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2098
2099 2014-01-07 Tim Shen <timshen91@gmail.com>
2100
2101 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2102 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2103 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2104 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2105 _BracketMatcher<>::_M_add_char(),
2106 _BracketMatcher<>::_M_add_collating_element(),
2107 _BracketMatcher<>::_M_add_equivalence_class(),
2108 _BracketMatcher<>::_M_add_character_class(),
2109 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2110 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2111 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2112 to template parameter; Add cache for _BracketMatcher. Adjust
2113 declarations from here...
2114 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2115 imbuing a regex will trigger a recompilation to rebuild the cache.
2116 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2117 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2118 different template bool parameters.
2119 * include/bits/regex_executor.h: Remove unnecessary declarations.
2120 * include/std/regex: Adjust including orders.
2121 * testsuite/28_regex/traits/char/user_defined.cc: New.
2122 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2123
2124 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2125
2126 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2127 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2128 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2129 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2130 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2131
2132 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2133
2134 Update copyright years
2135
2136 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2137
2138 * testsuite/18_support/new_handler.cc,
2139 testsuite/18_support/terminate_handler.cc,
2140 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2141 the copyright notice.
2142 \f
2143 Copyright (C) 2014 Free Software Foundation, Inc.
2144
2145 Copying and distribution of this file, with or without modification,
2146 are permitted in any medium without royalty provided the copyright
2147 notice and this notice are preserved.