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