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