blob: 1d6f972584ad17228dda49260c723034b16973e8 [file] [log] [blame]
2020-03-04 Release Manager
* GCC 8.4.0 released.
2020-02-26 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2020-01-09 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/93205
* include/bits/random.h (operator>>): Check stream operation succeeds.
* include/bits/random.tcc (operator>>): Likewise.
(__extract_params): New function to fill a vector from a stream.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
Backport from mainline
2019-12-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/92886
* include/bits/ios_base.h (std::ios_base::trunc): Fix comment.
Backport from mainline
2020-01-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/93325
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Use AC_SEARCH_LIBS for
clock_gettime instead of explicit glibc version check.
* configure: Regenerate.
2020-02-26 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2020-02-04 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/93562
* include/bits/unique_ptr.h (__uniq_ptr_impl::swap): Define.
(unique_ptr::swap, unique_ptr<T[], D>::swap): Call it.
* testsuite/20_util/unique_ptr/modifiers/93562.cc: New test.
2020-02-26 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2020-01-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/92376
* libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Declare allocation
functions if they were detected by configure.
2020-02-26 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-10-09 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78552
* src/c++98/locale_init.cc (locale::classic()): Do not construct a new
locale object for every call.
(locale::_S_initialize_once()): Construct C locale here.
Backport from mainline
2020-01-23 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/91947
* include/Makefile.am (${host_builddir}/largefile-config.h): Simplify
rule.
* include/Makefile.in: Regenerate.
Backport from mainlne
2019-10-04 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81091
PR libstdc++/91947
* configure.ac: Use AC_SYS_LARGEFILE to enable 64-bit file APIs.
* config.h.in: Regenerate:
* configure: Regenerate:
* include/Makefile.am (${host_builddir}/largefile-config.h): New
target to generate config header for filesystem library.
(${host_builddir}/c++config.h): Rename macros for large file support.
* include/Makefile.in: Regenerate.
* src/filesystem/dir.cc: Include new config header.
* src/filesystem/ops.cc: Likewise.
(experimental::filesystem::file_size): Use uintmax_t for size.
* src/filesystem/std-dir.cc: Include new config header.
* src/filesystem/std-ops.cc: Likewise.
(filesystem::file_size): Use uintmax_t for size.
2020-01-24 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2020-01-20 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/faq.xml: Fix grammar.
* doc/xml/manual/appendix_contributing.xml: Improve instructions.
* doc/xml/manual/spine.xml: Update copyright years.
* doc/html/*: Regenerate.
2020-01-19 Eric S. Raymond <esr@thyrsus.com>
Sandra Loosemore <sandra@codesourcery.com>
Partial backport from mainline:
2020-01-19 Eric S. Raymond <esr@thyrsus.com>
* doc/xml/faq.xml: Update for SVN -> Git transition.
* doc/xml/manual/appendix_contributing.xml: Likewise.
2020-01-13 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx1998.xml: Replace incorrect statement
about documenting mainline.
* doc/xml/manual/status_cxx2011.xml: Likewise.
* doc/xml/manual/status_cxx2014.xml: Likewise.
* doc/xml/manual/status_cxx2017.xml: Likewise.
* doc/xml/manual/status_cxxtr1.xml: Likewise.
* doc/xml/manual/status_cxxtr24733.xml: Likewise.
* doc/html/*: Regenerate.
2020-01-08 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/93201
* src/c++17/fs_ops.cc (remove_all(const path&, error_code&)): Check
result of recursive call before incrementing iterator.
* src/filesystem/ops.cc (remove_all(const path&, error_code&)):
Likewise.
* testsuite/27_io/filesystem/operations/remove_all.cc: Check errors
are reported correctly.
* testsuite/experimental/filesystem/operations/remove_all.cc: Likewise.
2019-10-24 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-06-06 Jonathan Wakely <jwakely@redhat.com>
* testsuite/20_util/is_nothrow_invocable/value.cc: Test converting to
void.
* testsuite/experimental/names.cc: Do not run for C++98 mode. Do not
include Library Fundamentals or Networking headers in C++11 mode.
Backport from mainline
2019-10-22 Jonathan Wakely <jwakely@redhat.com>
* include/bits/memoryfwd.h (uses_allocator): Do not declare for C++98.
* testsuite/17_intro/names.cc: Check uses_allocator in C++98.
Backport from mainline
2019-10-18 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/92143
* libsupc++/new_opa.cc (operator new) [__APPLE__]: Increase alignment
to at least sizeof(void*).
Backport from mainline
2019-10-08 Jonathan Wakely <jwakely@redhat.com>
* doc/Makefile.am (doc-html-docbook-regenerate): New target.
(${docbook_outdir}/html): Do not create unused 'html/ext' directory.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/documentation_hacking.xml: Document new target.
* doc/html/*: Regenerate.
* doc/xml/manual/allocator.xml: Use archived copy of CUJ article.
Backport from mainline
2019-05-31 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/allocator.xml: Move hoard.org back to http.
Backport from mainline
2019-10-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/92059
* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
special member functions as defaulted. Add noexcept to most members.
(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
Mask off unwanted bits in the __val parameter. Avoid undefined left
shifts.
(__dynamic_bitset_base::_M_assign): Remove.
(__dynamic_bitset_base::_M_do_reset): Use std::fill.
(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
block_type has lower rank than int.
(dynamic_bitset): Add noexcept to most members. Use injected-class-name
in return types and parameter types.
(dynamic_bitset::_M_Nb): Add default member initializer.
(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
defaulted.
(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
defaulted.
(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
Define without using swap, to propagate allocator correctly.
(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
casts to avoid unwanted integer promotions.
(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
add default template arguments and default argument to simplify usage.
(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
(operator==(const dynamic_bitset&, const dynamic_bitset&))
(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
Adjust template parameters to match declaration.
* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
* testsuite/tr2/dynamic_bitset/cons.cc: New test.
* testsuite/tr2/dynamic_bitset/copy.cc: New test.
* testsuite/tr2/dynamic_bitset/move.cc: New test.
* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
2019-09-11 Jonathan Wakely <jwakely@redhat.com>
* python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker.__call__):
Fix syntax error.
2019-09-02 Jonathan Wakely <jwakely@redhat.com>
* doc/html/*: Regenerate.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
with dg-prune-output for enable_if failure.
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Add
dg-prune-output for enable_if failure.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-10-02 Jonathan Wakely <jwakely@redhat.com>
* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
directly instead of get, as caller ensures correct index is used.
(holds_alternative, get, get_if): Remove redundant inline specifiers.
(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-08-16 Jonathan Wakely <jwakely@redhat.com>
* include/std/ostream (basic_ostream::sentry::~sentry): Suppress
deprecation warnings for using uncaught_exception().
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-07-31 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/91308
* include/bits/unique_ptr.h (unique_ptr::__safe_conversion_up): Remove
constraints on deleter that should only apply to the constructor.
(unique_ptr<T[], D>::__safe_conversion_up): Likewise.
(unique_ptr<T[], D>::unique_ptr(unique_ptr<U, D>&&)): Restore
constraints on deleter here.
* testsuite/20_util/unique_ptr/assign/91308.cc: New test.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-07-29 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/51333
* libsupc++/cxxabi.h (__gnu_cxx::recursive_init_error): Do not define
constructor inline.
* libsupc++/guard_error.cc (__gnu_cxx::recursive_init_error): Define
constructor.
* testsuite/18_support/51333.cc: New test.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Add feature test macro for
P0040R3.
* doc/html/*: Regenerate.
Backport from mainline
2019-06-20 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Fix outdated reference to
C++17 working draft.
Backport from mainline
2019-05-21 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-09-21 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78179
* testsuite/26_numerics/headers/cmath/hypot.cc: Use lower tolerance
when sizeof(long double) == sizeof(double).
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-03-22 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
avoid -Wconversion warnings.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-06-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90770
* src/Makefile.am (stamp-debug): Also test for missing makefile.
* src/Makefile.in: Regenerate.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-17 Jonathan Wakely <jwakely@redhat.com>
* include/bits/random.h (seed_seq::param): Fix non-reserved name.
* include/experimental/type_traits (is_detected_exact)
(is_detected_exact_v): Likewise.
* testsuite/17_intro/names.cc: Check for more non-reserved names.
* testsuite/experimental/names.cc: New test.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85965
* include/bits/hashtable.h (_Hashtable::~_Hashtable()): Remove static
assertions from the destructor.
* include/bits/hashtable_policy.h (_Hash_code_base::_M_hash_code):
Move static_assert for hash function to here.
(_Hash_table_base::_M_equals): Move static_assert for equality
predicate to here.
* include/bits/stl_tree.h (_Rb_tree::_S_key(_Const_Link_type)): Move
assertions here. Access the value directly instead of calling _S_value.
(_Rb_tree::_S_key(_Const_Base_ptr)): Do downcast and forward to
_S_key(_Const_Link_type).
* testsuite/23_containers/set/85965.cc: Check construction,
destruction, assignment and size() do not trigger the assertions.
* testsuite/23_containers/unordered_set/85965.cc: Likewise.
* testsuite/23_containers/map/48101_neg.cc: Call find and adjust
expected errors.
* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
* testsuite/23_containers/multiset/48101_neg.cc: Likewise.
* testsuite/23_containers/set/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
2019-08-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-09-03 Jonathan Wakely <jwakely@redhat.com>
* include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr):
Return raw pointer not allocator's pointer type.
(vector::_Temporary_value::_M_val): Use _M_ptr.
2019-06-01 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline
2018-12-22 Iain Sandoe <iain@sandoe.co.uk>
* /config/os/bsd/darwin/ppc-extra.ver: Append long double symbols.
2019-05-30 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Fix typo in documentation of
implementation-defined support for [fs.conform.9945].
* doc/html/*: Regenerate.
2019-05-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90634
* src/filesystem/path.cc (path::_M_split_cmpts()): Fix check for "/".
* testsuite/27_io/filesystem/path/construct/90634.cc: New test.
* testsuite/experimental/filesystem/path/construct/90634.cc: New test.
PR libstdc++/90634
* include/bits/fs_path.h (path::path(path&&)): Only call
_M_split_cmpts() for a path with multiple components.
(path::_S_is_dir_sep()): Add missing 'static' keyword to function.
* include/experimental/bits/fs_path.h: Likewise.
* src/filesystem/path.cc (path::_M_split_cmpts()): Count number of
components and reserve space in vector. Return early when there is
only one component.
* src/filesystem/std-path.cc (path::_M_split_cmpts()): Likewise.
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-02-27 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89466
* acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Reorder check for local
stylesheet directories before check for xsltproc. Try to use
xmlcatalog to find local stylesheet directory before trying hardcoded
paths. Add path used by suse to hardcoded paths. Adjust xsltproc
check to look for the same stylesheet as doc/Makefile.am uses. Don't
use xsltproc if xmlcatalog fails to find a local stylesheet.
* configure.ac: Check for xmlcatalog.
* Makefile.in: Regenerate.
* configure: Likewise.
* doc/Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* python/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* src/c++11/Makefile.in: Likewise.
* src/c++17/Makefile.in: Likewise.
* src/c++98/Makefile.in: Likewise.
* src/filesystem/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
* doc/html/*: Regenerate.
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/any (__any_caster): Use RTTI if comparing
addresses fails, to support non-unique addresses in shared libraries.
* include/std/any (__any_caster): Likewise.
* testsuite/experimental/any/misc/any_cast_neg.cc: Use 0 for dg-error
line number.
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90220
* include/experimental/any (__any_caster): Constrain to only be
callable for object types. Use remove_cv_t instead of decay_t.
If the type decays or isn't copy constructible, compare the manager
function to a dummy specialization.
(__any_caster): Add overload constrained for non-object types.
(any::_Manager_internal<_Op>): Add dummy specialization.
* testsuite/experimental/any/misc/any_cast.cc: Test function types
and array types.
Backport from mainline
2019-04-24 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90220
* include/std/any (__any_caster): Use remove_cv_t instead of decay_t.
Avoid a runtime check for types that can never be stored in std::any.
* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
array types.
Backport from mainline
2019-04-24 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90220 (partial)
* include/std/any (any_cast<T>(any*), any_cast<T>(const any*)): Do
not attempt ill-formed static_cast to pointers to non-object types.
* testsuite/20_util/any/misc/any_cast.cc: Test std::any_cast with
function types.
2019-05-23 Jonathan Wakely <jwakely@redhat.com>
Backported from mainline
2019-01-15 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Document P0032R3 and P0307R2
status.
* include/bits/stl_uninitialized.h (__cpp_lib_raw_memory_algorithms):
Define.
* include/std/any (__cpp_lib_any): Define as 201606L, because P0032R3
changes are supported.
* include/std/optional (__cpp_lib_optional): Likewise.
* include/std/variant (__cpp_lib_variant): Likewise.
* libsupc++/exception (__cpp_lib_uncaught_exceptions): Define as long
integer.
2019-05-20 Jonathan Wakely <jwakely@redhat.com>
Backported from mainline
2019-05-20 Jonathan Wakely <jwakely@redhat.com>
PR c++/90532 Ensure __is_constructible(T[]) is false
* include/std/type_traits (__do_is_default_constructible_impl)
(__is_default_constructible_atom, __is_default_constructible_safe):
Remove.
(is_default_constructible): Use is_constructible.
* testsuite/20_util/is_constructible/value.cc: Check int[] case.
* testsuite/20_util/is_default_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
* testsuite/20_util/is_trivially_default_constructible/value.cc:
Likewise.
2019-05-17 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-04 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90299
* src/filesystem/std-ops.cc (absolute(const path&)): Report an error
if the argument is an empty path.
(absolute(const path&, error_code&)): Use invalid_argument as error
code instead of no_such_file_or_directory.
* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
of non-existent paths and empty paths with both overloads of absolute.
2019-05-15 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-04-30 Jonathan Wakely <jwakely@redhat.com>
* testsuite/27_io/filesystem/path/decompose/root_path.cc: Remove
macros accidentally left in.
Backport from mainline
2019-05-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90454.cc path construction from void*
* include/bits/fs_path.h (path::_Path): Use remove_pointer so that
pointers to void are rejected as well as void.
* include/experimental/bits/fs_path.h (path::_Path): Likewise.
* testsuite/27_io/filesystem/path/construct/80762.cc: Also check
pointers to void.
* testsuite/experimental/filesystem/path/construct/80762.cc: Likewise.
2019-05-11 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-05-10 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81266
* testsuite/util/thread/all.h: Do not use remove_pointer for
std::thread::native_handle_type.
2019-05-07 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-02-06 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89102 (partial)
* include/std/type_traits (common_type<>): Define.
(common_type<T>): Derive from common_type<T, T>.
* testsuite/20_util/common_type/requirements/explicit_instantiation.cc:
Test zero-length template argument list.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Test additional single argument cases.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Adjust expected error.
Backport from mainline
2019-01-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/88740
* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
write to stderr instead of using printf.
Backport from mainline
2019-04-23 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90165
* include/std/variant (variant::__is_in_place_tag)
(variant::__not_in_place_tag): New helpers for variant(T&&)
constructor constraint.
(variant::variant(T&&)): Use __not_in_place_tag in constraints.
* testsuite/20_util/variant/compile.cc: Check variant(T&&) constructor
isn't used for in_place_type or in_place_index arguments.
Backport from mainline
2019-04-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/90105
* include/bits/forward_list.tcc (operator==): Do not use operator!= to
compare elements.
(forward_list<T, A>::sort(Comp)): When elements are equal take the one
earlier in the list, so that sort is stable.
* testsuite/23_containers/forward_list/operations/90105.cc: New test.
* testsuite/23_containers/forward_list/comparable.cc: Test with
types that meet the minimum EqualityComparable and LessThanComparable
requirements. Remove irrelevant comment.
Backport from mainline
2019-04-17 Jonathan Wakely <jwakely@redhat.com>
* include/std/optional (optional::value_or(U&&) &&): Add missing
constexpr specifier.
* testsuite/20_util/optional/constexpr/observers/4.cc: Check value_or
for disengaged optionals and rvalue optionals.
* testsuite/20_util/optional/observers/4.cc: Likewise.
Backport from mainline
2019-04-10 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/faq.xml: Add information about emergency EH pool.
* doc/xml/manual/debug.xml: Update list of memory debugging tools.
Move outdated information on mt_allocator to a separate section.
* doc/xml/manual/evolution.xml: Clarify that GLIBCXX_FORCE_NEW
doesn't affect the default allocator.
Backport from mainline
2019-04-05 Jonathan Wakely <jwakely@redhat.com>
* src/filesystem/std-dir.cc (_Dir::advance(bool, error_code&)): Handle
d_type == DT_UNKNOWN immediately.
(_Dir::should_recurse(bool, error_code&)): Remove file_type::unknown
handling here.
* testsuite/27_io/filesystem/iterators/caching.cc: New test.
Backport from mainline
2019-04-05 Jonathan Wakely <jwakely@redhat.com>
* include/bits/fs_path.h (path::operator=(path&&)): Check for self
assignment.
* testsuite/27_io/filesystem/path/assign/copy.cc: Test self
assignment.
Backport from mainline
2019-03-26 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85965
* include/bits/hashtable.h (_Hashtable): Move static assertions to
destructor so they are not evaluated until the _Key type is complete.
* include/bits/stl_tree.h (_Rb_tree): Likewise.
* testsuite/23_containers/set/85965.cc: New test.
* testsuite/23_containers/unordered_set/85965.cc: New test.
* testsuite/23_containers/map/48101_neg.cc: Replace "here" errors
with regexp matching the corresponding _Rb_tree specialization.
* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
* testsuite/23_containers/multiset/48101_neg.cc: Remove "here" error.
* testsuite/23_containers/set/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_map/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_multimap/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise.
* testsuite/23_containers/unordered_set/48101_neg.cc: Likewise.
Backport from mainline
2019-03-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89629
* libsupc++/hash_bytes.cc [__SIZEOF_SIZE_T__ == 8] (_Hash_bytes):
Use correct type for len_aligned.
* testsuite/20_util/hash/89629.cc: New test.
Backport from mainline
2019-03-08 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/using.xml: Use link element instead of xref.
Backport from mainline
2019-02-14 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/intro.xml: Document LWG 2586 status.
* include/bits/uses_allocator.h (__uses_alloc): Use const lvalue
allocator type in is_constructible checks.
* testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
* testsuite/20_util/scoped_allocator/dr2586.cc: New test.
* testsuite/20_util/tuple/cons/allocators.cc: Add test using
problematic type from LWG 2586 discussion.
* testsuite/20_util/uses_allocator/69293_neg.cc: Adjust dg-error.
* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
Backport from mainline
2019-02-14 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/intro.xml: Document LWG 2537 status.
* include/bits/stl_queue.h
(priority_queue(const Compare&, const Container&, const Alloc&))
(priority_queue(const Compare&, Container&&, const Alloc&)): Call
make_heap.
* testsuite/23_containers/priority_queue/dr2537.cc: New test.
2019-02-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89446
* include/bits/char_traits.h (__constant_char_array): Check index is
in range before dereferencing.
* testsuite/21_strings/basic_string_view/operators/char/89446.cc:
New test.
2019-02-22 Release Manager
* GCC 8.3.0 released.
2019-02-14 Jonathan Wakely <jwakely@redhat.com>
PR middle-end/89303
* testsuite/20_util/enable_shared_from_this/89303.cc: New test.
2019-02-09 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-01-08 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/88066
* include/bits/locale_conv.h: Use <> for includes not "".
* include/ext/random: Likewise.
* include/ext/vstring.h: Likewise.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
* doc/html/*: Regenerate.
* src/c++17/fs_ops.cc (absolute(const path&, error_code&)): Do nothing
if the path is already absolute.
[!_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Pass error_code to current_path.
Backport from mainline
2019-01-11 Jonathan Wakely <jwakely@redhat.com>
* include/std/chrono (duration_values::zero(), duration_values::min())
(duration_values::max()): Add noexcept.
(duration::zero(), duration::min(), duration::max()): Likewise.
(time_point::zero(), time_point::min(), time_point::max()): Likewise.
* testsuite/20_util/duration/requirements/noexcept.cc: New test.
* testsuite/20_util/time_point/requirements/noexcept.cc: New test.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-01-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87787
* include/bits/char_traits.h (char_traits::move): Do not pass null
pointers to memmove.
* include/bits/locale_facets.h
(ctype<char>::widen(const char*, const char*, char*)): Do not
pass null pointers to memcpy.
(ctype<char>::narrow(const char*, const char*, char, char*)):
Likewise.
(ctype<char>::do_widen(const char*, const char*, char*)):
Likewise.
(ctype<char>::do_narrow(const char*, const char*, char, char*)):
Likewise.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-23 Martin Sebor <msebor@redhat.com>
Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/65229
* python/libstdcxx/v6/printers.py (StdBitsetPrinter): Handle
exception thrown for std::bitset<0>.
* testsuite/libstdc++-prettyprinters/simple.cc: Test std::bitset<0>.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-23 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87308 (partial)
* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Adjust regex to
work around PR 88166.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-02-05 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89128
* include/bits/stl_queue.h (queue, priority_queue): Add deduction
guides.
* include/bits/stl_stack.h (stack): Likewise.
* testsuite/23_containers/priority_queue/deduction.cc: New test.
* testsuite/23_containers/queue/deduction.cc: New test.
* testsuite/23_containers/stack/deduction.cc: New test.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-29 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/88119
* include/ext/aligned_buffer.h (__aligned_membuf): Add comment.
(__aligned_buffer): Use __alignof__ instead of std::alignment_of.
* include/std/type_traits (alignment_of): Use alignof instead of
__alignof__.
* testsuite/20_util/alignment_of/value.cc: Fix test to check values
match alignof not __alignof__, as required by the standard.
2019-02-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/83511
* include/std/string_view (basic_string_view::substr): Add default
argument to first parameter.
* include/experimental/string_view (basic_string_view::substr):
Likewise.
* testsuite/21_strings/basic_string_view/operations/substr/char/
83511.cc: New test.
* testsuite/21_strings/basic_string_view/operations/substr/wchar_t/
83511.cc: New test.
* testsuite/experimental/string_view/operations/substr/char/83511.cc:
New test.
* testsuite/experimental/string_view/operations/substr/wchar_t/83511.cc:
New test.
Backport from mainline
2018-11-19 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/88084 - Implement LWG 2777
* include/std/string_view (basic_string_view::copy): Use traits to
copy.
* testsuite/21_strings/basic_string_view/operations/copy/char/2.cc:
New test.
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/2.cc:
New test.
Backport from mainline
2018-11-29 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86910
PR libstdc++/87846
* src/filesystem/ops.cc (experimental::create_directories): Report
an error when the path resolves to an existing non-directory (P1164).
* src/filesystem/std-ops.cc (create_directories): Likewise. Handle
empty filenames due to trailing slashes.
* testsuite/27_io/filesystem/operations/create_directories.cc: Test
when some component of the path exists and is not a directory. Test
trailing slashes.
* testsuite/experimental/filesystem/operations/create_directories.cc:
Likewise.
Backport from mainline
2018-11-28 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/intro.xml: Document LWG 3096 change.
* src/filesystem/std-path.cc (path::lexically_relative(const path&)):
Treat a final empty element equivalently to a final dot element.
* testsuite/27_io/filesystem/path/generation/relative.cc: Add checks
for the examples in the DR.
Backport from mainline
2018-07-20 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86595
* include/bits/fs_dir.h (directory_entry::refresh(error_code&)): Add
noexcept.
Backport from mainline
2018-05-21 Jonathan Wakely <jwakely@redhat.com>
* 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.
Backport from mainline
2019-01-30 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/89117
* src/c++17/fs_path.cc (path::replace_extension): Erase extension from
final component as well as from _M_pathname.
* testsuite/27_io/filesystem/path/modifiers/replace_extension.cc:
Add more test cases.
2019-01-21 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-01-18 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87514
PR libstdc++/87520
PR libstdc++/88782
* include/bits/shared_ptr.h
(shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...))
(allocate_shared): Change to use new tag type.
(_Sp_alloc_shared_tag): Define new type.
(_Sp_counted_ptr_inplace): Declare __shared_count<_Lp> as a friend.
(__shared_count(Ptr, Deleter),__shared_count(Ptr, Deleter, Alloc)):
Constrain to prevent being called with _Sp_alloc_shared_tag.
(__shared_count(_Sp_make_shared_tag, const _Alloc&, Args&&...)):
Replace constructor with ...
(__shared_count(Tp*&, _Sp_alloc_shared_tag<_Alloc>, Args&&...)): Use
reference parameter so address of the new object can be returned to
the caller. Obtain the allocator from the tag type.
(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Replace
constructor with ...
(__shared_ptr(_Sp_alloc_shared_tag<Alloc>, Args&&...)): Pass _M_ptr
to the __shared_count constructor.
(__allocate_shared): Change to use new tag type.
2019-01-14 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/80762
* testsuite/experimental/filesystem/path/construct/80762.cc: Add
dg-require-filesystem-ts directive.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-01-04 Jonathan Wakely <jwakely@redhat.com>
(path::lexically_normal()): Use std::vector iterators instead of
path::iterator. Use pop_back to remove components from the end. Clear
trailing filename, instead of using erase(const_iterator) to remove
a non-final component.
* testsuite/27_io/filesystem/path/generation/normal.cc: Test
additional cases.
* testsuite/27_io/filesystem/path/generation/normal2.cc: New test.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-12-12 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/80762
* include/bits/fs_path.h (path::_Path): Use remove_cv_t and is_void.
* include/experimental/bits/fs_path.h (path::_Path): Likewise.
* testsuite/27_io/filesystem/path/construct/80762.cc: New test.
* testsuite/experimental/filesystem/path/construct/80762.cc: New test.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-05-23 Jonathan Wakely <jwakely@redhat.com>
* include/bits/fs_path.h (path::_M_type): Change default member
initializer to _Filename.
(path::begin): Create past-the-end iterator for empty path.
(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.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
* testsuite/util/testsuite_fs.h (nonexistent_path): Include name
of the source file containing the caller.
* testsuite/27_io/filesystem/iterators/directory_iterator.cc: Remove
directories created by test.
* testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
Likewise.
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
Likewise.
* testsuite/experimental/filesystem/iterators/
recursive_directory_iterator.cc: Likewise.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-27 Jonathan Wakely <jwakely@redhat.com>
* testsuite/27_io/filesystem/operations/canonical.cc: Remove
directory created by test.
* testsuite/27_io/filesystem/operations/symlink_status.cc: Remove
symlink created by test.
2019-01-10 Jonathan Wakely <jwakely@redhat.com>
* src/filesystem/std-path.cc (path::remove_filename()): Remove debug
check that prevents building with -fno-exceptions.
2019-01-09 Jonathan Wakely <jwakely@redhat.com>
* testsuite/20_util/optional/cons/value_neg.cc: Change dg-error to
dg-prune-output. Remove unused header.
Backport from mainline
2019-01-08 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87855
* include/std/optional (_Optional_payload_base): New class template
for common code hoisted from _Optional_payload specializations. Use
a template for the union, to allow a partial specialization for
types with non-trivial destructors. Add constructors for in-place
initialization to the union.
(_Optional_payload(bool, const _Optional_payload&)): Use _M_construct
to perform non-trivial copy construction, instead of relying on
non-standard copy elision in a delegating constructor.
(_Optional_payload(bool, _Optional_payload&&)): Likewise for
non-trivial move construction.
(_Optional_payload): Derive from _Optional_payload_base and use it
for everything except the non-trivial assignment operators, which are
defined as needed.
(_Optional_payload<false, C, M>): Derive from the specialization
_Optional_payload<true, false, false> and add a destructor.
(_Optional_base_impl::_M_destruct, _Optional_base_impl::_M_reset):
Forward to corresponding members of _Optional_payload.
(_Optional_base_impl::_M_is_engaged, _Optional_base_impl::_M_get):
Hoist common members from _Optional_base.
(_Optional_base): Make all members and base class public.
(_Optional_base::_M_get, _Optional_base::_M_is_engaged): Move to
_Optional_base_impl.
* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Add
support for new std::optional layout.
* testsuite/libstdc++-prettyprinters/compat.cc: New test.
Backport from mainline
2018-11-19 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/87855
Also implement P0602R4 (variant and optional
should propagate copy/move triviality) for std::optional.
* include/std/optional (_Optional_payload): Change
the main constraints to check constructibility in
addition to assignability.
(operator=): Make constexpr.
(_M_reset): Likewise.
(_M_construct): Likewise.
(operator->): Likewise.
* testsuite/20_util/optional/assignment/8.cc: Adjust.
* testsuite/20_util/optional/assignment/9.cc: New.
2018-12-23 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline
2018-12-06 Iain Sandoe <iain@sandoe.co.uk>
* scripts/make_exports.pl (check names): Don’t try to export
construction vtable symbols.
2018-12-22 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline
2018-12-06 Jonathan Wakely <jwakely@redhat.com>
Iain Sandoe <iain@sandoe.co.uk>
PR libstdc++/64883
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't test
always_inline on Darwin.
* testsuite/17_intro/headers/c++2011/all_attributes.cc: Likewise.
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
* testsuite/17_intro/headers/c++2017/all_attributes.cc: Likewise.
* testsuite/17_intro/headers/c++2020/all_attributes.cc: Likewise.
2018-12-06 Iain Sandoe <iain@sandoe.co.uk>
Backport from mainline
2018-08-25 Iain Sandoe <iain@sandoe.co.uk>
PR libstdc++/70694
* configure.host (OPT_LDFLAGS): Don't append
-fvisibility-inlines-hidden for newer Darwin.
2018-11-28 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/88199
* include/bits/hashtable.h
(_Hashtable<>::_M_move_assign(_Hashtable&&, false_type)): Deallocate
former buckets after assignment.
* testsuite/23_containers/unordered_set/allocator/move_assign.cc
(test03): New.
2018-11-22 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-11-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85930
PR libstdc++/87520
* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti)
[__cpp_rtti]: Define even when RTTI is enabled. Use array of
sizeof(type_info) so that type-punned reference binds to an object
of the correct size as well as correct alignment.
(_Sp_counted_ptr_inplace::_M_get_deleter) [__cpp_rtti]: Check for
_S_ti() reference even when RTTI is enabled.
(__shared_ptr(_Sp_make_shared_tag, const _Alloc&, _Args&&...))
[__cpp_rtti]: Pass _S_ti() instead of typeid(_Sp_make_shared_tag).
2018-10-31 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-10-31 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87822
* include/bits/stl_pair.h (__pair_base): Change to class template.
(pair): Make base class type depend on template parameters.
* testsuite/20_util/pair/87822.cc: New test.
2018-10-30 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-10-30 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87809
* include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use
trait in exception-specification instead of possibly invalid
expression.
* include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()):
Likewise.
* include/bits/stl_list.h (_List_impl::_List_impl()): Likewise.
* testsuite/23_containers/forward_list/cons/87809.cc: New test.
* testsuite/23_containers/list/cons/87809.cc: New test.
* testsuite/23_containers/vector/bool/cons/87809.cc: New test.
* testsuite/23_containers/vector/cons/87809.cc: New test.
2018-10-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87749
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
(basic_string::operator=(basic_string&&)): For short strings copy the
buffer inline. Only fall back to using assign(const basic_string&) to
do a deep copy when reallocation is needed.
* testsuite/21_strings/basic_string/modifiers/assign/char/87749.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/assign/char/
move_assign_optim.cc: New test.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/87749.cc:
New test.
* testsuite/21_strings/basic_string/modifiers/assign/wchar_t/
move_assign_optim.cc: New test.
2018-10-23 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87704
* include/bits/unique_ptr.h (unique_ptr::unique_ptr(nullptr_t)): Do
not delegate to default constructor.
(unique_ptr<T[], D>::unique_ptr(nullptr_t)): Likewise.
* testsuite/20_util/unique_ptr/cons/incomplete.cc: New test.
2018-10-19 Jonathan Wakely <jwakely@redhat.com>
* include/bits/regex_executor.tcc (_Backref_matcher::_M_apply): Use
_GLIBCXX_STD_A to refer to normal mode algorithms.
* testsuite/28_regex/headers/regex/parallel_mode.cc: New test.
* testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Remove empty
whitespace.
2018-10-18 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-10-18 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87641
* include/bits/valarray_array.h (__valarray_sum): Use first element
to initialize accumulator instead of value-initializing it.
* testsuite/26_numerics/valarray/87641.cc: New test.
2018-10-15 Jonathan Wakely <jwakely@redhat.com>
* testsuite/22_locale/numpunct/members/char/3.cc: Adjust test to
account for change to glibc it_IT localedata (glibc bz#10797).
2018-10-12 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-07-31 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86751
* include/bits/stl_pair.h (__pair_base): New class with deleted copy
assignment operator.
(pair): Derive from __pair_base.
(pair::operator=): Remove deleted overload.
* python/libstdcxx/v6/printers.py (StdPairPrinter): New pretty printer
so that new base class isn't shown in GDB.
* testsuite/20_util/pair/86751.cc: New test.
* testsuite/20_util/pair/ref_assign.cc: New test.
2018-10-12 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-09-03 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/78595
* include/bits/stl_map.h (map::insert(_Pair&&))
(map::insert(const_iterator, _Pair&&)): Do emplace instead of insert.
* include/bits/stl_multimap.h (multimap::insert(_Pair&&))
(multimap::insert(const_iterator, _Pair&&)): Likewise.
* include/bits/unordered_map.h (unordered_map::insert(_Pair&&))
(unordered_map::insert(const_iterator, _Pair&&))
(unordered_multimap::insert(_Pair&&))
(unordered_multimap::insert(const_iterator, _Pair&&)): Likewise.
* include/std/type_traits (__enable_if_t): Define for C++11.
* testsuite/23_containers/map/modifiers/insert/78595.cc: New test.
* testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test.
* testsuite/23_containers/unordered_map/modifiers/78595.cc: New test.
* testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New
test.
2018-10-12 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-08-30 Jonathan Wakely <jwakely@redhat.com>
* include/ext/pointer.h (_Pointer_adapter): Define operators for
pointer arithmetic using long long offsets.
* testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using
long long values.
2018-10-12 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-08-23 Jonathan Wakely <jwakely@redhat.com>
* testsuite/21_strings/basic_string/init-list.cc:
Require cxx11-abi.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
Likewise.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
Likewise.
Backport from mainline
2018-08-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87061
* include/experimental/regex [!_GLIBCXX_USE_CXX11_ABI]
(experimental::pmr::match_results, experimental::pmr::cmatch)
(experimental::pmr::smatch, experimental::pmr::wcmatch)
(experimental::pmr::wsmatch): Do not declare for gcc4-compatible ABI,
because COW strings don't support C++11 allocator model.
* include/experimental/string [!_GLIBCXX_USE_CXX11_ABI]
(experimental::pmr::basic_string, experimental::pmr::string)
(experimental::pmr::u16string, experimental::pmr::u32string)
(experimental::pmr::wstring): Likewise.
Backport from mainline
2018-08-15 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/regex: Remove begin/end macros for namespace.
* include/experimental/string: Likewise.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_deque.cc:
New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_forward_list.cc: New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_list.cc:
New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_map.cc:
New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_match.cc:
New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_multimap.cc: New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_multiset.cc: New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_set.cc:
New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_string.cc:
New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_unordered_map.cc: New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_unordered_multimap.cc: New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_unordered_multiset.cc: New test.
* testsuite/experimental/polymorphic_allocator/
pmr_typedefs_unordered_set.cc: New test.
* testsuite/experimental/polymorphic_allocator/pmr_typedefs_vector.cc:
New test.
2018-10-12 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-07-24 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/70966
* include/experimental/memory_resource (__get_default_resource): Use
placement new to create an object with dynamic storage duration.
Backport from mainline
2018-06-20 Jonathan Wakely <jwakely@redhat.com>
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-10-12 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/77854
* doc/xml/manual/status_cxx1998.xml: Document size_type and
difference_type for containers.
* doc/html/*: Regenerate.
2018-10-08 Joseph Myers <joseph@codesourcery.com>
Backport from mainline
2018-10-02 Joseph Myers <joseph@codesourcery.com>
* testsuite/lib/libstdc++.exp (libstdc++_init): Use
-fno-show-column in default cxxflags.
2018-10-08 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-10-08 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87538
* include/std/functional (_Not_fn::operator()): Check value of
__is_nothrow_invocable as well.
* testsuite/20_util/function_objects/not_fn/87538.cc: New test.
* testsuite/experimental/functional/87538.cc: New test.
2018-09-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87278
* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
remove_const.
* testsuite/20_util/shared_ptr/creation/87278.cc: New test.
2018-08-28 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/87116
* src/filesystem/std-path.cc (path::lexically_normal): When handling
a dot-dot filename, preserve an empty final component in the iteration
sequence.
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Use preferred-separator for
root-directory.
* testsuite/27_io/filesystem/path/generation/normal.cc: Add new tests
for more than two adjacent dot-dot filenames.
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Replace slashes with
preferred-separator in expected normalized strings.
2018-08-13 Jonathan Wakely <jwakely@redhat.com>
Revert
2018-08-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/85904
* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
Newlib.
* configure: Regenerate.
2018-08-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
Backport from mainline
2018-08-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
PR target/85904
* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
Newlib.
* configure: Regenerate.
2018-08-08 Jonathan Wakely <jwakely@redhat.com>
* libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to
avoid clashing with an ::aligned_alloc function that was not detected
by configure.
PR libstdc++/86597
* include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)):
Clear error_code when cached type is used.
* testsuite/27_io/filesystem/directory_entry/86597.cc: New test.
* doc/xml/manual/using.xml: Remove C++2a headers not on gcc-8-branch.
* doc/html/*: Regenerate.
* doc/xml/manual/using.xml: Add missing header to table and fix typo.
Remove C++17 headers not present on gcc-8-branch.
* doc/html/*: Regenerate.
2018-08-07 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-07-31 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/test.xml: Improve documentation on writing tests for
newer standards.
* doc/xml/manual/using.xml: Document all headers for C++11 and later.
* doc/html/*: Regenerate.
Backport from mainline
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
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.
* testsuite/30_threads/thread/cons/84535.cc: New.
Backport from mainline
2018-08-03 Jonathan Wakely <jwakely@redhat.com>
* src/c++11/system_error.cc
(system_error_category::default_error_condition): Add workaround for
ENOTEMPTY and EEXIST having the same value on AIX.
* testsuite/19_diagnostics/error_category/system_category.cc: Add
extra testcases for EDOM, EILSEQ, ERANGE, EEXIST and ENOTEMPTY.
Backport from mainline
2018-08-01 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/60555
* src/c++11/system_error.cc
(system_error_category::default_error_condition): New override to
check for POSIX errno values.
* testsuite/19_diagnostics/error_category/generic_category.cc: New
* testsuite/19_diagnostics/error_category/system_category.cc: New
test.
Backport from mainline
2018-08-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86874
* include/std/variant (_Copy_ctor_base::_M_destructive_move): Define
here instead of in _Move_assign_base.
(_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define.
(_Copy_assign_base::operator=): Use _M_destructive_move when changing
the contained value to another alternative.
(_Move_assign_base::operator=): Likewise.
(_Move_assign_base::_M_destructive_move): Remove.
* testsuite/20_util/variant/86874.cc: New test.
Backport from mainline
2018-08-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86861
* libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc):
Replace macro with inline function.
[__sun]: Increase alignment to meet memalign precondition.
[!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN]
(aligned_alloc): Move check for valid alignment to operator new.
Remove redundant check for non-zero size, it's enforced by the caller.
(operator new): Move check for valid alignment here. Use
__builtin_expect on check for zero size.
2018-07-31 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-07-30 Jonathan Wakely <jwakely@redhat.com>
* libsupc++/new_opa.cc (operator new(size_t, align_val_t)): Add
workaround for aligned_alloc bug on AIX.
* testsuite/18_support/new_aligned.cc: New test.
Backport from mainline
2018-07-20 Fangrui Song <maskray@google.com>
* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Use
_GLIBCXX_VISIBILITY(default).
Backport from mainline
2018-07-30 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86734
* include/bits/stl_iterator.h (reverse_iterator::operator->): Use
addressof (LWG 2188).
* testsuite/24_iterators/reverse_iterator/dr2188.cc: New test.
Backport from mainline
2018-05-08 Jonathan Wakely <jwakely@redhat.com>
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.
Backport from mainline
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-07-26 Marek Polacek <polacek@redhat.com>
* testsuite/30_threads/condition_variable_any/cond.cc: New.
2018-07-26 Release Manager
* GCC 8.2.0 released.
2018-07-18 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-07-05 Jonathan Wakely <jwakely@redhat.com>
* testsuite/21_strings/basic_string/cons/char/deduction.cc: XFAIL for
COW strings.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.
Backport from mainline
2018-07-04 Jonathan Wakely <jwakely@redhat.com>
* testsuite/25_algorithms/make_heap/complexity.cc: Require effective
target for std::random_device.
* testsuite/26_numerics/random/random_device/cons/default.cc:
Likewise.
* testsuite/experimental/algorithm/sample-2.cc: Likewise.
* testsuite/experimental/algorithm/shuffle.cc: Likewise.
* testsuite/experimental/random/randint.cc: Likewise.
* testsuite/lib/libstdc++.exp
(check_effective_target_random_device): New proc.
Backport from mainline
2018-06-26 David Edelsohn <dje.gcc@gmail.com>
* testsuite/experimental/algorithm/sample-2.cc: Add TLS DejaGNU
directives.
* testsuite/experimental/algorithm/shuffle.cc: Likewise.
Backport from mainline
2018-06-25 Jonathan Wakely <jwakely@redhat.com>
* include/experimental/algorithm (sample, shuffle): Add new overloads
using per-thread random number engine.
* testsuite/experimental/algorithm/sample.cc: Simpify and reduce
dependencies by using __gnu_test::test_container.
* testsuite/experimental/algorithm/sample-2.cc: New.
* testsuite/experimental/algorithm/shuffle.cc: New.
2018-07-16 Andreas Krebbel <krebbel@linux.ibm.com>
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Update.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
2018-07-05 François Dumont <fdumont@gcc.gnu.org>
Backport from mainline
2018-07-04 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/86272
* include/debug/string
(__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)):
Use __glibcxx_check_insert_range.
2018-07-04 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
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.
Backport from mainline
2018-07-03 Jonathan Wakely <jwakely@redhat.com>
* include/bits/alloc_traits.h: Remove redundant preprocessor
condition.
Backport from mainline
2018-06-27 Jonathan Wakely <jwakely@redhat.com>
* include/bits/cpp_type_traits.h [__cplusplus >= 201703]
(__is_byte<byte>): Define specialization for std::byte.
Backport from mainline
2018-06-18 Jonathan Wakely <jwakely@redhat.com>
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.
Backport from mainline
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.
Backport from mainline
2018-05-29 Jonathan Wakely <jwakely@redhat.com>
* include/std/variant (__erased_dtor): Qualify call to __get.
Backport from mainline
2018-05-15 Jonathan Wakely <jwakely@redhat.com>
* include/std/variant (__gen_vtable_impl::__visit_invoke): Qualify
__invoke to prevent ADL.
Backport from mainline
2018-05-24 Maya Rashish <coypu@sdf.org>
PR target/85904
* crossconfig.m4: Test for aligned_alloc on netbsd.
* configure: Regenerate.
Backport from mainline
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
Backport from mainline
2018-05-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85671
* include/bits/fs_path.h (operator/): Permit copy elision.
* include/experimental/bits/fs_path.h (operator/): Likewise.
Backport from mainline
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.
Backport from mainline
2018-06-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86292
* include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>):
Add try-catch block.
* testsuite/23_containers/vector/cons/86292.cc: New.
Backport from mainline
2018-06-27 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86138
* include/bits/basic_string.tcc: [_GLIBCXX_EXTERN_TEMPLATE < 0]
Declare explicit instantiations of COW empty reps and I/O functions.
Backport from mainline
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.
Backport from mainline
2018-06-14 Jonathan Wakely <jwakely@redhat.com>
LWG 3075 basic_string needs deduction guides from basic_string_view
* include/bits/basic_string.h: Add deduction guides from 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.
Backport from mainline
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
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.
PR libstdc++/86398
* include/std/type_traits (is_trivially_constructible): Check
is_constructible before __is_trivially_constructible.
* testsuite/20_util/is_trivially_constructible/value.cc: Add more
tests, including negative cases.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use
zero for dg-error lineno.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
2018-06-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86112
* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
Replace dict comprehension.
2018-06-25 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/81092
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2018-06-22 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-06-22 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/86138
* include/bits/basic_string.tcc:
[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
(basic_string<char>::_Rep::_S_empty_rep_storage)
(basic_string<wchar_t>::_Rep::_S_empty_rep_storage): Add explicit
instantiation declarations.
[__cplusplus > 201402] (operator>>, operator<<, getline): Re-enable
explicit instantiation declarations.
* testsuite/21_strings/basic_string/cons/char/86138.cc: New.
* testsuite/21_strings/basic_string/cons/wchar_t/86138.cc: New.
2018-06-21 Jonathan Wakely <jwakely@redhat.com>
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
2018-06-19 Jonathan Wakely <jwakely@redhat.com>
* include/std/utility: Remove unused <exception> header.
2018-06-19 Jonathan Wakely <jwakely@redhat.com>
Backport from mainline
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
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-06-15 Jonathan Wakely <jwakely@redhat.com>
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.
2018-06-15 Jonathan Wakely <jwakely@redhat.com>
* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
define for C++17 and above.
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 Jonathan Wakely <jwakely@redhat.com>
* include/std/type_traits: Fix comment typo.
2018-06-04 Jonathan Wakely <jwakely@redhat.com>
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): Align the static variable
correctly.
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<char16_t>, __make_unsigned<char32_t>): Define.
(__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-21 François Dumont <fdumont@gcc.gnu.org>
* 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.
2018-05-21 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85818
* testsuite/experimental/filesystem/path/preferred_separator.cc: Add
dg-require-filesystem-ts.
2018-05-17 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/85818
* src/filesystem/path.cc (path::preferred_separator): Add used
attribute.
* testsuite/experimental/filesystem/path/preferred_separator.cc: New.
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 Jonathan Wakely <jwakely@redhat.com>
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.
* 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.
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-14 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/67554
* include/bits/valarray_array.h (_Array_copy_ctor<_Tp, true>)
(_Array_copier<_Tp, true>): Do not pass null pointers to memcpy.
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-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 that the C++17 Filesystem
implementation also needs -lstdc++fs. Document Dual ABI for
ios_base::failure.
* doc/html/*: Regenerate.
2018-05-07 Edward Smith-Rowland <3dw4rd@verizon.net>
Backport from mainline
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.
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 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/84769
* include/std/variant (visit): Qualify std::get call.
2018-05-03 Jonathan Wakely <jwakely@redhat.com>
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-02 Release Manager
* GCC 8.1.0 released.
2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
* configure: Regenerated.
2018-04-19 Jakub Jelinek <jakub@redhat.com>
* configure: Regenerated.
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 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 David Malcolm <dmalcolm@redhat.com>
PR jit/85384
* configure: Regenerate.
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 Jonathan Wakely <jwakely@redhat.com>
* src/c++11/Makefile.am: Fix sed command.
* src/c++11/Makefile.in: Regenerate.
* 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 Jonathan Wakely <jwakely@redhat.com>
* 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.
* src/c++11/ios.cc: Remove redundant macro definition.
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 Jonathan Wakely <jwakely@redhat.com>
* 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.
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 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-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 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 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
tests for type with overloaded operators.
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 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 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 Gerald Pfeifer <gerald@pfeifer.com>
* 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-19 Gerald Pfeifer <gerald@pfeifer.com>
* doc/xml/manual/documentation_hacking.xml: Adjust link to
docbook.org.
2018-03-17 Jonathan Wakely <jwakely@redhat.com>
* testsuite/20_util/function_objects/comparisons_pointer.cc: Adjust
to compile as C++98.
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 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 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 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/84769
* include/std/variant (get<_Tp, _Types...>, get_if<_Tp, _Types...>):
Qualify calls to get<_Np, Types...> and get_if<_Np, _Types...>.
src/filesystem/ops.cc (create_dir): Pass error_code to is_directory.
src/filesystem/std-ops.cc (create_dir): Likewise.
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 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 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 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-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 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 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
PR target/84148
* configure: Regenerate.
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 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/83833
* testsuite/26_numerics/random/chi_squared_distribution/83833.cc:
Add -ffloat-store to options for m68k and ia32.
* doc/xml/faq.xml: Update copyright years.
* doc/html/*: Regenerate.
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 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 Christophe Lyon <christophe.lyon@linaro.org>
* testsuite/ext/special_functions/airy_ai/check_nan.cc: Fix
dg-options and dg-add-options order.
* 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 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 Eric Botcazou <ebotcazou@adacore.com>
* testsuite/17_intro/names.cc: Undefine 'y' on SPARC/Linux.
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 Jonathan Wakely <jwakely@redhat.com>
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.
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 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 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 Andreas Schwab <schwab@linux-m68k.org>
PR libstdc++/81092
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
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 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.
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.
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-09 Juraj Oršulić <juraj.orsulic@fer.hr>
Jonathan Wakely <jwakely@redhat.com>
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 Jonathan Wakely <jwakely@redhat.com>
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.
PR libstdc++/83279
* src/filesystem/std-ops.cc (do_copy_file): Use non-null offset with
sendfile.
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 Jonathan Wakely <jwakely@redhat.com>
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.
* include/bits/fs_ops.h (exists(const path&, error_code&))): Only
check status_known once.
* include/experimental/bits/fs_ops.h: Likewise.
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 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 Jakub Jelinek <jakub@redhat.com>
Update copyright years.
Copyright (C) 2018 Free Software Foundation, Inc.
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.