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