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