2018-06-21 07:36:48 +02:00
|
|
|
|
2018-06-21 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/debug/debug.h
|
|
|
|
|
(_Safe_iterator<>(const _Safe_iterator<_MutableIterator,>& __x)):
|
|
|
|
|
Compare __x base iterator with a default initialized iterator of the
|
|
|
|
|
same type.
|
|
|
|
|
|
2018-06-20 17:54:57 +02:00
|
|
|
|
2018-06-20 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-20 21:34:53 +02:00
|
|
|
|
PR libstdc++/70966
|
|
|
|
|
* include/experimental/memory_resource (__resource_adaptor_imp): Add
|
|
|
|
|
static assertions to enforce requirements on pointer types.
|
|
|
|
|
(__resource_adaptor_imp::get_allocator()): Add noexcept.
|
|
|
|
|
(new_delete_resource, null_memory_resource): Return address of an
|
|
|
|
|
object with dynamic storage duration.
|
|
|
|
|
(__null_memory_resource): Remove.
|
|
|
|
|
* testsuite/experimental/memory_resource/70966.cc: New.
|
|
|
|
|
|
2018-06-20 17:54:57 +02:00
|
|
|
|
* testsuite/20_util/duration/arithmetic/dr3050.cc: Add new test
|
|
|
|
|
missed from recent commit.
|
|
|
|
|
|
2018-06-19 19:19:16 +02:00
|
|
|
|
2018-06-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/utility: Remove unused <exception> header.
|
|
|
|
|
|
2018-06-18 20:02:24 +02:00
|
|
|
|
2018-06-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-18 22:17:44 +02:00
|
|
|
|
LWG 2975 ensure construct(pair<T,U>*, ...) used to construct pairs
|
|
|
|
|
* include/std/scoped_allocator (__not_pair): Define SFINAE helper.
|
|
|
|
|
(construct(_Tp*, _Args&&...)): Remove from overload set when _Tp is
|
|
|
|
|
a specialization of std::pair.
|
|
|
|
|
* testsuite/20_util/scoped_allocator/construct_pair.cc: Ensure
|
|
|
|
|
pair elements are constructed correctly.
|
|
|
|
|
|
2018-06-18 20:59:44 +02:00
|
|
|
|
LWG 2989 hide path iostream operators from normal lookup
|
|
|
|
|
* include/bits/fs_path.h (operator<<, operator>>): Define inline as
|
|
|
|
|
friends.
|
|
|
|
|
* testsuite/27_io/filesystem/path/io/dr2989.cc: New.
|
|
|
|
|
|
2018-06-18 20:02:24 +02:00
|
|
|
|
LWG 3050 Fix cv-qualification of convertibility constraints
|
|
|
|
|
* include/std/chrono (duration, operator*, operator/, operator%): Use
|
|
|
|
|
const-qualified type as source type in is_convertible constraints.
|
|
|
|
|
* testsuite/20_util/duration/arithmetic/dr3050.cc: New.
|
|
|
|
|
* testsuite/20_util/duration/cons/dr3050.cc: New.
|
|
|
|
|
* testsuite/20_util/duration/literals/range.cc: Rename to...
|
|
|
|
|
* testsuite/20_util/duration/literals/range_neg.cc: Here. Adjust
|
|
|
|
|
dg-error lineno.
|
|
|
|
|
|
2018-06-18 19:28:53 +02:00
|
|
|
|
2018-06-18 Maya Rashish <coypu@sdf.org>
|
|
|
|
|
|
|
|
|
|
* crossconfig.m4: Handle OpenBSD just like NetBSD.
|
|
|
|
|
* configure: Rebuilt.
|
|
|
|
|
|
2018-06-18 17:47:07 +02:00
|
|
|
|
2018-06-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-18 18:42:11 +02:00
|
|
|
|
P0754R2 <version> header
|
|
|
|
|
* include/Makefile.am: Add new header.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++config: Change doxygen comment to suggest <version>
|
|
|
|
|
instead of <iosfwd>.
|
|
|
|
|
* include/precompiled/stdc++.h: Include <cwchar> and <cwctype>
|
|
|
|
|
unconditionally. Add C++17 and C++20 headers.
|
|
|
|
|
* include/std/version: New header.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/all_attributes.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/all_no_rtti.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/operator_names.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/stdc++.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/all_attributes.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/all_no_rtti.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/operator_names.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/stdc++.cc: New.
|
|
|
|
|
* testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/18_support/headers/version/macros.cc: New.
|
|
|
|
|
* testsuite/18_support/headers/version/macros.cc: New.
|
|
|
|
|
|
2018-06-18 18:01:24 +02:00
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Only check when
|
|
|
|
|
enable_libstdcxx_filesystem_ts = yes. Check for link, readlink and
|
|
|
|
|
symlink.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac: Remove AC_CHECK_FUNCS for link, readlink and symlink.
|
|
|
|
|
|
2018-06-18 17:47:07 +02:00
|
|
|
|
LWG 3035. std::allocator's constructors should be constexpr
|
|
|
|
|
* include/bits/allocator.h (allocator): Add constexpr to constructors
|
|
|
|
|
for C++2a. Replace dynamic exception specifications with NOTHROW
|
|
|
|
|
macro.
|
|
|
|
|
(allocator, operator==, operator!=): Replace USE_NOEXCEPT macro with
|
|
|
|
|
NOTHROW.
|
|
|
|
|
* include/bits/c++config (_GLIBCXX20_CONSTEXPR): Define.
|
|
|
|
|
* include/ext/malloc_allocator.h (malloc_allocator): Add constexpr
|
|
|
|
|
to constructors for C++2a.
|
|
|
|
|
* include/ext/new_allocator.h (new_allocator): Likewise.
|
|
|
|
|
|
2018-06-16 01:47:33 +02:00
|
|
|
|
2018-06-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
LWG 3076 basic_string CTAD ambiguity
|
|
|
|
|
* doc/xml/manual/intro.xml: Document LWG 3076 change.
|
|
|
|
|
* include/bits/basic_string.h
|
|
|
|
|
[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
|
|
|
|
|
(basic_string(const _CharT*, const _Alloc&)): Turn into a function
|
|
|
|
|
template constrained by _RequireAllocator.
|
|
|
|
|
(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
|
|
|
|
|
* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
|
|
|
|
|
Define.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
|
|
|
|
|
deduction
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-06-15 02:19:07 +02:00
|
|
|
|
2018-06-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-15 20:47:29 +02:00
|
|
|
|
PR libstdc++/86169
|
|
|
|
|
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::data()): Unshare string.
|
|
|
|
|
* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
|
|
|
|
|
New.
|
|
|
|
|
|
Decorate string_view members with nonnull attribute
The C++ committee has confirmed that passing a null pointer to the
unary basic_string_view constructor is undefined. This removes the check
from our implementation, and adds the nonnull attribute to warn when the
compiler can detect undefined input.
* include/std/string_view (basic_string_view(const CharT*)): Remove
check for null pointer and add nonnull attribute.
(compare(const CharT*), compare(size_type, size_type, const CharT*))
(find(const CharT*, size_type), rfind(const CharT*, size_type))
(find_first_of(const CharT*, size_type))
(find_last_of(const CharT*, size_type))
(find_first_not_of(const CharT*, size_type))
(find_last_not_of(const CharT*, size_type)): Add nonnull attribute.
* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/compare/char/
nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/find/char/
nonnull.cc: New.
* testsuite/21_strings/basic_string_view/operations/rfind/char/
nonnull.cc: New.
From-SVN: r261638
2018-06-15 18:47:55 +02:00
|
|
|
|
* include/std/string_view (basic_string_view(const CharT*)): Remove
|
|
|
|
|
check for null pointer and add nonnull attribute.
|
|
|
|
|
(compare(const CharT*), compare(size_type, size_type, const CharT*))
|
|
|
|
|
(find(const CharT*, size_type), rfind(const CharT*, size_type))
|
|
|
|
|
(find_first_of(const CharT*, size_type))
|
|
|
|
|
(find_last_of(const CharT*, size_type))
|
|
|
|
|
(find_first_not_of(const CharT*, size_type))
|
|
|
|
|
(find_last_not_of(const CharT*, size_type)): Add nonnull attribute.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/char/
|
|
|
|
|
nonnull.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/char/
|
|
|
|
|
nonnull.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/rfind/char/
|
|
|
|
|
nonnull.cc: New.
|
|
|
|
|
|
2018-06-15 18:11:12 +02:00
|
|
|
|
PR libstdc++/86168
|
|
|
|
|
* include/bits/random.h (random_device(const string&)): Remove
|
|
|
|
|
default argument.
|
|
|
|
|
|
2018-06-15 17:47:56 +02:00
|
|
|
|
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
|
|
|
|
|
define for C++17 and above.
|
|
|
|
|
|
2018-06-15 16:19:47 +02:00
|
|
|
|
LWG 2993 reference_wrapper<T> conversion from T&&
|
|
|
|
|
* doc/xml/manual/intro.xml: Document LWG 2993 change.
|
|
|
|
|
* include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove.
|
|
|
|
|
(reference_wrapper(_Tp&&)): Remove.
|
|
|
|
|
(reference_wrapper<_Up>(_Up&&)): Define new constructor as constrained
|
|
|
|
|
template.
|
|
|
|
|
(reference_wrapper): Add deduction guide.
|
|
|
|
|
* testsuite/20_util/reference_wrapper/deduction.cc: New.
|
|
|
|
|
* testsuite/20_util/reference_wrapper/lwg2993.cc: New.
|
|
|
|
|
|
2018-06-15 02:19:07 +02:00
|
|
|
|
LWG 3039 Unnecessary decay in thread and packaged_task
|
|
|
|
|
* include/std/future (__constrain_pkgdtask): Replace with ...
|
|
|
|
|
(packaged_task::__not_same): New alias template, using
|
|
|
|
|
__remove_cvref_t instead of decay.
|
|
|
|
|
* include/std/thread (thread::__not_same): Add comment.
|
|
|
|
|
|
2018-06-14 15:32:53 +02:00
|
|
|
|
2018-06-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-14 22:27:04 +02:00
|
|
|
|
LWG 3075 basic_string needs deduction guides from basic_string_view
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
|
|
|
|
|
deduction from string views.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-06-14 21:36:54 +02:00
|
|
|
|
LWG 3074 make scalar types non-deduced in valarray non-member functions
|
|
|
|
|
* include/bits/valarray_after.h (_DEFINE_EXPR_BINARY_FUNCTION): Change
|
|
|
|
|
scalar parameters to be a non-deduced context.
|
|
|
|
|
* include/std/valarray (_DEFINE_BINARY_OPERATOR): Likewise. Adjust
|
|
|
|
|
whitespace.
|
|
|
|
|
* testsuite/26_numerics/valarray/operators.cc: Test scalar operands.
|
|
|
|
|
* testsuite/26_numerics/valarray/transcend.cc: New.
|
|
|
|
|
|
2018-06-14 21:02:40 +02:00
|
|
|
|
* include/std/tuple (__cpp_lib_tuple_element_t, tuple_element_t):
|
|
|
|
|
Move back to <utility>.
|
|
|
|
|
* include/std/utility (__cpp_lib_tuple_element_t. tuple_element_t):
|
|
|
|
|
Restore to here.
|
|
|
|
|
|
2018-06-14 16:12:24 +02:00
|
|
|
|
P0935R0 Eradicating unnecessarily explicit default constructors
|
|
|
|
|
* include/backward/strstream (strstreambuf): Add non-explicit default
|
|
|
|
|
constructor.
|
|
|
|
|
* include/bits/locale_conv.h (wbuffer_convert, wstring_convert):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/bits/regex.h (match_results): Likewise.
|
|
|
|
|
* testsuite/22_locale/conversions/buffer/1.cc: Test for non-explicit
|
|
|
|
|
default constructor.
|
|
|
|
|
* testsuite/22_locale/conversions/string/1.cc: Likewise.
|
|
|
|
|
* testsuite/28_regex/match_results/ctors/char/default.cc: Likewise.
|
|
|
|
|
* testsuite/28_regex/match_results/ctors/wchar_t/default.cc: Likewise.
|
|
|
|
|
|
2018-06-14 16:01:29 +02:00
|
|
|
|
* include/std/tuple (__cpp_lib_tuple_element_t): Move feature test
|
|
|
|
|
macro from <utility> and change type to long.
|
|
|
|
|
* include/std/utility (__cpp_lib_tuple_element_t): Remove.
|
|
|
|
|
* testsuite/20_util/tuple/tuple_element_t.cc: Check for feature test
|
|
|
|
|
macro.
|
|
|
|
|
|
2018-06-14 15:32:53 +02:00
|
|
|
|
P0935R0 Eradicating unnecessarily explicit default constructors
|
|
|
|
|
* include/bits/random.h (uniform_real_distribution::param_type)
|
|
|
|
|
(normal_distribution::param_type, lognormal_distribution::param_type)
|
|
|
|
|
(gamma_distribution::param_type, chi_squared_distribution::param_type)
|
|
|
|
|
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
|
|
|
|
|
(student_t_distribution::param_type)
|
|
|
|
|
(bernoulli_distribution::param_type)
|
|
|
|
|
(binomial_distribution::param_type)
|
|
|
|
|
(geometric_distribution::param_type)
|
|
|
|
|
(negative_binomial_distribution::param_type)
|
|
|
|
|
(poisson_distribution::param_type)
|
|
|
|
|
(exponential_distribution::param_type)
|
|
|
|
|
(weibull_distribution::param_type)
|
|
|
|
|
(extreme_value_distribution::param_type): Add non-explicit default
|
|
|
|
|
constructors. Remove default argument for first parameter of explicit
|
|
|
|
|
constructors.
|
|
|
|
|
* include/bits/uniform_int_dist.h
|
|
|
|
|
(uniform_int_distribution::param_type): Likewise.
|
|
|
|
|
* include/ext/random
|
|
|
|
|
(beta_distribution::param_type, rice_distribution::param_type)
|
|
|
|
|
(nakagami_distribution::param_type, pareto_distribution::param_type)
|
|
|
|
|
(k_distribution::param_type, arcsine_distribution::param_type)
|
|
|
|
|
(hoyt_distribution::param_type, triangular_distribution::param_type)
|
|
|
|
|
(von_mises_distribution::param_type)
|
|
|
|
|
(hypergeometric_distribution::param_type)
|
|
|
|
|
(logistic_distribution::param_type)
|
|
|
|
|
(uniform_inside_sphere_distribution::param_type): Likewise.
|
|
|
|
|
(uniform_on_sphere_distribution::param_type): Make default constructor
|
|
|
|
|
non-explicit.
|
|
|
|
|
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
|
|
|
|
|
Test param_type for non-explicit default constructor.
|
|
|
|
|
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/triangular_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/von_mises_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-06-14 11:26:51 +02:00
|
|
|
|
2018-06-14 Daniel Trebbien <dtrebbien@gmail.com>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/83982
|
|
|
|
|
* include/bits/vector.tcc (vector::_M_default_append(size_type)):
|
|
|
|
|
Default-construct new elements before moving existing ones.
|
|
|
|
|
* testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc:
|
|
|
|
|
New.
|
|
|
|
|
|
2018-06-13 17:14:48 +02:00
|
|
|
|
2018-06-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/86127
|
|
|
|
|
* include/bits/forward_list.h (_Fwd_list_base::_Tp_alloc_type): Remove
|
|
|
|
|
unused typedef.
|
|
|
|
|
(_Fwd_list_base::_M_create_node, _Fwd_list_base::_M_erase_after):
|
|
|
|
|
Use node allocator to create and destroy elements.
|
|
|
|
|
(forward_list::_Tp_alloc_type): Remove unused typedef.
|
|
|
|
|
(forward_list::_Alloc_traits): Use allocator_traits instead of
|
|
|
|
|
__gnu_cxx::__alloc_traits.
|
|
|
|
|
|
2018-06-13 08:10:03 +02:00
|
|
|
|
2018-06-13 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
2018-06-13 22:27:26 +02:00
|
|
|
|
* include/debug/helper_functions.h
|
|
|
|
|
(__gnu_debug::_Safe_iterator<>): Add declaration.
|
|
|
|
|
(__can_advance(_Ite, _Size)): New.
|
|
|
|
|
(__can_advance(const _Safe_iterator<>&, _Size)): Overload declaration.
|
|
|
|
|
* include/debug/functions.h
|
|
|
|
|
(__gnu_debug::_Safe_iterator<>): Remove declaration.
|
|
|
|
|
* include/debug/stl_iterator.h
|
|
|
|
|
(__can_advance(const _Safe_iterator<>&)): New definition.
|
|
|
|
|
* include/debug/stl_iterator.h
|
|
|
|
|
(__can_advance(const std::reverse_iterator<>&, _Size)): New.
|
|
|
|
|
(__can_advance(const std::move_iterator<>&, _Size)): New.
|
|
|
|
|
* include/debug/macros.h (__glibcxx_check_can_increment): New.
|
|
|
|
|
* include/debug/debug.h (__glibcxx_requires_can_increment): New.
|
|
|
|
|
* include/bits/stl_algobase.h (fill_n): Use latter.
|
|
|
|
|
* testsuite/25_algorithms/fill_n/2.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/fill_n/debug/1_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/fill_n/debug/2_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/fill_n/debug/3_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/fill_n/debug/4_neg.cc: New.
|
|
|
|
|
|
2018-06-13 08:10:03 +02:00
|
|
|
|
* include/debug/debug.h (__glibcxx_requires_can_increment_range): New.
|
|
|
|
|
(__glibcxx_requires_can_decrement_range): New.
|
|
|
|
|
|
2018-06-12 22:18:35 +02:00
|
|
|
|
2018-06-12 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/debug/macros.h (__glibcxx_check_can_increment_range): New.
|
|
|
|
|
(__glibcxx_check_can_decrement_range): New.
|
|
|
|
|
* include/bits/stl_algobase.h (std::copy(_II, _II, _OI)): Use
|
|
|
|
|
__glibcxx_requires_can_increment_range.
|
|
|
|
|
(std::move(_II, _II, _OI)): Likewise.
|
|
|
|
|
(std::copy_backward(_BI, _BI, _BI2)): Use
|
|
|
|
|
__glibcxx_requires_can_decrement_range.
|
|
|
|
|
(std::move_backward(_BI, _BI, _BI2)): Likewise.
|
|
|
|
|
* testsuite/25_algorithms/copy_backward/debug/1_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/copy_backward/debug/2_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/copy_backward/debug/3_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/equal/debug/1_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/equal/debug/2_neg.cc: New.
|
|
|
|
|
* testsuite/25_algorithms/equal/debug/3_neg.cc: New.
|
|
|
|
|
|
P0935R0 Eradicating unnecessarily explicit default constructors
Explicit default constructors are problematic, so this change removes
them from <random> and <ext/random>, as per P0935R0.
* include/bits/random.h (linear_congruential_engine)
(mersenne_twister_engine, subtract_with_carry_engine, random_device)
(uniform_real_distribution, normal_distribution)
(lognormal_distribution, gamma_distribution, chi_squared_distribution)
(cauchy_distribution, fisher_f_distribution, student_t_distribution)
(bernoulli_distribution, binomial_distribution,geometric_distribution)
(negative_binomial_distribution, exponential_distribution)
(weibull_distribution, extreme_value_distribution): Add non-explicit
default constructors. Remove default argument for first parameter of
explicit constructors.
(piecewise_constant_distribution, piecewise_linear_distribution):
Make default constructor non-explicit.
* include/bits/uniform_int_dist.h (uniform_int_distribution): Add
non-explicit default constructors. Remove default argument for first
parameter of explicit constructor.
(simd_fast_mersenne_twister_engine, beta_distribution)
(rice_distribution, nakagami_distribution, pareto_distribution)
(k_distribution, arcsine_distribution, hoyt_distribution)
(triangular_distribution, von_mises_distribution)
(hypergeometric_distribution, logistic_distribution)
(uniform_inside_sphere_distribution): Likewise.
(uniform_on_sphere_distribution): Make default constructor
non-explicit.
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
Test for non-explicit default constructor. Fix references to standard.
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/von_mises_distribution/cons/default.cc:
Likewise.
* testsuite/util/testsuite_common_types.h
(implicitly_default_constructible): New helper.
From-SVN: r261522
2018-06-12 21:10:55 +02:00
|
|
|
|
2018-06-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
P0935R0 Eradicating unnecessarily explicit default constructors
|
|
|
|
|
* include/bits/random.h (linear_congruential_engine)
|
|
|
|
|
(mersenne_twister_engine, subtract_with_carry_engine, random_device)
|
|
|
|
|
(uniform_real_distribution, normal_distribution)
|
|
|
|
|
(lognormal_distribution, gamma_distribution, chi_squared_distribution)
|
|
|
|
|
(cauchy_distribution, fisher_f_distribution, student_t_distribution)
|
|
|
|
|
(bernoulli_distribution, binomial_distribution,geometric_distribution)
|
|
|
|
|
(negative_binomial_distribution, exponential_distribution)
|
|
|
|
|
(weibull_distribution, extreme_value_distribution): Add non-explicit
|
|
|
|
|
default constructors. Remove default argument for first parameter of
|
|
|
|
|
explicit constructors.
|
|
|
|
|
(piecewise_constant_distribution, piecewise_linear_distribution):
|
|
|
|
|
Make default constructor non-explicit.
|
|
|
|
|
* include/bits/uniform_int_dist.h (uniform_int_distribution): Add
|
|
|
|
|
non-explicit default constructors. Remove default argument for first
|
|
|
|
|
parameter of explicit constructor.
|
2018-06-14 12:59:14 +02:00
|
|
|
|
* include/ext/random
|
P0935R0 Eradicating unnecessarily explicit default constructors
Explicit default constructors are problematic, so this change removes
them from <random> and <ext/random>, as per P0935R0.
* include/bits/random.h (linear_congruential_engine)
(mersenne_twister_engine, subtract_with_carry_engine, random_device)
(uniform_real_distribution, normal_distribution)
(lognormal_distribution, gamma_distribution, chi_squared_distribution)
(cauchy_distribution, fisher_f_distribution, student_t_distribution)
(bernoulli_distribution, binomial_distribution,geometric_distribution)
(negative_binomial_distribution, exponential_distribution)
(weibull_distribution, extreme_value_distribution): Add non-explicit
default constructors. Remove default argument for first parameter of
explicit constructors.
(piecewise_constant_distribution, piecewise_linear_distribution):
Make default constructor non-explicit.
* include/bits/uniform_int_dist.h (uniform_int_distribution): Add
non-explicit default constructors. Remove default argument for first
parameter of explicit constructor.
(simd_fast_mersenne_twister_engine, beta_distribution)
(rice_distribution, nakagami_distribution, pareto_distribution)
(k_distribution, arcsine_distribution, hoyt_distribution)
(triangular_distribution, von_mises_distribution)
(hypergeometric_distribution, logistic_distribution)
(uniform_inside_sphere_distribution): Likewise.
(uniform_on_sphere_distribution): Make default constructor
non-explicit.
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
Test for non-explicit default constructor. Fix references to standard.
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
Likewise.
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
* testsuite/ext/random/triangular_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
Likewise.
* testsuite/ext/random/von_mises_distribution/cons/default.cc:
Likewise.
* testsuite/util/testsuite_common_types.h
(implicitly_default_constructible): New helper.
From-SVN: r261522
2018-06-12 21:10:55 +02:00
|
|
|
|
(simd_fast_mersenne_twister_engine, beta_distribution)
|
|
|
|
|
(rice_distribution, nakagami_distribution, pareto_distribution)
|
|
|
|
|
(k_distribution, arcsine_distribution, hoyt_distribution)
|
|
|
|
|
(triangular_distribution, von_mises_distribution)
|
|
|
|
|
(hypergeometric_distribution, logistic_distribution)
|
|
|
|
|
(uniform_inside_sphere_distribution): Likewise.
|
|
|
|
|
(uniform_on_sphere_distribution): Make default constructor
|
|
|
|
|
non-explicit.
|
|
|
|
|
* testsuite/26_numerics/random/bernoulli_distribution/cons/default.cc:
|
|
|
|
|
Test for non-explicit default constructor. Fix references to standard.
|
|
|
|
|
* testsuite/26_numerics/random/binomial_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/chi_squared_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/discrete_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/extreme_value_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/fisher_f_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/gamma_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/geometric_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/lognormal_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/negative_binomial_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/normal_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/piecewise_constant_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/piecewise_linear_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/poisson_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_int_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_real_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/weibull_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/arcsine_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/beta_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hoyt_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hypergeometric_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/k_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/logistic_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/nakagami_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/normal_mv_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/pareto_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/rice_distribution/cons/default.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/triangular_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/uniform_on_sphere_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/von_mises_distribution/cons/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/util/testsuite_common_types.h
|
|
|
|
|
(implicitly_default_constructible): New helper.
|
|
|
|
|
|
2018-06-08 18:43:14 +02:00
|
|
|
|
2018-06-08 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/ios_base.h (ios::Init::Init(const Init&))
|
|
|
|
|
(ios::Init::operator=): Define as defaulted.
|
|
|
|
|
* include/bits/stl_bvector.h (_Bit_reference(const _Bit_reference&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/bits/stream_iterator.h (istream_iterator::operator=)
|
|
|
|
|
(ostream_iterator::operator=): Likewise.
|
|
|
|
|
* include/bits/streambuf_iterator.h (istreambuf_iterator::operator=)
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/std/bitset (bitset::reference::reference(const reference&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/std/complex (complex<float>::complex(const complex&))
|
|
|
|
|
(complex<double>::complex(const complex&))
|
|
|
|
|
(complex<long double>::complex(const complex&)): Likewise.
|
|
|
|
|
|
2018-06-07 10:56:45 +02:00
|
|
|
|
2018-06-07 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/regex.h (sub_match): Add noexcept to default
|
|
|
|
|
constructor and length observer.
|
|
|
|
|
(match_results): Add noexcept to default constructor and observers
|
|
|
|
|
with no preconditions. Define destructor as defaulted.
|
|
|
|
|
(operator==, operator!=, swap): Add noexcept.
|
|
|
|
|
(regex_iterator): Add default member initializers and define default
|
|
|
|
|
constructor and destructor as defaulted. Add noexcept to equality
|
|
|
|
|
and dereference operators.
|
|
|
|
|
|
2018-06-07 07:44:53 +02:00
|
|
|
|
2018-06-07 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* src/c++11/debug.cc
|
|
|
|
|
(_Safe_iterator_base::_M_detach()): Reset state only if needed.
|
|
|
|
|
(_Safe_iterator_base::_M_detach_single()): Likewise.
|
|
|
|
|
(_Safe_local_iterator_base::_M_detach()): Reset state only if needed.
|
|
|
|
|
(_Safe_local_iterator_base::_M_detach_single()): Likewise.
|
|
|
|
|
|
2018-06-06 21:39:27 +02:00
|
|
|
|
2018-06-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_count): Remove redundant
|
|
|
|
|
move of const value.
|
|
|
|
|
|
2018-06-06 19:55:39 +02:00
|
|
|
|
2018-06-06 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/86068
|
|
|
|
|
* include/bits/c++config: Check __cpp_transactional_memory >= 201500L
|
|
|
|
|
rather than __cpp_transactional_memory >= 201505L.
|
|
|
|
|
|
2018-06-06 08:05:07 +02:00
|
|
|
|
2018-06-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/86008
|
|
|
|
|
* include/bits/quoted_string.h (_Quoted_string<basic_string_view, C>):
|
|
|
|
|
Define new partial specialization.
|
|
|
|
|
* include/std/iomanip (quoted(basic_string_view<C,T>, C, C)): Define
|
|
|
|
|
new overload.
|
|
|
|
|
(operator<<(basic_ostream<C,T>&, const _Quoted_string<S,C>&)): Use
|
|
|
|
|
value not reference for iteration.
|
|
|
|
|
* testsuite/27_io/manipulators/standard/char/quoted.cc: Adjust
|
|
|
|
|
comment.
|
|
|
|
|
* testsuite/27_io/manipulators/standard/char/quoted_sv.cc: New test.
|
|
|
|
|
* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: Adjust
|
|
|
|
|
comment.
|
|
|
|
|
|
2018-06-05 09:37:30 +02:00
|
|
|
|
2018-06-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-05 09:37:36 +02:00
|
|
|
|
* include/std/type_traits: Fix comment typos.
|
|
|
|
|
|
2018-06-05 09:37:30 +02:00
|
|
|
|
* testsuite/27_io/filesystem/operations/read_symlink.cc: XFAIL for
|
|
|
|
|
mingw* targets.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/symlink_status.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/read_symlink.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-06-05 07:47:44 +02:00
|
|
|
|
2018-06-05 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_tempbuf.h
|
|
|
|
|
(_Temporary_buffer(_FwdIte, _FwdIte)): Delete, replaced by...
|
|
|
|
|
(_Temporary_buffer(_FwdIte, size_type)): ...this, new.
|
|
|
|
|
* include/ext/memory (temporary_buffer<>(_FwdIte, _FwdIte)): Adapt.
|
|
|
|
|
* include/bits/stl_algo.h (__stable_partition): Adapt.
|
|
|
|
|
(__inplace_merge): Adapt.
|
|
|
|
|
(__stable_sort): Adapt.
|
|
|
|
|
|
2018-06-04 18:07:35 +02:00
|
|
|
|
2018-06-04 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-06-04 23:38:42 +02:00
|
|
|
|
PR libstdc++/85930
|
|
|
|
|
* include/bits/shared_ptr_base.h [!__cpp_rtti]: Include <typeinfo>
|
|
|
|
|
unconditionally. Remove redundant declaration.
|
|
|
|
|
[!__cpp_rtti] (_Sp_make_shared_tag::_S_ti): Fix location of
|
|
|
|
|
alignment-specifier.
|
|
|
|
|
|
2018-06-04 18:07:55 +02:00
|
|
|
|
* include/bits/postypes.h (fpos): Define special members as defaulted.
|
|
|
|
|
|
2018-06-04 18:07:35 +02:00
|
|
|
|
PR libstdc++/85930
|
|
|
|
|
* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Align
|
|
|
|
|
the static variable correctly.
|
|
|
|
|
|
PR libstdc++/78870 support std::filesystem on Windows
PR libstdc++/78870 support std::filesystem on Windows
* config.h.in: Regenerate.
* configure: Regenerate.
* configure.ac: Check for link, readlink and symlink.
* include/bits/fs_path.h (path::operator/=(const path&)): Move
definition out of class body.
(path::is_absolute(), path::_M_append(path)): Likewise.
(operator<<(basic_ostream, const path&)): Use std::quoted directly.
(operator>>(basic_istream, path&)): Likewise.
(u8path): Reorder definitions and fix Windows implementation.
(path::is_absolute()): Define inline and fix for Windows.
[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::operator/=(const path&)):
Define POSIX version inline.
(path::_M_append(path)): Define inline.
* include/experimental/bits/fs_path.h (path::is_absolute()): Move
definition out of class body.
(operator<<(basic_ostream, const path&)): Fix type of delimiter and
escape characters.
(operator>>(basic_istream, path&)): Likewise.
(path::is_absolute()): Define inline and fix for Windows.
* src/filesystem/dir-common.h (__gnu_posix): New namespace.
(__gnu_posix::char_type, __gnu_posix::DIR, __gnu_posix::dirent)
(__gnu_posix::opendir, __gnu_posix::readdir, __gnu_posix::closedir):
Define as adaptors for Windows functions/types or as
using-declarations for POSIX functions/types.
(_Dir_base, get_file_type): Qualify names to use declarations from
__gnu_posix namespace.
(_Dir_base::is_dor_or_dotdot): New helper functions.
* src/filesystem/dir.cc (_Dir, recursive_directory_iterator): Qualify
names to use declarations from __gnu_posix namespace.
* src/filesystem/ops-common.h (__gnu_posix): New nested namespace.
(__gnu_posix::open, __gnu_posix::close, __gnu_posix::stat_type)
(__gnu_posix::stat, __gnu_posix::lstat, __gnu_posix::mode_t)
(__gnu_posix::chmod, __gnu_posix::mkdir, __gnu_posix::getcwd)
(__gnu_posix::chdir, __gnu_posix::utimbuf, __gnu_posix::utime)
(__gnu_posix::rename, __gnu_posix::truncate, __gnu_posix::char_type):
Define as adaptors for Windows functions/types or as
using-declarations for POSIX functions/types.
(stat_type, do_copy_file): Qualify names to use declarations from
__gnu_posix namespace.
(do_space): Declare new function.
(make_file_type): Only use S_ISLNK if defined.
* src/filesystem/ops.cc (char_ptr, filesystem::canonical): Use
path::value_type not char.
(filesystem::copy, create_dir, filesystem::create_directory): Qualify
names to use declarations from __gnu_posix namespace.
(filesystem::create_hard_link): Check HAVE_LINK autoconf macro and
add implementation for Windows.
(filesystem::create_symlink): Check HAVE_SYMLINK autoconf macro.
(filesystem::current_path(error_code&)): Use __gnu_posix::getcwd.
[!_PC_PATH_MAX]: Don't use pathconf.
[PATH_MAX]: Use if defined.
(filesystem::current_path(const path&, error_code&))
(filesystem::equivalent, do_stat, filesystem::hard_link_count)
(filesystem::last_write_time, filesystem::permissions): Use names
from __gnu_posix.
(filesystem::read_symlink): Check HAVE_READLINK autoconf macro.
(filesystem::remove) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Add
implementation for Windows.
(filesystem::rename, filesystem::resize_file): Use names from
__gnu_posix.
(filesystem::space): Use do_space.
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Get absolute path to directory.
(filesystem::status, filesystem::symlink_status): Use names from
__gnu_posix.
(filesystem::temp_directory_path): Add implementation for Windows.
* src/filesystem/path.cc (dot): Define constant.
(path::replace_extension): Use dot.
(path::_M_find_extension): Likewise. Use path::string_type not
std::string.
(path::_M_split_cmpts): Use dot.
(filesystem_error::_M_get_what): Use u8string() not native().
* src/filesystem/std-dir.cc (_Dir, recursive_directory_iterator):
Qualify names to use declarations from __gnu_posix namespace.
* src/filesystem/std-ops.cc (filesystem::absolute(const path&)): Use
correct error_code.
(filesystem::absolute(const path&, error_code&)): Add implementation
for Windows.
(char_ptr, filesystem::canonical): Use path::value_type not char.
(do_copy_file): Use names from __gnu_posix.
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Do not use fchmod, fchmodat or
sendfile.
(filesystem::copy, create_dir, filesystem::create_directory): Qualify
names to use declarations from __gnu_posix namespace.
(filesystem::create_hard_link): Check HAVE_LINK autoconf macro and
add implementation for Windows.
(filesystem::create_symlink): Check HAVE_SYMLINK autoconf macro.
(filesystem::current_path(error_code&)): Use __gnu_posix::getcwd.
[!_PC_PATH_MAX]: Don't use pathconf.
[PATH_MAX]: Use if defined.
(filesystem::current_path(const path&, error_code&))
(filesystem::equivalent, do_stat, filesystem::hard_link_count)
(filesystem::last_write_time, filesystem::permissions): Use names
from __gnu_posix.
(filesystem::read_symlink): Check HAVE_READLINK autoconf macro.
(filesystem::remove) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Add
implementation for Windows.
(filesystem::rename, filesystem::resize_file): Use names from
__gnu_posix.
(do_space): Define.
(filesystem::space): Use do_space.
(filesystem::status, filesystem::symlink_status): Use names from
__gnu_posix.
(filesystem::temp_directory_path): Add implementation for Windows.
* src/filesystem/std-path.cc
[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::operator/=(const path&)):
Define for Windows.
(dot): Define constant.
(path::replace_extension, is_dot): Use dot.
(path::lexically_normal): Check _M_type instead of calling
non-existent function.
(path::_M_find_extension): Use dot. Use path::string_type not
std::string.
(path::_M_split_cmpts): Use dot.
(filesystem_error::_M_get_what): Use u8string() not native().
* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Do not
use symlinks.
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
Likewise.
* testsuite/27_io/filesystem/operations/absolute.cc: Use
__gnu_test::root_path() instead of "/" and add Windows-specific tests.
* testsuite/27_io/filesystem/operations/canonical.cc: Use
path::string() to get narrow string, not path::native().
* testsuite/27_io/filesystem/operations/copy.cc: Construct fstreams
with std::filesystem::path not std::basic_string.
* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
* testsuite/27_io/filesystem/operations/exists.cc: Use
__gnu_test::root_path() instead of "/".
* testsuite/27_io/filesystem/operations/is_empty.cc: Construct
fstreams with std::filesystem::path not std::basic_string.
* testsuite/27_io/filesystem/operations/last_write_time.cc: Use
path::string() to get narrow string.
* testsuite/27_io/filesystem/operations/space.cc: Check results for
errors, expect sensible values otherwise.
* testsuite/27_io/filesystem/operations/temp_directory_path.cc: Add
helpers for adjusting the environment on Windows.
* testsuite/27_io/filesystem/path/append/path.cc: Test
Windows-specific behaviour.
* testsuite/27_io/filesystem/path/construct/format.cc: Fix creation
of path::string_type objects.
* testsuite/27_io/filesystem/path/construct/locale.cc: Compare native
string to wide string on Windows.
* testsuite/27_io/filesystem/path/decompose/root_directory.cc: Allow
for backslash as root-directory.
* testsuite/27_io/filesystem/path/decompose/stem.cc: Use
path::string() to get narrow string.
* testsuite/27_io/filesystem/path/itr/traversal.cc: Test Windows-style
paths.
* testsuite/27_io/filesystem/path/native/string.cc: Use string_type
not std::string.
* testsuite/27_io/filesystem/path/query/is_absolute.cc: Adjust for
different definintion of absolute paths on Windows.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Do not use symlinks.
* testsuite/experimental/filesystem/operations/absolute.cc: Test
Windows behaviour.
* testsuite/experimental/filesystem/operations/copy.cc: Construct
fstreams with NTCTS not std::basic_string.
* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
* testsuite/experimental/filesystem/operations/exists.cc: Use
__gnu_test::root_path() instead of "/".
* testsuite/experimental/filesystem/operations/is_empty.cc: Construct
fstreams with NTCTS not std::basic_string.
* testsuite/experimental/filesystem/operations/last_write_time.cc:
Use path::string() to get narrow string.
* testsuite/experimental/filesystem/operations/space.cc: Use
__gnu_test::root_path() instead of "/".
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Add helpers for adjusting the environment on Windows.
* testsuite/experimental/filesystem/path/append/path.cc: Use
path::string() to get narrow strings for comparisons.
* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
Likewise.
* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
* testsuite/experimental/filesystem/path/native/string.cc: Use
string_type not std::string.
* testsuite/experimental/filesystem/path/query/is_absolute.cc:
Adjust for different definintion of absolute paths on Windows.
* testsuite/util/testsuite_fs.h (__gnu_test::root_path()): New
function.
(__gnu_test::scoped_file): Construct fstreams with NTCTS not
std::basic_string.
From-SVN: r261034
2018-05-31 21:20:24 +02:00
|
|
|
|
2018-05-24 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78870 support std::filesystem on Windows
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac: Check for link, readlink and symlink.
|
|
|
|
|
* include/bits/fs_path.h (path::operator/=(const path&)): Move
|
|
|
|
|
definition out of class body.
|
|
|
|
|
(path::is_absolute(), path::_M_append(path)): Likewise.
|
|
|
|
|
(operator<<(basic_ostream, const path&)): Use std::quoted directly.
|
|
|
|
|
(operator>>(basic_istream, path&)): Likewise.
|
|
|
|
|
(u8path): Reorder definitions and fix Windows implementation.
|
|
|
|
|
(path::is_absolute()): Define inline and fix for Windows.
|
|
|
|
|
[!_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::operator/=(const path&)):
|
|
|
|
|
Define POSIX version inline.
|
|
|
|
|
(path::_M_append(path)): Define inline.
|
|
|
|
|
* include/experimental/bits/fs_path.h (path::is_absolute()): Move
|
|
|
|
|
definition out of class body.
|
|
|
|
|
(operator<<(basic_ostream, const path&)): Fix type of delimiter and
|
|
|
|
|
escape characters.
|
|
|
|
|
(operator>>(basic_istream, path&)): Likewise.
|
|
|
|
|
(path::is_absolute()): Define inline and fix for Windows.
|
|
|
|
|
* src/filesystem/dir-common.h (__gnu_posix): New namespace.
|
|
|
|
|
(__gnu_posix::char_type, __gnu_posix::DIR, __gnu_posix::dirent)
|
|
|
|
|
(__gnu_posix::opendir, __gnu_posix::readdir, __gnu_posix::closedir):
|
|
|
|
|
Define as adaptors for Windows functions/types or as
|
|
|
|
|
using-declarations for POSIX functions/types.
|
|
|
|
|
(_Dir_base, get_file_type): Qualify names to use declarations from
|
|
|
|
|
__gnu_posix namespace.
|
|
|
|
|
(_Dir_base::is_dor_or_dotdot): New helper functions.
|
|
|
|
|
* src/filesystem/dir.cc (_Dir, recursive_directory_iterator): Qualify
|
|
|
|
|
names to use declarations from __gnu_posix namespace.
|
|
|
|
|
* src/filesystem/ops-common.h (__gnu_posix): New nested namespace.
|
|
|
|
|
(__gnu_posix::open, __gnu_posix::close, __gnu_posix::stat_type)
|
|
|
|
|
(__gnu_posix::stat, __gnu_posix::lstat, __gnu_posix::mode_t)
|
|
|
|
|
(__gnu_posix::chmod, __gnu_posix::mkdir, __gnu_posix::getcwd)
|
|
|
|
|
(__gnu_posix::chdir, __gnu_posix::utimbuf, __gnu_posix::utime)
|
|
|
|
|
(__gnu_posix::rename, __gnu_posix::truncate, __gnu_posix::char_type):
|
|
|
|
|
Define as adaptors for Windows functions/types or as
|
|
|
|
|
using-declarations for POSIX functions/types.
|
|
|
|
|
(stat_type, do_copy_file): Qualify names to use declarations from
|
|
|
|
|
__gnu_posix namespace.
|
|
|
|
|
(do_space): Declare new function.
|
|
|
|
|
(make_file_type): Only use S_ISLNK if defined.
|
|
|
|
|
* src/filesystem/ops.cc (char_ptr, filesystem::canonical): Use
|
|
|
|
|
path::value_type not char.
|
|
|
|
|
(filesystem::copy, create_dir, filesystem::create_directory): Qualify
|
|
|
|
|
names to use declarations from __gnu_posix namespace.
|
|
|
|
|
(filesystem::create_hard_link): Check HAVE_LINK autoconf macro and
|
|
|
|
|
add implementation for Windows.
|
|
|
|
|
(filesystem::create_symlink): Check HAVE_SYMLINK autoconf macro.
|
|
|
|
|
(filesystem::current_path(error_code&)): Use __gnu_posix::getcwd.
|
|
|
|
|
[!_PC_PATH_MAX]: Don't use pathconf.
|
|
|
|
|
[PATH_MAX]: Use if defined.
|
|
|
|
|
(filesystem::current_path(const path&, error_code&))
|
|
|
|
|
(filesystem::equivalent, do_stat, filesystem::hard_link_count)
|
|
|
|
|
(filesystem::last_write_time, filesystem::permissions): Use names
|
|
|
|
|
from __gnu_posix.
|
|
|
|
|
(filesystem::read_symlink): Check HAVE_READLINK autoconf macro.
|
|
|
|
|
(filesystem::remove) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Add
|
|
|
|
|
implementation for Windows.
|
|
|
|
|
(filesystem::rename, filesystem::resize_file): Use names from
|
|
|
|
|
__gnu_posix.
|
|
|
|
|
(filesystem::space): Use do_space.
|
|
|
|
|
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Get absolute path to directory.
|
|
|
|
|
(filesystem::status, filesystem::symlink_status): Use names from
|
|
|
|
|
__gnu_posix.
|
|
|
|
|
(filesystem::temp_directory_path): Add implementation for Windows.
|
|
|
|
|
* src/filesystem/path.cc (dot): Define constant.
|
|
|
|
|
(path::replace_extension): Use dot.
|
|
|
|
|
(path::_M_find_extension): Likewise. Use path::string_type not
|
|
|
|
|
std::string.
|
|
|
|
|
(path::_M_split_cmpts): Use dot.
|
|
|
|
|
(filesystem_error::_M_get_what): Use u8string() not native().
|
|
|
|
|
* src/filesystem/std-dir.cc (_Dir, recursive_directory_iterator):
|
|
|
|
|
Qualify names to use declarations from __gnu_posix namespace.
|
|
|
|
|
* src/filesystem/std-ops.cc (filesystem::absolute(const path&)): Use
|
|
|
|
|
correct error_code.
|
|
|
|
|
(filesystem::absolute(const path&, error_code&)): Add implementation
|
|
|
|
|
for Windows.
|
|
|
|
|
(char_ptr, filesystem::canonical): Use path::value_type not char.
|
|
|
|
|
(do_copy_file): Use names from __gnu_posix.
|
|
|
|
|
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Do not use fchmod, fchmodat or
|
|
|
|
|
sendfile.
|
|
|
|
|
(filesystem::copy, create_dir, filesystem::create_directory): Qualify
|
|
|
|
|
names to use declarations from __gnu_posix namespace.
|
|
|
|
|
(filesystem::create_hard_link): Check HAVE_LINK autoconf macro and
|
|
|
|
|
add implementation for Windows.
|
|
|
|
|
(filesystem::create_symlink): Check HAVE_SYMLINK autoconf macro.
|
|
|
|
|
(filesystem::current_path(error_code&)): Use __gnu_posix::getcwd.
|
|
|
|
|
[!_PC_PATH_MAX]: Don't use pathconf.
|
|
|
|
|
[PATH_MAX]: Use if defined.
|
|
|
|
|
(filesystem::current_path(const path&, error_code&))
|
|
|
|
|
(filesystem::equivalent, do_stat, filesystem::hard_link_count)
|
|
|
|
|
(filesystem::last_write_time, filesystem::permissions): Use names
|
|
|
|
|
from __gnu_posix.
|
|
|
|
|
(filesystem::read_symlink): Check HAVE_READLINK autoconf macro.
|
|
|
|
|
(filesystem::remove) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Add
|
|
|
|
|
implementation for Windows.
|
|
|
|
|
(filesystem::rename, filesystem::resize_file): Use names from
|
|
|
|
|
__gnu_posix.
|
|
|
|
|
(do_space): Define.
|
|
|
|
|
(filesystem::space): Use do_space.
|
|
|
|
|
(filesystem::status, filesystem::symlink_status): Use names from
|
|
|
|
|
__gnu_posix.
|
|
|
|
|
(filesystem::temp_directory_path): Add implementation for Windows.
|
|
|
|
|
* src/filesystem/std-path.cc
|
|
|
|
|
[_GLIBCXX_FILESYSTEM_IS_WINDOWS] (path::operator/=(const path&)):
|
|
|
|
|
Define for Windows.
|
|
|
|
|
(dot): Define constant.
|
|
|
|
|
(path::replace_extension, is_dot): Use dot.
|
|
|
|
|
(path::lexically_normal): Check _M_type instead of calling
|
|
|
|
|
non-existent function.
|
|
|
|
|
(path::_M_find_extension): Use dot. Use path::string_type not
|
|
|
|
|
std::string.
|
|
|
|
|
(path::_M_split_cmpts): Use dot.
|
|
|
|
|
(filesystem_error::_M_get_what): Use u8string() not native().
|
|
|
|
|
* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Do not
|
|
|
|
|
use symlinks.
|
|
|
|
|
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/absolute.cc: Use
|
|
|
|
|
__gnu_test::root_path() instead of "/" and add Windows-specific tests.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/canonical.cc: Use
|
|
|
|
|
path::string() to get narrow string, not path::native().
|
|
|
|
|
* testsuite/27_io/filesystem/operations/copy.cc: Construct fstreams
|
|
|
|
|
with std::filesystem::path not std::basic_string.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/copy_file.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/exists.cc: Use
|
|
|
|
|
__gnu_test::root_path() instead of "/".
|
|
|
|
|
* testsuite/27_io/filesystem/operations/is_empty.cc: Construct
|
|
|
|
|
fstreams with std::filesystem::path not std::basic_string.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/last_write_time.cc: Use
|
|
|
|
|
path::string() to get narrow string.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/space.cc: Check results for
|
|
|
|
|
errors, expect sensible values otherwise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/temp_directory_path.cc: Add
|
|
|
|
|
helpers for adjusting the environment on Windows.
|
|
|
|
|
* testsuite/27_io/filesystem/path/append/path.cc: Test
|
|
|
|
|
Windows-specific behaviour.
|
|
|
|
|
* testsuite/27_io/filesystem/path/construct/format.cc: Fix creation
|
|
|
|
|
of path::string_type objects.
|
|
|
|
|
* testsuite/27_io/filesystem/path/construct/locale.cc: Compare native
|
|
|
|
|
string to wide string on Windows.
|
|
|
|
|
* testsuite/27_io/filesystem/path/decompose/root_directory.cc: Allow
|
|
|
|
|
for backslash as root-directory.
|
|
|
|
|
* testsuite/27_io/filesystem/path/decompose/stem.cc: Use
|
|
|
|
|
path::string() to get narrow string.
|
|
|
|
|
* testsuite/27_io/filesystem/path/itr/traversal.cc: Test Windows-style
|
|
|
|
|
paths.
|
|
|
|
|
* testsuite/27_io/filesystem/path/native/string.cc: Use string_type
|
|
|
|
|
not std::string.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/is_absolute.cc: Adjust for
|
|
|
|
|
different definintion of absolute paths on Windows.
|
|
|
|
|
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
|
|
|
|
|
Do not use symlinks.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/absolute.cc: Test
|
|
|
|
|
Windows behaviour.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/copy.cc: Construct
|
|
|
|
|
fstreams with NTCTS not std::basic_string.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/exists.cc: Use
|
|
|
|
|
__gnu_test::root_path() instead of "/".
|
|
|
|
|
* testsuite/experimental/filesystem/operations/is_empty.cc: Construct
|
|
|
|
|
fstreams with NTCTS not std::basic_string.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/last_write_time.cc:
|
|
|
|
|
Use path::string() to get narrow string.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/space.cc: Use
|
|
|
|
|
__gnu_test::root_path() instead of "/".
|
|
|
|
|
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
|
|
|
|
|
Add helpers for adjusting the environment on Windows.
|
|
|
|
|
* testsuite/experimental/filesystem/path/append/path.cc: Use
|
|
|
|
|
path::string() to get narrow strings for comparisons.
|
|
|
|
|
* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/native/string.cc: Use
|
|
|
|
|
string_type not std::string.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/is_absolute.cc:
|
|
|
|
|
Adjust for different definintion of absolute paths on Windows.
|
|
|
|
|
* testsuite/util/testsuite_fs.h (__gnu_test::root_path()): New
|
|
|
|
|
function.
|
|
|
|
|
(__gnu_test::scoped_file): Construct fstreams with NTCTS not
|
|
|
|
|
std::basic_string.
|
|
|
|
|
|
PR libstdc++/85951 for make_signed/make_unsigned for character types
Because the wide character types are neither signed integer types nor
unsigned integer types they need to be transformed to an integral type
of the correct size and the lowest rank (which is not necessarily the
underlying type). Reuse the helpers for enumeration types to select the
correct integer.
The refactoring of __make_unsigned_selector and __make_signed_selector
slightly reduces the number of template instantiations and so reduces
memory usage.
PR libstdc++/85951
* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
uint_least16_t and uint_least32_t.
(__make_unsigned<wchar_t>): Define unconditionally.
(__make_unsigned_selector<_Tp, true, false>): Remove intermediate
typedefs.
(__make_unsigned_selector_base): New type to provide helper templates.
(__make_unsigned_selector<_Tp, false, true>): Reimplement using
__make_unsigned_selector_base helpers.
(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
(__make_signed_selector<_Tp, true, false>): Remove intermediate
typedefs.
(__make_signed<wchar_t>, __make_signed<char16_t>)
(__make_signed<char32_t>)): Define unconditionally.
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
wchar_t, char16_t and char32_t are transformed correctly.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
dg-error lineno.
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
wchar_t, char16_t and char32_t are transformed correctly.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
dg-error lineno.
From-SVN: r261023
2018-05-31 14:18:19 +02:00
|
|
|
|
2018-05-31 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85951
|
|
|
|
|
* include/std/type_traits [_GLIBCXX_USE_C99_STDINT_TR1]: Do not define
|
|
|
|
|
uint_least16_t and uint_least32_t.
|
|
|
|
|
(__make_unsigned<wchar_t>): Define unconditionally.
|
|
|
|
|
(__make_unsigned_selector<_Tp, true, false>): Remove intermediate
|
|
|
|
|
typedefs.
|
|
|
|
|
(__make_unsigned_selector_base): New type to provide helper templates.
|
|
|
|
|
(__make_unsigned_selector<_Tp, false, true>): Reimplement using
|
|
|
|
|
__make_unsigned_selector_base helpers.
|
|
|
|
|
(__make_unsigned<char16_t>, __make_unsigned<char32_t>): Define.
|
|
|
|
|
(__make_signed_selector<_Tp, true, false>): Remove intermediate
|
|
|
|
|
typedefs.
|
|
|
|
|
(__make_signed<wchar_t>, __make_signed<char16_t>)
|
|
|
|
|
(__make_signed<char32_t>)): Define unconditionally.
|
|
|
|
|
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: Check
|
|
|
|
|
wchar_t, char16_t and char32_t are transformed correctly.
|
|
|
|
|
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
|
|
|
|
|
dg-error lineno.
|
|
|
|
|
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: Check
|
|
|
|
|
wchar_t, char16_t and char32_t are transformed correctly.
|
|
|
|
|
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
|
|
|
|
|
dg-error lineno.
|
|
|
|
|
|
2018-05-29 19:21:31 +02:00
|
|
|
|
2018-05-29 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/variant (__erased_dtor): Qualify call to __get.
|
|
|
|
|
|
stl_tree.h (_Rb_tree_impl(_Node_allocator&&)): New.
2018-05-27 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tree.h (_Rb_tree_impl(_Node_allocator&&)): New.
(_Rb_tree(const allocator_type&)): Use latter.
* include/bits/stl_map.h (map(const allocator_type&)): Likewise.
(map(initializer_list<value_type>, const allocator_type&)): Likewise.
(map(_InputIterator, _InputIterator, const allocator_type&)): Likewise.
* include/bits/stl_multimap.h
(multimap(const allocator_type&)): Likewise.
(multimap(initializer_list<value_type>, const allocator_type&)):
Likewise.
(multimap(_InputIterator, _InputIterator, const allocator_type&)):
Likewise.
* include/bits/stl_set.h (set(const allocator_type&)): Likewise.
(set(initializer_list<value_type>, const allocator_type&)): Likewise.
(set(_InputIterator, _InputIterator, const allocator_type&)): Likewise.
* include/bits/stl_multiset.h
(multiset(const allocator_type&)): Likewise.
(multiset(initializer_list<value_type>, const allocator_type&)):
Likewise.
(multiset(_InputIterator, _InputIterator, const allocator_type&)):
Likewise.
From-SVN: r260806
2018-05-27 19:06:40 +02:00
|
|
|
|
2018-05-27 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_tree.h (_Rb_tree_impl(_Node_allocator&&)): New.
|
|
|
|
|
(_Rb_tree(const allocator_type&)): Use latter.
|
|
|
|
|
* include/bits/stl_map.h (map(const allocator_type&)): Likewise.
|
|
|
|
|
(map(initializer_list<value_type>, const allocator_type&)): Likewise.
|
|
|
|
|
(map(_InputIterator, _InputIterator, const allocator_type&)): Likewise.
|
|
|
|
|
* include/bits/stl_multimap.h
|
|
|
|
|
(multimap(const allocator_type&)): Likewise.
|
|
|
|
|
(multimap(initializer_list<value_type>, const allocator_type&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(multimap(_InputIterator, _InputIterator, const allocator_type&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/bits/stl_set.h (set(const allocator_type&)): Likewise.
|
|
|
|
|
(set(initializer_list<value_type>, const allocator_type&)): Likewise.
|
|
|
|
|
(set(_InputIterator, _InputIterator, const allocator_type&)): Likewise.
|
|
|
|
|
* include/bits/stl_multiset.h
|
|
|
|
|
(multiset(const allocator_type&)): Likewise.
|
|
|
|
|
(multiset(initializer_list<value_type>, const allocator_type&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(multiset(_InputIterator, _InputIterator, const allocator_type&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-05-25 18:40:55 +02:00
|
|
|
|
2018-05-25 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85768
|
|
|
|
|
* src/c++11/debug.cc: Remove backtrace usage.
|
|
|
|
|
|
2018-05-24 19:31:13 +02:00
|
|
|
|
2018-05-24 Maya Rashish <coypu@sdf.org>
|
|
|
|
|
|
|
|
|
|
PR target/85904
|
|
|
|
|
* crossconfig.m4: Test for aligned_alloc on netbsd.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
Implement P0558R2 changes to std::atomic
The restrictions forbidding arithmetic on atomic pointer types are only
enabled for C++17 and later, retaining the GNU extension for older
standards. The new nested typedefs and changes to prevent scalar
parameters participating in template argument deduction are enabled
unconditionally.
PR libstdc++/69769
PR libstdc++/85886
* include/bits/atomic_base.h (__atomic_base::value_type)
(__atomic_base::difference_type): Add new typedefs.
* include/std/atomic (atomic<bool>::value_type, atomic<T>::value_type)
(atomic<T*>::value_type, atomic<T*>::difference_type): Likewise.
(atomic<T*>::operator++, atomic<T*>::operator--)
(atomic<T*>::operator+=, atomic<T*>::operator-=)
(atomic<T*>::fetch_add, atomic<T*>::fetch_sub): Add static assertion
to enforce C++17 requirement on pointer arithmetic.
(__atomic_val_t, __atomic_diff_t): New alias templates.
(atomic_init, atomic_store_explicit, atomic_exchange_explicit)
(atomic_compare_exchange_weak_explicit)
(atomic_compare_exchange_strong_explicit, atomic_store)
(atomic_exchange, atomic_compare_exchange_weak)
(atomic_compare_exchange_strong): Use __atomic_val_t to make
scalar parameters be non-deduced contexts.
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
(atomic_fetch_add, atomic_fetch_sub): Change first parameter to be
atomic instead of __atomic_base, and use __atomic_diff_t for scalar
parameters.
(atomic_fetch_and_explicit, atomic_fetch_or_explicit)
(atomic_fetch_xor_explicit, atomic_fetch_and, atomic_fetch_or)
(atomic_fetch_xor): Use __atomic_val_t for scalar parameters.
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
(atomic_fetch_add, atomic_fetch_sub): Remove overloads for atomic
address types.
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
* testsuite/29_atomics/atomic/69769.cc: New test.
* testsuite/29_atomics/atomic/nonmembers.cc: New test.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
Disable test for C++17 and later.
* testsuite/29_atomics/atomic/requirements/typedefs.cc: New test.
* testsuite/29_atomics/atomic_integral/nonmembers.cc: New test.
* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: New
test.
From-SVN: r260676
2018-05-24 17:28:26 +02:00
|
|
|
|
2018-05-24 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/69769
|
|
|
|
|
PR libstdc++/85886
|
|
|
|
|
* include/bits/atomic_base.h (__atomic_base::value_type)
|
|
|
|
|
(__atomic_base::difference_type): Add new typedefs.
|
|
|
|
|
* include/std/atomic (atomic<bool>::value_type, atomic<T>::value_type)
|
|
|
|
|
(atomic<T*>::value_type, atomic<T*>::difference_type): Likewise.
|
|
|
|
|
(atomic<T*>::operator++, atomic<T*>::operator--)
|
|
|
|
|
(atomic<T*>::operator+=, atomic<T*>::operator-=)
|
|
|
|
|
(atomic<T*>::fetch_add, atomic<T*>::fetch_sub): Add static assertion
|
|
|
|
|
to enforce C++17 requirement on pointer arithmetic.
|
|
|
|
|
(__atomic_val_t, __atomic_diff_t): New alias templates.
|
|
|
|
|
(atomic_init, atomic_store_explicit, atomic_exchange_explicit)
|
|
|
|
|
(atomic_compare_exchange_weak_explicit)
|
|
|
|
|
(atomic_compare_exchange_strong_explicit, atomic_store)
|
|
|
|
|
(atomic_exchange, atomic_compare_exchange_weak)
|
|
|
|
|
(atomic_compare_exchange_strong): Use __atomic_val_t to make
|
|
|
|
|
scalar parameters be non-deduced contexts.
|
|
|
|
|
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
|
|
|
|
|
(atomic_fetch_add, atomic_fetch_sub): Change first parameter to be
|
|
|
|
|
atomic instead of __atomic_base, and use __atomic_diff_t for scalar
|
|
|
|
|
parameters.
|
|
|
|
|
(atomic_fetch_and_explicit, atomic_fetch_or_explicit)
|
|
|
|
|
(atomic_fetch_xor_explicit, atomic_fetch_and, atomic_fetch_or)
|
|
|
|
|
(atomic_fetch_xor): Use __atomic_val_t for scalar parameters.
|
|
|
|
|
(atomic_fetch_add_explicit, atomic_fetch_sub_explicit)
|
|
|
|
|
(atomic_fetch_add, atomic_fetch_sub): Remove overloads for atomic
|
|
|
|
|
address types.
|
|
|
|
|
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno.
|
|
|
|
|
* testsuite/29_atomics/atomic/69769.cc: New test.
|
|
|
|
|
* testsuite/29_atomics/atomic/nonmembers.cc: New test.
|
|
|
|
|
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
|
|
|
|
|
Disable test for C++17 and later.
|
|
|
|
|
* testsuite/29_atomics/atomic/requirements/typedefs.cc: New test.
|
|
|
|
|
* testsuite/29_atomics/atomic_integral/nonmembers.cc: New test.
|
|
|
|
|
* testsuite/29_atomics/atomic_integral/requirements/typedefs.cc: New
|
|
|
|
|
test.
|
|
|
|
|
|
2018-05-23 18:11:06 +02:00
|
|
|
|
2018-05-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-24 00:48:51 +02:00
|
|
|
|
* include/bits/fs_path.h (path::__is_encoded_char): Change from class
|
|
|
|
|
template to alias template.
|
|
|
|
|
(path::__value_type_is_char): Use remove_const_t.
|
|
|
|
|
(path:_S_string_from_iter): New helper function.
|
|
|
|
|
(path::_S_convert(InputIter, __null_terminated))
|
|
|
|
|
(path::_S_convert_loc(InputIter, __null_terminated, const locale&)):
|
|
|
|
|
Use _S_string_from_iter.
|
|
|
|
|
(path::string<_CharT, _Allocator>(const _Allocator&)): Allow sharing
|
|
|
|
|
rep for COW strings.
|
|
|
|
|
* include/experimental/bits/fs_path.h (path::__is_encoded_char):
|
|
|
|
|
Change from class template to alias template.
|
|
|
|
|
(path::__value_type_is_char): Use remove_const.
|
|
|
|
|
(path:_S_string_from_iter): New helper function.
|
|
|
|
|
(path::_S_convert(InputIter, __null_terminated))
|
|
|
|
|
(path::_S_convert_loc(InputIter, __null_terminated, const locale&)):
|
|
|
|
|
Use _S_string_from_iter.
|
|
|
|
|
* testsuite/27_io/filesystem/path/append/source.cc: Test appending
|
|
|
|
|
wide strings.
|
|
|
|
|
* testsuite/27_io/filesystem/path/concat/strings.cc: Check for exact
|
|
|
|
|
string equality, not path equivalence.
|
|
|
|
|
* testsuite/27_io/filesystem/path/construct/format.cc: Check
|
|
|
|
|
construction from std::string and std::wstring and input iterators.
|
|
|
|
|
* testsuite/27_io/filesystem/path/construct/locale.cc: Check
|
|
|
|
|
construction from iterators.
|
|
|
|
|
* testsuite/experimental/filesystem/path/concat/strings.cc: Check for
|
|
|
|
|
exact string equality, not path equivalence.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/locale.cc: Check
|
|
|
|
|
construction from iterators.
|
|
|
|
|
|
2018-05-23 18:11:06 +02:00
|
|
|
|
* include/bits/fs_path.h (path::_M_type): Change default member
|
|
|
|
|
initializer to _Filename.
|
|
|
|
|
(path::begin): Create past-the-end iterator for empty path.
|
|
|
|
|
* src/filesystem/std-path.cc (path::remove_filename()): Remove
|
|
|
|
|
debugging check.
|
|
|
|
|
(path::has_relative_path()): Return false for empty filenames.
|
|
|
|
|
(path::_M_split_cmpts): Set _M_type to _Filename for empty paths.
|
|
|
|
|
Fix offset of empty final component.
|
|
|
|
|
* testsuite/27_io/filesystem/path/itr/components.cc: New.
|
|
|
|
|
* testsuite/27_io/filesystem/path/itr/traversal.cc: Add new inputs.
|
|
|
|
|
|
Add support for opening file streams from wide character strings
C++17 added new overloads to <fstream> class templates to support
opening files from wide character strings "on systems where
filesystem::path::value_type is not char". This patch adds those
overloads conditional on _wfopen being available, and enables them for
pre-C++17 modes as well.
Add support for opening file streams from wide character strings.
* config/io/basic_file_stdio.cc [_GLIBCXX_HAVE__WFOPEN]
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
Define new overload.
* config/io/basic_file_stdio.h [_GLIBCXX_HAVE__WFOPEN]
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
Declare new overload.
* configure.ac: Check for _wfopen.
* crossconfig.m4: Likewise.
* configure: Regenerate.
* config.h.in: Regenerate.
* include/bits/fstream.tcc [_GLIBCXX_HAVE__WFOPEN]
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
Define new overload.
* include/std/fstream [_GLIBCXX_HAVE__WFOPEN]
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
Declare new overload.
[_GLIBCXX_HAVE__WFOPEN]
(basic_ifstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_ifstream<C,T>::basic_open(const wchar_t*, openmode))
(basic_ofstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_ofstream<C,T>::basic_open(const wchar_t*, openmode))
(basic_fstream<C,T>::basic_ifstream(const wchar_t*, openmode))
(basic_fstream<C,T>::basic_open(const wchar_t*, openmode)): Define
new overloads.
* testsuite/27_io/basic_filebuf/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_ofstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_ofstream/open/wchar_t/1.cc: New.
* testsuite/27_io/basic_fstream/cons/wchar_t/1.cc: New.
* testsuite/27_io/basic_fstream/open/wchar_t/1.cc: New.
From-SVN: r260479
2018-05-21 19:18:35 +02:00
|
|
|
|
2018-05-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
Add support for opening file streams from wide character strings.
|
|
|
|
|
* config/io/basic_file_stdio.cc [_GLIBCXX_HAVE__WFOPEN]
|
|
|
|
|
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
|
|
|
|
|
Define new overload.
|
|
|
|
|
* config/io/basic_file_stdio.h [_GLIBCXX_HAVE__WFOPEN]
|
|
|
|
|
(__basic_file<char>::open(const wchar_t*, ios_base::openmode)):
|
|
|
|
|
Declare new overload.
|
|
|
|
|
* configure.ac: Check for _wfopen.
|
|
|
|
|
* crossconfig.m4: Likewise.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* include/bits/fstream.tcc [_GLIBCXX_HAVE__WFOPEN]
|
|
|
|
|
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
|
|
|
|
|
Define new overload.
|
|
|
|
|
* include/std/fstream [_GLIBCXX_HAVE__WFOPEN]
|
|
|
|
|
(basic_filebuf<C,T>::open(const wchar_t*, ios_base::openmode)):
|
|
|
|
|
Declare new overload.
|
|
|
|
|
[_GLIBCXX_HAVE__WFOPEN]
|
|
|
|
|
(basic_ifstream<C,T>::basic_ifstream(const wchar_t*, openmode))
|
|
|
|
|
(basic_ifstream<C,T>::basic_open(const wchar_t*, openmode))
|
|
|
|
|
(basic_ofstream<C,T>::basic_ifstream(const wchar_t*, openmode))
|
|
|
|
|
(basic_ofstream<C,T>::basic_open(const wchar_t*, openmode))
|
|
|
|
|
(basic_fstream<C,T>::basic_ifstream(const wchar_t*, openmode))
|
|
|
|
|
(basic_fstream<C,T>::basic_open(const wchar_t*, openmode)): Define
|
|
|
|
|
new overloads.
|
|
|
|
|
* testsuite/27_io/basic_filebuf/open/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_ifstream/cons/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_ofstream/cons/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_ofstream/open/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_fstream/cons/wchar_t/1.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_fstream/open/wchar_t/1.cc: New.
|
|
|
|
|
|
2018-05-21 18:51:47 +02:00
|
|
|
|
2018-05-21 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85845
|
|
|
|
|
* include/bits/stl_tree.h
|
|
|
|
|
(_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): Fix noexcept
|
|
|
|
|
qualification.
|
|
|
|
|
|
2018-05-21 01:50:08 +02:00
|
|
|
|
2018-05-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-21 14:52:44 +02:00
|
|
|
|
* src/filesystem/std-ops.cc (absolute): Report an error for empty
|
|
|
|
|
paths.
|
|
|
|
|
(weakly_canonical(const path&)): Do not call canonical on empty path.
|
|
|
|
|
(weakly_canonical(const path&, error_code&)): Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/absolute.cc: Check for errors.
|
|
|
|
|
|
2018-05-21 14:27:00 +02:00
|
|
|
|
PR libstdc++/85818
|
|
|
|
|
* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
|
|
|
|
|
dg-require-filesystem-ts.
|
|
|
|
|
|
2018-05-21 01:50:08 +02:00
|
|
|
|
PR libstdc++/85843
|
|
|
|
|
* src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Explicitly
|
|
|
|
|
initialize base class to avoid warnings.
|
|
|
|
|
|
2018-05-19 04:03:42 +02:00
|
|
|
|
2018-05-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
|
|
|
|
|
[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
|
|
|
|
|
little_endian element in bitmask.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
|
|
|
|
|
|
2018-05-18 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_tree.h
(_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
(_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
(_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
(_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
* include/debug/map.h
(map(map&&, const_allocator_type&)): Add noexcept qualitication.
* include/debug/multimap.h
(multimap(multimap&&, const_allocator_type&)): Likewise.
* include/debug/set.h
(set(set&&, const_allocator_type&)): Likewise.
* include/debug/multiset.h
(multiset(multiset&&, const_allocator_type&)): Likewise.
* testsuite/23_containers/map/cons/noexcept_default_construct.cc:
Add checks.
* testsuite/23_containers/map/cons/noexcept_move_construct.cc:
Add checks.
* testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
Add checks.
* testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
Add checks.
* testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
Add checks.
* testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
Add checks.
* testsuite/23_containers/set/cons/noexcept_default_construct.cc:
Add checks.
* testsuite/23_containers/set/cons/noexcept_move_construct.cc:
Add checks.
From-SVN: r260382
2018-05-18 22:49:49 +02:00
|
|
|
|
2018-05-18 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_tree.h
|
|
|
|
|
(_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
|
|
|
|
|
(_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
|
|
|
|
|
(_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
|
|
|
|
|
(_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
|
|
|
|
|
* include/debug/map.h
|
|
|
|
|
(map(map&&, const_allocator_type&)): Add noexcept qualitication.
|
|
|
|
|
* include/debug/multimap.h
|
|
|
|
|
(multimap(multimap&&, const_allocator_type&)): Likewise.
|
|
|
|
|
* include/debug/set.h
|
|
|
|
|
(set(set&&, const_allocator_type&)): Likewise.
|
|
|
|
|
* include/debug/multiset.h
|
|
|
|
|
(multiset(multiset&&, const_allocator_type&)): Likewise.
|
|
|
|
|
* testsuite/23_containers/map/cons/noexcept_default_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/map/cons/noexcept_move_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/set/cons/noexcept_default_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
* testsuite/23_containers/set/cons/noexcept_move_construct.cc:
|
|
|
|
|
Add checks.
|
|
|
|
|
|
2018-05-18 22:02:14 +02:00
|
|
|
|
2018-05-18 Jason Merrill <jason@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
|
|
|
|
|
for conversion to const_iterator. Add defaulted copy ops.
|
|
|
|
|
* libsupc++/new (bad_alloc): Add defaulted copy ops.
|
|
|
|
|
* libsupc++/exception.h (exception): Add defaulted copy ops.
|
|
|
|
|
* include/std/system_error (system_error): Add defaulted copy ops.
|
|
|
|
|
* include/std/stdexcept (domain_error, invalid_argument)
|
|
|
|
|
(length_error, out_of_range, range_error, overflow_error)
|
|
|
|
|
(underflow_error): Add defaulted copy ops.
|
|
|
|
|
* include/bits/stl_iterator.h (reverse_iterator): Add defaulted
|
|
|
|
|
copy assignment.
|
|
|
|
|
* include/bits/allocator.h (allocator): Add defaulted copy assignment.
|
|
|
|
|
* include/ext/throw_allocator.h (condition_base): Add defaulted
|
|
|
|
|
default and copy ctor and copy assignment.
|
|
|
|
|
|
2018-05-18 18:14:04 +02:00
|
|
|
|
2018-05-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85098
|
|
|
|
|
* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
|
|
|
|
|
(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
|
|
|
|
|
(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
|
|
|
|
|
(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
|
|
|
|
|
definitions.
|
|
|
|
|
* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
|
|
|
|
|
whitespace.
|
|
|
|
|
* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
|
|
|
|
|
braces around body of do-while.
|
|
|
|
|
* testsuite/28_regex/basic_regex/85098.cc: New
|
|
|
|
|
|
2018-05-17 17:03:29 +02:00
|
|
|
|
2018-05-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-17 17:36:25 +02:00
|
|
|
|
PR libstdc++/85818
|
|
|
|
|
* src/filesystem/path.cc (path::preferred_separator): Add used
|
|
|
|
|
attribute.
|
|
|
|
|
* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
|
|
|
|
|
|
2018-05-17 17:03:29 +02:00
|
|
|
|
PR libstdc++/85812
|
|
|
|
|
* libsupc++/cxxabi_init_exception.h (__cxa_free_exception): Declare.
|
|
|
|
|
* libsupc++/exception_ptr.h (make_exception_ptr) [__cpp_exceptions]:
|
|
|
|
|
Refactor to separate non-throwing and throwing implementations.
|
|
|
|
|
[__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Deallocate the memory
|
|
|
|
|
if constructing the object throws.
|
|
|
|
|
|
2018-05-15 14:06:57 +02:00
|
|
|
|
2018-05-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-15 17:36:46 +02:00
|
|
|
|
PR libstdc++/85749
|
|
|
|
|
* include/bits/random.h (__detail::__is_seed_seq): New SFINAE helper.
|
|
|
|
|
(linear_congruential_engine, mersenne_twister_engine)
|
|
|
|
|
(subtract_with_carry_engine, discard_block_engine)
|
|
|
|
|
(independent_bits_engine, shuffle_order_engine): Use __is_seed_seq to
|
|
|
|
|
constrain function templates taking seed sequences.
|
|
|
|
|
* include/bits/random.tcc (linear_congruential_engine::seed(_Sseq&))
|
|
|
|
|
(mersenne_twister_engine::seed(_Sseq&))
|
|
|
|
|
(subtract_with_carry_engine::seed(_Sseq&)): Change return types to
|
|
|
|
|
match declarations.
|
|
|
|
|
* include/ext/random (simd_fast_mersenne_twister_engine): Use
|
|
|
|
|
__is_seed_seq to constrain function templates taking seed sequences.
|
|
|
|
|
* include/ext/random.tcc (simd_fast_mersenne_twister_engine::seed):
|
|
|
|
|
Change return type to match declaration.
|
|
|
|
|
* testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/26_numerics/random/independent_bits_engine/cons/
|
|
|
|
|
seed_seq2.cc: New.
|
|
|
|
|
* testsuite/26_numerics/random/linear_congruential_engine/cons/
|
|
|
|
|
seed_seq2.cc: New.
|
|
|
|
|
* testsuite/26_numerics/random/mersenne_twister_engine/cons/
|
|
|
|
|
seed_seq2.cc: New.
|
|
|
|
|
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lineno.
|
|
|
|
|
* testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
|
|
|
|
|
seed_seq2.cc: New.
|
|
|
|
|
* testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/
|
|
|
|
|
seed_seq2.cc: New.
|
|
|
|
|
|
2018-05-15 15:50:49 +02:00
|
|
|
|
PR libstdc++/83891
|
|
|
|
|
* include/bits/fs_path.h (path::is_absolute()): Use same definition
|
|
|
|
|
for all operating systems.
|
|
|
|
|
* include/experimental/bits/fs_path.h (path::is_absolute()): Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/is_absolute.cc: New.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/is_relative.cc: Fix comment.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/is_absolute.cc: New.
|
|
|
|
|
|
2018-05-15 14:43:44 +02:00
|
|
|
|
* testsuite/27_io/filesystem/path/decompose/extension.cc: Remove
|
|
|
|
|
unused <vector> header.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/empty.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_extension.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_filename.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_parent_path.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_relative_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_root_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_root_name.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_root_path.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/has_stem.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/path/query/is_relative.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/extension.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_extension.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_filename.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/is_relative.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-05-15 14:07:09 +02:00
|
|
|
|
PR libstdc++/84159
|
|
|
|
|
* include/bits/fs_path.h (path::operator/=, path::append): Construct
|
|
|
|
|
temporary path before calling _M_append.
|
|
|
|
|
(path::_M_append): Change parameter to path and implement C++17
|
|
|
|
|
semantics.
|
|
|
|
|
* testsuite/27_io/filesystem/path/append/path.cc: Add helper function
|
|
|
|
|
and more examples from the standard.
|
|
|
|
|
* testsuite/27_io/filesystem/path/append/source.cc: New.
|
|
|
|
|
* testsuite/27_io/filesystem/path/decompose/filename.cc: Add comment.
|
|
|
|
|
* testsuite/27_io/filesystem/path/nonmember/append.cc: New.
|
|
|
|
|
|
2018-05-15 14:06:57 +02:00
|
|
|
|
* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
|
|
|
|
|
__invoke to prevent ADL.
|
|
|
|
|
|
2018-05-14 16:27:54 +02:00
|
|
|
|
2018-05-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-14 20:57:45 +02:00
|
|
|
|
PR libstdc++/81256
|
|
|
|
|
* include/bits/fstream.tcc (basic_filebuf::close): Do not swallow
|
|
|
|
|
exceptions from _M_terminate_output().
|
|
|
|
|
* include/std/fstream (basic_filebuf::~basic_filebuf): Swallow any
|
|
|
|
|
exceptions from close().
|
|
|
|
|
* testsuite/27_io/basic_filebuf/close/81256.cc: New.
|
|
|
|
|
|
2018-05-14 17:35:12 +02:00
|
|
|
|
* include/bits/valarray_array.h (__valarray_get_memory): Remove.
|
|
|
|
|
(__valarray_get_storage): Call operator new directly. Remove ignored
|
|
|
|
|
top-level restrict qualifier and add malloc attribute instead.
|
|
|
|
|
(_Array<_Tp>::_Array(size_t)): Remove unused constructor.
|
|
|
|
|
|
2018-05-14 17:35:06 +02:00
|
|
|
|
PR libstdc++/67554
|
|
|
|
|
* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
|
|
|
|
|
(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
|
|
|
|
|
|
2018-05-14 16:27:54 +02:00
|
|
|
|
PR libstdc++/82966
|
|
|
|
|
* include/bits/node_handle.h (_Node_handle_common::_M_swap): Use value
|
|
|
|
|
instead of type.
|
|
|
|
|
* testsuite/23_containers/set/modifiers/node_swap.cc: New.
|
|
|
|
|
|
2018-05-13 12:36:12 +02:00
|
|
|
|
2018-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80165
|
|
|
|
|
* testsuite/20_util/variant/80165.cc: New.
|
|
|
|
|
|
2018-05-10 21:13:42 +02:00
|
|
|
|
2018-05-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/faq.xml: Link to C++17 status. Add note to outdated answer.
|
|
|
|
|
* doc/xml/manual/debug_mode.xml: Add array and forward_list to list
|
|
|
|
|
of C++11 containers with Debug Mode support.
|
|
|
|
|
* doc/xml/manual/using.xml: Document Dual ABI for ios_base::failure.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2018-05-10 21:12:23 +02:00
|
|
|
|
2018-05-10 Jason Merrill <jason@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/regex_compiler.h (_S_cache_size): Change from
|
|
|
|
|
function to variable.
|
|
|
|
|
|
2018-05-10 15:59:52 +02:00
|
|
|
|
2018-05-10 Edward Smith-Rowland <3dw4rd@verizon.net>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/83140 - assoc_legendre returns negated value when m is odd
|
|
|
|
|
* include/tr1/legendre_function.tcc (__assoc_legendre_p): Add __phase
|
|
|
|
|
argument defaulted to +1. Doxy comments on same.
|
|
|
|
|
* testsuite/special_functions/02_assoc_legendre/
|
2018-05-11 03:44:05 +02:00
|
|
|
|
check_value.cc: Regen.
|
2018-05-10 15:59:52 +02:00
|
|
|
|
* testsuite/tr1/5_numerical_facilities/special_functions/
|
2018-05-11 03:44:05 +02:00
|
|
|
|
02_assoc_legendre/check_value.cc: Regen.
|
2018-05-10 15:59:52 +02:00
|
|
|
|
|
2018-05-10 14:35:45 +02:00
|
|
|
|
2018-05-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85729
|
|
|
|
|
* include/bits/c++config.h (__replacement_assert): Add linkage
|
|
|
|
|
specification.
|
|
|
|
|
* include/bits/std_abs.h: Add comment to closing brace of block.
|
|
|
|
|
* include/c_global/cstddef: Add linkage specification.
|
|
|
|
|
* include/c_global/cstring: Likewise.
|
|
|
|
|
* include/c_global/cwchar: Likewise.
|
|
|
|
|
|
safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in...
2018-05-09 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
Rename in...
(_Safe_iterator<>::_S_constant()): ...that.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::_M_constant()): Rename in...
(_Safe_local_iterator<>::_S_constant()): ...that.
* include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
(_Iterator_state::__rbegin): New.
(_Iterator_state::__rmiddle): New.
(_Iterator_state::__rend): New.
(_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
_Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
iterator type.
(_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
_Is_iterator)): Likewise.
(_Parameter::_S_reverse_state(_Iterator_state)): New.
(_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
_Is_iterator)): New.
(_Parameter(std::reverse_iterator<> const&, const char*,
_Is_iterator)): New.
(_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
const char*, _Is_iterator)): New.
(_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
New.
(_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
_Is_iterator)): New.
* testsuite/24_iterators/move_iterator/debug_neg.cc: New.
* testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
* testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
From-SVN: r260093
2018-05-09 22:04:46 +02:00
|
|
|
|
2018-05-09 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
|
|
|
|
|
Rename in...
|
|
|
|
|
(_Safe_iterator<>::_S_constant()): ...that.
|
|
|
|
|
* include/debug/safe_local_iterator.h
|
|
|
|
|
(_Safe_local_iterator<>::_M_constant()): Rename in...
|
|
|
|
|
(_Safe_local_iterator<>::_S_constant()): ...that.
|
|
|
|
|
* include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
|
|
|
|
|
(_Iterator_state::__rbegin): New.
|
|
|
|
|
(_Iterator_state::__rmiddle): New.
|
|
|
|
|
(_Iterator_state::__rend): New.
|
|
|
|
|
(_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
|
|
|
|
|
_Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
|
|
|
|
|
iterator type.
|
|
|
|
|
(_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
|
|
|
|
|
_Is_iterator)): Likewise.
|
|
|
|
|
(_Parameter::_S_reverse_state(_Iterator_state)): New.
|
2018-05-10 21:13:42 +02:00
|
|
|
|
(_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
|
safe_iterator.h (_Safe_iterator<>::_M_constant()): Rename in...
2018-05-09 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h (_Safe_iterator<>::_M_constant()):
Rename in...
(_Safe_iterator<>::_S_constant()): ...that.
* include/debug/safe_local_iterator.h
(_Safe_local_iterator<>::_M_constant()): Rename in...
(_Safe_local_iterator<>::_S_constant()): ...that.
* include/debug/formatter.h: Remove bits/cpp_type_traits.h include.
(_Iterator_state::__rbegin): New.
(_Iterator_state::__rmiddle): New.
(_Iterator_state::__rend): New.
(_Parameter::_Parameter(const _Safe_iterator<>&, const char*,
_Is_iterator)): Use _Safe_iterator<>::_S_constant. Grab normal underlying
iterator type.
(_Parameter::_Parameter(const _Safe_local_iterator<>&, const char*,
_Is_iterator)): Likewise.
(_Parameter::_S_reverse_state(_Iterator_state)): New.
(_Parameter(__gnu_cxx::__normal_iterator<> const&, const char*,
_Is_iterator)): New.
(_Parameter(std::reverse_iterator<> const&, const char*,
_Is_iterator)): New.
(_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
const char*, _Is_iterator)): New.
(_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
New.
(_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
_Is_iterator)): New.
* testsuite/24_iterators/move_iterator/debug_neg.cc: New.
* testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
* testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
From-SVN: r260093
2018-05-09 22:04:46 +02:00
|
|
|
|
_Is_iterator)): New.
|
|
|
|
|
(_Parameter(std::reverse_iterator<> const&, const char*,
|
|
|
|
|
_Is_iterator)): New.
|
|
|
|
|
(_Parameter(std::reverse_iterator<_Safe_iterator<>> const&,
|
|
|
|
|
const char*, _Is_iterator)): New.
|
|
|
|
|
(_Parameter(std::move_iterator<> const&, const char*, _Is_iterator):
|
|
|
|
|
New.
|
|
|
|
|
(_Parameter(std::move_iterator<_Safe_iterator<>> const&, const char*,
|
|
|
|
|
_Is_iterator)): New.
|
|
|
|
|
* testsuite/24_iterators/move_iterator/debug_neg.cc: New.
|
|
|
|
|
* testsuite/24_iterators/normal_iterator/debug_neg.cc: New.
|
|
|
|
|
* testsuite/24_iterators/reverse_iterator/debug_neg.cc: New.
|
|
|
|
|
|
2018-05-09 15:28:11 +02:00
|
|
|
|
2018-05-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/std_function.h (_Base_manager::_M_get_pointer):
|
|
|
|
|
Use constexpr if in C++17 mode.
|
|
|
|
|
(_Base_manager::_M_clone(_Any_data&, const _Any_data&, true_type)):
|
|
|
|
|
Copy from const object.
|
|
|
|
|
* testsuite/20_util/function/cons/non_copyconstructible.cc: New.
|
|
|
|
|
|
2018-05-08 21:41:02 +02:00
|
|
|
|
2018-05-08 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
2018-05-08 22:00:52 +02:00
|
|
|
|
* src/c++11/debug.cc [_GLIBCXX_HAVE_EXECINFO_H]: Include execinfo.h.
|
|
|
|
|
[_GLIBCXX_HAVE_EXECINFO_H](_Error_formatter::_M_error): Render
|
|
|
|
|
backtrace.
|
|
|
|
|
|
macros.h (__glibcxx_check_valid_range_at): New.
2018-05-08 François Dumont <fdumont@gcc.gnu.org>
* include/debug/macros.h (__glibcxx_check_valid_range_at): New.
* include/debug/functions.h (__check_valid_range): Use latter.
* include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
use latter.
* include/debug/deque
(deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
* include/debug/forward_list
(forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
Likewise.
* include/debug/list
(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
* include/debug/list
(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
* include/debug/map.h
(map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
(map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
Likewise.
* include/debug/multimap.h
(multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
(multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
const _Alloc&)): Likewise.
* include/debug/set.h
(set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
(set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
Likewise.
* include/debug/multiset.h
(multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
(multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
const _Alloc&)): Likewise.
* include/debug/string
(basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
Likewise.
* include/debug/unordered_map
(unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
Likewise.
(unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
const _Alloc&)): Likewise.
* include/debug/unordered_set
(unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
Likewise.
(unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
const _Alloc&)): Likewise.
* include/debug/vector
(vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
From-SVN: r260053
2018-05-08 21:46:59 +02:00
|
|
|
|
* include/debug/macros.h (__glibcxx_check_valid_range_at): New.
|
|
|
|
|
* include/debug/functions.h (__check_valid_range): Use latter.
|
|
|
|
|
* include/debug/macros.h (__glibcxx_check_valid_constructor_range): New,
|
|
|
|
|
use latter.
|
|
|
|
|
* include/debug/deque
|
|
|
|
|
(deque::deque<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
|
|
|
|
|
* include/debug/forward_list
|
|
|
|
|
(forward_list::forward_list<_Iter>(_Iter, _Iter, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/debug/list
|
|
|
|
|
(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/list
|
|
|
|
|
(list::list<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/map.h
|
|
|
|
|
(map::map<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
(map::map<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/debug/multimap.h
|
|
|
|
|
(multimap::multimap<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
(multimap::multimap<_Iter>(_Iter, _Iter, const _Compare&,
|
|
|
|
|
const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/set.h
|
|
|
|
|
(set::set<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
(set::set<_Iter>(_Iter, _Iter, const _Compare&, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/debug/multiset.h
|
|
|
|
|
(multiset::multiset<_Iter>(_Iter, _Iter, const _Alloc&)): Likewise.
|
|
|
|
|
(multiset::multiset<_Iter>(_Iter, _Iter, const _Compare&,
|
|
|
|
|
const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/string
|
|
|
|
|
(basic_string::basic_string<_Iter>(_Iter, _Iter, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/debug/unordered_map
|
|
|
|
|
(unordered_map::unordered_map<_Iter>(_Iter, _Iter, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(unordered_multimap::unordered_multimap<_Iter>(_Iter, _Iter,
|
|
|
|
|
const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/unordered_set
|
|
|
|
|
(unordered_set::unordered_set<_Iter>(_Iter, _Iter, const _Alloc&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(unordered_multiset::unordered_multiset<_Iter>(_Iter, _Iter,
|
|
|
|
|
const _Alloc&)): Likewise.
|
|
|
|
|
* include/debug/vector
|
|
|
|
|
(vector::vector<_Iter>(_Iter, _Iter, const _Alloc&)): Use latter.
|
|
|
|
|
|
2018-05-08 21:41:02 +02:00
|
|
|
|
* include/debug/formatter.h (_Error_formatter::_M_function): New.
|
|
|
|
|
(_Error_formatter(const char*, unsigned int)): Adapt.
|
|
|
|
|
(_Error_formatter::_M_at): Rename in...
|
|
|
|
|
(_Error_formatter::_S_at): ...that and adapt.
|
|
|
|
|
* include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_AT_F): New.
|
|
|
|
|
(_GLIBCXX_DEBUG_VERIFY_AT, _GLIBCXX_DEBUG_VERIFY): Adapt.
|
|
|
|
|
* src/c++11/debug.cc (_Error_formatter::_M_error): Render _M_function
|
|
|
|
|
when available.
|
|
|
|
|
|
2018-05-08 15:05:04 +02:00
|
|
|
|
2018-05-08 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-08 18:21:35 +02:00
|
|
|
|
* include/bits/regex_automaton.h (_NFA_base::_M_paren_stack, _NFA):
|
|
|
|
|
Use normal std::vector even in Debug Mode.
|
|
|
|
|
|
2018-05-08 15:05:04 +02:00
|
|
|
|
PR libstdc++/85672
|
|
|
|
|
* include/Makefile.am [!ENABLE_FLOAT128]: Change c++config.h entry
|
|
|
|
|
to #undef _GLIBCXX_USE_FLOAT128 instead of defining it to zero.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++config (_GLIBCXX_USE_FLOAT128): Move definition
|
|
|
|
|
within conditional block.
|
|
|
|
|
|
2018-05-07 19:26:28 +02:00
|
|
|
|
2018-05-07 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-07 21:17:16 +02:00
|
|
|
|
* doc/xml/manual/using.xml (table.cmd_options): Document that the
|
|
|
|
|
C++17 Filesystem implementation also needs -lstdc++fs.
|
|
|
|
|
|
2018-05-07 19:26:28 +02:00
|
|
|
|
PR libstdc++/85671
|
|
|
|
|
* include/bits/fs_path.h (operator/): Permit copy elision.
|
|
|
|
|
* include/experimental/bits/fs_path.h (operator/): Likewise.
|
|
|
|
|
|
2018-05-07 18:17:32 +02:00
|
|
|
|
2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
|
|
|
|
|
|
|
|
|
|
Moar PR libstdc++/80506
|
|
|
|
|
* include/bits/random.tcc (gamma_distribution::__generate_impl()):
|
|
|
|
|
Fix magic number used in loop condition.
|
|
|
|
|
|
PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
Add missing noexcept keyword to default constructor of each
_Optional_payload specialization.
PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
* include/std/optional (_Optional_payload): Add noexcept to default
constructor. Re-indent.
(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
constructor for copying disengaged payloads.
(_Optional_payload<_Tp, true, false, true>): Likewise.
(_Optional_payload<_Tp, true, true, false>): Likewise.
(_Optional_payload<_Tp, true, false, false>): Likewise.
* testsuite/20_util/optional/cons/85642.cc: New.
* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
From-SVN: r259928
2018-05-04 10:57:23 +02:00
|
|
|
|
2018-05-04 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85642 fix is_nothrow_default_constructible<optional<T>>
|
|
|
|
|
* include/std/optional (_Optional_payload): Add noexcept to default
|
|
|
|
|
constructor. Re-indent.
|
|
|
|
|
(_Optional_payload<_Tp, true, true, true>): Likewise. Add noexcept to
|
|
|
|
|
constructor for copying disengaged payloads.
|
|
|
|
|
(_Optional_payload<_Tp, true, false, true>): Likewise.
|
|
|
|
|
(_Optional_payload<_Tp, true, true, false>): Likewise.
|
|
|
|
|
(_Optional_payload<_Tp, true, false, false>): Likewise.
|
|
|
|
|
* testsuite/20_util/optional/cons/85642.cc: New.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error lines.
|
|
|
|
|
|
2018-05-03 14:40:10 +02:00
|
|
|
|
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-04 00:58:43 +02:00
|
|
|
|
PR libstdc++/82644
|
|
|
|
|
* include/tr1/cmath [__STRICT_ANSI__] (hypergf, hypergl, hyperg): Use
|
|
|
|
|
inline definitions instead of using-declarations.
|
|
|
|
|
[__STRICT_ANSI__] (conf_hypergf, conf_hypergl, conf_hyperg): Likewise.
|
|
|
|
|
* testsuite/tr1/5_numerical_facilities/special_functions/
|
|
|
|
|
07_conf_hyperg/compile_cxx17.cc: New.
|
|
|
|
|
* testsuite/tr1/5_numerical_facilities/special_functions/
|
|
|
|
|
17_hyperg/compile_cxx17.cc: New.
|
|
|
|
|
|
2018-05-03 20:58:04 +02:00
|
|
|
|
PR libstdc++/84769
|
|
|
|
|
* include/std/variant (visit): Qualify std::get call.
|
|
|
|
|
|
2018-05-03 20:58:00 +02:00
|
|
|
|
PR libstdc++/85632 use uintmax_t for arithmetic
|
|
|
|
|
* src/filesystem/ops.cc (experimental::filesystem::space): Perform
|
|
|
|
|
arithmetic in result type.
|
|
|
|
|
* src/filesystem/std-ops.cc (filesystem::space): Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/space.cc: Check total capacity
|
|
|
|
|
is greater than free space.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/space.cc: New.
|
|
|
|
|
|
2018-05-03 17:12:19 +02:00
|
|
|
|
* testsuite/20_util/remove_cvref/requirements/alias_decl.cc: New.
|
|
|
|
|
* testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/20_util/remove_cvref/value.cc: New.
|
|
|
|
|
* testsuite/20_util/remove_cvref/value_ext.cc: New.
|
|
|
|
|
|
PR libstdc++/84087 add default arguments to basic_string members (LWG 2268)
This change was a DR against C++11 and so should have been implemented
years ago.
PR libstdc++/84087 LWG DR 2268 basic_string default arguments
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
(append(const basic_string&, size_type, size_type)
(assign(const basic_string&, size_type, size_type)
(insert(size_type, const basic_string&, size_type, size_type)
(replace(size_type,size_type,const basic_string&,size_type,size_type)
(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
Add default arguments (LWG 2268).
[_GLIBCXX_USE_CXX11_ABI=0]
(append(const basic_string&, size_type, size_type)
(assign(const basic_string&, size_type, size_type)
(insert(size_type, const basic_string&, size_type, size_type)
(replace(size_type,size_type,const basic_string&,size_type,size_type)
(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
Likewise.
* testsuite/21_strings/basic_string/dr2268.cc: New test.
From-SVN: r259895
2018-05-03 17:01:20 +02:00
|
|
|
|
PR libstdc++/84087 LWG DR 2268 basic_string default arguments
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI=1]
|
|
|
|
|
(append(const basic_string&, size_type, size_type)
|
|
|
|
|
(assign(const basic_string&, size_type, size_type)
|
|
|
|
|
(insert(size_type, const basic_string&, size_type, size_type)
|
|
|
|
|
(replace(size_type,size_type,const basic_string&,size_type,size_type)
|
|
|
|
|
(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
|
|
|
|
|
Add default arguments (LWG 2268).
|
|
|
|
|
[_GLIBCXX_USE_CXX11_ABI=0]
|
|
|
|
|
(append(const basic_string&, size_type, size_type)
|
|
|
|
|
(assign(const basic_string&, size_type, size_type)
|
|
|
|
|
(insert(size_type, const basic_string&, size_type, size_type)
|
|
|
|
|
(replace(size_type,size_type,const basic_string&,size_type,size_type)
|
|
|
|
|
(compare(size_type,size_type,constbasic_string&,size_type,size_type)):
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/dr2268.cc: New test.
|
|
|
|
|
|
2018-05-03 16:08:36 +02:00
|
|
|
|
PR libstdc++/84535
|
|
|
|
|
* include/std/thread (thread::__not_same): New SFINAE helper.
|
|
|
|
|
(thread::thread(_Callable&&, _Args&&...)): Add SFINAE constraint that
|
|
|
|
|
first argument is not a std::thread. Add static assertion to check
|
|
|
|
|
INVOKE expression is valid.
|
|
|
|
|
(thread::thread(thread&), thread::thread(const thread&&)): Remove.
|
|
|
|
|
(thread::_Invoke::_M_invoke, thread::_Invoke::operator()): Use
|
|
|
|
|
__invoke_result for return types and remove exception specifications.
|
|
|
|
|
* testsuite/30_threads/thread/cons/84535.cc: New.
|
|
|
|
|
|
2018-05-03 14:40:15 +02:00
|
|
|
|
* include/std/future (__async_result_of): Use __invoke_result instead
|
|
|
|
|
of result_of.
|
|
|
|
|
|
2018-05-03 14:40:10 +02:00
|
|
|
|
* include/std/any (any_cast): Use __remove_cvref_t.
|
|
|
|
|
* include/std/tuple (__make_tuple): Likewise.
|
|
|
|
|
* include/std/type_traits (__remove_cvref_t): Define.
|
|
|
|
|
(__result_of_memobj, __result_of_memfun): Use __remove_cvref_t.
|
|
|
|
|
[__cplusplus > 201703L] (remove_cvref, remove_cvref_t): Define.
|
|
|
|
|
* include/std/variant (__erased_hash): Use __remove_cvref_t.
|
|
|
|
|
|
2018-05-02 21:51:33 +02:00
|
|
|
|
2018-05-02 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to
|
|
|
|
|
ensure overloaded comma not used.
|
|
|
|
|
* include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise.
|
|
|
|
|
* include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise.
|
|
|
|
|
* include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise.
|
|
|
|
|
* testsuite/23_containers/deque/modifiers/assign/1.cc: New.
|
|
|
|
|
* testsuite/23_containers/list/modifiers/assign/1.cc: New.
|
|
|
|
|
* testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New.
|
|
|
|
|
* testsuite/23_containers/vector/modifiers/assign/1.cc: New.
|
|
|
|
|
|
2018-05-02 18:25:44 +02:00
|
|
|
|
2018-05-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-05-02 21:04:55 +02:00
|
|
|
|
PR libstdc++/68197
|
|
|
|
|
* include/bits/ios_base.h (ios_base::iword, ios_base::pword): Cast
|
|
|
|
|
indices to unsigned.
|
|
|
|
|
* src/c++11/ios.cc (ios_base::_M_grow_words): Treat negative indices
|
|
|
|
|
as failure. Refactor error handling.
|
|
|
|
|
* testsuite/27_io/ios_base/storage/68197.cc: New.
|
|
|
|
|
|
PR libstdc++/83860 avoid dangling references in valarray closure types
Store nested closures by value not by reference, to prevent holding
invalid references to temporaries that have been destroyed. This
changes the layout of the closure types, so change their linkage names,
but moving them to a different namespace.
PR libstdc++/57997
PR libstdc++/83860
* include/bits/gslice_array.h (gslice_array): Define default
constructor as deleted, as per C++11 standard.
* include/bits/mask_array.h (mask_array): Likewise.
* include/bits/slice_array.h (slice_array): Likewise.
* include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
to namespace __detail.
(_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
members.
* include/bits/valarray_before.h (_ValArrayRef): New helper for type
of data members in closure objects.
(_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
(_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
__detail.
(_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
(_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
(_SBase::_M_expr): Use _ValArrayRef for type of data members.
* include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
(_ValFunClos, _RefFunClos): Move to namespace __detail and add
using-declarations to namespace std.
* testsuite/26_numerics/valarray/83860.cc: New.
From-SVN: r259844
2018-05-02 18:41:46 +02:00
|
|
|
|
PR libstdc++/57997
|
|
|
|
|
PR libstdc++/83860
|
|
|
|
|
* include/bits/gslice_array.h (gslice_array): Define default
|
|
|
|
|
constructor as deleted, as per C++11 standard.
|
|
|
|
|
* include/bits/mask_array.h (mask_array): Likewise.
|
|
|
|
|
* include/bits/slice_array.h (slice_array): Likewise.
|
|
|
|
|
* include/bits/valarray_after.h (_GBase, _GClos, _IBase, _IClos): Move
|
|
|
|
|
to namespace __detail.
|
|
|
|
|
(_GBase::_M_expr, _IBase::_M_expr): Use _ValArrayRef for type of data
|
|
|
|
|
members.
|
|
|
|
|
* include/bits/valarray_before.h (_ValArrayRef): New helper for type
|
|
|
|
|
of data members in closure objects.
|
|
|
|
|
(_FunBase, _ValFunClos, _RefFunClos, _UnBase, _UnClos, _BinBase)
|
|
|
|
|
(_BinBase2, _BinBase1, _BinClos, _SBase, _SClos): Move to namespace
|
|
|
|
|
__detail.
|
|
|
|
|
(_FunBase::_M_expr, _UnBase::_M_expr, _BinBase::_M_expr1)
|
|
|
|
|
(_BinBase::_M_expr2, _BinBase2::_M_expr1, _BinBase1::_M_expr2)
|
|
|
|
|
(_SBase::_M_expr): Use _ValArrayRef for type of data members.
|
|
|
|
|
* include/std/valarray (_UnClos, _BinClos, _SClos, _GClos, _IClos)
|
|
|
|
|
(_ValFunClos, _RefFunClos): Move to namespace __detail and add
|
|
|
|
|
using-declarations to namespace std.
|
|
|
|
|
* testsuite/26_numerics/valarray/83860.cc: New.
|
|
|
|
|
|
2018-05-02 18:27:01 +02:00
|
|
|
|
* testsuite/backward/strstream_move.cc: Remove duplicate function
|
|
|
|
|
call.
|
|
|
|
|
|
2018-05-02 18:25:44 +02:00
|
|
|
|
PR libstdc++/69608
|
|
|
|
|
* include/backward/strstream (strstreambuf): Define move constructor
|
|
|
|
|
and move assignment operator.
|
|
|
|
|
(istrstream, ostrstream, strstream): Likewise.
|
|
|
|
|
* testsuite/backward/strstream_move.cc: New.
|
|
|
|
|
|
2018-05-02 00:47:33 +02:00
|
|
|
|
2018-05-01 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84654
|
|
|
|
|
* acinclude.m4: Set ENABLE_FLOAT128 instead of _GLIBCXX_USE_FLOAT128.
|
|
|
|
|
* config.h.in: Remove references to _GLIBCXX_USE_FLOAT128.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* include/Makefile.am: Replace the value of _GLIBCXX_USE_FLOAT128
|
|
|
|
|
based on ENABLE_FLOAT128.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++config: Define _GLIBCXX_USE_FLOAT128.
|
|
|
|
|
[!defined(__FLOAT128__) && !defined(__SIZEOF_FLOAT128__)]: Undefine
|
|
|
|
|
_GLIBCXX_USE_FLOAT128.
|
|
|
|
|
|
2018-04-24 18:45:26 +02:00
|
|
|
|
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2018-04-19 09:45:51 +02:00
|
|
|
|
2018-04-19 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
|
2018-04-18 14:14:58 +02:00
|
|
|
|
2018-04-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85442
|
|
|
|
|
* src/c++11/Makefile.am: Don't generate debuginfo again for
|
|
|
|
|
cxx11-ios_failure-lt.s and cxx11-ios_failure.s files.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
|
2018-04-18 13:15:38 +02:00
|
|
|
|
2018-04-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84442
|
|
|
|
|
* testsuite/30_threads/thread/cons/terminate.cc
|
|
|
|
|
[!_GLIBCXX_USE_C99_STDLIB] : Use _exit or std::exit instead of _Exit.
|
|
|
|
|
|
2018-04-18 11:46:58 +02:00
|
|
|
|
2018-04-18 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR jit/85384
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2018-04-16 10:24:40 +02:00
|
|
|
|
2018-04-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/experimental/filesystem/file_status/1.cc: Add
|
|
|
|
|
-DUSE_FILESYSTEM_TS to dg-options.
|
|
|
|
|
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/iterators/pop.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/iterators/
|
|
|
|
|
recursive_directory_iterator.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/absolute.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/canonical.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/copy_file.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/create_directories.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/create_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/create_symlink.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/current_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/equivalent.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/exists.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/is_empty.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/last_write_time.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/permissions.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/read_symlink.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/remove.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/append/path.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/assign/assign.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/assign/copy.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/compare/compare.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/compare/path.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/compare/strings.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/concat/path.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/copy.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/default.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/locale.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/string_view.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/extension.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/filename.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/root_name.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/root_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/decompose/stem.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/itr/traversal.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/clear.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/modifiers/swap.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/native/string.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/nonmember/hash_value.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/empty.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_extension.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_filename.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/has_stem.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/query/is_relative.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-04-13 12:06:21 +02:00
|
|
|
|
2018-04-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-04-13 12:55:29 +02:00
|
|
|
|
* src/c++11/Makefile.am: Fix sed command.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
|
2018-04-13 12:06:21 +02:00
|
|
|
|
* src/c++11/Makefile.am: Rewrite sed rule to be less fragile and to
|
|
|
|
|
handle mangled names starting with double underscores on darwin.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
|
2018-04-12 18:06:03 +02:00
|
|
|
|
2018-04-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-04-12 22:55:02 +02:00
|
|
|
|
* src/c++11/Makefile.am: Fix comment.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
* src/c++11/cxx11-ios_failure.cc: Fix comment.
|
|
|
|
|
* src/c++98/ios_failure.cc: Likewise.
|
|
|
|
|
|
2018-04-12 18:06:03 +02:00
|
|
|
|
* src/c++11/ios.cc: Remove redundant macro definition.
|
|
|
|
|
|
2018-04-11 02:21:35 +02:00
|
|
|
|
2018-04-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/abi.xml: Document header locations in recent
|
|
|
|
|
releases.
|
|
|
|
|
* doc/xml/manual/evolution.xml: Add API changes since GCC 5.
|
|
|
|
|
* doc/xml/manual/spine.xml: Update copyright years.
|
|
|
|
|
* doc/xml/manual/strings.xml: Adjust tolower example to avoid
|
|
|
|
|
undefined behaviour.
|
|
|
|
|
* doc/xml/manual/test.xml: Update outdated notes on VERIFY in tests.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2018-04-10 16:36:09 +02:00
|
|
|
|
2018-04-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-04-10 17:49:26 +02:00
|
|
|
|
* doc/xml/faq.xml: Update links to archived copy of SGI STL docs.
|
|
|
|
|
* doc/xml/manual/backwards_compatibility.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/containers.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/debug_mode.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/extensions.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/using.xml: Likewise.
|
|
|
|
|
* doc/xml/manual/utilities.xml: Likewise.
|
|
|
|
|
|
2018-04-10 16:36:09 +02:00
|
|
|
|
PR libstdc++/85222
|
|
|
|
|
* src/c++11/Makefile.am [ENABLE_DUAL_ABI]: Add special rules for
|
|
|
|
|
cxx11-ios_failure.cc to rewrite type info for __ios_failure.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
* src/c++11/cxx11-ios_failure.cc (__ios_failure, __iosfail_type_info):
|
|
|
|
|
New types.
|
|
|
|
|
[_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
|
|
|
|
|
* src/c++11/ios.cc (__throw_ios_failure): Remove definition.
|
|
|
|
|
* src/c++98/ios_failure.cc (__construct_ios_failure)
|
|
|
|
|
(__destroy_ios_failure, is_ios_failure_handler): New functions.
|
|
|
|
|
[!_GLIBCXX_USE_DUAL_ABI] (__throw_ios_failure): Define here.
|
|
|
|
|
* testsuite/27_io/ios_base/failure/dual_abi.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Revert changes to
|
|
|
|
|
handler types, to always catch std::ios_base::failure.
|
|
|
|
|
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
|
|
|
|
|
|
2018-04-05 18:59:13 +02:00
|
|
|
|
2018-04-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/variant (_VARIANT_RELATION_FUNCTION_TEMPLATE): Qualify
|
|
|
|
|
__get calls to avoid ADL and avoid ambiguity due to Clang bug.
|
|
|
|
|
|
2018-04-04 01:03:07 +02:00
|
|
|
|
2018-04-03 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85183
|
|
|
|
|
* include/std/variant (_Move_assign_base::operator=): Fix incorrect
|
|
|
|
|
value categories.
|
|
|
|
|
* testsuite/20_util/variant/85183.cc: New.
|
|
|
|
|
|
2018-03-26 15:09:10 +02:00
|
|
|
|
2018-03-26 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/variant (__get): Qualify calls to avoid ADL.
|
|
|
|
|
(__select_index): Adjust whitespace.
|
|
|
|
|
(variant): Add using-declaration to workaround Clang bug.
|
|
|
|
|
|
2018-03-22 15:23:27 +01:00
|
|
|
|
2018-03-22 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/85040
|
|
|
|
|
* include/bits/stl_function.h (greater::__not_overloaded)
|
|
|
|
|
(less::__not_overloaded, greater_equal::__not_overloaded)
|
|
|
|
|
(less_equal::__not_overloaded): Fix ambiguous specializations.
|
|
|
|
|
* testsuite/20_util/function_objects/comparisons_pointer.cc: Add
|
2018-04-05 18:59:13 +02:00
|
|
|
|
tests for type with overloaded operators.
|
2018-03-22 15:23:27 +01:00
|
|
|
|
|
2018-03-22 14:33:29 +01:00
|
|
|
|
2018-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/77691
|
|
|
|
|
* testsuite/experimental/memory_resource/resource_adaptor.cc:
|
|
|
|
|
xfail execution on 32-bit Solaris/x86.
|
|
|
|
|
|
2018-03-21 13:32:14 +01:00
|
|
|
|
2018-03-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/20_util/function_objects/comparisons_pointer.cc: Use
|
|
|
|
|
VERIFY instead of assert.
|
|
|
|
|
* testsuite/20_util/hash/84998.cc: New test.
|
|
|
|
|
* testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New
|
|
|
|
|
copy of test adjusted for Debug Mode.
|
|
|
|
|
* testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run
|
|
|
|
|
test in Debug Mode.
|
|
|
|
|
|
2018-03-20 22:45:14 +01:00
|
|
|
|
2018-03-20 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84998
|
|
|
|
|
* include/bits/stl_bvector.h: Fix std::hash friend declaration.
|
|
|
|
|
* include/std/bitset: Likewise.
|
|
|
|
|
* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
|
|
|
|
|
declaration.
|
|
|
|
|
* include/bits/stl_multimap.h (std::multimap<>): Likewise.
|
|
|
|
|
* include/bits/stl_multiset.h (std::multiset<>): Likewise.
|
|
|
|
|
* include/bits/stl_set.h (std::set<>): Likewise.
|
|
|
|
|
* include/bits/unordered_map.h (std::unordered_map<>): Fix
|
|
|
|
|
_Hash_merge_helper friend declaration.
|
|
|
|
|
(std::unordered_multimap<>): Likewise.
|
|
|
|
|
* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
|
|
|
|
|
(std::unordered_multiset<>): Likewise.
|
|
|
|
|
|
2018-03-19 00:38:23 +01:00
|
|
|
|
2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
2018-03-19 00:52:00 +01:00
|
|
|
|
* doc/xml/api.xml: www.fsf.org has moved to https. Also omit
|
|
|
|
|
trailing slash for domain level link.
|
|
|
|
|
* doc/xml/faq.xml: Ditto.
|
|
|
|
|
* doc/xml/manual/appendix_free.xml (software): Ditto.
|
|
|
|
|
* doc/xml/manual/intro.xml: Ditto.
|
|
|
|
|
* doc/xml/manual/spine.xml: Ditto.
|
|
|
|
|
* doc/xml/spine.xml: Ditto.
|
|
|
|
|
|
2018-03-20 22:45:14 +01:00
|
|
|
|
2018-03-19 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
2018-03-19 00:38:23 +01:00
|
|
|
|
* doc/xml/manual/documentation_hacking.xml: Adjust link to
|
|
|
|
|
docbook.org.
|
|
|
|
|
|
2018-03-17 14:44:16 +01:00
|
|
|
|
2018-03-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
|
|
|
|
|
to compile as C++98.
|
|
|
|
|
|
PR libstdc++/78420 Make std::less etc. yield total order for pointers
In order for std::less<T*> etc. to meet the total order requirements of
[comparisons] p2 we need to cast unrelated pointers to uintptr_t before
comparing them. Those casts aren't allowed in constant expressions, so
only cast when __builtin_constant_p says the result of the comparison is
not a compile-time constant (because the arguments are not constants, or
the result of the comparison is unspecified). When the result is
constant just compare the pointers directly without casting.
This ensures that the function can be called in constant expressions
with suitable arguments, but still yields a total order even for
otherwise unspecified pointer comparisons.
For std::less<void> etc. add new overloads for pointers, which use
std::less<common_type_t<T*,U*>> directly. Also change the generic
overloads to detect when the comparison would call a built-in relational
operator with pointer operands, and dispatch that case to the
corresponding specialization for void pointers.
PR libstdc++/78420
* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
to ensure total order for pointers.
(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
Add operator() overloads for pointer arguments and make generic
overloads dispatch to new _S_cmp functions when comparisons would
use built-in operators for pointers.
* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
From-SVN: r258540
2018-03-15 00:02:01 +01:00
|
|
|
|
2018-03-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78420
|
|
|
|
|
* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
|
|
|
|
|
(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
|
|
|
|
|
to ensure total order for pointers.
|
|
|
|
|
(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
|
|
|
|
|
Add operator() overloads for pointer arguments and make generic
|
|
|
|
|
overloads dispatch to new _S_cmp functions when comparisons would
|
|
|
|
|
use built-in operators for pointers.
|
|
|
|
|
* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
|
|
|
|
|
|
2018-03-12 23:52:16 +01:00
|
|
|
|
2018-03-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84773
|
|
|
|
|
PR libstdc++/83662
|
|
|
|
|
* crossconfig.m4: Check for aligned_alloc etc. on freebsd and mingw32.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* include/c_global/cstdlib [_GLIBCXX_HAVE_ALIGNED_ALLOC]
|
|
|
|
|
(aligned_alloc): Add using-declaration.
|
|
|
|
|
* testsuite/18_support/aligned_alloc/aligned_alloc.cc: New test.
|
|
|
|
|
|
2018-03-09 06:56:07 +01:00
|
|
|
|
2018-03-09 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* python/libstdcxx/v6/printers.py (build_libstdcxx_dictionary):
|
|
|
|
|
Fix std::_Fwd_list_iterator and std::_Fwd_list_const_iterator printers
|
|
|
|
|
registration.
|
|
|
|
|
|
2018-03-09 02:09:58 +01:00
|
|
|
|
2018-03-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-03-09 02:10:02 +01:00
|
|
|
|
PR libstdc++/84769
|
|
|
|
|
* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
|
|
|
|
|
Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
|
|
|
|
|
|
2018-03-09 02:09:58 +01:00
|
|
|
|
src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
|
|
|
|
|
src/filesystem/std-ops.cc (create_dir): Likewise.
|
|
|
|
|
|
2018-03-08 07:26:15 +01:00
|
|
|
|
2018-03-08 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* python/libstdcxx/v6/printers.py (NodeIteratorPrinter): New.
|
|
|
|
|
(StdListIteratorPrinter): Inherit from latter.
|
|
|
|
|
(StdFwdListIteratorPrinter): New, inherit from latter.
|
|
|
|
|
(StdDebugIteratorPrinter.to_string): Use non-debug iterator printer
|
|
|
|
|
when iterator has no associated container.
|
|
|
|
|
(build_libstdcxx_dictionary): Add __gnu_cxx::_Fwd_list_iterator and
|
|
|
|
|
__gnu_cxx::_Fwd_list_const_iterator printers. Remove __norm namespace
|
|
|
|
|
registrations.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/debug.cc: Adapt.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Adapt.
|
|
|
|
|
|
2018-03-06 22:43:03 +01:00
|
|
|
|
2018-03-06 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84601
|
|
|
|
|
* include/std/optional (_Optional_payload): Split into multiple
|
|
|
|
|
specializations that can handle different cases of trivial or
|
|
|
|
|
non-trivial assignment operators.
|
|
|
|
|
* testsuite/20_util/optional/84601.cc: New.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
|
|
|
|
|
|
2018-03-02 21:38:50 +01:00
|
|
|
|
2018-03-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84671
|
|
|
|
|
* include/bits/parse_numbers.h (_Number_help): Add partial
|
|
|
|
|
specialization to handle digit separators. Adjust partial
|
|
|
|
|
specialization for recursion temrination to require _Pow == 1ULL.
|
|
|
|
|
* testsuite/20_util/duration/literals/84671.cc: New
|
|
|
|
|
|
2018-02-27 12:33:30 +01:00
|
|
|
|
2018-02-27 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement the missing bits of LWG 2769
|
|
|
|
|
* include/std/any (any_cast(const any&)): Add static_assert.
|
|
|
|
|
(any_cast(any&)): Likewise.
|
|
|
|
|
(any_cast(any&&)): Likewise, and remove the handling
|
|
|
|
|
for copyable-but-not-movable type.
|
|
|
|
|
* testsuite/20_util/any/misc/any_cast.cc: Adjust.
|
|
|
|
|
* testsuite/20_util/any/misc/any_cast_neg.cc: Likewise, and
|
|
|
|
|
add new tests.
|
|
|
|
|
|
2018-02-24 00:23:43 +01:00
|
|
|
|
2018-02-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/84532
|
|
|
|
|
* include/std/thread (thread::__make_invoker): Construct tuple
|
|
|
|
|
directly instead of using make_tuple.
|
|
|
|
|
* testsuite/30_threads/async/84532.cc: New.
|
|
|
|
|
* testsuite/30_threads/thread/84532.cc: New.
|
|
|
|
|
|
2018-02-20 21:51:44 +01:00
|
|
|
|
2018-02-20 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/ext/aligned_buffer.h [_GLIBCXX_INLINE_VERSION]
|
|
|
|
|
(template<> __aligned_buffer): Define as __aligned_membuf alias.
|
|
|
|
|
|
2018-02-19 17:25:49 +01:00
|
|
|
|
2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
|
|
|
|
|
|
|
|
|
|
PR target/84148
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2018-02-15 21:56:41 +01:00
|
|
|
|
2018-02-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81797
|
|
|
|
|
* configure.ac (INCLUDE_DIR_NOTPARALLEL): Define.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* include/Makefile.am (INCLUDE_DIR_NOTPARALLEL): Add .NOTPARALLEL when
|
|
|
|
|
defined.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
|
2018-01-29 13:33:32 +01:00
|
|
|
|
2018-01-29 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-01-29 15:07:27 +01:00
|
|
|
|
PR libstdc++/83833
|
|
|
|
|
* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
|
|
|
|
|
Add -ffloat-store to options for m68k and ia32.
|
|
|
|
|
|
2018-01-29 13:37:17 +01:00
|
|
|
|
* doc/xml/faq.xml: Update copyright years.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2018-01-29 13:33:32 +01:00
|
|
|
|
PR libstdc++/83658
|
|
|
|
|
* include/std/any (any::__do_emplace): Only set _M_manager after
|
|
|
|
|
constructing the contained object.
|
|
|
|
|
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line.
|
|
|
|
|
* testsuite/20_util/any/modifiers/83658.cc: New test.
|
|
|
|
|
|
2018-01-25 16:24:39 +01:00
|
|
|
|
2018-01-25 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81076
|
|
|
|
|
* include/c_global/cstddef (__byte_operand): Define primary template.
|
|
|
|
|
* testsuite/18_support/byte/81076.cc: New test.
|
|
|
|
|
|
2018-01-19 11:17:34 +01:00
|
|
|
|
2018-01-19 Christophe Lyon <christophe.lyon@linaro.org>
|
|
|
|
|
|
|
|
|
|
* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
|
2018-01-25 16:24:39 +01:00
|
|
|
|
dg-options and dg-add-options order.
|
2018-01-19 11:17:34 +01:00
|
|
|
|
* testsuite/ext/special_functions/airy_bi/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/ext/special_functions/conf_hyperg/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/01_assoc_laguerre/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/02_assoc_legendre/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/03_beta/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/04_comp_ellint_1/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/05_comp_ellint_2/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/06_comp_ellint_3/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/06_comp_ellint_3/pr66689.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/10_cyl_neumann/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/11_ellint_1/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/12_ellint_2/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/13_ellint_3/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/13_ellint_3/pr66689.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/14_expint/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/15_hermite/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/16_laguerre/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/17_legendre/check_nan.cc: Likewise.
|
|
|
|
|
* testsuite/special_functions/18_riemann_zeta/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/19_sph_bessel/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/20_sph_legendre/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/special_functions/21_sph_neumann/check_nan.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-01-18 20:52:16 +01:00
|
|
|
|
2018-01-18 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.ac (AC_CHECK_HEADERS): Add linux/types.h. Conditionally
|
|
|
|
|
include linux/types.h when checking linux/random.h header.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Ditto.
|
|
|
|
|
* src/c++11/random.cc: Conditionally include linux/types.h.
|
|
|
|
|
|
2018-01-16 21:40:09 +01:00
|
|
|
|
2018-01-16 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
|
|
|
|
|
|
2018-01-16 13:43:08 +01:00
|
|
|
|
2018-01-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/83834
|
|
|
|
|
* config/abi/pre/gnu.ver (GLIBCXX_3.4): Replace std::c[a-g]* wildcard
|
|
|
|
|
pattern with exact match for std::cerr.
|
|
|
|
|
|
2018-01-15 16:02:01 +01:00
|
|
|
|
2018-01-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-01-15 20:58:22 +01:00
|
|
|
|
PR libstdc++/83833
|
|
|
|
|
* include/bits/random.h (chi_squared_distribution::param): Update
|
|
|
|
|
gamma distribution parameter.
|
|
|
|
|
* testsuite/26_numerics/random/chi_squared_distribution/83833.cc: New
|
|
|
|
|
test.
|
|
|
|
|
|
2018-01-15 16:02:01 +01:00
|
|
|
|
PR libstdc++/83830
|
|
|
|
|
* include/std/type_traits (has_unique_object_representations_v): Add
|
|
|
|
|
variable template.
|
|
|
|
|
* testsuite/20_util/has_unique_object_representations/value.cc: Check
|
|
|
|
|
variable template.
|
|
|
|
|
|
2018-01-15 12:32:24 +01:00
|
|
|
|
2018-01-15 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Make optional conditionally
|
|
|
|
|
trivially_{copy,move}_{constructible,assignable}
|
|
|
|
|
* include/std/optional (_Optional_payload): Fix the comment in
|
|
|
|
|
the class head and turn into a primary and one specialization.
|
|
|
|
|
(_Optional_payload::_M_engaged): Strike the NSDMI.
|
|
|
|
|
(_Optional_payload<_Tp, false>::operator=(const _Optional_payload&)):
|
|
|
|
|
New.
|
|
|
|
|
(_Optional_payload<_Tp, false>::operator=(_Optional_payload&&)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(_Optional_payload<_Tp, false>::_M_get): Likewise.
|
|
|
|
|
(_Optional_payload<_Tp, false>::_M_reset): Likewise.
|
|
|
|
|
(_Optional_base_impl): Likewise.
|
|
|
|
|
(_Optional_base): Turn into a primary and three specializations.
|
|
|
|
|
(optional(nullopt)): Change the base init.
|
|
|
|
|
* testsuite/20_util/optional/assignment/8.cc: New.
|
|
|
|
|
* testsuite/20_util/optional/cons/trivial.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
|
|
|
|
|
|
2018-01-15 12:13:53 +01:00
|
|
|
|
2018-01-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80276
|
|
|
|
|
* python/libstdcxx/v6/printers.py (strip_inline_namespaces): New.
|
|
|
|
|
(get_template_arg_list): New.
|
|
|
|
|
(StdVariantPrinter._template_args): Remove, use get_template_arg_list
|
|
|
|
|
instead.
|
|
|
|
|
(TemplateTypePrinter): Rewrite to work with gdb.Type objects instead
|
|
|
|
|
of strings and regular expressions.
|
|
|
|
|
(add_one_template_type_printer): Adapt to new TemplateTypePrinter.
|
|
|
|
|
(FilteringTypePrinter): Add docstring. Match using startswith. Use
|
|
|
|
|
strip_inline_namespaces instead of strip_versioned_namespace.
|
|
|
|
|
(add_one_type_printer): Prepend namespace to match argument.
|
|
|
|
|
(register_type_printers): Add type printers for char16_t and char32_t
|
|
|
|
|
string types and for types using cxx11 ABI. Update calls to
|
|
|
|
|
add_one_template_type_printer to provide default argument dicts.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/80276.cc: New test.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/whatis.cc: Remove tests for
|
|
|
|
|
basic_string<unsigned char> and basic_string<signed char>.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/whatis2.cc: Duplicate whatis.cc
|
|
|
|
|
to test local variables, without overriding _GLIBCXX_USE_CXX11_ABI.
|
|
|
|
|
|
2018-01-14 18:32:20 +01:00
|
|
|
|
2018-01-14 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
|
2018-01-14 01:48:30 +01:00
|
|
|
|
2018-01-13 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/83601
|
|
|
|
|
* include/bits/regex.tcc (regex_replace): Fix escaping in sed.
|
|
|
|
|
* testsuite/28_regex/algorithms/regex_replace/char/pr83601.cc: Tests.
|
|
|
|
|
* testsuite/28_regex/algorithms/regex_replace/wchar_t/pr83601.cc: Tests.
|
|
|
|
|
|
2018-01-12 10:52:53 +01:00
|
|
|
|
2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/64054
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
|
|
|
|
|
Remove dg-xfail-run-if.
|
|
|
|
|
|
2018-01-10 François Dumont <fdumont@gcc.gnu.org>
* include/bits/forward_list.h
(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
(_Fwd_list_impl()): Add noexcept qualification.
(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
(_Fwd_list_base()): Default.
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
(_Fwd_list_base(_Fwd_list_base&&)): Default.
(forward_list<>()): Default.
(forward_list<>(forward_list&&)): Default.
(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
* include/bits/forward_list.tcc
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
_M_impl._M_head move assignment.
(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
From-SVN: r256439
2018-01-10 17:59:02 +01:00
|
|
|
|
2018-01-10 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/forward_list.h
|
|
|
|
|
(_Fwd_list_node_base(_Fwd_list_node_base&&)): New.
|
|
|
|
|
(_Fwd_list_node_base& operator=(_Fwd_list_node_base&&)): New.
|
|
|
|
|
(_Fwd_list_node_base(const _Fwd_list_node_base&)): Explicit delete.
|
|
|
|
|
(_Fwd_list_node_base& operator=(const _Fwd_list_node_base&)): Likewise.
|
|
|
|
|
(_Fwd_list_impl()): Add noexcept qualification.
|
|
|
|
|
(_Fwd_list_impl(const _Node_alloc_type&)): Delete.
|
|
|
|
|
(_Fwd_list_impl(_Fwd_list_impl&&)): New, default.
|
|
|
|
|
(_Fwd_list_impl(_Fwd_list_impl&&, _Node_alloc_type&&)): New.
|
|
|
|
|
(_Fwd_list_base()): Default.
|
|
|
|
|
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&, true_type)): New.
|
|
|
|
|
(_Fwd_list_base(_Fwd_list_base&&)): Default.
|
|
|
|
|
(forward_list<>()): Default.
|
|
|
|
|
(forward_list<>(forward_list&&)): Default.
|
|
|
|
|
(forward_list(forward_list&&, _Node_alloc_type&&, false_type)): New.
|
|
|
|
|
(forward_list(forward_list&&, _Node_alloc_type&&, true_type)): New.
|
|
|
|
|
(forward_list(forward_list&&, const _Alloc&)): Adapt to use latters.
|
|
|
|
|
* include/bits/forward_list.tcc
|
|
|
|
|
(_Fwd_list_base(_Fwd_list_base&&, _Node_alloc_type&&)): Adapt to use
|
|
|
|
|
_M_impl._M_head move assignment.
|
|
|
|
|
(forward_list<>::merge(forward_list<>&&, _Comp)): Likewise.
|
|
|
|
|
* testsuite/23_containers/forward_list/allocator/default_init.cc: New.
|
|
|
|
|
|
2018-01-09 22:46:13 +01:00
|
|
|
|
2018-01-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80276
|
|
|
|
|
* python/libstdcxx/v6/printers.py (SharedPointerPrinter)
|
|
|
|
|
(UniquePointerPrinter): Print correct template argument, not type of
|
|
|
|
|
the pointer.
|
|
|
|
|
(TemplateTypePrinter._recognizer.recognize): Handle failure to lookup
|
|
|
|
|
a type.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx11.cc: Test unique_ptr of
|
|
|
|
|
array type.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx17.cc: Test shared_ptr and
|
|
|
|
|
weak_ptr of array types.
|
|
|
|
|
|
re PR libstdc++/83709 (Inserting duplicates into an unordered associative containers causes the container to invalidate iterators)
2018-01-09 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/83709
* include/bits/hashtable_policy.h
(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
__first != __last.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
Add false_type parameter.
(_Insert_base::insert): Adapt.
* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
Adapt.
(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
Add __n_elt parameter, defaulted to 1.
(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
policy _M_need_rehash.
(_Hashtable::_M_merge_unique): Pass target number of elements to add to
produce only 1 rehash if necessary.
* testsuite/23_containers/unordered_map/insert/83709.cc: New.
* testsuite/23_containers/unordered_set/insert/83709.cc: New.
From-SVN: r256396
2018-01-09 22:05:10 +01:00
|
|
|
|
2018-01-09 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/83709
|
|
|
|
|
* include/bits/hashtable_policy.h
|
|
|
|
|
(__distance_fwd(_Iterator, _Iterator, input_iterator_tag)): Return 1 if
|
|
|
|
|
__first != __last.
|
|
|
|
|
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, true_type)): New.
|
|
|
|
|
(_Insert_base::_M_insert_range(_Ite, _Ite, _NodeGetter, false_type)):
|
|
|
|
|
Add false_type parameter.
|
|
|
|
|
(_Insert_base::insert): Adapt.
|
|
|
|
|
* include/bits/hashtable.h (_Hashtable::operator=(initializzr_list<>)):
|
|
|
|
|
Adapt.
|
|
|
|
|
(_Hashtable::_M_insert(_Arg&&, const _NodeGen&, true_type, size_t)):
|
|
|
|
|
Add __n_elt parameter, defaulted to 1.
|
|
|
|
|
(_Hashtable::_M_insert_unique_node): Likewise. Use it to call rehash
|
|
|
|
|
policy _M_need_rehash.
|
|
|
|
|
(_Hashtable::_M_merge_unique): Pass target number of elements to add to
|
|
|
|
|
produce only 1 rehash if necessary.
|
|
|
|
|
* testsuite/23_containers/unordered_map/insert/83709.cc: New.
|
|
|
|
|
* testsuite/23_containers/unordered_set/insert/83709.cc: New.
|
|
|
|
|
|
2018-01-15 12:13:49 +01:00
|
|
|
|
2018-01-09 Juraj Oršulić <juraj.orsulic@fer.hr>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
2018-01-09 19:49:57 +01:00
|
|
|
|
|
|
|
|
|
PR libstdc++/59253 (partial)
|
|
|
|
|
* python/libstdcxx/v6/printers.py (SmartPtrIterator): Common iterator
|
|
|
|
|
type for pointer stored by shared_ptr, weak_ptr and unique_ptr.
|
|
|
|
|
(SharedPointerPrinter, UniquePointerPrinter): Treat stored values as
|
|
|
|
|
children.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx11.cc: Update expected output
|
|
|
|
|
of unique_ptr printer.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/shared_ptr.cc: Update expected
|
|
|
|
|
output of shared_ptr printer.
|
|
|
|
|
|
2018-01-05 19:02:18 +01:00
|
|
|
|
2018-01-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-01-06 00:51:22 +01:00
|
|
|
|
PR libstdc++/83626
|
|
|
|
|
* src/filesystem/ops.cc (remove(const path&, error_code&)): Remove
|
|
|
|
|
unnecessary symlink_status call.
|
|
|
|
|
(remove_all(const path&, error_code&)): Use filesystem::remove.
|
|
|
|
|
* src/filesystem/std-ops.cc: Likewise.
|
|
|
|
|
|
2018-01-05 22:43:56 +01:00
|
|
|
|
PR libstdc++/83279
|
|
|
|
|
* src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
|
|
|
|
|
sendfile.
|
|
|
|
|
|
2018-01-05 19:02:18 +01:00
|
|
|
|
PR libstdc++/83626
|
|
|
|
|
* src/filesystem/ops.cc (remove(const path&, error_code&)): Do not
|
|
|
|
|
report an error for ENOENT.
|
|
|
|
|
(remove_all(const path&)): Fix type of result variable.
|
|
|
|
|
(remove_all(const path&, error_code&)): Use non-throwing increment
|
|
|
|
|
for directory iterator. Call POSIX remove directly to avoid redundant
|
|
|
|
|
calls to symlink_status. Do not report errors for ENOENT.
|
|
|
|
|
* src/filesystem/std-ops.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/remove_all.cc: Test throwing
|
|
|
|
|
overload.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/remove_all.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2018-01-04 11:21:29 +01:00
|
|
|
|
2018-01-04 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2018-01-04 23:58:59 +01:00
|
|
|
|
PR libstdc++/83626
|
|
|
|
|
* src/filesystem/ops.cc (remove(const path&, error_code&))): Remove
|
|
|
|
|
redundant call to ec.clear().
|
|
|
|
|
(remove_all(const path&, error_code&))): Do not return an error for
|
|
|
|
|
non-existent paths.
|
|
|
|
|
* src/filesystem/std-ops.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/remove.cc: New test.
|
|
|
|
|
* testsuite/27_io/filesystem/operations/remove_all.cc: Fix expected
|
|
|
|
|
results for non-existent paths.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/remove.cc: New test.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/remove_all.cc: Fix
|
|
|
|
|
expected results for non-existent paths.
|
|
|
|
|
|
2018-01-04 14:46:22 +01:00
|
|
|
|
* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
|
|
|
|
|
check status_known once.
|
|
|
|
|
* include/experimental/bits/fs_ops.h: Likewise.
|
|
|
|
|
|
2018-01-04 11:21:29 +01:00
|
|
|
|
PR libstdc++/83607
|
|
|
|
|
* include/std/functional (__is_byte_like): New trait.
|
|
|
|
|
(__is_std_equal_to): Remove.
|
|
|
|
|
(__boyer_moore_base_t): Use __is_byte_like instead of
|
|
|
|
|
__is_std_equal_to.
|
|
|
|
|
* include/experimental/functional (__is_std_equal_to): Remove.
|
|
|
|
|
(__boyer_moore_base_t): Use __is_byte_like instead of
|
|
|
|
|
__is_std_equal_to.
|
|
|
|
|
* testsuite/20_util/function_objects/83607.cc: New test.
|
|
|
|
|
|
2018-01-03 21:33:10 +01:00
|
|
|
|
2018-01-03 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Protect optional's deduction guide with the feature macro
|
|
|
|
|
* include/std/optional: Use the feature macro.
|
|
|
|
|
|
2018-01-03 11:03:58 +01:00
|
|
|
|
2018-01-03 Jakub Jelinek <jakub@redhat.com>
|
2015-01-05 13:33:28 +01:00
|
|
|
|
|
|
|
|
|
Update copyright years.
|
2015-01-02 17:50:45 +01:00
|
|
|
|
|
2018-01-03 11:03:58 +01:00
|
|
|
|
Copyright (C) 2018 Free Software Foundation, Inc.
|
2015-01-02 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|