1 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
3 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
4 * doc/xml/manual/status_cxx2014.xml: Update TS status.
5 * doc/html/manual/status.html: Regenerate.
7 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
9 * include/std/mutex (try_lock): Do not swallow exceptions.
10 * testsuite/30_threads/try_lock/4.cc: Fix test.
12 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
16 * config/abi/pre/gnu.ver: Add new exports.
17 * config/io/basic_file_stdio.h (__basic_file): Support moving and
19 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
21 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
23 * include/bits/fstream.tcc (basic_filebuf): Likewise.
24 * include/bits/move.h (__exchange): Define for C++11 mode.
25 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
27 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
28 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
29 basic_fstream): Likewise.
30 * include/std/ios: Remove whitespace.
31 * include/std/istream (basic_istream, basic_iostream): Support moving
33 * include/std/ostream (basic_ostream): Likewise.
34 * include/std/sstream (basic_stringbuf, basic_istringstream,
35 basic_ostringstream, basic_stringstream): Likewise.
36 * include/std/streambuf (basic_streambuf): Do not default copy
37 constructor and assignment on first declaration.
38 * include/std/utility (exchange): Forward to __exchange.
39 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
40 * src/c++11/Makefile.am: Add stream-related files.
41 * src/c++11/Makefile.in: Regenerate.
42 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
43 New file for explicit instantiation definitions.
44 * src/c++11/ios.cc: Move from src/c++98 to here.
45 (ios_base::_M_move, ios_base::_M_swap): Define.
46 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
47 * src/c++11/iostream-inst.cc: Likewise.
48 * src/c++11/istream-inst.cc: Likewise.
49 * src/c++11/ostream-inst.cc: Likewise.
50 * src/c++11/sstream-inst.cc: Likewise.
51 * src/c++11/streambuf-inst.cc: Likewise.
52 * src/c++98/Makefile.am: Remove stream-related files.
53 * src/c++98/Makefile.in: Regenerate.
54 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
56 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
57 * src/c++98/ios-inst.cc: Move to src/c++11/.
58 * src/c++98/ios.cc: Move to src/c++11/.
59 * src/c++98/iostream-inst.cc: Likewise.
60 * src/c++98/istream-inst.cc: Likewise.
61 * src/c++98/ostream-inst.cc: Likewise.
62 * src/c++98/sstream-inst.cc: Likewise.
63 * src/c++98/streambuf-inst.cc: Likewise.
64 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
65 * testsuite/27_io/basic_fstream/cons/move.cc: New.
66 * testsuite/27_io/basic_fstream/assign/1.cc: New.
67 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
68 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
69 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
70 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
71 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
72 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
73 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
74 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
75 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
76 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
78 2014-09-17 Jason Merrill <jason@redhat.com>
80 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
81 dynamic_cast more gracefully.
83 2014-09-15 Jakub Jelinek <jakub@redhat.com>
85 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
86 check_p_numbers2, check_p_numbers3, check_p_numbers4,
87 check_p_numbers5, check_p_numbers6, check_p_numbers,
88 check_p_subdirs): New variables.
89 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
90 (check-DEJAGNU): Rewritten so that for parallelized
91 testing each job runs all the *.exp files, with
92 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
93 * testsuite/Makefile.in: Regenerated.
94 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
95 gcc_parallel_test_enable): New procedures. If
96 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
97 runtest_file_p to invoke also gcc_parallel_test_run_p.
98 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
99 by the first parallel runtest encountering it. Fix up path
100 of the extract_symvers script.
101 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
102 serially by the first parallel runtest encountering it. Run
103 dg-finish even in case of error.
105 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
107 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
108 parameters to _Ch_traits.
110 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
112 * include/debug/deque (__gnu_debug::deque): Make base class C++11
115 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
118 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
119 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
121 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
124 * include/bits/regex.h (match_results::format): Remove stray template
126 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
127 Remove parameter name to avoid -Wunused-parameter warning.
128 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
129 mem-initializers to avoid -Wreorder warning.
130 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
131 Remove parameter name to avoid -Wunused-parameter warning.
132 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
133 to avoid -Wempty-body warning when not in debug mode.
135 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
137 * python/hook.in: Load the xmethods.
138 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
139 * python/Makefile.in: Regenerated.
140 * python/libstdcxx/v6/xmethods.py: New file.
141 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
143 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
144 python script if LOAD_XMETHODS is true.
145 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
146 * testsuite/libstdc++-xmethods/vector.cc: New file.
147 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
149 2014-09-10 Tony Wang <tony.wang@arm.com>
152 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
153 Return with CONTINUE_UNWINDING when the state pattern
154 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
156 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
158 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
159 allocator propagation.
160 (deque::emplace_front, deque::emplace_back): Use allocator traits.
161 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
162 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
163 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
164 (_Deque_iterator): Handle allocators with custom pointers.
165 (_Deque_base): Likewise. Use allocator traits.
166 (deque): Likewise. Add allocator-extended constructors.
167 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
168 assignment via tag dispatching.
169 (deque::_M_replace_map): Replace existing data.
170 * include/debug/deque (deque): Add allocator-extended constructors.
171 * include/profile/deque (deque): Likewise.
172 * testsuite/23_containers/deque/allocator/copy.cc: New.
173 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
174 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
175 * testsuite/23_containers/deque/allocator/minimal.cc: New.
176 * testsuite/23_containers/deque/allocator/move.cc: New.
177 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
178 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
179 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
180 * testsuite/23_containers/deque/allocator/swap.cc: New.
181 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
182 Adjust dg-error line number.
183 * testsuite/23_containers/deque/requirements/dr438/
184 constructor_1_neg.cc: Likewise.
185 * testsuite/23_containers/deque/requirements/dr438/
186 constructor_2_neg.cc: Likewise.
187 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
189 * testsuite/23_containers/vector/52591.cc: Test both the propagating
190 and always-equal cases.
192 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
194 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
196 (_Hash_code_base<>): All specialization default constructible if
198 (_Hashtable_base<>): Likewise.
199 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
200 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
201 implementation defaulted.
202 (unordered_multimap<>::unordered_multimap()): Likewise.
203 * include/bits/unordered_set.h
204 (unordered_set<>::unordered_set()): Likewise.
205 (unordered_multiset<>::unordered_multiset()): Likewise.
206 * include/debug/unordered_map: Likewise.
207 * include/debug/unordered_set: Likewise.
208 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
210 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
212 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
214 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
217 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
219 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
221 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
223 * include/std/complex (complex): Define copy constructor and
224 assignment operator as defaulted. Improve Doxygen comments.
226 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
228 * testsuite/ext/random/*: Fix incorrect standard references in
231 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
234 * include/Makefile.am (install-freestanding-headers): Add missing
236 * include/Makefile.in: Regenerate.
238 2014-08-21 Tony Wang <tony.wang@arm.com>
240 * testsuite/18_support/nested_exception/62154.cc: Disable when the
241 target doesn't provide atomic builtins.
243 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
244 Kai Tietz <ktietz@redhat.com>
246 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
248 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
250 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
251 #include <windows.h>.
252 (struct elt): Add dll member.
253 (run): Decrement dll refcount.
254 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
256 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
259 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
260 Rewrite to conform to C++11 requirements.
261 * testsuite/18_support/nested_exception/62154.cc: New.
263 2014-08-14 Matthias Klose <doko@ubuntu.com>
265 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
266 Remove empty directory.
268 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
270 * testsuite/26_numerics/random/linear_congruential_engine/
271 requirements/non_uint_neg.cc: Adjust for parser change.
272 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
273 requirements/non_uint_neg.cc: Likewise.
275 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
278 * include/std/thread (thread::_M_start_thread): Declare new overload.
279 (thread::thread<_Callable, _Args...>): Call new overload with an
280 explicit reference to pthread_create.
281 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
282 * config/abi/pre/gnu.ver: Export new function.
284 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
286 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
288 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
290 * Fix thinko in the last commit.
292 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
295 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
296 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
298 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
300 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
301 and add overloads for rvalue streams.
302 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
304 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
307 * include/bits/basic_string.h (getline): Declare inline.
309 2014-08-09 Ulrich Drepper <drepper@gmail.com>
311 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
312 (uniform_on_sphere_distribution::operator()): Use the new helper
313 class for the implementation.
315 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
316 equal.cc: Remove bogus part of comment.
317 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
318 inequal.cc: Likewise.
319 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
320 serialize.cc: Add check to verify result of serialzation and
322 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
323 generate.cc: New file.
325 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
327 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
328 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
330 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
333 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
334 _M_need_rehash to initialize the rehash policy and check if a rehash is
336 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
338 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
340 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
342 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
343 Adjust dg-error line number.
344 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
346 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
348 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
351 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
353 (_State_baseV2::_M_do_set): Change parameters to pointers.
354 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
355 (_State_baseV2::__setter): Initialize _Setter with pointers.
356 (_State_baseV2::__setter(promise<void>*)): Remove overload.
357 (promise::set_value, promise::set_exception): Pass setter directly
359 (_State_baseV2::_Task_setter): Add template parameter for callable
360 type and replace std::function member with pointer to that type.
361 Change _M_result member from reference to pointer.
362 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
363 and initialize _Task_setter with pointers.
364 (__location_invariant): Specialize for _Setter and _Task_setter.
366 * include/std/future (__location_invariant): Move specializations
367 after preprocessor condition.
369 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
372 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
374 2014-08-01 Zifei Tong <zifeitong@gmail.com>
376 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
377 _GLIBCXX_ prefix to macro.
379 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
381 * python/libstdcxx/v6/printers.py
382 (SingleObjContainerPrinter._contained): Use compatibility mixin.
384 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
386 * testsuite/util/testsuite_allocator.h
387 (tracker_allocator_counter::allocate): Remove new invocation, only
389 (tracker_allocator_counter::deallocate): Remove delete invocation, only
391 (check_inconsistent_alloc_value_type): New.
392 (tracker_allocator): Transform as a facade for any allocator type.
393 (uneq_allocator): Likewise.
394 (propagating_allocator): Likewise.
395 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
396 explicitly non propagating allocator.
397 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
398 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
399 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
400 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
401 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
403 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
405 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
407 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
409 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
411 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
414 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
415 const allocator_type&)): Pass non-const allocator to
417 * testsuite/ext/rope/61946.cc: New.
420 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
421 disambiguate unary constructors.
422 (_Tuple_impl): Pass allocator_arg_t arguments.
423 * testsuite/20_util/tuple/61947.cc: New.
424 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
426 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
428 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
429 * include/bits/random.h (_Adaptor): static_assert for non floating-point
431 * include/bits/random.tcc (generate_canonical): Ditto.
432 * include/ext/random.tcc (hypergeometric_distribution::operator()):
433 Use double as a rng result type.
434 * testsuite/26_numerics/random/pr60037-neg.cc: New.
435 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
437 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
439 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
441 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
443 * include/experimental/string_view: Make the literal operators
444 constexpr like the ctors they call.
446 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
448 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
450 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
452 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
453 to string instead of using gdb.Type.name attribute.
455 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
457 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
460 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
463 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
465 (SingleObjContainerPrinter): Check if type printers are in use.
467 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
469 * include/ext/random: Minor formatting and cosmetic tweaks.
470 (uniform_on_sphere_distribution<>::operator==
471 (const uniform_on_sphere_distribution&,
472 const uniform_on_sphere_distribution&)): Compare the _M_nds.
473 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
474 (operator!=(const uniform_on_sphere_distribution&,
475 const uniform_on_sphere_distribution&)): Adjust.
476 * include/ext/random.tcc: Minor cosmetc tweaks.
478 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
480 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
481 printer for class templates.
482 (register_type_printers): Use TemplateTypePrinter for containers
483 and other class templates with default template arguments.
484 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
486 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
487 base class for experimental::any and experimental::optional printers.
488 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
489 New printers for Fundamentals TS types.
490 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
492 2014-07-15 Tim Shen <timshen@google.com>
495 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
496 Clear match queue for next use.
497 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
499 2014-07-14 Ulrich Drepper <drepper@gmail.com>
501 * include/ext/random.tcc: Unfortunately more fixes for
502 operator>> and operator<< for uniform_on_sphere_distribution.
504 2014-07-13 Ulrich Drepper <drepper@gmail.com>
506 * include/ext/random.tcc: Fix operator>> and operator<< for
507 uniform_on_sphere_distribution.
509 2014-07-12 Ulrich Drepper <drepper@gmail.com>
511 * include/ext/random: Add uniform_on_sphere_distribution definition.
512 * include/ext/random.tcc: Add out-of-band member function definitions
513 for uniform_on_sphere_distribution.
514 * testsuite/ext/random/uniform_on_sphere_distribution/
515 cons/default.cc: New file.
516 * testsuite/ext/random/uniform_on_sphere_distribution/
517 operators/equal.cc: New file.
518 * testsuite/ext/random/uniform_on_sphere_distribution/
519 operators/inequal.cc: New file.
520 * testsuite/ext/random/uniform_on_sphere_distribution/
521 operators/serialize.cc: New file.
523 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
525 Add the logistic_distribution as an extension.
526 * include/ext/random: Add the logistic_distribution.
527 * include/ext/random.tcc: Add the logistic_distribution.
528 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
529 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
530 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
532 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
533 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
534 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
537 2014-07-11 Samuel Bronson <naesten@gmail.com>
539 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
540 instead of insisting that GCC understand -fdiagnostics-color=never
542 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
545 2014-07-11 Samuel Bronson <naesten@gmail.com>
546 Matthias Klose <doko@ubuntu.com>
549 * python/libstdcxx/v6/printers.py: Port to Python 2+3
550 (imap): New compat function.
552 (Iterator): New mixin to allow writing iterators in Python 3 style
553 regardless of which version we're running on.
554 [Python3] (long) New compat alias for "int".
555 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
557 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
559 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
560 tuple members to simplify pretty printing.
561 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
563 * testsuite/experimental/any/cons/4.cc: New.
565 2014-07-09 Jason Merrill <jason@redhat.com>
568 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
569 * libsupc++/tinfo.h: Not here.
571 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
573 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
575 * include/experimental/any: Remove unused header.
576 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
577 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
578 * testsuite/util/testsuite_regex.h: Move include guard.
580 2014-07-01 Tim Shen <timshen@google.com>
584 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
585 a NFA state limit. If it's exceeded, regex_constants::error_space
587 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
588 map (which is sparse) instead of vector. This reduce n times clones'
589 cost from O(n^2) to O(n).
590 * include/std/regex: Add map dependency.
591 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
594 2014-07-01 Tim Shen <timshen@google.com>
597 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
598 not just regex containing back-references.
599 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
600 exchange _M_next and _M_alt for alternative operator,
601 making matching from left to right.
602 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
603 Add position tracking fom DFS.
604 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
605 _Executor<>::_M_dfs): Likewise.
606 * include/bits/regex_scanner.h: Remove unused enum entry.
607 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
610 2014-06-30 Jason Merrill <jason@redhat.com>
612 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
615 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
618 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
619 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
622 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
624 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
626 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
628 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
630 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
633 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
635 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
636 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
637 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
639 * include/ext/alloc_traits.h: Fix comment.
641 * include/Makefile.am: Add new header.
642 * include/Makefile.in: Regenerate.
643 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
644 New RAII utilities for working with allocators.
645 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
646 __allocator_type typedef and use new __allocated_ptr type.
647 (_Sp_counted_ptr_inplace): Likewise.
648 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
649 __allocate_guarded to to simplify exception handling.
650 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
651 * include/std/future (_Result_alloc::_M_destroy): Likewise.
652 (_Result_alloc::_S_allocate_result): Likewise.
653 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
654 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
655 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
656 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
658 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
660 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
662 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
663 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
665 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
667 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
668 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
669 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
670 Remove unused typedef.
671 (time_get::do_get_monthname): Likewise.
672 * include/bits/stl_tree.h: Add system_header pragma.
673 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
674 redundant const-qualifier.
675 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
676 instead of _GLIBCXX_USE_CONSTEXPR.
678 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
680 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
681 * include/std/chrono (_Checked_integral_constant): Allow zero.
682 * testsuite/20_util/duration/literals/values.cc: Test non-positive
683 values and digit separators.
684 * include/experimental/any
687 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
688 apply the signed specifier to wchar_t.
689 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
690 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
691 cv-qualifier and size.
692 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
695 * include/experimental/any (any_v1): Rename namespace to
696 fundamentals_v1. Change string returned by bad_any_cast::what().
697 * include/experimental/optional (fundamentals_v1): Add namespace.
698 * include/experimental/string_view (fundamentals_v1): Likewise.
699 * testsuite/experimental/any/typedefs.cc: New.
700 * testsuite/experimental/optional/typedefs.cc: New.
701 * testsuite/experimental/string_view/typedefs.cc: New.
703 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
704 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
707 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
709 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
711 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
712 * include/Makefile.am: Add new header.
713 * include/Makefile.in: Regenerate.
714 * include/experimental/any: New.
715 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
717 * testsuite/experimental/any/assign/1.cc: New.
718 * testsuite/experimental/any/assign/2.cc: New.
719 * testsuite/experimental/any/cons/1.cc: New.
720 * testsuite/experimental/any/cons/2.cc: New.
721 * testsuite/experimental/any/cons/3.cc: New.
722 * testsuite/experimental/any/misc/any_cast.cc: New.
723 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
724 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
725 * testsuite/experimental/any/misc/swap.cc: New.
726 * testsuite/experimental/any/modifiers/1.cc: New.
727 * testsuite/experimental/any/observers/type.cc: New.
729 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
730 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
732 * include/bits/shared_ptr.h (shared_ptr): Likewise.
733 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
735 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
737 * include/parallel/list_partition.h (__parallel::list_partition):
739 * include/std/iomanip (quoted): Likewise.
740 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
742 * doc/xml/api.xml: Link to more recent API docs.
743 * include/bits/allocator.h: Fix link in doxygen comment.
744 * include/bits/char_traits.h: Likewise.
745 * include/bits/ios_base.h: Likewise.
746 * include/bits/stl_map.h: Likewise.
747 * include/bits/stl_multimap.h: Likewise.
748 * include/bits/stl_multiset.h: Likewise.
749 * include/bits/stl_set.h: Likewise.
750 * include/bits/unordered_map.h: Likewise.
751 * include/bits/unordered_set.h: Likewise.
752 * include/ext/mt_allocator.h: Likewise.
753 * include/std/fstream: Likewise.
754 * include/std/iosfwd: Likewise.
755 * include/std/ostream: Likewise.
756 * include/std/sstream: Likewise.
757 * include/std/streambuf: Likewise.
758 * doc/html/*: Regenerate.
760 * include/experimental/any (any_cast): Combine duplicate doxygen
762 * include/experimental/string_view (basic_string_view): Update
764 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
765 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
766 (dynamic_bitset): Improve Doxygen comments.
767 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
770 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
772 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
773 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
775 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
778 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
779 (bin_search_tree_traits): Do not redeclare template-parameters.
780 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
782 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
784 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
785 parameter for DocBook HTML generation.
786 * doc/Makefile.in: Regenerate.
787 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
788 * doc/xml/faq.xml: Update content and improve formatting.
789 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
790 * doc/xml/manual/allocator.xml: Add stable ID attribute.
791 * doc/xml/manual/bitmap_allocator.xml: Likewise.
792 * doc/xml/manual/build_hacking.xml: Likewise.
793 * doc/xml/manual/codecvt.xml: Change URL.
794 * doc/xml/manual/ctype.xml: Add stable ID attribute.
795 * doc/xml/manual/debug_mode.xml: Likewise.
796 * doc/xml/manual/documentation_hacking.xml: Likewise.
797 * doc/xml/manual/evolution.xml: Likewise.
798 * doc/xml/manual/extensions.xml: Likewise.
799 * doc/xml/manual/locale.xml: Likewise.
800 * doc/xml/manual/messages.xml: Make section id consistent, improve
802 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
803 * doc/xml/manual/profile_mode.xml: Likewise.
804 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
805 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
806 * doc/xml/manual/status_cxx2011.xml: Likewise.
807 * doc/xml/manual/status_cxx2014.xml: Likewise.
808 * doc/xml/manual/status_cxxtr1.xml: Likewise.
809 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
810 * doc/xml/manual/using.xml: Likewise.
811 * doc/html/*: Regenerate.
813 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
815 * include/tr1/beta_function.tcc: Fix spelling of include guard in
818 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
820 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
822 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
824 DR 2344 - std::quoted doesn't respect padding
825 * include/std/iomanip: Allow for padding in quoted inserters.
826 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
827 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
829 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
831 * testsuite/23_containers/map/operators/1.cc: Simplify test.
833 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
835 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
837 * doc/xml/manual/backwards_compatibility.xml
838 (backwards.second.stringstreams): Likewise.
839 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
841 * doc/xml/manual/containers.xml (associative.bitset.type_string):
842 Replace <quote> in code example.
843 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
844 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
845 fix typos, improve markup.
846 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
847 <emphasis> with <replaceable>.
848 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
849 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
850 and remove newlines in string literal.
852 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
856 * testsuite/20_util/is_assignable/value.cc: Update.
858 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
860 * include/std/condition_variable (condition_variable_any::_Unlock): Do
861 not swallow __forced_unwind.
862 * include/std/future (__future_base::_Task_setter): Likewise.
863 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
865 * include/std/mutex (try_lock): Likewise.
866 * testsuite/30_threads/async/forced_unwind.cc: New.
867 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
869 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
870 members to avoid wasted space when not using a cache.
871 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
872 * include/bits/regex_compiler.tcc
873 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
875 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
876 New enumeration type to indicate match mode.
877 (__detail::_Executor::_State_info): New type holding members only
878 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
880 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
881 Replace template parameter with run-time function parameter.
882 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
883 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
884 implement DFS and BFS mode.
885 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
886 Split implementation into ...
887 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
888 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
889 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
890 argument instead of template argument.
891 (__detail::_Executor::_M_dfs): Likewise.
892 * include/bits/regex_scanner.tcc: Fix typos in comments.
893 * testsuite/performance/28_regex/range.cc: New.
895 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
896 Jonathan Wakely <jwakely@redhat.com>
898 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
900 (aligned_union): New struct (C++11).
901 (aligned_union_t): New type alias (C++14).
902 * doc/xml/manual/status_cxx2011.xml: Update.
903 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
904 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
907 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
910 * include/experimental/string_view (operator basic_string): Correct
912 (to_string): Replace with member function.
913 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
914 allow _M_str to be null.
915 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
916 default constructor semantics.
917 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
918 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
919 copyright dates. Remove unused header.
920 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
922 * testsuite/experimental/string_view/operations/data/char/1.cc:
923 Fix copyright dates. Adjust to new default constructor semantics.
924 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
926 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
928 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
929 (__uses_allocator_arg): Remove unused type.
930 (__uses_alloc0): Turn into a trivial type.
931 (__uses_alloc): Add missing template parameter in primary template.
932 (__uses_alloc_impl): Rename to __uses_alloc_t.
934 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
936 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
937 work with previous versions of Tcl.
939 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
940 Benjamin's old email address.
942 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
945 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
947 * include/tr2/bool_set: Use UTF-8 for accented characters.
948 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
949 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
950 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
952 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
955 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
957 (_State_base::_M_dot): Likewise.
959 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
961 * include/profile/map.h: Fix typo in comment; minor formatting fix.
962 * include/profile/multimap.h: Likewise.
963 * include/profile/set.h: Likewise.
964 * include/profile/multiset.h: Likewise.
966 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
968 * include/profile/array: Clean useless white chars.
969 * include/profile/base.h: Likewise.
970 * include/profile/iterator_tracker.h: Likewise.
971 * include/profile/bitset: Code cleanup and remove not instrumented code.
972 * include/profile/deque: Likewise.
973 * include/profile/forward_list: Likewise.
974 * include/profile/list (std::__profile::_List_profile<>): New.
975 (std::__profile::list<>): Inherit from latter and adapt.
976 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
977 advise to match any ordered to unordered container conversion.
978 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
980 * include/Makefile.am: Add latter.
981 * include/Makefile.in: Regenerate.
982 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
983 remove not instrumented code.
984 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
985 * include/profile/set.h (std::__profile::set<>): Likewise.
986 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
987 * include/profile/unordered_base.h: Add some line feed.
988 * include/profile/unordered_map: Clean useless white chars and replace
990 * include/profile/unordered_set: Likewise.
991 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
992 (std::__profile::_Vector_profile_post<>): New.
993 (std::__profile::vector<>): Inherit from latter and adapt.
995 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
998 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
999 dragonfly target selector to all tests that run on freebsd.
1001 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1003 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1004 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1006 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1008 * testsuite/30_threads/call_once/60497.cc: Likewise.
1009 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1010 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1011 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1012 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1013 * testsuite/30_threads/promise/60966.cc: Likewise.
1014 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1015 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1016 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1017 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1018 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1019 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1020 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1021 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1022 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1023 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1024 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1025 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1026 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1027 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1028 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1029 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1030 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1032 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1035 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1037 * testsuite/23_containers/unordered_set/61143.cc: New.
1038 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1040 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1043 * include/std/type_traits: Move include outside namespace std.
1044 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1045 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1046 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1049 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1052 2014-05-21 John Marino <gnugcc@marino.st>
1054 * acinclude.m4 (*-*-dragonfly*): New target.
1055 * configure: Regenerate.
1056 * configure.host (*-*-dragonfly*): New target.
1057 * config/locale/dragonfly/c_locale.cc: New.
1058 * config/locale/dragonfly/ctype_members.cc: New.
1059 * config/os/bsd/dragonfly/ctype_base.h: New.
1060 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1061 * config/os/bsd/dragonfly/ctype_inline.h: New.
1062 * config/os/bsd/dragonfly/os_defines.h: New.
1064 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1066 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1067 libstdc++.exp imports those flags via getenv.
1068 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1069 CXXFLAGS contains a '-O' flag.
1071 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1075 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1078 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1079 and add unwind directives.
1081 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1083 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1085 2014-05-20 Tim Shen <timshen91@gmail.com>
1088 * include/bits/regex_compiler.h
1089 (_BracketMatcher<>::_M_add_character_class): Add negative character
1091 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1093 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1096 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1098 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1100 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1102 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1103 * libsupc++/new_opnt.cc: Likewise.
1105 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1108 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1109 Pass lock into _M_do_set and hold it until the function returns.
1110 Signal condition variable after call_once completes.
1111 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1113 * testsuite/30_threads/promise/60966.cc: New.
1115 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1116 Sandra Loosemore <sandra@codesourcery.com>
1118 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1119 until after checking that the test is eligible to be run.
1121 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1123 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1124 test for 32-bit target.
1125 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1127 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1130 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1133 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1134 and add unwind directives.
1136 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1138 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1140 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1142 (chrono_literals::_Checked_integral_constant): Define.
1143 Simplify UDL operator templates and check for overflow.
1144 * testsuite/20_util/duration/literals/range.cc: New.
1146 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1147 Jonathan Wakely <jwakely@redhat.com>
1150 * include/bits/parse_numbers.h: Use integral_constant to remove
1151 duplication and simplify.
1152 * testsuite/20_util/duration/literals/61166.cc: New.
1154 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1157 * include/std/type_traits (__make_unsigned, __make_signed): Define
1158 specializations for wchar_t, char16_t and char32_t.
1159 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1160 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1161 test for make_unsigned<volatile wchar_t>.
1162 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1164 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1166 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1168 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1171 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1173 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1174 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1175 * include/std/utility (tuple_size, tuple_element): Likewise.
1176 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1177 Adjust dg-error line number.
1179 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1181 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1182 (__tuple_element_t): Define.
1183 (tuple_element): Use __tuple_element_t.
1184 (__cv_tuple_size): Define.
1185 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1186 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1187 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1188 (__tuple_compare): Remove size check, re-order parameters.
1189 (operator==, operator<): Use static_assert to check requirements.
1190 * include/std/functional (__volget): use __tuple_element_t.
1191 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1192 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1194 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1197 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1198 prevent ADL. Cast comparison results to bool.
1199 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1200 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1203 * include/debug/array (get): Qualify call to other get overload.
1204 * include/profile/array (get): Likewise.
1205 * include/std/array (get): Likewise.
1206 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1207 * include/std/mutex (unique_lock, call_once): Use __addressof.
1208 (__unlock_impl): Remove unused template.
1209 (__try_to_lock): Declare inline.
1210 (__try_lock_impl::__do_try_lock): Qualify function calls.
1211 (lock): Avoid narrowing conversion.
1212 * testsuite/20_util/bind/60497.cc: New.
1213 * testsuite/23_containers/array/element_access/60497.cc: New.
1214 * testsuite/30_threads/call_once/60497.cc: New.
1215 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1217 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1219 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1220 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1221 * acinclude.m4 (libtool_VERSION): Bump.
1222 * configure: Regenerate.
1223 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1224 * testsuite/28_regex/regex_error/base.cc: New.
1226 2014-05-08 Joshua Gay <jgay@gnu.org>
1229 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1230 source" with "free software".
1231 * doc/html/faq.html: Likewise.
1233 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1236 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1238 (operator=(const ios_base&)): Likewise.
1239 * include/std/streambuf: Remove trailing whitespace.
1240 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1241 _M_out_end. Define as defaulted for C++11.
1242 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1243 (swap(basic_streambuf&)): Define for C++11.
1244 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1247 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1249 * include/std/iostream: Fix URL in comment.
1250 * src/c++98/ios_init.cc: Fix path in comment.
1252 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1254 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1255 * configure: Regenerate.
1257 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1260 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1261 comparison function.
1262 * testsuite/23_containers/set/cons/61023.cc: New.
1265 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1267 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1268 arithmetic to obtain a mutable iterator from const_iterator.
1269 * include/bits/vector.tcc (vector::insert): Likewise.
1270 * include/debug/vector (vector::erase): Likewise.
1271 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1272 Adjust dg-error line number.
1273 * testsuite/23_containers/vector/requirements/dr438/
1274 constructor_1_neg.cc: Likewise.
1275 * testsuite/23_containers/vector/requirements/dr438/
1276 constructor_2_neg.cc: Likewise.
1277 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1280 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1282 * include/Makefile.in: Regenerate.
1284 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1286 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1287 parameter to pass the 2 instances to check allocator equality.
1288 * include/debug/safe_container.h: New, define _Safe_container<>.
1289 * include/Makefile.am: Add previous.
1290 * include/debug/deque (std::__debug::deque<>): Inherit
1291 _Safe_container<>. Use default implementation for all special
1293 * include/debug/forward_list (std::__debug::forward_list<>):
1295 * include/debug/list (std::__debug::list<>): Likewise.
1296 * include/debug/map.h (std::__debug::map<>): Likewise.
1297 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1298 * include/debug/set.h (std::__debug::set<>): Likewise.
1299 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1300 * include/debug/string (std::__debug::basic_string<>): Likewise.
1301 * include/debug/unordered_map
1302 (std::__debug::unordered_map<>): Likewise.
1303 (std::__debug::unordered_multimap<>): Likewise.
1304 * include/debug/unordered_set
1305 (std::__debug::unordered_set<>): Likewise.
1306 (std::__debug::unordered_multiset<>): Likewise.
1307 * include/debug/vector (std::__debug::vector<>): Likewise.
1308 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1310 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1311 (~_Safe_sequence_base()): Add noexcept.
1312 * include/debug/safe_sequence.h
1313 (std::__debug::_Safe_node_sequence<>): New.
1314 * include/debug/safe_unordered_base.h
1315 (_Safe_unordered_container_base()): Add noexcept.
1316 (~_Safe_unordered_container_base()): Likewise.
1317 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1318 * include/debug/safe_unordered_container.h:
1319 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1320 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1321 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1323 * testsuite/util/debug/checks.h (check_construct1): Just implement
1324 an invalid constructor invocation and no other operations
1325 potentially not supported by some types of container.
1326 (check_construct2): Likewise.
1327 (check_construct3): Likewise.
1328 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1329 check on iterators to make sure they are correctly moved in debug
1331 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1333 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1334 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1335 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1336 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1338 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1339 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1341 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1342 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1343 * testsuite/23_containers/unordered_map/allocator/move.cc:
1345 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1347 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1349 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1351 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1353 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1355 * testsuite/23_containers/unordered_set/allocator/move.cc:
1357 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1359 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1361 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1363 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1365 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1367 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1369 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1370 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1371 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1372 * testsuite/23_containers/map/debug/move_neg.cc: New.
1373 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1374 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1375 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1376 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1377 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1378 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1379 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1380 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1381 * testsuite/23_containers/set/debug/move_neg.cc: New.
1382 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1384 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1386 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1387 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1389 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1391 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1393 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1395 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1397 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1399 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1401 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1403 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1404 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1406 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1408 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1409 (CXXABI_1.3.9): Remove __float128 symbols.
1411 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1414 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1415 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1416 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1417 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1419 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1422 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1423 Check the correct type in the static assertion.
1424 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1426 2014-04-27 Tim Shen <timshen91@gmail.com>
1428 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1429 Add _S_opcode_repeat support to distingush a loop from
1430 _S_opcode_alternative.
1431 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1432 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1433 _StateSeq<>::_M_clone): Likewise.
1434 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1436 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1437 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1438 Uglify local variable __i.
1439 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1440 Use size_t instead of int to compare with vector::size().
1442 2014-04-27 Tim Shen <timshen91@gmail.com>
1444 * include/bits/regex_executor.h: Add _M_rep_count to track how
1445 many times this repeat node are visited.
1446 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1447 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1450 2014-04-27 Tim Shen <timshen91@gmail.com>
1452 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1453 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1454 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1455 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1456 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1457 Adjust debug NFA dump.
1459 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1462 * include/experimental/optional (operator!=): Implement in terms of
1464 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1465 * testsuite/experimental/optional/relops/2.cc: Likewise.
1466 * testsuite/experimental/optional/relops/3.cc: Likewise.
1467 * testsuite/experimental/optional/relops/4.cc: Likewise.
1468 * testsuite/experimental/optional/relops/5.cc: Likewise.
1469 * testsuite/experimental/optional/relops/6.cc: Likewise.
1471 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1474 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1475 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1478 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1480 * testsuite/util/testsuite_abi.cc (check_version): Update for
1483 2014-04-24 Tim Shen <timshen91@gmail.com>
1485 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1486 Do _M_alt before _M_next.
1487 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1489 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1492 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1493 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1494 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1496 2014-04-24 Andreas Schwab <schwab@suse.de>
1498 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1499 new CXXABI_1.3.9 symbols.
1501 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1503 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1504 (CXXABI_1.3.9): New version.
1506 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1509 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1510 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1511 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1513 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1515 * configure.host: Remove solaris2.9 handling.
1516 Change os_include_dir to os/solaris/solaris2.10.
1517 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1518 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1519 * configure: Regenerate.
1520 * config/abi/post/solaris2.9: Remove.
1521 * config/os/solaris/solaris2.9: Rename to ...
1522 * config/os/solaris/solaris2.10: ... this.
1523 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1526 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1527 Remove Solaris 9 reference.
1528 * doc/html/manual/configure.html: Regenerate.
1530 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1531 Remove *-*-solaris2.9 xfail.
1532 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1535 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1538 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1540 * include/std/functional (__is_location_invariant): Use __or_ helper.
1542 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1545 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1548 * include/std/atomic (atomic<_Tp>): Add static assertion.
1549 * testsuite/29_atomics/atomic/60695.cc: New.
1552 * include/std/functional (function::_Callable): Exclude own type
1553 from the callable checks.
1554 * testsuite/20_util/function/60594.cc: New.
1556 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1557 const to constexpr member functions.
1559 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1560 delegating constructor.
1561 * include/bits/shared_ptr_base.h
1562 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1564 * include/std/atomic: Uglify parameter names.
1567 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1568 1.cc: Fix invalid explicit instantiations with unqualified names.
1569 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1571 * testsuite/20_util/tuple/53648.cc: Likweise.
1572 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1574 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1576 * testsuite/23_containers/unordered_map/requirements/
1577 debug_container.cc: Likewise.
1578 * testsuite/23_containers/unordered_map/requirements/
1579 explicit_instantiation/3.cc: Likewise.
1580 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1582 * testsuite/23_containers/unordered_multimap/requirements/
1583 explicit_instantiation/3.cc: Likewise.
1584 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1586 * testsuite/23_containers/unordered_multiset/requirements/
1587 explicit_instantiation/3.cc: Likewise.
1588 * testsuite/23_containers/unordered_set/requirements/
1589 debug_container.cc: Likewise.
1590 * testsuite/23_containers/unordered_set/requirements/
1591 explicit_instantiation/3.cc: Likewise.
1593 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1594 not use uninitialized members in mem-initializers.
1595 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1596 * testsuite/util/testsuite_common_types.h: Update comment.
1598 * include/experimental/string_view: Fix inconsistent exception specs.
1600 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1601 Remove name of unused parameter.
1603 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1605 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1606 _Vector_base::_M_allocate): NullablePointer requirements do not
1607 include initialization from literal zero, use value-initialization.
1608 * include/bits/vector.tcc (vector::_M_insert_aux,
1609 vector::_M_explace_back_aux): Likewise for assignment.
1611 * include/bits/allocator.h (operator==, operator!=): Add exception
1615 * include/std/tuple (get): Qualify calls to prevent ADL.
1616 * testsuite/20_util/tuple/60497.cc: New.
1618 * include/std/tuple (tuple_element_t): Define.
1619 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1621 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1623 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1626 * include/bits/stl_iterator.h (move_iterator::reference,
1627 move_iterator::operator*): Implement LWG 2106.
1628 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1630 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1632 * include/std/complex (__complex_exp, pow): Specify the template
1633 parameter in calls to std::polar, for expression templates.
1635 2014-04-10 Andreas Schwab <schwab@suse.de>
1637 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1639 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1640 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1642 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1644 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1646 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1647 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1648 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1651 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1652 Jack Howarth <howarth@bromo.med.uc.edu>
1655 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1658 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1660 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1662 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1664 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1665 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1666 * doc/xml/manual/concurrency_extensions.xml
1667 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1668 * doc/html/*: Regenerate.
1670 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1671 Jonathan Wakely <jwakely@redhat.com>
1674 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1675 string if input is not quoted.
1676 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1678 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1680 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1682 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1684 * testsuite/18_support/exception_ptr/60612-terminate.cc
1685 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1686 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1688 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1690 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1692 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1693 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1695 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1697 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1699 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1700 Fix bad s/part/chapter/ substitutions.
1701 * doc/xml/manual/io.xml (std.io): Likewise.
1702 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1703 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1705 * doc/html/*: Regenerate.
1707 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1710 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1711 compatible with __cxa_exception.
1712 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1713 Fix typos in comments.
1714 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1715 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1717 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1720 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1721 Use sizeof pointer type not the element type.
1722 * testsuite/29_atomics/atomic/60658.cc: New.
1724 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1726 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1727 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1728 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1729 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1730 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1731 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1732 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1733 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1734 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1735 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1738 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1740 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1742 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1744 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1745 to delegated constructor.
1746 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1747 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1750 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1752 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1755 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1757 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1760 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1761 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1763 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1764 from different types of debug container. Use _Is_contiguous_sequence
1765 instead of is_lvalue_reference.
1766 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1767 dereferencing past-the-end iterator.
1768 (__foreign_iterator_aux4): Use const value_type* instead of
1769 potentially user-defined const_pointer type.
1770 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1771 and pass end iterator to __gnu_debug::__foreign_iterator.
1772 (__glibcxx_check_insert_range_after): Likewise.
1773 (__glibcxx_check_max_load_factor): Fix comment.
1774 * include/debug/vector (_Is_contiguous_sequence): Define partial
1776 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1777 -std=gnu++11 option and unused header.
1778 * testsuite/23_containers/vector/debug/60587.cc: New.
1779 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1781 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1783 * crossconfig.m4: Support spu-*-elf* targets.
1784 * configure: Regenerate.
1786 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1789 * include/std/future (__future_base::_Task_state<>): Change
1790 constructors to template functions using perfect forwarding.
1791 (__create_task_state): Use decayed type as stored task.
1792 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1793 * testsuite/30_threads/packaged_task/60564.cc: New.
1795 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1797 * scripts/create_testsuite_files: Add testsuite/experimental in
1798 the list of folders to search for tests.
1800 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1802 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1804 2014-03-15 Tim Shen <timshen91@gmail.com>
1806 * include/bits/regex.h: Add/modify comments.
1807 * include/bits/regex_compiler.h: Likewise.
1808 * include/bits/regex_executor.h: Likewise.
1809 * include/bits/regex_executor.tcc: Likewise.
1810 * include/bits/regex_scanner.h: Likewise.
1812 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1815 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1816 _ZNSt12system_errorC* symbols which are not exported on any target.
1818 2014-03-12 Roland McGrath <mcgrathr@google.com>
1819 Mark Seaborn <mseaborn@google.com>
1822 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1823 the address of a null pointer, not with a null pointer to pointer.
1824 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1825 * testsuite/18_support/bad_exception/59392.cc: New file.
1827 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1830 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1832 * include/debug/map (map::operator=(map&&)): Likewise.
1833 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1834 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1835 * include/debug/set (set::operator=(set&&)): Likewise.
1836 * include/debug/unordered_map
1837 (unordered_map::operator=(unordered_map&&)): Likewise.
1838 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1839 * include/debug/unordered_set
1840 (unordered_set::operator=(unordered_set&&)): Likewise.
1841 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1842 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1843 * testsuite/23_containers/forward_list/debug/60499.cc: New
1844 * testsuite/23_containers/map/debug/60499.cc: New
1845 * testsuite/23_containers/multimap/debug/60499.cc: New
1846 * testsuite/23_containers/multiset/debug/60499.cc: New
1847 * testsuite/23_containers/set/debug/60499.cc: New
1848 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1849 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1850 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1851 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1852 * testsuite/23_containers/vector/debug/60499.cc: New
1854 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1856 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1857 for filesystem and fundamentals TS work items.
1859 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1862 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1863 Adjust dg-error directives.
1865 2014-02-26 Tim Shen <timshen91@gmail.com>
1867 * include/bits/regex.tcc (match_results<>::format,
1868 regex_replace<>): Update __out after calling std::copy.
1869 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1871 * testsuite/28_regex/match_results/format.cc: Likewise.
1873 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1876 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1877 allocator_type&)): Remove redundant call to _M_initialize_map.
1878 (deque::deque(const allocator_type&)): Initialize _Base with a
1879 constructor that calls _M_initialize_map.
1883 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1885 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1888 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1890 Rename testsuite directory shared_mutex to shared_timed_mutex
1892 * testsuite/30_threads/shared_mutex: Moved to...
1893 * testsuite/30_threads/shared_timed_mutex: ...here
1895 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1897 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1898 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1899 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1900 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1901 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1902 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1903 * testsuite/30_threads/shared_lock/requirements/
1904 explicit_instantiation.cc: Ditto.
1905 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1906 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1907 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1908 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1909 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1910 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1911 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1912 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1913 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1914 * testsuite/30_threads/shared_mutex/requirements/
1915 standard_layout.cc: Ditto.
1916 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1917 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1918 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1919 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1920 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1922 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1924 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1925 execution on i?86-*-solaris2.9, remove comment.
1926 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1928 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1930 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1931 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1932 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1934 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1936 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1937 not use varargs when argument could be non-POD.
1938 (__alloctr_rebind_helper): Eliminate static const bool member by
1939 using true_type and false_type.
1940 (allocator_traits::__allocate_helper): Likewise.
1941 (allocator_traits::__construct_helper): Likewise.
1942 (allocator_traits::__destroy_helper): Likewise.
1943 (allocator_traits::__maxsize_helper): Likewise.
1944 (allocator_traits::__select_helper): Likewise.
1945 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1946 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1947 Remove redundant condition.
1948 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1950 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1951 indirection through __alloc_traits.
1952 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1953 Eliminate static const bool members by using true_type and false_type.
1954 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1955 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1956 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1958 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1961 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1962 (vector::_M_data_ptr): New overloaded functions to ensure empty
1963 vectors do not dereference the pointer.
1964 * testsuite/23_containers/vector/59829.cc: New.
1965 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1966 Adjust dg-error line number.
1967 * testsuite/23_containers/vector/requirements/dr438/
1968 constructor_1_neg.cc: Likewise.
1969 * testsuite/23_containers/vector/requirements/dr438/
1970 constructor_2_neg.cc: Likewise.
1971 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1975 * include/ext/array_allocator.h: Add deprecated attribute.
1978 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1979 installation and use of python printers.
1980 * doc/xml/manual/status_cxx2011.xml: Update.
1981 * doc/html/*: Regenerate.
1983 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1984 Kyle Lippincott <spectral@google.com>
1987 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1988 constructor and grant friendship to weak_ptr.
1989 (weak_ptr::lock()): Use new constructor.
1990 * include/bits/shared_ptr_base.h
1991 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1992 and define specializations.
1993 (__shared_count): Add new non-throwing constructor.
1994 (__shared_ptr): Add new non-throwing constructor and grant friendship
1996 (__weak_ptr::lock()): Use new constructor.
1997 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1998 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2000 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2003 * include/bits/shared_ptr_base.h
2004 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2007 2014-01-27 Jason Merrill <jason@redhat.com>
2012 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2013 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2014 (__cxa_allocate_exception): Don't set it here.
2016 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2018 * include/bits/stl_map.h: Remove anachronistic comment.
2019 * include/bits/stl_multimap.h: Add whitespace.
2020 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2021 -std=gnu++11 instead of -std=c++11.
2022 * testsuite/23_containers/map/operators/2.cc: Likewise.
2023 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2024 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2025 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2027 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2028 * configure: Regenerate.
2030 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2033 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2034 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2036 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2037 Peter A. Bigot <pab@pabigot.com>
2040 * include/experimental/string_view
2041 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2042 Correct copy start location.
2044 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2045 Peter A. Bigot <pab@pabigot.com>
2048 * include/experimental/string_view (operator[](size_type) const):
2049 Fix one-off index error in debug check.
2050 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2051 test basic_string_view at size().
2052 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2054 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2055 Peter A. Bigot <pab@pabigot.com>
2058 * include/experimental/string_view
2059 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2060 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2061 Comment out catch of out_of_range; No terminating null
2062 in basic_string_view. Check begin == end.
2063 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2066 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2069 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2070 constructor to prevent it being implicitly defined as deleted, but
2071 do not copy anything.
2072 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2073 Define copy and move constructors similar to _Safe_sequence_base's.
2074 * testsuite/23_containers/unordered_map/59548.cc: New.
2076 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2077 Steve Ellcey <sellcey@mips.com>
2079 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2081 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2082 * (configure, config.h.in): Regenerate.
2083 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2085 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2087 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2088 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2091 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2092 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2094 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2096 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2097 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2098 functions to perform moving or copying of elements from rvalue tree.
2099 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2100 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2101 * testsuite/23_containers/map/59872.cc: New.
2102 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2104 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2106 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2109 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2110 Split into separate default constructor and constructor taking
2112 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2113 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2115 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2116 * include/debug/list (list::list(const _Allocator&)): Likewise.
2117 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2119 * include/debug/multimap.h
2120 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2121 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2123 * include/debug/multiset.h
2124 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2125 * include/debug/vector (vector::vector(const allocator_type&)):
2127 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2128 * include/profile/list (list::list(const _Allocator&)): Likewise.
2129 * include/profile/map.h
2130 (map::map(const _Compare&, const _Allocator&)): Likewise.
2131 * include/profile/multimap.h
2132 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2133 * include/profile/set.h
2134 (set::set(const _Compare&, const _Allocator&)): Likewise.
2135 * include/profile/multiset.h
2136 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2137 * include/profile/vector (vector::vector(const _Allocator&)):
2139 * testsuite/23_containers/deque/58764.cc: New.
2140 * testsuite/23_containers/list/58764.cc: New.
2141 * testsuite/23_containers/map/58764.cc: New.
2142 * testsuite/23_containers/multimap/58764.cc: New.
2143 * testsuite/23_containers/set/58764.cc: New.
2144 * testsuite/23_containers/multiset/58764.cc: New.
2145 * testsuite/23_containers/vector/58764.cc: New.
2146 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2147 Adjust dg-error line number.
2148 * testsuite/23_containers/deque/requirements/dr438/
2149 constructor_1_neg.cc: Likewise.
2150 * testsuite/23_containers/deque/requirements/dr438/
2151 constructor_2_neg.cc: Likewise.
2152 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2154 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2156 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2158 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2160 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2162 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2164 * testsuite/23_containers/vector/requirements/dr438/
2165 constructor_1_neg.cc: Likewise.
2166 * testsuite/23_containers/vector/requirements/dr438/
2167 constructor_2_neg.cc: Likewise.
2168 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2171 PR libstdc++/58764 (again)
2172 * include/bits/stl_list.h (list): Make default constructor's exception
2173 specification conditional.
2174 * include/bits/stl_vector.h (vector): Likewise.
2175 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2176 to default constructor.
2177 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2178 Adjust dg-error line number.
2179 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2181 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2183 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2185 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2187 * testsuite/23_containers/vector/requirements/dr438/
2188 constructor_1_neg.cc: Likewise.
2189 * testsuite/23_containers/vector/requirements/dr438/
2190 constructor_2_neg.cc: Likewise.
2191 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2194 2014-01-21 Tim Shen <timshen91@gmail.com>
2196 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2197 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2198 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2200 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2203 * include/bits/hashtable.h (__cache_default): Do not depend on
2204 whether the hash function is DefaultConstructible or CopyAssignable.
2205 (_Hashtable): Adjust static assertions.
2206 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2207 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2208 dg-error line number.
2209 * testsuite/23_containers/unordered_set/
2210 not_default_constructible_hash_neg.cc: Remove.
2212 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2214 * scripts/create_testsuite_files: Add testsuite/experimental in
2215 the list of folders to search for tests.
2216 * include/experimental/string_view
2217 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2218 incompatible with constexpr qualifier.
2219 (basic_string_view<>::front()): Likewise.
2220 (basic_string_view<>::back()): Likewise.
2221 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2222 Merge dg-options directives into one.
2223 * testsuite/experimental/string_view/element_access/char/2.cc:
2224 Likewise. Remove invalid experimental namespace scope on
2227 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2230 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2231 friendship to _Local_iterator_base<..., false>.
2232 (_Local_iterator_base): Give protected access to all existing members.
2233 (_Local_iterator_base::_M_curr()): New public accessor.
2234 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2235 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2236 the lifetime of the _Hash_code_base explicitly.
2237 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2238 (_Local_iterator_base<..., false>): Define copy constructor and copy
2239 assignment operator that use new functions to manage _Hash_code_base.
2240 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2241 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2242 Use public API for _Local_iterator_base.
2243 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2244 * include/debug/unordered_map (__debug::unordered_map::erase(),
2245 __debug::unordered_multimap::erase()): Likewise.
2246 * include/debug/unordered_set (__debug::unordered_set::erase(),
2247 __debug::unordered_multiset::erase()): Likewise.
2248 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2250 2014-01-19 Tim Shen <timshen91@gmail.com>
2252 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2253 Fix parse error of multiple consecutive quantifiers like "a**".
2254 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2256 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2258 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2260 * include/profile/set.h (set): Implement C++11 allocator-aware
2261 container requirements.
2262 * include/profile/map.h (map): Likewise.
2263 * include/profile/multiset.h (multiset): Likewise.
2264 * include/profile/multimap.h (multimap): Likewise.
2265 * include/profile/set.h
2266 (set::operator=(const set&)): Define as default in C++11 mode.
2267 (set::operator=(set&&)): Likewise.
2268 * include/profile/map.h
2269 (map::operator=(const map&)): Likewise.
2270 (map::operator=(map&&)): Likewise.
2271 * include/profile/multiset.h
2272 (multiset::operator=(const multiset&)): Likewise.
2273 (multiset::operator=(multiset&&)): Likewise.
2274 * include/profile/multimap.h
2275 (multimap::operator=(const multimap&)): Likewise.
2276 (multimap::operator=(multimap&&)): Likewise.
2277 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2278 Rely on the same operator from normal mode.
2279 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2281 * include/profile/multiset.h
2282 (multiset::operator=(std::initializer_list<>)): Likewise.
2283 * include/profile/multimap.h
2284 (multimap::operator=(std::initializer_list<>)): Likewise.
2285 * include/profile/set.h (set::swap(set&)): Add noexcept
2287 * include/profile/map.h (map::swap(map&)): Likewise.
2288 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2289 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2291 2014-01-17 Tim Shen <timshen91@gmail.com>
2293 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2295 * include/bits/regex_automaton.h: Do not use std::set.
2296 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2297 _BracketMatcher<>::_M_add_collating_element(),
2298 _BracketMatcher<>::_M_add_equivalence_class(),
2299 _BracketMatcher<>::_M_make_range()): Likewise.
2300 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2302 * include/bits/regex_executor.h: Do not use std::queue.
2303 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2304 _Executor<>::_M_dfs()): Likewise.
2305 * include/std/regex: Remove <map>, <set> and <queue>.
2307 2014-01-17 Tim Shen <timshen91@gmail.com>
2309 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2310 basic_regex<>::assign()): Change __compile_nfa to accept
2312 * include/bits/regex_compiler.h: Change _Compiler's template
2313 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2314 * include/bits/regex_compiler.tcc: Likewise.
2316 2014-01-17 Tim Shen <timshen91@gmail.com>
2318 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2320 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2321 _ScannerBase from _Scanner; Change _Scanner's template argument from
2322 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2324 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2325 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2326 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2328 * include/std/regex: Add <cstring> for using strchr.
2330 2014-01-17 Tim Shen <timshen91@gmail.com>
2332 * bits/regex_automaton.tcc: Indentation fix.
2333 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2334 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2335 _BracketMatcher<>): Add bool option template parameters and
2336 specializations to make matching more efficient and space saving.
2337 * bits/regex_compiler.tcc: Likewise.
2339 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2342 * include/bits/hashtable_policy.h: Fix some long lines.
2343 * include/bits/hashtable.h (__hash_code_base_access): Define and
2344 use it to check its _M_bucket_index noexcept qualification. Use
2346 (__access_protected_ctor): ...this.
2347 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2349 * testsuite/23_containers/unordered_set/
2350 not_default_constructible_hash_neg.cc: Likewise.
2352 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2354 * include/debug/set.h (set): Implement C++11 allocator-aware
2355 container requirements.
2356 * include/debug/map.h (map): Likewise.
2357 * include/debug/multiset.h (multiset): Likewise.
2358 * include/debug/multimap.h (multimap): Likewise.
2359 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2360 fix implementation regarding management of safe iterators.
2361 * include/debug/map.h (map::operator=(map&&)): Likewise.
2362 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2363 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2365 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2366 Rely on the same operator from normal mode.
2367 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2369 * include/debug/multiset.h
2370 (multiset::operator=(std::initializer_list<>)): Likewise.
2371 * include/debug/multimap.h
2372 (multimap::operator=(std::initializer_list<>)): Likewise.
2373 * include/debug/set.h (set::swap(set&)): Add noexcept
2374 specification, add allocator equality check.
2375 * include/debug/map.h (map::swap(map&)): Likewise.
2376 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2377 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2379 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2382 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2383 and stylistic improvements.
2384 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2385 and update for C++11.
2386 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2389 * doc/xml/manual/backwards_compatibility.xml
2390 (backwards.third.nocreate_noreplace): Correct and expand.
2393 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2395 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2398 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2399 support for non-Movable types.
2402 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2404 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2406 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2407 *this allocator instance when building temporary vector instance
2408 so that *this allocator does not get moved.
2409 * include/debug/safe_base.h
2410 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2411 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2412 move constructor from _Safe_sequence_base.
2413 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2414 safe iterators if the instance is moved.
2415 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2416 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2417 check on a vector iterator.
2418 * testsuite/23_containers/vector/allocator/move_assign.cc
2420 (test03): New, test with a non-propagating allocator.
2421 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2423 2014-01-07 Tim Shen <timshen91@gmail.com>
2425 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2426 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2427 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2428 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2429 _BracketMatcher<>::_M_add_char(),
2430 _BracketMatcher<>::_M_add_collating_element(),
2431 _BracketMatcher<>::_M_add_equivalence_class(),
2432 _BracketMatcher<>::_M_add_character_class(),
2433 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2434 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2435 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2436 to template parameter; Add cache for _BracketMatcher. Adjust
2437 declarations from here...
2438 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2439 imbuing a regex will trigger a recompilation to rebuild the cache.
2440 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2441 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2442 different template bool parameters.
2443 * include/bits/regex_executor.h: Remove unnecessary declarations.
2444 * include/std/regex: Adjust including orders.
2445 * testsuite/28_regex/traits/char/user_defined.cc: New.
2446 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2448 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2450 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2451 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2452 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2453 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2454 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2456 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2458 Update copyright years
2460 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2462 * testsuite/18_support/new_handler.cc,
2463 testsuite/18_support/terminate_handler.cc,
2464 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2465 the copyright notice.
2467 Copyright (C) 2014 Free Software Foundation, Inc.
2469 Copying and distribution of this file, with or without modification,
2470 are permitted in any medium without royalty provided the copyright
2471 notice and this notice are preserved.