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
Jonathan Wakely
e46a69126f
Extend valid values of iostream bitmask types
...
Backport from mainline
2015-11-12 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/56158
* include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
Define enumerators to ensure all values of type int are valid values
of the enumeration type.
* testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
* testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
* testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
From-SVN: r230884
2015-11-25 16:11:40 +00:00
Jonathan Wakely
7113230505
Backport shrink_to_fit() fix for -fno-exceptions
...
2015-09-17 Jonathan Wakely <jwakely@redhat.com>
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
Do nothing if exceptions are disabled.
* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
From-SVN: r230883
2015-11-25 16:11:33 +00:00
Rainer Orth
48575eb9bf
Handle C++11 <math.h> overloads on Solaris 12
...
* acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/c_global/cmath [__cplusplus >= 201103L]
(std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::isfinite): Likewise.
(std::isinf): Likewise.
(std::isnan): Likewise.
(std::isnormal): Likewise.
(std::signbit): Likewise.
(std::isgreater): Likewise.
(std::isgreaterequal): Likewise.
(std::isless): Likewise.
(std::islessequal): Likewise.
(std::islessgreater): Likewise.
(std::isunordered): Likewise.
(std::acosh): Likewise.
(std::asinh): Likewise.
(std::atanh): Likewise.
(std::cbrt): Likewise.
(std::copysign): Likewise.
(std::erf): Likewise.
(std::erfc): Likewise.
(std::exp2): Likewise.
(std::expm1): Likewise.
(std::fdim): Likewise.
(std::fma): Likewise.
(std::fmax): Likewise.
(std::fmin): Likewise.
(std::hypot): Likewise.
(std::ilogb): Likewise.
(std::lgamma): Likewise.
(std::llrint): Likewise.
(std::llround): Likewise.
(std::log1p): Likewise.
(std::log2): Likewise.
(std::logb): Likewise.
(std::lrint): Likewise.
(std::lround): Likewise.
(std::nearbyint): Likewise.
(std::nextafter): Likewise.
(std::nexttoward): Likewise.
(std::remainder): Likewise.
(std::remquo): Likewise.
(std::rint): Likewise.
(std::round): Likewise.
(std::scalbln): Likewise.
(std::scalbn): Likewise.
(std::tgamma): Likewise.
(std::trunc): Likewise.
* include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
(std::tr1::asinh): Likewise.
(std::tr1::atanh): Likewise.
(std::tr1::cbrt): Likewise.
(std::tr1::copysign): Likewise.
(std::tr1::erf): Likewise.
(std::tr1::erfc): Likewise.
(std::tr1::exp2): Likewise.
(std::tr1::expm1): Likewise.
(std::tr1::fabs): Likewise.
(std::tr1::fdim): Likewise.
(std::tr1::fma): Likewise.
(std::tr1::fmax): Likewise.
(std::tr1::fmin): Likewise.
(std::tr1::hypot): Likewise.
(std::tr1::ilogb): Likewise.
(std::tr1::lgamma): Likewise.
(std::tr1::llrint): Likewise.
(std::tr1::llround): Likewise.
(std::tr1::log1p): Likewise.
(std::tr1::log2): Likewise.
(std::tr1::logb): Likewise.
(std::tr1::lrint): Likewise.
(std::tr1::lround): Likewise.
(std::tr1::nearbyint): Likewise.
(std::tr1::nextafter): Likewise.
(std::tr1::nexttoward): Likewise.
(std::tr1::remainder): Likewise.
(std::tr1::remquo): Likewise.
(std::tr1::rint): Likewise.
(std::tr1::scalbln): Likewise.
(std::tr1::scalbn): Likewise.
(std::tr1::tgamma): Likewise.
(std::tr1::trunc): Likewise.
(std::tr1::pow): Likewise.
* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
Restrict dg-xfail-if to *-*-solaris2.1[01]*.
From-SVN: r230808
2015-11-24 13:25:07 +00:00
Jan Kratochvil
b146b57a9d
re PR libstdc++/68448 (Python Pretty Printers get disabled on libstdc++ reload by GDB)
...
PR libstdc++/68448
* python/hook.in: Call register_libstdcxx_printers.
* python/libstdcxx/v6/__init__.py: Wrap it to
register_libstdcxx_printers.
From-SVN: r230670
2015-11-20 19:10:12 +00:00
Doug Evans
0ec2e86cbd
backport: re PR libstdc++/67440 (pretty-printing of a const set<foo> fails)
...
Backport from mainline:
PR libstdc++/67440
* python/libstdcxx/v6/printers.py (find_type): Handle "const" in
type name.
* testsuite/libstdc++-prettyprinters/debug.cc: Add test for
const set<int>.
* testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
* testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
From-SVN: r230444
2015-11-16 23:46:56 +00:00
Jonathan Wakely
4b63f4a3dd
Fix return type of heterogeneous find for sets
...
PR libstdc++/68190
* include/bits/stl_multiset.h (multiset::find): Fix return types.
* include/bits/stl_set.h (set::find): Likewise.
* testsuite/23_containers/map/operations/2.cc: Test find return types.
* testsuite/23_containers/multimap/operations/2.cc: Likewise.
* testsuite/23_containers/multiset/operations/2.cc: Likewise.
* testsuite/23_containers/set/operations/2.cc: Likewise.
From-SVN: r230118
2015-11-10 18:08:50 +00:00
Jonathan Wakely
02adf63fd9
Backport PR libstdc++/65913 fix from mainline.
...
Handle alignment in __atomic_is_lock_free
gcc:
2015-09-17 Richard Henderson <rth@redhat.com>
PR libstdc++/65913
* builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
pointers that encode the alignment of the object.
libstdc++-v3:
2015-09-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/65913
* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
immediate pointer value, not a variable.
* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
* testsuite/29_atomics/atomic/65913.cc: New.
From-SVN: r228615
2015-10-08 17:54:23 +01:00
Jonathan Wakely
789a05c3be
Backport Filesystem TS fixes from mainline.
...
PR libstdc++/67173
PR libstdc++/67747
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH. Remove _GLIBCXX_ prefix
from HAVE_STRUCT_DIRENT_D_TYPE.
* config.h.in: Regenerate.
* configure: Regenerate.
* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
(__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
* include/experimental/fs_dir.h (operator==, operator==):
Use owner_before instead of pointer equality.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
* include/experimental/fs_path.h (operator==, operator==):
* include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
(path::wstring, path::generic_wstring): Disable.
* src/filesystem/path.cc (path::_S_convert_loc)
[!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* src/filesystem/Makefile.am: Add cxx11_abi_sources.
* src/filesystem/Makefile.in: Regenerate.
* src/filesystem/cow-dir.cc: New.
* src/filesystem/cow-ops.cc: New.
* src/filesystem/cow-path.cc: New.
* src/filesystem/dir.cc: Define macro for new ABI.
(native_readdir): Remove.
(_Dir::advance): Use readdir instead of native_readdir.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Use swap instead of reset.
(ErrorCode): Remove.
(_Dir::advance): Change ErrorCode parameter to error_code*, add
directory_options parameter and check it on error.
(opendir): Rename to open_dir to avoid clashing with macro. Change
ErrorCode parameter to error_code*.
(make_shared_dir): Remove.
(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
(directory_iterator(const path&, directory_options, error_code*)):
Pass options to _Dir::advance and create non-end iterator on error.
(recursive_directory_iterator(const path&, directory_options,
error_code*)): Clear error_code on ignored error, create non-end
iterator otherwise.
(recursive_directory_iterator::increment): Pass _M_options to
_Dir::advance.
(recursive_directory_iterator::pop): Likewise.
* src/filesystem/ops.cc: Define macro for new ABI.
(canonical) [!_GLIBCXX_USE_REALPATH]: Add alternative implementation.
(is_dot, is_dotdot): Define new helpers.
(create_directories): Fix error handling.
* src/filesystem/path.cc: Define macro for new ABI.
(path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
New.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: New.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/create_directories.cc:
New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
* testsuite/experimental/filesystem/path/assign/assign.cc: Check for
wchar_t support.
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
From-SVN: r228584
2015-10-07 22:00:50 +01:00
Jonathan Wakely
924feef17a
Backport PR libstdc++/65049 fix from mainline
...
PR libstdc++/65049
* include/bits/char_traits.h (char_traits<char>::compare,
char_traits<char>::find, char_traits<char>::move,
char_traits<char>::copy, char_traits<char>::assign): Check for zero
length.
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
char_traits<wchar_t>::assign): Likewise.
(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
* include/ext/pod_char_traits.h (char_traits<character<>>::move,
char_traits<character<>>::copy): Likewise.
* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
New.
* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
New.
From-SVN: r228421
2015-10-02 21:08:17 +01:00
Jonathan Wakely
7131ee95d9
Backport PR libstdc++/67707 fix from mainline
...
PR libstdc++/67707
* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
empty object.
* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
deque.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Likewise.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
Likewise.
From-SVN: r228420
2015-10-02 21:08:11 +01:00