Jonathan Wakely
23441d2f60
Use correct value category in std::function constraint
...
* include/std/functional (function::_Callable): Use lvalue in
result_of expression.
* testsuite/20_util/function/cons/refqual.cc: New test.
From-SVN: r239208
2016-08-06 13:21:55 +01:00
Jonathan Wakely
3d06e8eb93
Move allocator in RB tree move constructors
...
Backport from mainline
2016-07-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71964
* include/bits/stl_tree.h (_Rb_tree(_Rb_tree&&)): Move allocator.
* testsuite/23_containers/set/allocator/71964.cc: New test.
From-SVN: r239207
2016-08-06 13:21:51 +01:00
Jonathan Wakely
2a35627433
Fix std::wstring allocator tests
...
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
Remove reundant check for _GLIBCXX_USE_WCHAR_T and fix char type.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
Likewise.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
Likewise.
From-SVN: r239206
2016-08-06 13:21:46 +01:00
Jonathan Wakely
60a1663f22
Fix construction of std::function from null pointer-to-member
...
PR libstdc++/69293
* include/std/functional (_Function_base::_M_not_empty_function):
Change overloads for pointers to take arguments by value.
* testsuite/20_util/function/cons/57465.cc: Add tests for
pointer-to-member cases.
From-SVN: r239205
2016-08-06 13:21:42 +01:00
Jonathan Wakely
1fdb895a9d
Change libstdc++ manual to refer to release not trunk
...
* doc/xml/manual/status_cxx2011.xml: Change "mainline GCC SVN" to
refer to the release series.
* doc/xml/manual/status_cxx2014.xml: Likewise.
* doc/html/manual/status.xml: Regenerate.
From-SVN: r239204
2016-08-06 13:21:38 +01:00
Jonathan Wakely
ffc0e8700d
Improve comments on check_v3_target_filesystem_ts
...
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Improve
comments.
From-SVN: r239203
2016-08-06 13:21:33 +01:00
Jonathan Wakely
882c54bb4a
Support using -flto with libstdc++ testsuite
...
* testsuite/lib/libstdc++.exp (v3-build_support): Add -fno-lto
to additional flags for compiling libtestc++.a objects.
From-SVN: r238980
2016-08-02 10:53:45 +01:00
Jonathan Wakely
b34cb81465
libstdc++/71320 Add or remove file permissions correctly
...
Backport from mainline
2016-06-06 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71320
* src/filesystem/ops.cc (permissions(const path&, perms, error_code&)):
Add or remove permissions according to perms argument.
* testsuite/experimental/filesystem/operations/permissions.cc: New
test.
From-SVN: r238483
2016-07-19 18:17:05 +01:00
Jonathan Wakely
397c5bf920
Implement N4258 noexcept for std::basic_string.
...
Backport from mainline
2015-10-02 Jonathan Wakely <jwakely@redhat.com>
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
explicit instantiation with check for new ABI.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
Likewise. Use wchar_t as char_type.
Backport from mainline
2015-09-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/58265
* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
* doc/html/manual/bugs.html: Regenerate.
* include/bits/basic_string.h (basic_string): Implement N4258. Add
correct exception-specifications and propagate allocators correctly.
* include/bits/basic_string.tcc (basic_string::swap): Propagate
allocators correctly.
* include/debug/string (__gnu_debug::basic_string): Add correct
exceptions-specifications and allcoator-extended constructors.
* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
New.
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
defaulted assignment operators.
From-SVN: r238241
2016-07-12 11:56:11 +01:00
Jonathan Wakely
8a17b1ccd7
Update LWG issues lists and implementation status
...
Backport from mainline
2015-06-02 Jonathan Wakely <jwakely@redhat.com>
* doc/html/ext/lwg-active.html: Update to R93.
* doc/html/ext/lwg-closed.html: Likewise.
* doc/html/ext/lwg-defects.html: Likewise.
* doc/html/manual/*: Regenerate.
* doc/xml/manual/intro.xml: Document status of several DRs.
From-SVN: r238162
2016-07-08 14:29:06 +01:00
Ville Voutilainen
4b386db092
backport: re PR libstdc++/71313 ([Filesystem TS] remove_all fails to remove directory contents recursively)
...
Backport from mainline
2016-07-04 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/71313
* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
Call remove_all for children of a directory.
* testsuite/experimental/filesystem/operations/create_directories.cc:
Adjust.
From-SVN: r237981
2016-07-04 16:52:21 +03:00
Richard Biener
c8898526d6
Update ChangeLog and version files for release
...
From-SVN: r237056
2016-06-03 08:41:59 +00:00
Jonathan Wakely
5e652dbf9b
libstdc++/70762 fix fallback implementation of nonexistent_path
...
Backport from mainline
2016-04-24 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/70762
* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
static counter to return a different path on every call.
From-SVN: r236788
2016-05-26 18:33:17 +01:00
Jonathan Wakely
c54d8841d5
Add dg-require-filesystem-ts directive to test
...
* testsuite/experimental/filesystem/path/native/string.cc: Add
dg-require-filesystem-ts directive.
From-SVN: r236778
2016-05-26 16:26:41 +01:00
Jonathan Wakely
4d82561eee
libstdc++/69703 ignore endianness in codecvt_utf8
...
Backport from mainline
2016-04-20 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69703
* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
__codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
Backport from mainline
2016-04-19 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69703
* src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in)):
Override endianness bit in mode.
* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
that little_endian mode is ignored.
* testsuite/experimental/filesystem/path/native/string.cc: New test.
From-SVN: r236734
2016-05-25 17:41:42 +01:00
Jonathan Wakely
3a54601da7
Test begin and end functions for directory iterators
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/bits/fs_dir.h (begin, end): Add noexcept.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Test begin and end functions.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
From-SVN: r236718
2016-05-25 16:43:17 +01:00
Jonathan Wakely
2218243ebd
libstdc++/71038 fix error checks in filesystem::copy_file
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71038
* src/filesystem/ops.cc (do_copy_file): Fix backwards conditions.
* testsuite/experimental/filesystem/operations/copy_file.cc: New test.
From-SVN: r236717
2016-05-25 16:43:12 +01:00
Jonathan Wakely
515e1860d3
Optimize __directory_iterator_proxy for the common case
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
Overload operator* to move from rvalues.
From-SVN: r236716
2016-05-25 16:43:06 +01:00
Jonathan Wakely
d67dba4a96
libstdc++/71036 Handle EEXIST in filesystem::create_directory
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71036
* src/filesystem/ops.cc (create_dir): Handle EEXIST from mkdir.
* testsuite/experimental/filesystem/operations/create_directory.cc:
New test.
From-SVN: r236715
2016-05-25 16:43:02 +01:00
Jonathan Wakely
aecaeabf8d
libstdc++/71037 Add base path to filesystem::canonical exceptions
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71037
* src/filesystem/ops.cc (canonical(const path&, const path&)): Add
base path to exception.
* testsuite/experimental/filesystem/operations/canonical.cc: Test
paths contained in exception.
From-SVN: r236714
2016-05-25 16:42:57 +01:00
Jonathan Wakely
47cc02ad78
libstdc++/71005 fix post-increment for filesystem iterators
...
Backport from mainline
2016-05-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71005
* include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
New type.
(directory_iterator::operator++(int)): Return proxy.
(recursive_directory_iterator::operator++(int)): Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Test post-increment.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
From-SVN: r236713
2016-05-25 16:42:51 +01:00
Jonathan Wakely
5ac1c1969f
libstdc++/71004 fix recursive_directory_iterator default constructor
...
Backport from mainline
2016-05-09 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/71004
* include/experimental/bits/fs_dir.h (recursive_directory_iterator):
Initialize scalar member variables in default constructor.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Test default construction.
From-SVN: r236712
2016-05-25 16:42:45 +01:00
Jonathan Wakely
8a1d215a4a
libstdc++/70609 fix filesystem::copy()
...
Backport from mainline
2016-04-19 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/70609
* src/filesystem/ops.cc (close_fd): New function.
(do_copy_file): Set permissions before copying file contents. Check
result of closing file descriptors. Don't copy streambuf when file
is empty.
(copy(const path&, const path&, copy_options, error_code&)): Use
lstat for source file when copy_symlinks is set.
* testsuite/experimental/filesystem/operations/copy.cc: Test copy().
From-SVN: r236711
2016-05-25 16:42:40 +01:00
Jonathan Wakely
3b6a1ea62e
Add noexcept to Filesystem TS operators
...
Backport from mainline
2016-04-19 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
operator~ operator&=, operator|=, operator^=): Add noexcept to
overloaded operators for copy_options, perms and directory_options.
* src/filesystem/ops.cc (make_file_type, make_file_status,
is_not_found_errno, file_time): Add noexcept.
From-SVN: r236710
2016-05-25 16:42:35 +01:00
Jonathan Wakely
dcb0d1a1a2
Fix assertions for move assignment of trivial types
...
Backport from mainline
2016-01-26 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69478
* include/bits/stl_algobase.h (__copy_move<_IsMove, true,
random_access_iterator_tag>): Check is_move_assignable when moving.
(__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
Likewise.
* testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
* testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
* testsuite/25_algorithms/move/69478.cc: New.
* testsuite/25_algorithms/move_backward/69478.cc: New.
From-SVN: r235278
2016-04-20 14:00:43 +01:00
Jonathan Wakely
4cc8cffeb8
Ensure std::thread helpers have internal linkage
...
Backport from mainline
2016-04-05 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/70503
* src/c++11/thread.cc (execute_native_thread_routine,
execute_native_thread_routine_compat): Give internal linkage.
* testsuite/30_threads/thread/70503.cc: New test.
From-SVN: r235277
2016-04-20 14:00:37 +01:00
Jonathan Wakely
47822deeff
Avoid including all of <random> in <algorithm>
...
Backport from mainline
2016-01-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/69464
* include/Makefile.am: Add new header.
* include/Makefile.in: Regenerate.
* include/bits/random.h (uniform_int_distribution): Move to
bits/uniform_int_dist.h.
* include/bits/random.tcc (uniform_int_distribution::operator(),
uniform_int_distribution::__generate_impl): Likewise.
* include/bits/uniform_int_dist.h: New header.
* include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
<bits/uniform_int_dist.h> instead of <random>.
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
move_iterators/1.cc: Include correct header for uninitialized_copy.
* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
move_iterators/1.cc: Likewise.
* testsuite/25_algorithms/nth_element/58800.cc: Include correct
header for vector.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
* testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
From-SVN: r235276
2016-04-20 14:00:24 +01:00
Eric Botcazou
bef47e2c11
Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
...
* src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
* src/Makefile.in: Regenerate.
From-SVN: r234783
2016-04-06 15:08:05 +00:00
Jonathan Wakely
27a8a63d85
libstdc++/69939 Qualify get and forward
...
PR libstdc++/69939
* include/experimental/tuple (__apply_impl): Qualify get and forward.
From-SVN: r233665
2016-02-24 13:58:07 +00:00
Tim Shen
a5917b2899
backport: re PR libstdc++/69794 (std::regex_search match failure with regex object with flags grep|icase)
...
Backport from mainline
2016-02-16 Tim Shen <timshen@google.com>
PR libstdc++/69794
* include/bits/regex_scanner.h: Add different special character
sets for grep and egrep regex.
* include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
* testsuite/28_regex/regression.cc: Add new testcase.
From-SVN: r233483
2016-02-17 04:38:15 +00:00
Jonathan Wakely
fa575aab7d
allocator_traits<allocator<T>> partial specialization
...
PR libstdc++/60976
* include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
Define partial specialization.
* testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
destroy members to std::allocator explicit specialization.
From-SVN: r233343
2016-02-11 13:30:27 +00:00
Jonathan Wakely
7a072794bb
Constrain std::valarray functions and operators
...
PR libstdc++/69116
* include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
define result_type for types which can be safely used with valarrays.
* testsuite/26_numerics/valarray/69116.cc: New.
From-SVN: r233263
2016-02-10 11:10:58 +00:00
Jonathan Wakely
8c8d74fe1e
Fix C++98 std::signbit<long double>
...
PR libstdc++/60637
* include/c_global/cmath (signbit) [__cplusplus < 201103L]: Use
__builtin_signbitf or __builtin_signbitl as appropriate.
* testsuite/26_numerics/headers/cmath/60637.cc: New.
From-SVN: r232532
2016-01-18 16:28:48 +00:00
H.J. Lu
b319833d4c
Add __int128 symbols to x32 aseline_symbols.txt
...
Backport from mainline
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
__int128 symbols.
From-SVN: r232477
2016-01-16 15:11:22 -08:00
Jonathan Wakely
606d9e7a07
Remove noexcept from function template that can throw
...
PR libstdc++/69092
* include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
Remove _GLIBCXX_NOEXCEPT.
testsuite/21_strings/basic_string/cons/char/69092.cc: New.
From-SVN: r232282
2016-01-12 17:02:15 +00:00
Jonathan Wakely
5b41cafb34
libstdc++/68995 qualify calls to __callable_functor
...
PR libstdc++/68995
* include/std/functional (_Function_handler::_M_invoke): Qualify
__callable_functor.
* testsuite/20_util/function/68995.cc: New.
From-SVN: r232281
2016-01-12 16:54:10 +00:00
Jonathan Wakely
f0424299a9
Prevent recursive instantiation in std::function
...
PR libstdc++/69005
PR libstdc++/69222
* include/std/functional (function::_Invoke): Remove, use result_of.
(function::_Callable): Replace alias template with class template
and use partial specialization instead of _NotSelf alias template.
(function(_Functor)): Add "not self" constraint so that _Callable is
not used while type is incomplete.
* testsuite/20_util/function/69222.cc: New.
From-SVN: r232274
2016-01-12 14:55:00 +00:00
Edward Smith-Rowland
09ef4fec12
2015-12-27 Edward Smith-Rowland <3dw4rd@verizon.net>
...
* include/bits/c++0x_warning.h Remove experimental language.
From-SVN: r231967
2015-12-28 00:09:16 +00:00
Jonathan Wakely
cdf67a89b2
Fix cv-qualifiers in std::bind invocation
...
PR libstdc++/68912
* include/std/functional (_Bind::operator()): Use lvalue functor to
deduce return type.
* testsuite/20_util/bind/68912.cc: New.
From-SVN: r231692
2015-12-16 14:16:00 +00:00
Jonathan Wakely
c6f35deb16
libstdc++/68921 add timeout argument to futex(2)
...
PR libstdc++/68921
* src/c++11/futex.cc
(__atomic_futex_unsigned_base::_M_futex_wait_until): Use null pointer
as timeout argument.
From-SVN: r231679
2015-12-16 11:48:55 +00:00
Tim Shen
fa979e815c
backport: re PR libstdc++/68863 (Regular expressions: Backreferences don't work in negative lookahead)
...
Backport from mainline
2015-12-15 Tim Shen <timshen@google.com>
PR libstdc++/68863
* include/bits/regex_executor.tcc (_Executor::_M_lookahead):
Copy the captured content for lookahead, so that the backreferences
inside can refer to them.
* testsuite/28_regex/algorithms/regex_match/ecma/char/68863.cc:
New testcase.
From-SVN: r231642
2015-12-15 05:19:20 +00:00
Jonathan Wakely
8abb919aa8
Improve generated libstdc++ API docs
...
* doc/doxygen/user.cfg.in: Use EXTENSION_MAPPING tag. Add new headers
to INPUT. Remove obsolete XML_SCHEMA and XML_DTD tags. Update
PREDEFINED macros. Set BRIEF_MEMBER_DESC for man-pages.
* include/backward/strstream: Correct @file comment.
* include/bits/forward_list.h: Improve Doxygen comments.
* include/bits/locale_facets_nonio.h: Likewise.
* include/debug/vector (_Safe_vector): Add @brief section to comment.
* include/experimental/fs_fwd.h: Correct @file comment.
* include/experimental/fs_ops.h: Likewise.
* include/experimental/string_view.tcc: Likewise.
* include/experimental/optional: Document experimental status.
* include/experimental/string_view: Correct @file comment.
* include/ext/pb_ds/detail/bin_search_tree_/traits.hpp: Reduce
whitespace to avoid Doxygen bug.
* include/std/bitset: Remove redundant @class Doxygen command. Add
parentheses to avoid Doxygen bug.
* include/std/mutex: Improve Doxygen comments.
* include/tr2/dynamic_bitset: Add missing @param documentation.
* scripts/run_doxygen: Rename man pages for std::experimental types.
From-SVN: r231563
2015-12-11 12:46:50 +00:00
Jonathan Wakely
5d8674c4eb
Backport libstdc++ documentation improvements
...
* doc/xml/manual/abi.xml: Backport documentation improvements from
mainline.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/status_cxx2011.xml: Likewise.
* doc/xml/manual/status_cxx2014.xml: Likewise.
* doc/xml/manual/using.xml: Likewise.
* doc/html/*: Regenerate.
From-SVN: r231409
2015-12-08 14:00:31 +00:00
Jonathan Wakely
ff37d74d22
Fix ambiguity with multiple enable_shared_from_this bases
...
PR libstdc++/56383
* testsuite/20_util/enable_shared_from_this/56383.cc: New.
* include/bits/shared_ptr_base.h (__enable_shared_from_this): Make
friend declaration match previous declaration of
__enable_shared_from_this_helper.
* include/bits/shared_ptr.h (enable_shared_from_this): Likewise.
From-SVN: r231308
2015-12-04 20:44:22 +00:00
Jonathan Wakely
73b1f3519b
Define path::_Cmpt after specializing path::__is_encoded_char
...
* include/experimental/bits/fs_path.h (path::_Cmpt): Move definition
after path::__is_encoded_char explicit specializations.
From-SVN: r231307
2015-12-04 20:44:13 +00:00
Jason Merrill
5c61c612b3
* include/bits/c++config: Fix abi_tag in special modes.
...
From-SVN: r231283
2015-12-04 12:07:57 -05:00
Richard Biener
7a5558ee1c
Update ChangeLog and version files for release
...
From-SVN: r231254
2015-12-04 10:45:05 +00:00
Jonathan Wakely
2394a58e2c
Ensure another pretty-printer test uses C++98 mode
...
* testsuite/libstdc++-prettyprinters/debug.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.
From-SVN: r230976
2015-11-26 16:12:31 +00:00
Jonathan Wakely
def915dfd5
Ensure pretty-printer test uses C++98 mode
...
* testsuite/libstdc++-prettyprinters/simple.cc: Add -std=gnu++98 to
dg-options and avoid use of uniform-init.
From-SVN: r230974
2015-11-26 16:07:50 +00:00
David Edelsohn
38d094dfd5
* configure: Regenerate.
...
From-SVN: r230960
2015-11-26 08:51:04 -05:00