f14decafae
* doc/xml/manual/diagnostics.xml: Document use of errno. * doc/html/*: Regenerate. * config/locale/generic/c_locale.cc (_Save_errno): New helper. (__convert_to_v): Use _Save_errno. * include/ext/string_conversions.h (__stoa): Only restore errno when it isn't set to non-zero. From-SVN: r228328
3842 lines
155 KiB
Plaintext
3842 lines
155 KiB
Plaintext
2015-10-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/diagnostics.xml: Document use of errno.
|
||
* doc/html/*: Regenerate.
|
||
* config/locale/generic/c_locale.cc (_Save_errno): New helper.
|
||
(__convert_to_v): Use _Save_errno.
|
||
* include/ext/string_conversions.h (__stoa): Only restore errno when
|
||
it isn't set to non-zero.
|
||
|
||
2015-09-30 François Dumont <fdumont@gcc.gnu.org>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
|
||
Move...
|
||
* config/locale/gnu/c++locale_internal.h: ...here in std namespace.
|
||
* config/locale/gnu/c_locale.cc: Move implementation of latter here.
|
||
* src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* config/abi/pre/gnu.ver: Adjust.
|
||
|
||
2015-09-30 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* config/cpu/alpha, config/cpu/ia64: Remove empty directories.
|
||
|
||
2015-09-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/ext/string_conversions.h (__stoa): Save and restore errno.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
|
||
New.
|
||
|
||
PR libstdc++/67583
|
||
* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
|
||
with mismatched arguments.
|
||
* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
|
||
|
||
PR libstdc++/65393
|
||
* config/abi/pre/gnu.ver: Export new symbols.
|
||
* include/std/thread (thread::_State, thread::_State_impl): New types.
|
||
(thread::_M_start_thread): Add overload taking unique_ptr<_State>.
|
||
(thread::_M_make_routine): Remove.
|
||
(thread::_S_make_state): Add.
|
||
(thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
|
||
[_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
|
||
* src/c++11/thread.cc (execute_native_thread_routine): Rename to
|
||
execute_native_thread_routine_compat and re-define to use _State.
|
||
(thread::_State::~_State()): Define.
|
||
(thread::_M_make_thread): Define new overload.
|
||
(thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
|
||
overloads conditionally.
|
||
|
||
2015-09-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/condition_variable (condition_variable::wait): Add
|
||
noexcept.
|
||
* src/c++11/condition_variable.cc (condition_variable::wait): Call
|
||
std::terminate on error (DR 2135).
|
||
|
||
2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Avoid creating dangling references in case of nested tuples
|
||
for tuple constructors that construct from other tuples.
|
||
* include/std/tuple (_TC::_NonNestedTuple): New.
|
||
* include/std/tuple (tuple::_TNTC): New.
|
||
* include/std/tuple (tuple(const tuple<_UElements...>&),
|
||
tuple(tuple<_UElements...>&&): Use _TNTC.
|
||
* testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
|
||
|
||
2015-09-24 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67707
|
||
* include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
|
||
empty object.
|
||
* testsuite/23_containers/deque/allocator/move.cc: Check moved-from
|
||
deque.
|
||
|
||
2015-09-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/filesystem/ops.cc (canonical): Simplify error handling and
|
||
limit number of symlinks that can be resolved.
|
||
|
||
2015-09-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
|
||
prefix from HAVE_STRUCT_DIRENT_D_TYPE.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* include/experimental/fs_dir.h (operator==, operator==):
|
||
Use owner_before instead of pointer equality.
|
||
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
|
||
* src/filesystem/dir.cc (ErrorCode): Remove.
|
||
(_Dir::advance): Change ErrorCode parameter to error_code*, add
|
||
directory_options parameter and check it on error.
|
||
(opendir): Rename to open_dir to avoid clashing with macro. Change
|
||
ErrorCode parameter to error_code*.
|
||
(make_shared_dir): Remove.
|
||
(native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
|
||
(directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
|
||
(directory_iterator(const path&, directory_options, error_code*)):
|
||
Pass options to _Dir::advance and create non-end iterator on error.
|
||
(recursive_directory_iterator(const path&, directory_options,
|
||
error_code*)): Clear error_code on ignored error, create non-end
|
||
iterator otherwise.
|
||
(recursive_directory_iterator::increment): Pass _M_options to
|
||
_Dir::advance.
|
||
(recursive_directory_iterator::pop): Likewise.
|
||
* testsuite/experimental/filesystem/iterators/directory_iterator.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/iterators/
|
||
recursive_directory_iterator.cc: New.
|
||
|
||
* src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
|
||
(create_directories): Fix error handling.
|
||
* testsuite/experimental/filesystem/operations/create_directories.cc:
|
||
New.
|
||
|
||
2015-09-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67647
|
||
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
|
||
(basic_string::shrink_to_fit): Fix #endif placement.
|
||
|
||
2015-09-19 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/67361
|
||
* include/bits/regex_error.h: Add __throw_regex_error that
|
||
supports string.
|
||
* include/bits/regex_automaton.h: Add more specific exception
|
||
messages.
|
||
* include/bits/regex_automaton.tcc: Likewise.
|
||
* include/bits/regex_compiler.h: Likewise.
|
||
* include/bits/regex_compiler.tcc: Likewise.
|
||
* include/bits/regex_scanner.h: Likewise.
|
||
* include/bits/regex_scanner.tcc: Likewise.
|
||
|
||
2015-09-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/precompiled/extc++.h: Fix bootstrap error due to
|
||
unconditional inclusion of <ext/enc_filebuf.h>.
|
||
* include/ext/random: Check for definition of UINT32_C.
|
||
|
||
2015-09-17 Catherine Moore <clm@codesourcery.com>
|
||
|
||
* src/c++11/debug.cc: Include <cstdio>.
|
||
|
||
2015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
|
||
|
||
* src/c++11/random.cc: Include <cerrno>.
|
||
|
||
2015-09-17 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/formatter.h
|
||
(_Error_formatter::_Parameter::_M_print_field): Deprecate.
|
||
(_Error_formatter::_Parameter::_M_print_description): Likewise.
|
||
(_Error_formatter::_M_format_word): Likewise.
|
||
(_Error_formatter::_M_print_word): Likewise.
|
||
(_Error_formatter::_M_print_string): Likewise.
|
||
(_Error_formatter::_M_get_max_length): Likewise.
|
||
(_Error_formatter::_M_max_length): Delete.
|
||
(_Error_formatter::_M_indent): Likewise.
|
||
(_Error_formatter::_M_column): Likewise.
|
||
(_Error_formatter::_M_first_line): Likewise.
|
||
(_Error_formatter::_M_wordwrap): Likewise.
|
||
* src/c++11/debug.cc: Adapt.
|
||
|
||
2015-09-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65913
|
||
* include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
|
||
__atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
|
||
immediate pointer value, not a variable.
|
||
* include/std/atomic (atomic<T>::is_lock_free()): Likewise.
|
||
* testsuite/29_atomics/atomic/65913.cc: New.
|
||
|
||
* testsuite/experimental/filesystem/operations/canonical.cc: Remove
|
||
non-deterministic part of the test.
|
||
|
||
PR libstdc++/65142
|
||
* src/c++11/random.cc (random_device::_M_getval()): Retry after short
|
||
reads.
|
||
|
||
* include/std/system_error (error_code::operator bool(),
|
||
error_condition::operator bool()): Remove redundant conditional
|
||
expression.
|
||
|
||
* include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
|
||
Do nothing if exceptions are disabled.
|
||
* include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
|
||
|
||
2015-09-16 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67173
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
|
||
and PATH_MAX for _GLIBCXX_USE_REALPATH.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
|
||
alternative implementation.
|
||
* testsuite/experimental/filesystem/operations/canonical.cc: New.
|
||
* testsuite/experimental/filesystem/operations/exists.cc: Add more
|
||
tests.
|
||
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
|
||
variables.
|
||
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
|
||
* testsuite/experimental/filesystem/operations/current_path.cc:
|
||
Likewise.
|
||
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
|
||
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
|
||
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
|
||
Likewise.
|
||
|
||
2015-09-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67173
|
||
* src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
|
||
realpath on Solaris 10.
|
||
|
||
PR libstdc++/65142
|
||
* src/c++11/random.cc (random_device::_M_getval()): Check read result.
|
||
|
||
2015-09-11 John Marino <gnugcc@marino.st>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67096
|
||
* testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
|
||
above U+10FFFF.
|
||
* testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
|
||
* testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
|
||
* testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
|
||
* testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
|
||
* testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
|
||
* testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
|
||
* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
|
||
* testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
|
||
* testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
|
||
* testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
|
||
* testsuite/27_io/objects/wchar_t/10.cc: Likewise.
|
||
* testsuite/27_io/objects/wchar_t/11.cc: Likewise.
|
||
* testsuite/27_io/objects/wchar_t/12.cc: Likewise.
|
||
* testsuite/27_io/objects/wchar_t/13.cc: Likewise.
|
||
|
||
2015-09-11 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64857
|
||
* doc/xml/manual/using.xml: Improve aggregate header documentation.
|
||
* doc/html/manual/*: Regenerate.
|
||
* include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
|
||
and later and include more extension headers.
|
||
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
|
||
redundant header.
|
||
* testsuite/17_intro/headers/c++200x/: Rename to c++2011.
|
||
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
|
||
redundant headers.
|
||
* testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/operator_names.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/stdc++.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
|
||
New.
|
||
|
||
PR libstdc++/58265
|
||
* doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
|
||
* doc/html/manual/bugs.html: Regenerate.
|
||
* include/bits/basic_string.h (basic_string): Implement N4258. Add
|
||
correct exception-specifications and propagate allocators correctly.
|
||
* include/bits/basic_string.tcc (basic_string::swap): Propagate
|
||
allocators correctly.
|
||
* include/debug/string (__gnu_debug::basic_string): Add correct
|
||
exceptions-specifications and allcoator-extended constructors.
|
||
* testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
|
||
New.
|
||
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/char/move.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
|
||
New.
|
||
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
|
||
New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
|
||
New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
|
||
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
|
||
* testsuite/util/testsuite_allocator.h (tracker_allocator): Define
|
||
defaulted assignment operators.
|
||
|
||
PR libstdc++/65092
|
||
* include/bits/stl_queue.h (queue, priority_queue): Add
|
||
allocator-extended constructors.
|
||
* include/bits/stl_stack.h (stack): Likewise.
|
||
* testsuite/23_containers/priority_queue/requirements/
|
||
uses_allocator.cc: Test allocator-extended constructors.
|
||
* testsuite/23_containers/queue/requirements/uses_allocator.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/stack/requirements/uses_allocator.cc:
|
||
Likewise.
|
||
|
||
2015-09-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
|
||
|
||
* testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
|
||
string contents.
|
||
|
||
2015-09-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
|
||
* doc/html/manual/using_macros.html: Regenerate.
|
||
* include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
|
||
_GLIBCXX_DEBUG is defined. Disable std::string extern templates when
|
||
(_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
|
||
_GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
|
||
* include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
|
||
__glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
|
||
* include/backward/auto_ptr.h (auto_ptr::operator*,
|
||
auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
|
||
__glibcxx_assert.
|
||
* include/bits/basic_string.h (basic_string::operator[],
|
||
basic_string::front, basic_string::back, basic_string::pop_back):
|
||
Likewise.
|
||
* include/bits/random.h
|
||
(uniform_int_distribution::param_type::param_type,
|
||
uniform_real_distribution::param_type::param_type,
|
||
normal_distribution::param_type::param_type,
|
||
gamma_distribution::param_type::param_type,
|
||
bernoulli_distribution::param_type::param_type,
|
||
binomial_distribution::param_type::param_type,
|
||
geometric_distribution::param_type::param_type,
|
||
negative_binomial_distribution::param_type::param_type,
|
||
poisson_distribution::param_type::param_type,
|
||
exponential_distribution::param_type::param_type): Likewise.
|
||
* include/bits/regex.h (match_results::operator[],
|
||
match_results::prefix, match_results::suffix): Likewise.
|
||
* include/bits/regex.tcc (format, regex_iterator::operator++):
|
||
Likewise.
|
||
* include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
|
||
* include/bits/regex_compiler.tcc (_Compiler::_Compiler,
|
||
_Compiler::_M_insert_character_class_matcher): Likewise.
|
||
* include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
|
||
* include/bits/regex_scanner.tcc (_Scanner::_M_advance,
|
||
_Scanner::_M_scan_normal): Likewise.
|
||
* include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
|
||
__shared_ptr::operator*): Likewise.
|
||
* include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
|
||
* include/bits/unique_ptr.h (unique_ptr::operator*,
|
||
unique_ptr::operator[]): Likewise.
|
||
* include/experimental/fs_path.h (path::path(string_type, _Type),
|
||
path::iterator::operator++, path::iterator::operator--,
|
||
path::iterator::operator*): Likewise.
|
||
* include/experimental/string_view (basic_string_view::operator[],
|
||
basic_string_view::front, basic_string_view::back,
|
||
basic_string_view::remove_prefix): Likewise.
|
||
* include/ext/random (beta_distribution::param_type::param_type,
|
||
normal_mv_distribution::param_type::param_type,
|
||
rice_distribution::param_type::param_type,
|
||
pareto_distribution::param_type::param_type,
|
||
k_distribution::param_type::param_type,
|
||
arcsine_distribution::param_type::param_type,
|
||
hoyt_distribution::param_type::param_type,
|
||
triangular_distribution::param_type::param_type,
|
||
von_mises_distribution::param_type::param_type,
|
||
hypergeometric_distribution::param_type::param_type,
|
||
logistic_distribution::param_type::param_type): Likewise.
|
||
* include/ext/vstring.h (__versa_string::operator[]): Likewise.
|
||
* include/std/complex (polar): Likewise.
|
||
* include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
|
||
(timed_mutex::~timed_mutex, timed_mutex::unlock,
|
||
(recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
|
||
Likewise.
|
||
* include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
|
||
(__shared_mutex_pthread::__shared_mutex_pthread,
|
||
__shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
|
||
(__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
|
||
__shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
|
||
__shared_mutex_pthread::try_lock_shared): Likewise.
|
||
(__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
|
||
__shared_mutex_cv::unlock_shared): Likewise.
|
||
(shared_timed_mutex::try_lock_until,
|
||
shared_timed_mutex::try_lock_shared_until): Likewise.
|
||
* include/std/valarray (valarray::valarray(const _Tp*, size_t),
|
||
valarray::operator=, valarray::sum, valarray::min, valarray::max,
|
||
_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
|
||
Likewise.
|
||
|
||
2015-09-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
|
||
_GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
|
||
* include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
|
||
* testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
|
||
empty shared_ptr.
|
||
|
||
* include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
|
||
Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
|
||
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
|
||
shadowed variable.
|
||
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
|
||
darwin.
|
||
* testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
|
||
|
||
2015-09-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65704
|
||
* include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
|
||
|
||
PR libstdc++/65704
|
||
* include/Makefile.am: Add <bits/mutex.h>.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
|
||
New file containing types moved from <mutex>.
|
||
* include/std/condition_variable: Include <bits/mutex.h> instead of
|
||
<mutex>.
|
||
* include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
|
||
Move to <bits/mutex.h>.
|
||
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
|
||
dg-require-gthreads-timed.
|
||
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/dest/
|
||
destructor_locked.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
|
||
|
||
2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Add C++11 header <cuchar>.
|
||
* acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* configure.ac: Check for <uchar.h>.
|
||
* include/Makefile.am: Add new headers.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/c/cuchar: New.
|
||
* include/c_compatibility/uchar.h: New.
|
||
* include/c_global/cuchar: New.
|
||
* include/c_std/cuchar: New.
|
||
* include/precompiled/stdc++.h: Include <cuchar>.
|
||
* testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
|
||
* testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
|
||
Include <uchar.h>.
|
||
|
||
2015-09-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65473
|
||
* include/c/cassert: Include <bits/c++config.h>.
|
||
* include/c/cerrno: Likewise.
|
||
* include/c/cfloat: Likewise.
|
||
* include/c/ciso646: Likewise.
|
||
* include/c/climits: Likewise.
|
||
* include/c_global/cassert: Likewise.
|
||
* include/c_global/cerrno: Likewise.
|
||
* include/c_global/cfloat: Likewise.
|
||
* include/c_global/ciso646: Likewise.
|
||
* include/c_global/climits: Likewise.
|
||
* include/c_std/cassert: Likewise.
|
||
* include/c_std/cerrno: Likewise.
|
||
* include/c_std/cfloat: Likewise.
|
||
* include/c_std/ciso646: Likewise.
|
||
* include/c_std/climits: Likewise.
|
||
|
||
2015-09-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr_base.h: Add required header.
|
||
* include/std/condition_variable: Likewise.
|
||
* include/std/mutex: Remove unused header.
|
||
* include/std/shared_mutex: Remove redundant header.
|
||
(shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
|
||
|
||
PR libstdc++/66902
|
||
* src/c++11/debug.cc (_S_debug_messages): Make array const.
|
||
|
||
PR libstdc++/66998
|
||
* include/experimental/functional (_Not_fn): Add exception
|
||
specifications and non-deduced return types.
|
||
(not_fn): Add exception specification and wrap pointer-to-member.
|
||
* testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
|
||
and test pointer-to-member.
|
||
|
||
PR libstdc++/62039
|
||
* include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
|
||
checks.
|
||
* testsuite/24_iterators/operations/prev_neg.cc: New.
|
||
* testsuite/24_iterators/operations/next_neg.cc: New.
|
||
|
||
2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
* testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
|
||
selector to all lines which contain a *-*-cygwin target selector.
|
||
* testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
|
||
* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
|
||
* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
|
||
* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
|
||
* testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
|
||
* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
|
||
* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
|
||
* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
|
||
* testsuite/23_containers/list/pthread1.cc: Likewise.
|
||
* testsuite/23_containers/list/pthread5.cc: Likewise.
|
||
* testsuite/23_containers/map/pthread6.cc: Likewise.
|
||
* testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
|
||
* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
|
||
* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
|
||
* testsuite/30_threads/async/42819.cc: Likewise.
|
||
* testsuite/30_threads/async/49668.cc: Likewise.
|
||
* testsuite/30_threads/async/54297.cc: Likewise.
|
||
* testsuite/30_threads/async/any.cc: Likewise.
|
||
* testsuite/30_threads/async/async.cc: Likewise.
|
||
* testsuite/30_threads/async/launch.cc: Likewise.
|
||
* testsuite/30_threads/async/lwg2021.cc: Likewise.
|
||
* testsuite/30_threads/async/sync.cc: Likewise.
|
||
* testsuite/30_threads/call_once/39909.cc: Likewise.
|
||
* testsuite/30_threads/call_once/49668.cc: Likewise.
|
||
* testsuite/30_threads/call_once/60497.cc: Likewise.
|
||
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/54185.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/members/3.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
|
||
* testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
|
||
* testsuite/30_threads/future/cons/move.cc: Likewise.
|
||
* testsuite/30_threads/future/members/45133.cc: Likewise.
|
||
* testsuite/30_threads/future/members/get.cc: Likewise.
|
||
* testsuite/30_threads/future/members/get2.cc: Likewise.
|
||
* testsuite/30_threads/future/members/share.cc: Likewise.
|
||
* testsuite/30_threads/future/members/valid.cc: Likewise.
|
||
* testsuite/30_threads/future/members/wait.cc: Likewise.
|
||
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
|
||
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
|
||
* testsuite/30_threads/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/lock/2.cc: Likewise.
|
||
* testsuite/30_threads/lock/3.cc: Likewise.
|
||
* testsuite/30_threads/lock/4.cc: Likewise.
|
||
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
|
||
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
|
||
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
|
||
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/mutex/unlock/2.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/49668.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/60564.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
|
||
* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
|
||
* testsuite/30_threads/promise/60966.cc: Likewise.
|
||
* testsuite/30_threads/promise/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
|
||
* testsuite/30_threads/promise/cons/move.cc: Likewise.
|
||
* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/get_future.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/set_value.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
|
||
* testsuite/30_threads/promise/members/swap.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
|
||
Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/get.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
|
||
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/this_thread/1.cc: Likewise.
|
||
* testsuite/30_threads/this_thread/2.cc: Likewise.
|
||
* testsuite/30_threads/this_thread/3.cc: Likewise.
|
||
* testsuite/30_threads/this_thread/4.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/2.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/3.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/4.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/49668.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/5.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/6.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/7.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/8.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/9.cc: Likewise.
|
||
* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/1.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/2.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/3.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/4.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/5.cc: Likewise.
|
||
* testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
|
||
* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
|
||
* testsuite/30_threads/thread/swap/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
|
||
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
|
||
* testsuite/30_threads/try_lock/1.cc: Likewise.
|
||
* testsuite/30_threads/try_lock/2.cc: Likewise.
|
||
* testsuite/30_threads/try_lock/3.cc: Likewise.
|
||
* testsuite/30_threads/try_lock/4.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
|
||
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
|
||
* testsuite/ext/rope/pthread7-rope.cc: Likewise.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
|
||
Likewise.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
|
||
Likewise.
|
||
|
||
2015-09-02 Dmitry Vyukov <dvyukov@google.com>
|
||
|
||
* include/bits/basic_string.h: Fix data races on _M_refcount.
|
||
|
||
2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||
|
||
PR libstdc++/67408
|
||
* include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
|
||
_Derived::_M_timedlock().
|
||
(timed_mutex): Add _M_timedlock() and make base class a friend.
|
||
(recursive_timed_mutex): Likewise.
|
||
|
||
2015-08-28 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/67362
|
||
* include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
|
||
Always returns ordinary char token if the char isn't
|
||
considered a special char.
|
||
* testsuite/28_regex/regression.cc: New test file for collecting
|
||
regression testcases from, typically, bugzilla.
|
||
|
||
2015-08-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67374
|
||
* include/bits/range_access.h (valarray, begin, end): Declare.
|
||
* testsuite/26_numerics/valarray/range_access.cc: Test const
|
||
overloads.
|
||
* testsuite/26_numerics/valarray/range_access2.cc: New.
|
||
|
||
2015-08-27 John Marino <gnugcc@marino.st>
|
||
|
||
* acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
|
||
from generic to new DragonFly versions.
|
||
* configure: Regenerate.
|
||
* config/locale/dragonfly/c_locale.cc: Improve locale support.
|
||
* config/locale/dragonfly/ctype_members.cc: Likewise.
|
||
* config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
|
||
* config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
|
||
* config/locale/dragonfly/c_locale.h: New.
|
||
* config/locale/dragonfly/codecvt_members.cc: New.
|
||
* config/locale/dragonfly/collate_members.cc: New.
|
||
* config/locale/dragonfly/monetary_members.cc: New.
|
||
* config/locale/dragonfly/numeric_members.cc: New.
|
||
* config/locale/dragonfly/time_members.cc: New.
|
||
* config/locale/dragonfly/time_members.h: New.
|
||
|
||
2015-08-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64351
|
||
PR libstdc++/63176
|
||
* include/bits/random.tcc (generate_canonical): Loop until we get a
|
||
result less than one.
|
||
* testsuite/26_numerics/random/uniform_real_distribution/operators/
|
||
64351.cc: New.
|
||
|
||
2015-08-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
|
||
nullptr.
|
||
* include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
|
||
if ownership is already shared with a shared_ptr object.
|
||
(__enable_shared_from_this_helper): Use nullptr.
|
||
* testsuite/20_util/enable_shared_from_this/members/const.cc: New.
|
||
* testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
|
||
* testsuite/20_util/enable_shared_from_this/requirements/
|
||
explicit_instantiation.cc: Instantiate with const and incomplete types.
|
||
|
||
* include/debug/map.h (map::try_emplace, map::insert_or_assign):
|
||
Define.
|
||
* include/debug/unordered_map (unordered_map::try_emplace,
|
||
unordered_map::insert_or_assign): Define.
|
||
|
||
PR libstdc++/66902
|
||
* src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
|
||
|
||
2015-08-24 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
PR libstdc++/60519
|
||
* include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
|
||
New enum entry.
|
||
* include/debug/functions.h (_Irreflexive_checker): New.
|
||
(__is_irreflexive, __is_irreflexive_pred): New.
|
||
* include/debug/macros.h
|
||
(__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
|
||
macros.
|
||
(__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
|
||
macros limited to post-C++11 mode.
|
||
* include/debug/debug.h
|
||
(__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
|
||
New macros, use latter.
|
||
(__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
|
||
Likewise.
|
||
* include/bits/stl_algo.h
|
||
(partial_sort_copy): Add irreflexive debug check.
|
||
(partial_sort_copy): Likewise.
|
||
(lower_bound): Likewise.
|
||
(upper_bound): Likewise.
|
||
(equal_range): Likewise.
|
||
(binary_search): Likewise.
|
||
(inplace_merge): Likewise.
|
||
(includes): Likewise.
|
||
(next_permutation): Likewise.
|
||
(prev_permutation): Likewise.
|
||
(is_sorted_until): Likewise.
|
||
(minmax_element): Likewise.
|
||
(partial_sort): Likewise.
|
||
(nth_element): Likewise.
|
||
(sort): Likewise.
|
||
(merge): Likewise.
|
||
(stable_sort): Likewise.
|
||
(set_union): Likewise.
|
||
(set_intersection): Likewise.
|
||
(set_difference): Likewise.
|
||
(set_symmetric_difference): Likewise.
|
||
(min_element): Likewise.
|
||
(max_element): Likewise.
|
||
* include/bits/stl_algobase.h
|
||
(lower_bound): Likewise.
|
||
(lexicographical_compare): Likewise.
|
||
* include/bits/stl_heap.h
|
||
(push_heap): Likewise.
|
||
(pop_heap): Likewise.
|
||
(make_heap): Likewise.
|
||
(sort_heap): Likewise.
|
||
(is_heap_until): Likewise.
|
||
* testsuite/25_algorithms/lexicographical_compare/debug/
|
||
irreflexive_neg.cc: New.
|
||
* testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
|
||
* testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
|
||
New.
|
||
|
||
2015-08-24 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65049
|
||
* include/bits/char_traits.h (char_traits<char>::compare,
|
||
char_traits<char>::find, char_traits<char>::move,
|
||
char_traits<char>::copy, char_traits<char>::assign): Check for zero
|
||
length.
|
||
(char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
|
||
char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
|
||
char_traits<wchar_t>::assign): Likewise.
|
||
(char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
|
||
(char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
|
||
* include/ext/pod_char_traits.h (char_traits<character<>>::move,
|
||
char_traits<character<>>::copy): Likewise.
|
||
* testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
|
||
* testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
|
||
New.
|
||
* testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
|
||
New.
|
||
* testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
|
||
New.
|
||
|
||
PR libstdc++/67309
|
||
* include/bits/random.tcc
|
||
(poisson_distribution::param_type::_M_initialize): Use max<double>.
|
||
(binomial_distribution::param_type::_M_initialize): Likewise.
|
||
* testsuite/17_intro/headers/c++200x/67309.cc: New.
|
||
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
|
||
redundant header.
|
||
|
||
2015-08-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67294
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
|
||
on Darwin.
|
||
* testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
|
||
|
||
* include/experimental/any (__any_caster): Define at namespace scope
|
||
so the name is visible to name lookup.
|
||
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
|
||
|
||
* python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
|
||
libstdc++fs.
|
||
* python/Makefile.in: Regenerate.
|
||
|
||
2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* include/c_global/cmath: Fix typo in comment.
|
||
|
||
2015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* include/c_global/cmath: Revert fix for libstdc++/58625, no
|
||
longer necessary (__builtin_signbit is now type-generic).
|
||
|
||
2015-08-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/67216
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
|
||
Fix use of safe-bool idiom that isn't valid in C++11.
|
||
|
||
* include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
|
||
|
||
PR libstdc++/67066
|
||
* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
|
||
caveats for --enable-concept-checks. Improve link text.
|
||
* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
|
||
Clarify caveats.
|
||
* doc/html/*: Regenerate.
|
||
* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
|
||
* include/bits/stl_stack.h (stack): Likewise.
|
||
* include/bits/stl_vector.h (vector): Likewise.
|
||
|
||
2015-08-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/any (any::operator=(const any&)): Move check
|
||
for self-assignment.
|
||
(any::operator=(any&&)): Add check for self-assignment.
|
||
(any::operator=(_ValueType&&)): Constrain template argument.
|
||
(any::swap(any&)): Add check for self-swap.
|
||
* testsuite/experimental/any/assign/self.cc: Test move and swap.
|
||
* testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
|
||
|
||
2015-08-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/array: Add feature-test macro.
|
||
* testsuite/experimental/array/neg.cc: Update dg-error.
|
||
|
||
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
* testsuite/experimental/array/neg.s: Remove.
|
||
* testsuite/experimental/array/neg.ii.gz: Remove.
|
||
|
||
2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement std::experimental::fundamentals_v2::make_array and
|
||
std::experimental::fundamentals_v2::to_array.
|
||
* include/Makefile.am: Add array.
|
||
* include/Makefile.in: Add array.
|
||
* include/experimental/array: New.
|
||
* testsuite/experimental/array/make_array.cc: Likewise.
|
||
* testsuite/experimental/array/neg.cc: Likewise.
|
||
* doc/html/manual/status.html: Mark make_array as Y.
|
||
* doc/xml/manual/status_cxx2017.xml: Likewise.
|
||
|
||
2015-08-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/alloc_traits.h: Add feature-test macro.
|
||
* include/bits/allocator.h: Likewise.
|
||
* include/bits/range_access.h: Likewise.
|
||
* include/bits/stl_map.h: Likewise.
|
||
* include/bits/unordered_map.h: Likewise.
|
||
|
||
2015-08-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/30_threads/mutex/unlock/2.cc: New.
|
||
* testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
|
||
* testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
|
||
* testsuite/30_threads/shared_mutex/unlock/1.cc: New.
|
||
* testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
|
||
* testsuite/30_threads/timed_mutex/unlock/2.cc: New.
|
||
|
||
2015-08-13 Eelis van der Weegen <eelis@eelis.net>
|
||
|
||
* include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
|
||
|
||
2015-08-12 Caroline Tice <cmtice@google.com>
|
||
|
||
PR 66521, Contributed by Eric Gallager
|
||
* acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
|
||
fix the rpath flag to work properly for darwin.
|
||
* configure: Regenerated.
|
||
|
||
2015-08-12 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/appendix_contributing.xml: Update patch email policy.
|
||
* doc/xml/manual/status_cxx2017.xml: Update status table.
|
||
* doc/html/manual/*: Regenerate.
|
||
|
||
2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement N4279, Improved insertion interface for unique-key maps.
|
||
* include/bits/stl_map.h (try_emplace, insert_or_assign): New.
|
||
* include/bits/stl_tree.h (_M_get_insert_unique_pos,
|
||
_M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
|
||
_M_get_insert_hint_equal_pos): Make public.
|
||
* include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
|
||
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
|
||
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
|
||
Likewise.
|
||
|
||
2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
|
||
and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
|
||
templated assignment
|
||
* include/bits/unique_ptr.h
|
||
(__remove_cv, __is_derived_Tp): Remove.
|
||
(default_delete::default_delete(const default_delete<_Up[]>)):
|
||
Constrain with array convertibility.
|
||
(default_delete::operator(_Up*)): Turn into a template,
|
||
constrain with array convertibility.
|
||
(__safe_conversion_up): New, single object version.
|
||
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
|
||
convertibility.
|
||
(unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
|
||
is_assignable as a constraint.
|
||
(__safe_conversion_up): Array version, renamed from __safe_conversion,
|
||
updated to implement N4089.
|
||
(__safe_conversion_raw): New.
|
||
(unique_ptr(_Up)): Turn into a template, constrain with array
|
||
convertibility.
|
||
(unique_ptr(_Up,
|
||
typename conditional<is_reference<deleter_type>::value,
|
||
deleter_type, const deleter_type&>::type)): Likewise.
|
||
(unique_ptr(_Up, typename
|
||
remove_reference<deleter_type>::type&&)): Likewise.
|
||
(unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
|
||
(operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
|
||
is_assignable as a constraint (array version).
|
||
(reset(_Up)): Turn into a template, constrain with array
|
||
convertibility.
|
||
(reset(nullptr_t)): New.
|
||
* testsuite/20_util/default_delete/48631_neg.cc: Adjust.
|
||
* testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
|
||
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
|
||
* testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
|
||
* testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
|
||
* testsuite/20_util/unique_ptr/dr2228.cc: New.
|
||
* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
|
||
|
||
2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
|
||
|
||
* testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
|
||
redundant -save-temps option.
|
||
* testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
|
||
* testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
|
||
* testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
|
||
* testsuite/30_threads/future/cons/constexpr.cc: Likewise.
|
||
* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
|
||
|
||
2015-08-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/67078
|
||
* include/bits/range_access.h (size, empty, data): Fix _N bad name.
|
||
|
||
2015-07-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/experimental/filesystem/operations/current_path.cc: Use
|
||
canonical paths for comparisons.
|
||
|
||
2015-07-30 Tim Shen <timshen@google.com>
|
||
|
||
* include/bits/regex_automaton.h (_State_base, _State<>):
|
||
Remove _TraitsT dependency from _State<>; Make matcher member
|
||
into the union to reduce struct size.
|
||
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
|
||
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
|
||
Adjust to fit the interface. Factor out common parts in
|
||
_M_clone as _State<>::_M_has_alt.
|
||
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
|
||
Only pass state id instead of the whole state.
|
||
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
|
||
_Executer<>::_M_lookahead): Adjust to fit the interface.
|
||
* include/std/regex: Include <ext/aligned_buffer.h>
|
||
|
||
2015-07-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/any (any::operator=(const any&)): Check for
|
||
self-assignment.
|
||
* testsuite/experimental/any/assign/self.cc: New.
|
||
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
|
||
|
||
2015-07-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66829
|
||
* testsuite/lib/libstdc++.exp (v3-build_support): Compile
|
||
testsuite_shared.cc with -std=gnu++98.
|
||
|
||
2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
* include/bits/range_access.h: Change class to typename in every
|
||
template.
|
||
(size, empty, data): New functions from N4280.
|
||
* testsuite/24_iterators/container_access.cc: New.
|
||
|
||
PR libstdc++/60970
|
||
* include/bits/functional_hash.h (__hash_enum): New.
|
||
(hash): Derive from __hash_enum.
|
||
* testsuite/20_util/hash/60970.cc: New.
|
||
|
||
2015-07-29 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/67015
|
||
* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
|
||
_BracketMatcher<>::_M_add_collating_element): Change signature
|
||
to make checking the and of bracket expression easier.
|
||
* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
|
||
Treat '-' as a valid literal if it's at the end of bracket expression.
|
||
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
|
||
New testcases.
|
||
|
||
2015-07-24 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
|
||
(_M_load_and_test_until): Whitespace.
|
||
(_M_load_and_test): Value-initialize the unused durations.
|
||
(_M_load_when_equal): Add missing return value.
|
||
|
||
2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
|
||
* fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
* include/Makefile.in: Regenerate.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
* po/Makefile.in: Regenerate.
|
||
* python/Makefile.in: Regenerate.
|
||
* src/Makefile.in: Regenerate.
|
||
* src/c++11/Makefile.in: Regenerate.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* src/filesystem/Makefile.in: Regenerate.
|
||
* testsuite/Makefile.in: Regenerate.
|
||
|
||
2015-07-23 DJ Delorie <dj@redhat.com>
|
||
|
||
* include/bits/functional_hash.h: Add specializations for __intN
|
||
types.
|
||
|
||
* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
|
||
Guard against values that might exceed size_t's precision.
|
||
|
||
2015-07-20 Jason Merrill <jason@redhat.com>
|
||
|
||
* include/bits/c++config: Fix abi_tag in special modes.
|
||
|
||
2015-07-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-07-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-07-16 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/stl_algobase.h (__miter_base): Move...
|
||
* include/bits/cpp_type_traits.h: ...here.
|
||
* include/debug/functions.h (__foreign_iterator_aux): Use latter.
|
||
* testsuite/23_containers/vector/debug/insert7_neg.cc: New.
|
||
|
||
2015-07-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66855
|
||
* src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
|
||
endianness bit in mode.
|
||
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
|
||
|
||
* include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
|
||
* include/bits/forward_list.h (forward_list::swap): Make noexcept
|
||
unconditional.
|
||
* include/bits/hashtable.h (_Hashtable::swap): Do not use
|
||
_S_nothrow_swap().
|
||
* include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
|
||
unconditional.
|
||
* include/bits/stl_deque.h (deque::swap): Likewise.
|
||
(swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/bits/stl_list.h (list::swap): Make noexcept unconditional.
|
||
(swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
|
||
_GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
|
||
* include/bits/stl_multimap.h (multimap::swap,
|
||
swap(multimap&, multimap&)): Likewise.
|
||
* include/bits/stl_multiset.h (multiset::swap,
|
||
swap(multiset&, multiset&)): Likewise.
|
||
* include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
|
||
* include/bits/stl_tree.h (_Rb_tree::swap,
|
||
swap(_Rb_tree&, _Rb_tree&)): Likewise.
|
||
* include/bits/stl_vector.h (vector::swap): Make noexcept
|
||
unconditional.
|
||
(swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/debug/deque (deque::swap, swap): Likewise.
|
||
* include/debug/forward_list (swap): Add noexcept.
|
||
* include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/debug/map.h (map::swap, swap): Likewise.
|
||
* include/debug/multimap.h (multimap::swap, swap): Likewise.
|
||
* include/debug/multiset.h (multiset::Swap, swap): Likewise.
|
||
* include/debug/set.h (set::swap, swap): Likewise.
|
||
* include/debug/unordered_map (unordered_map::swap,
|
||
unordered_multimap::swap, swap): Likewise.
|
||
* include/debug/unordered_set (unordered_set::swap,
|
||
unordered_multiset::swap, swap): Likewise.
|
||
* include/debug/vector (vector::swap, swap): Likewise.
|
||
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
|
||
Remove.
|
||
* include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/profile/forward_list (swap): Add noexcept.
|
||
* include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
|
||
* include/profile/map.h (map::swap, swap): Likewise.
|
||
* include/profile/multimap.h (multimap::swap, swap): Likewise.
|
||
* include/profile/multiset.h (multiset::swap, swap): Likewise.
|
||
* include/profile/set.h (set::swap, swap): Likewise.
|
||
* include/profile/unordered_map (swap): Likewise.
|
||
* include/profile/unordered_set (swap): Likewise.
|
||
* include/profile/vector (vector::swap, swap): Likewise. Remove
|
||
overloads for swapping rvalues.
|
||
* testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
|
||
for noexcept on swap.
|
||
* testsuite/23_containers/forward_list/allocator/noexcept.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
|
||
* testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
|
||
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
|
||
number.
|
||
|
||
2015-07-13 John Marino <gnugcc@marino.st>
|
||
|
||
* config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
|
||
_GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
|
||
_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
|
||
|
||
2015-07-05 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
|
||
rehash container.
|
||
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
|
||
Adapt.
|
||
|
||
2015-07-03 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Update status table.
|
||
* doc/html/manual/*: Regenerate.
|
||
|
||
2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement std::experimental::fundamentals_v2::propagate_const.
|
||
* include/Makefile.am: Add propagate_const.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/experimental/propagate_const: New.
|
||
* testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
|
||
Likewise.
|
||
* testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/cons/default.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/cons/move.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/hash/1.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/observers/1.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/relops/1.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/requirements1.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/requirements2.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/requirements3.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/requirements4.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/requirements5.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/swap/1.cc: Likewise.
|
||
* testsuite/experimental/propagate_const/typedefs.cc: Likewise.
|
||
|
||
2015-07-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
|
||
--with-default-libstdcxx-abi
|
||
* configure: Regenerate.
|
||
* doc/xml/manual/configure.xml: Document valid arguments.
|
||
|
||
2015-07-02 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
|
||
to avoid unused variable warning.
|
||
(__set_and_release): Use __p after __atomic_store to avoid unused
|
||
variable warning.
|
||
|
||
2015-07-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/alloc_traits.h (__alloctr_rebind): Remove.
|
||
(__allocator_traits_base): New base class.
|
||
(__alloc_rebind): Reimplement in terms of detection idiom.
|
||
(allocator_traits): Derive from __allocator_traits_base. Reimplement
|
||
nested types in terms of detection idiom. Simplify SFINAE constraints
|
||
on overloaded static member functions.
|
||
* include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
|
||
of __alloctr_rebind.
|
||
* testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
|
||
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
|
||
dg-error line number.
|
||
|
||
* include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
|
||
__ptrtr_rebind, __ptrtr_not_void): Remove
|
||
(__get_first_arg, __replace_first_arg, __make_not_void): Define new
|
||
transformations.
|
||
(__detected_or_): New detection trait.
|
||
(pointer_traits): Use new traits.
|
||
* testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
|
||
* testsuite/20_util/pointer_traits/requirements/
|
||
explicit_instantiation.cc: Use valid arguments to pointer_traits.
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Update status table.
|
||
* include/experimental/type_traits (void_t, is_detected,
|
||
is_detected_v, detected_t, detected_or, detected_or_t,
|
||
is_detected_exact, is_detected_exact_v, is_detected_convertible,
|
||
is_detected_convertible_v): Define.
|
||
* include/std/type_traits (__detector, __detected_or, __detected_or_t,
|
||
__detected_or_t_): Define.
|
||
* testsuite/experimental/type_traits/detection.cc: New.
|
||
|
||
2015-06-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
|
||
* doc/Makefile.in: Regenerate.
|
||
|
||
* include/bits/stl_pair.h: Replace class keyword with typename.
|
||
|
||
2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement N4387, "Improving pair and tuple", and LWG 2367.
|
||
|
||
* include/bits/stl_pair.h (_ConstructiblePair,
|
||
_ImplicitlyConvertiblePair, _MoveConstructiblePair,
|
||
_ImplicitlyMoveConvertiblePair): New.
|
||
(pair()): Constrain it.
|
||
(pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
|
||
pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
|
||
pair(pair<_U1, _U2>&&)): Make conditionally explicit.
|
||
* include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
|
||
(tuple()): Constrain it.
|
||
(tuple(const _UElements&...), tuple(_UElements&&...),
|
||
tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
|
||
tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
|
||
tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
|
||
tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
|
||
tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
|
||
tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
|
||
tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
|
||
tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
|
||
conditionally explicit.
|
||
* include/experimental/functional (__boyer_moore_array_base): Name
|
||
array type explicitly instead of using an empty braced-init-list.
|
||
* testsuite/20_util/pair/cons/explicit_construct.cc: New.
|
||
* testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
|
||
* testsuite/20_util/pair/requirements/dr2367.cc: New.
|
||
* testsuite/20_util/tuple/cons/explicit_construct.cc: New.
|
||
* testsuite/20_util/tuple/requirements/dr2367.cc: New.
|
||
|
||
2015-06-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* configure: Regenerate.
|
||
|
||
2015-06-29 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
|
||
to pre-C++11 mode.
|
||
* include/debug/functions.h
|
||
(__gnu_debug::__valid_range, __gnu_debug::__base): Move...
|
||
* include/debug/safe_iterator.h
|
||
(__gnu_debug::_Sequence_traits): New.
|
||
(__gnu_debug::__get_distance_from_begin): New.
|
||
(__gnu_debug::__get_distance_to_end): New.
|
||
(__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
|
||
distance information. Add optional check_dereferenceable parameter,
|
||
default true.
|
||
(__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
|
||
default definition...
|
||
(__gnu_debug::__get_distance): New overload for _Safe_iterator.
|
||
(__gnu_debug::__unsafe): Likewise.
|
||
* include/debug/helper_functions.h: ...here. New.
|
||
(__gnu_debug::__unsafe): New helper function to remove safe iterator
|
||
layer.
|
||
* include/debug/stl_iterator.h: New. Include latter.
|
||
* include/bits/stl_iterator.h: Include latter in debug mode.
|
||
* include/debug/stl_iterator.tcc: Adapt.
|
||
* include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
|
||
overload for _Safe_local_iterator.
|
||
(__gnu_debug::__unsafe): Likewise.
|
||
* include/debug/safe_local_iterator.tcc: Adapt.
|
||
* include/debug/macros.h (__glibcxx_check_valid_range2): New.
|
||
(__glibcxx_check_insert_range): Add _Dist parameter.
|
||
(__glibcxx_check_insert_range_after): Likewise.
|
||
(__glibcxx_check_string, __glibcxx_check_string_len): Implement using
|
||
_GLIBCXX_DEBUG_PEDASSERT.
|
||
* include/debug/deque (deque<>::assign): Remove iterator debug layer
|
||
when possible.
|
||
(deque<>::insert): Likewise.
|
||
* include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
|
||
(forward_list<>::splice_after): Use latter.
|
||
(forward_list<>::assign): Remove iterator debug layer when possible.
|
||
(forward_list<>::insert_after): Likewise.
|
||
(__gnu_debug::_Sequence_traits<>): Partial specialization.
|
||
* include/debug/list (list<>::assign): Remove iterator debug layer when
|
||
possible.
|
||
(list<>::insert): Likewise.
|
||
[__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
|
||
* include/debug/map.h (map<>::insert): Remove iterator debug layer when
|
||
possible.
|
||
* include/debug/multimap.h (multimap<>::insert): Likewise.
|
||
* include/debug/set.h (set<>::insert): Likewise.
|
||
* include/debug/multiset.h (multiset<>::insert): Likewise.
|
||
* include/debug/string (basic_string<>::append, basic_string<>::assign,
|
||
basic_string<>::insert, basic_string<>::replace): Likewise.
|
||
* include/debug/unordered_map
|
||
(unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
|
||
* include/debug/unordered_set
|
||
(unordered_set<>::insert, unordered_multiset<>insert): Likewise.
|
||
* include/debug/vector
|
||
(vector<>::assign, vector<>::insert): Likewise.
|
||
* include/Makefile.am: Add new debug headers.
|
||
* include/Makefile.in: Regenerate.
|
||
|
||
2015-06-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/intro.xml: Document LWG 2108 status.
|
||
* include/bits/alloc_traits.h (allocator_traits::is_always_equal):
|
||
Define.
|
||
* include/bits/allocator.h (allocator::is_always_equal): Likewise.
|
||
* include/bits/forward_list.h
|
||
(forward_list::operator=(forward_list&&)): Use __bool_constant.
|
||
(forward_list::swap(forward_list&)): Add noexcept.
|
||
* include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
|
||
Likewise.
|
||
(_Hashtable::swap(_Hashtable&)): Likewise.
|
||
* include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
|
||
Use _Alloc_traits::is_always_equal.
|
||
(deque::operator=(deque&&)): Likewise.
|
||
(deque::_M_move_assign1(deque&&, false_type)): Add comment and use
|
||
__bool_constant.
|
||
(swap(deque&, deque&)): Add noexcept.
|
||
* include/bits/stl_list.h (list::operator=(list&&)): Use
|
||
__bool_constant.
|
||
(swap(list&, list&)): Add noexcept.
|
||
* include/bits/stl_map.h (map::swap(map&)): Include _Compare in
|
||
noexcept.
|
||
(swap(map&, map&)): Add noexcept.
|
||
* include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
|
||
_Compare in noexcept.
|
||
(swap(multimap&, multimap&)): Add noexcept.
|
||
* include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
|
||
_Compare in noexcept.
|
||
(swap(multiset&, multiset&)): Add noexcept.
|
||
* include/bits/stl_set.h (set::swap(set&)): Include _Compare in
|
||
noexcept.
|
||
(swap(set&, set&)): Add noexcept.
|
||
* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
|
||
_Compare in noexcept.
|
||
(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
|
||
is_always_equal.
|
||
* include/bits/stl_vector.h (vector::operator=(vector&&)): Use
|
||
__bool_constant.
|
||
(swap(vector&, vector&)): Add noexcept.
|
||
* include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
|
||
swap(unordered_multimap& unordered_multimap&)): Add noexcept.
|
||
* include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
|
||
swap(unordered_multiset& unordered_multiset&)): Add noexcept.
|
||
* include/ext/alloc_traits.h (__allocator_always_compares_equal):
|
||
Remove.
|
||
(__alloc_traits::_S_always_equal()): Use is_always_equal instead of
|
||
__allocator_always_compares_equal.
|
||
* include/ext/array_allocator.h (array_allocator::is_always_equal):
|
||
Define.
|
||
* include/std/scoped_allocator (__any_of, __propagate_on_copy,
|
||
__propagate_on_move, __propagate_on_swap): Remove.
|
||
(scoped_allocator_adaptor::propagate_on_container_copy_assignment,
|
||
scoped_allocator_adaptor::propagate_on_container_move_assignment,
|
||
scoped_allocator_adaptor::propagate_on_container_swap): Define with
|
||
__and_ instead of __any_of.
|
||
(scoped_allocator_adaptor::is_always_equal): Define.
|
||
* testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
|
||
* testsuite/20_util/scoped_allocator/propagation.cc: Make traits
|
||
derive from true_type or false_type.
|
||
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
|
||
is_always_equal member and remove the trait specialization.
|
||
* testsuite/23_containers/vector/52591.cc: Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
|
||
Adjust dg-error line number.
|
||
* testsuite/23_containers/deque/requirements/dr438/
|
||
constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/
|
||
constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/
|
||
constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
|
||
* include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
|
||
* include/bits/stl_map.h (map::map()): Likewise.
|
||
* include/bits/stl_multimap.h (multimap::multimap()): Likewise.
|
||
* include/bits/stl_multiset.h (multiset::multiset()): Likewise.
|
||
* include/bits/stl_set.h (set::set()): Likewise.
|
||
|
||
2015-06-25 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/locale_conv.h (__do_str_codecvt): Set __count.
|
||
|
||
2015-06-24 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/basic_string.h (basic_string<>::front()): Add !empty
|
||
debug check.
|
||
(basic_string<>::back()): Likewise.
|
||
(basic_string<>::pop_back()): Likewise.
|
||
|
||
2015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
|
||
dg-error line numbers.
|
||
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
|
||
Likewise.
|
||
|
||
2015-06-23 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/array: Include <array>. Add version namespace when
|
||
specializing tuple interface to array. Add specialization for
|
||
__is_tuple_like_impl.
|
||
* include/profile/array: Likewise.
|
||
* include/std/array: Include <utility>. Add specialization for
|
||
__is_tuple_like_impl.
|
||
* include/std/tuple
|
||
(__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
|
||
* include/std/utility: ... here. Include <type_traits>.
|
||
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
|
||
dg-error line number.
|
||
* testsuite/23_containers/array/tuple_interface/
|
||
tuple_element_debug_neg.cc: Likewise.
|
||
|
||
2015-06-22 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/26_numerics/complex/value_operations/1.cc: Use
|
||
non-negative rho argument.
|
||
|
||
* include/debug/list (__gnu_debug::list): Use allocator-aware
|
||
_Safe_container base.
|
||
* include/debug/string (__gnu_debug::basic_string): Use
|
||
allocator-aware _Safe_container base for cxx11 ABI.
|
||
|
||
* include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
|
||
(wstring_convert): Move into __cxx11 namespace.
|
||
(wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
|
||
message.
|
||
|
||
PR libstdc++/64657
|
||
* include/bits/stl_uninitialized.h
|
||
(__uninitialized_copy::__uninit_copy): Cast expression to void.
|
||
|
||
2015-06-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/55409
|
||
* include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
|
||
(list::list(const list&)): Use allocator propagation trait. Use
|
||
_M_assign_dispatch to copy elements.
|
||
* include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
|
||
(_List_node::_M_valptr()): Add accessor for stored value.
|
||
(_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
|
||
(_List_base, list): Use allocator traits.
|
||
(_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
|
||
(_List_base::_M_move_nodes): New function.
|
||
(_List_base(_List_base&&)): Use _M_move_nodes.
|
||
(_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
|
||
(list::_M_create_node, list::_M_erase, list::max_size): Use allocator
|
||
traits.
|
||
(list(size_type)): Add allocator parameter.
|
||
(list(const list&)): Use allocator propagation trait.
|
||
(list(const list&, const allocator_type&)): New constructor.
|
||
(list(list&&, const allocator_type&)): Likewise.
|
||
(list::operator=(list&&), list::swap(list&)): Use allocator
|
||
propagation traits.
|
||
(list::_M_move_assign): New functions.
|
||
* include/debug/list: Add allocator-extended constructors.
|
||
* include/profile/list: Likewise.
|
||
* python/libstdcxx/v6/printers.py (get_value_from_list_node): New
|
||
function to get value from _List_node.
|
||
(StdListPrinter): Use get_value_from_list_node.
|
||
* testsuite/23_containers/list/allocator/copy.cc: New.
|
||
* testsuite/23_containers/list/allocator/copy_assign.cc: New.
|
||
* testsuite/23_containers/list/allocator/minimal.cc: New.
|
||
* testsuite/23_containers/list/allocator/move.cc: New.
|
||
* testsuite/23_containers/list/allocator/move_assign.cc: New.
|
||
* testsuite/23_containers/list/allocator/noexcept.cc: New.
|
||
* testsuite/23_containers/list/allocator/swap.cc: New.
|
||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||
Adjust dg-prune-output line number.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
|
||
* include/bits/forward_list.h
|
||
(_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
|
||
rvalue-reference.
|
||
(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
|
||
(forward_list(const _Alloc&)): Split default constructor out to
|
||
separate function.
|
||
(forward_list(forward_list&&, const _Alloc&)): Move elements if base
|
||
class didn't do so.
|
||
(forward_list::_M_move_assign(forward_list&&, true_type)): Replace
|
||
swap call with two assignments.
|
||
* include/bits/forward_list.tcc
|
||
(_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
|
||
move elements when allocators are not equal.
|
||
* include/debug/forward_list (forward_list(const allocator_type&)):
|
||
Split default constructor out to separate function.
|
||
* include/profile/forward_list (forward_list(const _Alloc&)):
|
||
Likewise.
|
||
|
||
* include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
|
||
Remove unnecessary uses of operator& and static_cast.
|
||
* include/bits/forward_list.tcc
|
||
(forward_list::operator=(const forward_list&)): Use __addressof
|
||
instead of operator&.
|
||
(forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
|
||
Remove invalid static_casts.
|
||
* include/debug/forward_list: Use __addressof instead of operator&.
|
||
* testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
|
||
|
||
* include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
|
||
__is_nothrow_swappable.
|
||
|
||
2015-06-16 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
|
||
|
||
* include/bits/list.tcc (list::operator=(const list&), list::merge):
|
||
Use __addressof instead of operator&.
|
||
(list::sort): Use array-to-pointer decay instead of operator&.
|
||
* include/bits/stl_list.h (list::splice): Use __addressof instead of
|
||
operator&.
|
||
* include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
|
||
Likewise.
|
||
* include/debug/functions.h (__check_singular): Likewise.
|
||
* include/debug/list (list::splice, list::merge): Likewise.
|
||
* testsuite/23_containers/list/modifiers/addressof.cc: New.
|
||
|
||
PR libstdc++/65393
|
||
* src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
|
||
copies with moves.
|
||
|
||
2015-06-12 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
|
||
|
||
PR libstdc++/66464
|
||
* src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
|
||
Return 4 not 3.
|
||
|
||
2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR c++/66192
|
||
PR target/66200
|
||
* config/cpu/alpha/atomic_word.h: Remove.
|
||
* config/cpu/ia64/atomic_word.h: Remove.
|
||
* config/cpu/powerpc/atomic_word.h: Remove.
|
||
* config/os/aix/atomic_word.h: Remove.
|
||
* configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
|
||
Use generic definition.
|
||
|
||
2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
PR target/66200
|
||
PR c++/66192
|
||
* * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
|
||
(_GLIBCXX_WRITE_MEM_BARRIER): Likewise
|
||
* include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
|
||
* include/ext/atomicity.h: Likewise.
|
||
* include/tr1/shared_ptr.h: Likewise.
|
||
* libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
|
||
Update comment.
|
||
(__set_and_release): Likewise.
|
||
* testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
|
||
line numbers.
|
||
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
|
||
Likewise.
|
||
|
||
2015-06-12 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/tuple (__is_tuple_like_impl): Disambiguate array in
|
||
debug and profile modes.
|
||
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
|
||
for swap in C++11 and later.
|
||
|
||
2015-06-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66030
|
||
* config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
|
||
for mingw32.
|
||
|
||
2015-06-08 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66441
|
||
* testsuite/22_locale/conversions/string/66441.cc: New.
|
||
* include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
|
||
in the output string for BOM and complete result.
|
||
|
||
PR libstdc++/66417
|
||
* src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
|
||
for single UTF-16 units.
|
||
* testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
|
||
|
||
2015-06-07 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
|
||
outer scope and rename to ...
|
||
(std::__hash_is_transparent<>): ... this.
|
||
* include/debug/stl_map.h (map::find<>,
|
||
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
|
||
member function templates to perform heterogeneous lookup.
|
||
* include/debug/stl_multimap.h (multimap::find<>,
|
||
multimap::lower_bound<>, multimap::upper_bound<>,
|
||
multimap::equal_range<>): Likewise.
|
||
* include/debug/stl_multiset.h (multiset::find<>,
|
||
multiset::lower_bound<>, multiset::upper_bound<>,
|
||
multiset::equal_range<>): Likewise.
|
||
* include/debug/stl_set.h (set::find<>,
|
||
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
|
||
* include/profile/stl_map.h (map::find<>, map::count<>,
|
||
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
|
||
* include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
|
||
multimap::lower_bound<>, multimap::upper_bound<>,
|
||
multimap::equal_range<>): Likewise.
|
||
* include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
|
||
multiset::lower_bound<>, multiset::upper_bound<>,
|
||
multiset::equal_range<>): Likewise.
|
||
* include/profile/stl_set.h (set::find<>, set::count<>,
|
||
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
|
||
* testsuite/23_containers/map/operations/1.cc: Check const variants.
|
||
* testsuite/23_containers/multimap/operations/1.cc: Likewise.
|
||
* testsuite/23_containers/multiset/operations/1.cc: Likewise.
|
||
* testsuite/23_containers/set/operations/1.cc: Likewise.
|
||
|
||
2015-06-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Update status tables.
|
||
* doc/html/manual/*: Regenerate.
|
||
* include/std/type_traits (bool_constant): Define.
|
||
* testsuite/20_util/bool_constant/requirements.cc: New.
|
||
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
|
||
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
|
||
Likewise.
|
||
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
|
||
Likewise.
|
||
|
||
* include/std/shared_mutex (__shared_mutex_pthread,
|
||
__shared_mutex_cv): New helper types implementing the shared mutex
|
||
requirements.
|
||
(shared_mutex): New type for C++17.
|
||
(shared_timed_mutex): Derive from one of the new helper types.
|
||
* testsuite/30_threads/shared_mutex/cons/1.cc: New.
|
||
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
|
||
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
|
||
* testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
|
||
New.
|
||
* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
|
||
* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
|
||
|
||
2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Add __is_nothrow_swappable and take it into use.
|
||
* include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
|
||
* include/bits/move.h (swap): Add constraints in C++11 and later.
|
||
* include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
|
||
for the free swap function for pair.
|
||
* include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
|
||
for the free swap functions for queue and priority_queue.
|
||
* include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
|
||
for the free swap function for stack.
|
||
* include/debug/array (swap): Use __is_nothrow_swappable
|
||
for the free swap function for array.
|
||
* include/profile/array (swap): Likewise.
|
||
* include/std/array (swap): Likewise.
|
||
* include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
|
||
* include/std/type_traits (__is_swappable_impl::__is_swappable,
|
||
__is_nothrow_swappable_impl, __is_nothrow_swappable): New.
|
||
* testsuite/20_util/is_nothrow_swappable/requirements/
|
||
explicit_instantiation.cc: New.
|
||
* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
|
||
New.
|
||
* testsuite/20_util/is_nothrow_swappable/value.cc: New.
|
||
|
||
2015-06-03 François Dumont fdumont@gcc.gnu.org>
|
||
|
||
* testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
|
||
|
||
2015-06-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
|
||
* doc/html/manual/*: Regenerate.
|
||
|
||
* doc/html/ext/lwg-active.html: Update to R93.
|
||
* doc/html/ext/lwg-closed.html: Likewise.
|
||
* doc/html/ext/lwg-defects.html: Likewise.
|
||
* doc/html/manual/*: Regenerate.
|
||
* doc/xml/manual/intro.xml: Document status of several DRs.
|
||
|
||
2015-06-02 Renlin Li <renlin.li@arm.com>
|
||
|
||
* testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
|
||
|
||
2015-06-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
|
||
environment variable.
|
||
|
||
2015-05-31 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66354
|
||
* include/bits/stl_algobase.h (__fill_a): Check length before calling
|
||
memset.
|
||
|
||
2015-05-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_algobase.h (__equal<true>::equal): Check length
|
||
instead of checking for null pointers.
|
||
(__lexicographical_compare<true>::__lc): Only check shorter length.
|
||
|
||
2015-05-29 François Dumont fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
|
||
_GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
|
||
* include/debug/assertions.h: ...here, new.
|
||
* include/debug/formatter.h
|
||
(_Error_formatter::_Is_iterator_value_type): New.
|
||
(_Error_formatter::_Is_instance): New.
|
||
(_Error_formatter::_Parameter): Make public and not friend anymore.
|
||
(_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
|
||
(_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
|
||
entry.
|
||
(_Error_formatter::_Parameter::_Type): New.
|
||
(_Error_formatter::_Parameter::_Instance): New, inherit from
|
||
latter.
|
||
(union _Error_formatter::_Parameter::_M_variant): Reorganize.
|
||
(_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
|
||
overloads take iterator through a const reference.
|
||
(_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
|
||
New.
|
||
(_Parameter(const _Type&, const char*, _Is_instance)): New.
|
||
(_Error_formatter::_M_print_type): Delete.
|
||
(_Error_formatter::_M_iterator_value_type): New.
|
||
(_Error_formatter::_M_instance): New.
|
||
* include/Makefile.am: Add new above debug file.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/debug/functions.h
|
||
(__check_dereferenceable(const _Safe_iterator<>&),
|
||
__valid_range(const _Safe_iterator<>&),
|
||
__is_safe_random_iterator<_Safe_iterator<>>): Move...
|
||
* include/debug/safe_iterator.h: ... here.
|
||
Replace debug.h include with assertions.h.
|
||
(__check_singular_aux): Move...
|
||
* include/debug/safe_base.h: ... here.
|
||
* include/debug/functions.h
|
||
(__check_dereferenceable(const _Safe_local_iterator<>&),
|
||
__valid_range(const _Safe_local_iterator<>&): Move...
|
||
* include/debug/safe_local_iterator.h: ...here.
|
||
* include/debug/safe_sequence.h: Replace debug.h with assertions.h.
|
||
Remove _Safe_iterator declaration.
|
||
* include/debug/safe_unordered_container.h: Replace debug.h with
|
||
assertions.h.
|
||
* include/debug/array: Replace safe_sequence.h include with
|
||
formatter.h and macros.h.
|
||
* include/debug/deque: Include functions.tcc.
|
||
* include/debug/forward_list: Likewise.
|
||
* include/debug/list: Likewise.
|
||
* include/debug/string: Likewise.
|
||
* include/debug/vector: Likewise.
|
||
* include/bits/unique_ptr.h: Replace debug.h include with new
|
||
assertions.h.
|
||
* include/bits/stl_iterator_base_funcs.h: Likewise.
|
||
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
|
||
Adjust dg-error line number.
|
||
* testsuite/23_containers/array/tuple_interface/
|
||
tuple_element_debug_neg.cc: Likewise.
|
||
* src/c++11/debug.cc: Adapt.
|
||
|
||
2015-05-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
|
||
* doc/html/manual/*: Regenerate.
|
||
|
||
* include/std/future (__async_result_of): New alias template.
|
||
(async): Use __async_result_of to pass decayed types to result_of.
|
||
* testsuite/30_threads/async/lwg2021.cc: New.
|
||
* doc/xml/manual/intro.xml: Document LWG 2021 status.
|
||
|
||
PR libstdc++/66327
|
||
* include/bits/stl_algobase.h (__equal<true>::equal): Do not call
|
||
memcmp with null pointers.
|
||
(__lexicographical_compare<true>::__lc): Do not call memcmp for empty
|
||
ranges.
|
||
|
||
2015-05-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65352
|
||
* include/profile/array (array::data): Use _S_ptr.
|
||
* include/debug/array (array::data): Likewise.
|
||
|
||
PR libstdc++/65352
|
||
* include/std/array (__array_traits::_S_ptr): New function.
|
||
(array::data): Use _S_ptr to avoid creating invalid reference.
|
||
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
|
||
dg-error line numbers.
|
||
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
|
||
likewise.
|
||
|
||
2015-05-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
|
||
instead of downcasting.
|
||
(_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
|
||
(_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
|
||
(_Rb_tree::_S_iter): Remove.
|
||
(_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
|
||
(_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
|
||
instead of _S_lower_bound_tr
|
||
(_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
|
||
(_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
|
||
instead of calling _S_lower_bound_tr.
|
||
(_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
|
||
(_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
|
||
instead of calling _S_upper_bound_tr.
|
||
(_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
|
||
(_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
|
||
(_Rb_tree::equal_range): Use _Base_ptr for end pointer.
|
||
(_Rb_tree::_M_get_insert_unique_pos): Likewise.
|
||
(_Rb_tree::_M_get_insert_equal_pos): Likewise.
|
||
(_Rb_tree::_M_insert_equal_lower_node): Likewise.
|
||
(_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
|
||
_Rb_tree::_M_emplace_hint_unique): Remove static_cast.
|
||
|
||
PR libstdc++/66017
|
||
* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
|
||
(_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
|
||
from _Base_ptr.
|
||
(_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
|
||
(_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
|
||
* include/ext/aligned_buffer.h (__aligned_membuf): New type using
|
||
alignment of _Tp as a member subobject, not as a complete object.
|
||
* python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
|
||
_Link_type manually as it might not be in the debug info.
|
||
|
||
2015-05-26 Doug Evans <dje@google.com>
|
||
|
||
* python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
|
||
operator-> support.
|
||
* testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
|
||
operator->.
|
||
|
||
2015-05-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/locale_conv.h: Fix copyright years.
|
||
* include/bits/quoted_string.h: Likewise.
|
||
* src/filesystem/Makefile.am: Likewise.
|
||
* testsuite/22_locale/conversions/buffer/1.cc: Likewise.
|
||
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
|
||
Likewise.
|
||
* testsuite/22_locale/conversions/string/1.cc: Likewise.
|
||
* testsuite/22_locale/conversions/string/2.cc: Likewise.
|
||
* testsuite/22_locale/conversions/string/3.cc: Likewise.
|
||
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
|
||
Likewise.
|
||
* testsuite/22_locale/conversions/string/requirements/typedefs.cc:
|
||
Likewise.
|
||
* testsuite/util/testsuite_fs.h: Likewise.
|
||
|
||
2015-05-23 François Dumont fdumont@gcc.gnu.org>
|
||
|
||
PR libstdc++/64657
|
||
* include/debug/functions.h (__check_sorted_aux): Cast expression to
|
||
void.
|
||
|
||
2015-05-21 David Edelsohn <dje.gcc@gmail.com>
|
||
|
||
PR target/66224
|
||
* config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
|
||
Don't use isync. Use lwsync if available.
|
||
* configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
|
||
powerpc cpu definition.
|
||
|
||
2015-05-21 Jason Merrill <jason@redhat.com>
|
||
|
||
* libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
|
||
* libsupc++/del_op.cc: Likewise.
|
||
|
||
2015-05-20 François Dumont fdumont@gcc.gnu.org>
|
||
|
||
* include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
|
||
usage of typeid.
|
||
(_Error_formatter::_M_print_type): New.
|
||
* src/c++11/debug.cc
|
||
(_Error_formatter::_Parameter::_M_print_field): Use latter.
|
||
(_Error_formatter::_M_print_type): Implement latter using
|
||
__cxaabiv1::__cxa_demangle to print demangled type name.
|
||
|
||
* include/bits/cpp_type_traits.h
|
||
(std::move_iterator): Delete declaration.
|
||
(std::__is_move_iterator<move_iterator>): Move partial specialization...
|
||
* include/bits/stl_iterator.h: ... here.
|
||
(std::__miter_base): Overloads for std::reverse_iterator and
|
||
std::move_iterator.
|
||
* include/bits/stl_algobase.h (std::__miter_base): Provide default
|
||
implementation.
|
||
|
||
2015-05-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
|
||
|
||
PR libstdc++/66078
|
||
* include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
|
||
overload for pointers.
|
||
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
|
||
808590.cc: Add -std=gnu++03 switch.
|
||
* testsuite/20_util/specialized_algorithms/uninitialized_copy/
|
||
808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
|
||
* testsuite/23_containers/vector/modifiers/push_back/
|
||
strong_guarantee.cc: New.
|
||
|
||
2015-05-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
|
||
(operator==(const list&, const list&)): If size() is O(1) compare
|
||
sizes before comparing each element.
|
||
* include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
|
||
(list::resize): Use _M_resize_pos.
|
||
|
||
2015-05-19 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
|
||
invocations.
|
||
* testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
|
||
* testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
|
||
* testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
|
||
|
||
2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
||
|
||
* configure.host: Define cpu_defines_dir for ARM.
|
||
* config/cpu/arm/cpu_defines.h: New file.
|
||
|
||
2015-05-17 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
|
||
missing constructors.
|
||
* include/bits/unordered_set.h (unordered_set, unordered_multiset):
|
||
Likewise.
|
||
* include/debug/unordered_map (unordered_map, unordered_multimap): Add
|
||
missing constructors.
|
||
* include/debug/unordered_set (unordered_set, unordered_multiset):
|
||
Likewise.
|
||
* include/profile/unordered_map (unordered_map, unordered_multimap): Add
|
||
missing constructors.
|
||
* include/profile/unordered_set (unordered_set, unordered_multiset):
|
||
Likewise.
|
||
|
||
2015-05-15 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/filesystem/ops.cc (stat_type): Define alias for struct stat and
|
||
use throughout the file.
|
||
(make_file_type): New function.
|
||
(file_size(const path&, error_code&)): Report an error for anything
|
||
that isn't a regular file.
|
||
(status(const path&), symlink_status(const path&)): Do not throw for
|
||
file_type::not_found.
|
||
(temp_directory_path()): Check additional environment variables.
|
||
* testsuite/experimental/filesystem/operations/exists.cc: New.
|
||
* testsuite/experimental/filesystem/operations/file_size.cc: New.
|
||
* testsuite/experimental/filesystem/operations/status.cc: New.
|
||
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
|
||
New.
|
||
|
||
2015-05-14 Nathan Myers <ncm@cantrip.org>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66055
|
||
* include/std/unordered_map (unordered_map, unordered_multimap): Add
|
||
missing constructors.
|
||
* include/std/unordered_set (unordered_set, unordered_multiset):
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_map/cons/66055.cc: New.
|
||
* testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
|
||
* testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
|
||
* testsuite/23_containers/unordered_set/cons/66055.cc: New.
|
||
|
||
2015-05-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/66011
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
|
||
sendfile.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
|
||
not return after copying contents. Use fchmod, fchmodat, and sendfile
|
||
when available.
|
||
(current_path, permissions, space): Use errno not return value.
|
||
|
||
PR libstdc++/66018
|
||
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
|
||
dirent.d_type.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
|
||
|
||
2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
|
||
* configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
|
||
* config.h.in: Regenerate.
|
||
* configure: Likewise.
|
||
* libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
|
||
__USING_SJLJ_EXCEPTIONS__.
|
||
* libsupc++/eh_throw.cc: Likewise.
|
||
* libsupc++/eh_ptr.cc: Likewise.
|
||
* doc/html/manual/appendix_porting.html: Remove
|
||
GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
|
||
* doc/xml/manual/build_hacking.xml: Likewise.
|
||
* doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
|
||
* doc/xml/manual/configure.xml: Likewise.
|
||
|
||
2015-05-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
|
||
for nullptr (LWG 2415).
|
||
* testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
|
||
construction from empty unique_ptr.
|
||
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
|
||
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
|
||
|
||
* include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
|
||
Define (LWG 2454).
|
||
* testsuite/20_util/raw_storage_iterator/base.cc: New.
|
||
|
||
* include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
|
||
Remove explicit (LWG 2407).
|
||
|
||
* include/bits/basic_string.h (basic_string::basic_string()): Make
|
||
noexcept conditional on allocator (LWG 2455).
|
||
|
||
* include/std/complex (polar): Check for negative rho (LWG 2459).
|
||
|
||
* include/experimental/tuple (apply): Handle pointers to member (LWG
|
||
2418).
|
||
* include/std/functional (_Mem_fn_base): Make constructors constexpr.
|
||
(_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
|
||
* testsuite/experimental/tuple/apply.cc: Test pointer to member.
|
||
|
||
* include/bits/random.h (seed_seq): More noexcept (LWG 2440).
|
||
|
||
* include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
|
||
* testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
|
||
* testsuite/23_containers/forward_list/allocator/minimal.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/map/allocator/minimal.cc: Likewise.
|
||
* testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
|
||
* testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
|
||
* testsuite/23_containers/set/allocator/minimal.cc: Likewise.
|
||
* testsuite/23_containers/unordered_map/allocator/minimal.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/unordered_set/allocator/minimal.cc:
|
||
Likewise.
|
||
* testsuite/util/testsuite_allocator.h: Remove unused parameter.
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
|
||
* configure: Regenerate.
|
||
|
||
2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
|
||
|
||
* Makefile.in: Regenerated with automake-1.11.6.
|
||
* aclocal.m4: Likewise.
|
||
* 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++98/Makefile.in: Likewise.
|
||
* src/filesystem/Makefile.in: Likewise.
|
||
* testsuite/Makefile.in: Likewise.
|
||
|
||
2015-05-09 Jason Merrill <jason@redhat.com>
|
||
|
||
* testsuite/20_util/headers/functional/synopsis.cc: Add
|
||
_GLIBCXX14_CONSTEXPR.
|
||
* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
|
||
|
||
2015-05-08 Jason Merrill <jason@redhat.com>
|
||
|
||
* testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
|
||
* testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
|
||
Likewise.
|
||
* testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
|
||
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
|
||
Adjust expected errors.
|
||
* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
|
||
Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438
|
||
/constructor_1_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438
|
||
/constructor_2_neg.cc: Likewise.
|
||
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
|
||
Likewise.
|
||
* testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/check_allocate_max_size.cc:
|
||
Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/check_deallocate_null.cc:
|
||
Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
|
||
* testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
|
||
Add -std=c++98.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
|
||
Add -std=c++98.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/assign
|
||
/auto_ptr_rvalue_neg.cc: Add -std=c++98.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
|
||
Add -std=c++98 -fno-show-column.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
|
||
Add -std=c++98.
|
||
* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
|
||
Add -std=c++98.
|
||
* testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
|
||
* testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
|
||
|
||
* src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
|
||
* src/Makefile.in: Regenerate.
|
||
|
||
2015-05-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/51617
|
||
* include/std/future (async): Change default policy to launch::async.
|
||
|
||
* include/experimental/any (any::_Storage): Fix alignment of buffer.
|
||
(any::_Internal): Check alignment of type.
|
||
* testsuite/experimental/any/cons/aligned.cc: New.
|
||
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
|
||
|
||
* include/experimental/iterator (ostream_joiner): Simplify by using
|
||
the injected-class-name and the ostream_type typedef.
|
||
|
||
* include/experimental/iterator: New. Define ostream_joiner.
|
||
* include/Makefile.am: Add new header.
|
||
* include/Makefile.in: Regenerate.
|
||
* testsuite/experimental/iterator/make_ostream_joiner.cc: New.
|
||
* testsuite/experimental/iterator/ostream_joiner.cc: New.
|
||
* testsuite/experimental/iterator/requirements.cc: New.
|
||
* doc/xml/manual/status_cxx2017.xml: Update status.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
* include/experimental/numeric: New. Define gcd and lcm.
|
||
* include/Makefile.am: Add new header.
|
||
* include/Makefile.in: Regenerate.
|
||
* testsuite/experimental/numeric/gcd.cc: New.
|
||
* testsuite/experimental/numeric/lcm.cc: New.
|
||
* doc/xml/manual/status_cxx2017.xml: Update status.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
|
||
Revert addition of feature macros from other headers per latest SD-6.
|
||
* include/experimental/deque: Remove feature-test macro.
|
||
* include/experimental/forward_list: Ditto.
|
||
* include/experimental/list: Ditto.
|
||
* include/experimental/map: Ditto.
|
||
* include/experimental/set: Ditto.
|
||
* include/experimental/string: Ditto.
|
||
* include/experimental/unordered_map: Ditto.
|
||
* include/experimental/unordered_set: Ditto.
|
||
|
||
2015-05-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/any (any::_Storage): Make non-copyable.
|
||
(any::any): Do not copy _Storage object.
|
||
(any::operator=): Implement more efficiently than swapping.
|
||
(any::swap): Use new _Op_xfer operation.
|
||
(any::_Op::_Op_xfer): New enumerator.
|
||
(_Manager_internal::_S_alloc): Remove unused function.
|
||
(_Manager_internal::_S_create, _Manager_external::_S_create): Use out
|
||
parameter instead of returning a _Storage object.
|
||
(_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
|
||
_Op_xfer operation for moving and swapping.
|
||
* testsuite/experimental/any/cons/nontrivial.cc: New.
|
||
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
|
||
|
||
* include/experimental/fs_path.h (filesystem_error::~filesystem_error):
|
||
Declare.
|
||
* src/filesystem/path.cc (filesystem_error::~filesystem_error):
|
||
Define.
|
||
|
||
PR libstdc++/65978
|
||
* include/std/tuple (forward_as_tuple, tie): Add constexpr.
|
||
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
|
||
and fix tests for forward_as_tuple and tie.
|
||
|
||
* src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
|
||
Set timespec members explicitly instead of with a braced-init-list.
|
||
[_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
|
||
|
||
2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
|
||
* include/experimental/deque: Add feature-test macro.
|
||
* include/experimental/forward_list: Ditto.
|
||
* include/experimental/list: Ditto.
|
||
* include/experimental/map: Ditto.
|
||
* include/experimental/set: Ditto.
|
||
* include/experimental/string: Ditto.
|
||
* include/experimental/unordered_map: Ditto.
|
||
* include/experimental/unordered_set: Ditto.
|
||
|
||
2015-05-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/experimental/memory: Correct feature-test macro.
|
||
|
||
* include/experimental/memory: Add feature-test macro.
|
||
* include/experimental/vector: Likewise.
|
||
* doc/xml/manual/status_cxx2017.xml: Update status.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
Implement observer_ptr.
|
||
* include/Makefile.am: Add new header.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/experimental/memory: New.
|
||
* testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/requirements.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
|
||
* testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
|
||
|
||
2015-05-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/filesystem/path.cc (path::compare): Do not copy strings.
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
|
||
is not available.
|
||
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
|
||
* configure: Regenerate.
|
||
* config.h.in: Regenerate.
|
||
* configure.ac: Check for utime.h
|
||
* include/experimental/fs_path.h (path::string<>)
|
||
[_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
|
||
* src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
|
||
closedir, dirent, readdir_r): Replace dummy functions with #error.
|
||
(native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
|
||
* src/filesystem/ops.cc (do_stat, is_set): Make inline.
|
||
(last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
|
||
(permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
|
||
(space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
|
||
error_code.
|
||
|
||
* include/experimental/fs_path.h (path::_List): Use vector instead of
|
||
list.
|
||
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
|
||
* src/filesystem/path.cc: Use std::prev instead of decrementing
|
||
rvalues. Fix whitespace.
|
||
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
|
||
Do not decrement iterators before begin.
|
||
|
||
* include/experimental/fs_dir.h: Fix use of non-reserved names.
|
||
* include/experimental/fs_ops.h: Likewise.
|
||
* include/experimental/fs_path.h: Likewise.
|
||
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
|
||
C++11 when checking for support.
|
||
|
||
* include/bits/locale_classes.h (locale::facet): Delete copy
|
||
operations in C++11 mode.
|
||
|
||
* include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
|
||
* configure: Regenerate.
|
||
|
||
2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
|
||
Inline one-line erasure dispatch functions.
|
||
* include/experimental/forward_list (erase_if(), erase()): Inline.
|
||
* include/experimental/list (erase_if(), erase()): Inline.
|
||
* include/experimental/map (erase_if(*)): Inline.
|
||
* include/experimental/set (erase_if(*)): Inline.
|
||
* include/experimental/string (erase_if(), erase()): Inline.
|
||
* include/experimental/unordered_map (erase_if(*)): Inline.
|
||
* include/experimental/unordered_set (erase_if(*)): Inline.
|
||
|
||
2015-05-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
|
||
* doc/xml/manual/status_cxx2011.xml: Update status tables.
|
||
* doc/xml/manual/status_cxx2014.xml: Likewise.
|
||
* doc/xml/manual/status_cxx2017.xml: New.
|
||
* doc/xml/manual/using.xml: Fix typo.
|
||
* doc/html/*: Regenerate.
|
||
|
||
* include/std/memory (pointer_safety, declare_reachable,
|
||
undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
|
||
get_pointer_safety): Define.
|
||
* testsuite/20_util/pointer_safety/1.cc: New.
|
||
|
||
2015-04-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
Implement N4100 File System TS
|
||
* acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
|
||
(GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* configure.ac: Enable filesystem TS and check its dependencies.
|
||
* include/Makefile.am: Add new headers.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
|
||
__str_codecvt_out): Move code conversion logic from wstring_convert
|
||
into new global functions.
|
||
(wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
|
||
functions.
|
||
(wstring_convert::_M_conv): Remove.
|
||
* include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
|
||
* include/experimental/filesystem: New.
|
||
* include/experimental/fs_dir.h: New.
|
||
* include/experimental/fs_fwd.h: New.
|
||
* include/experimental/fs_ops.h: New.
|
||
* include/experimental/fs_path.h: New.
|
||
* include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
|
||
* python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
|
||
* src/Makefile.am (SUBDIRS): Add filesystem.
|
||
* src/Makefile.in: Regenerate.
|
||
* src/filesystem/Makefile.am: New.
|
||
* src/filesystem/Makefile.in: New.
|
||
* src/filesystem/dir.cc: New.
|
||
* src/filesystem/ops.cc: New.
|
||
* src/filesystem/path.cc: New.
|
||
* testsuite/experimental/filesystem/operations/absolute.cc: New.
|
||
* testsuite/experimental/filesystem/operations/copy.cc: New.
|
||
* testsuite/experimental/filesystem/operations/current_path.cc: New.
|
||
* testsuite/experimental/filesystem/path/append/path.cc: New.
|
||
* testsuite/experimental/filesystem/path/assign/assign.cc: New.
|
||
* testsuite/experimental/filesystem/path/assign/copy.cc: New.
|
||
* testsuite/experimental/filesystem/path/compare/compare.cc: New.
|
||
* testsuite/experimental/filesystem/path/compare/path.cc: New.
|
||
* testsuite/experimental/filesystem/path/compare/strings.cc: New.
|
||
* testsuite/experimental/filesystem/path/concat/path.cc: New.
|
||
* testsuite/experimental/filesystem/path/concat/strings.cc: New.
|
||
* testsuite/experimental/filesystem/path/construct/copy.cc: New.
|
||
* testsuite/experimental/filesystem/path/construct/default.cc: New.
|
||
* testsuite/experimental/filesystem/path/construct/locale.cc: New.
|
||
* testsuite/experimental/filesystem/path/construct/range.cc: New.
|
||
* testsuite/experimental/filesystem/path/decompose/extension.cc: New.
|
||
* testsuite/experimental/filesystem/path/decompose/filename.cc: New.
|
||
* testsuite/experimental/filesystem/path/decompose/parent_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/decompose/relative_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/decompose/root_directory.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/decompose/root_name.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/decompose/root_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/decompose/stem.cc: New.
|
||
* testsuite/experimental/filesystem/path/generic/generic_string.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/itr/traversal.cc: New.
|
||
* testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
|
||
* testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
|
||
* testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
|
||
* testsuite/experimental/filesystem/path/query/empty.cc: New.
|
||
* testsuite/experimental/filesystem/path/query/has_extension.cc: New.
|
||
* testsuite/experimental/filesystem/path/query/has_filename.cc: New.
|
||
* testsuite/experimental/filesystem/path/query/has_parent_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/query/has_relative_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/query/has_root_directory.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/query/has_root_name.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/query/has_root_path.cc:
|
||
New.
|
||
* testsuite/experimental/filesystem/path/query/has_stem.cc: New.
|
||
* testsuite/experimental/filesystem/path/query/is_relative.cc: New.
|
||
* testsuite/util/testsuite_fs.h: New.
|
||
|
||
2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
|
||
|
||
Add fundamentals TR container erasure.
|
||
* include/Makefile.am: Add new headers.
|
||
* include/Makefile.in: Add new headers.
|
||
* include/experimental/array: New.
|
||
* include/experimental/deque: New.
|
||
* include/experimental/erase_if.tcc: New.
|
||
* include/experimental/forward_list: New.
|
||
* include/experimental/list: New.
|
||
* include/experimental/map: New.
|
||
* include/experimental/set: New.
|
||
* include/experimental/string: New.
|
||
* include/experimental/unordered_map: New.
|
||
* include/experimental/unordered_set: New.
|
||
* include/experimental/vector: New.
|
||
* testsuite/experimental/deque/erasure.cc: New.
|
||
* testsuite/experimental/forward_list/erasure.cc: New.
|
||
* testsuite/experimental/list/erasure.cc: New.
|
||
* testsuite/experimental/map/erasure.cc: New.
|
||
* testsuite/experimental/set/erasure.cc: New.
|
||
* testsuite/experimental/string/erasure.cc: New.
|
||
* testsuite/experimental/unordered_map/erasure.cc: New.
|
||
* testsuite/experimental/unordered_set/erasure.cc: New.
|
||
* testsuite/experimental/vector/erasure.cc: New.
|
||
|
||
2015-04-30 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/cpp_type_traits.h
|
||
(__gnu_cxx::__is_normal_iterator): Delete.
|
||
* include/bits/stl_algobase.h (std::__niter_base): Adapt.
|
||
* include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
|
||
(std::__niter_base): Overloads for std::reverse_iterator,
|
||
__gnu_cxx::__normal_iterator and std::move_iterator.
|
||
|
||
2015-04-30 François Dumont <fdumont@gcc.gnu.org>
|
||
|
||
* include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
|
||
Delete.
|
||
* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
|
||
Remove usage of latter and compute size of the prime numbers array
|
||
locally.
|
||
|
||
2015-04-29 Doug Evans <dje@google.com>
|
||
|
||
PR libstdc++/65839
|
||
* python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
|
||
Replace all lookups of "bool" with this.
|
||
(get_std_size_type): New function. Replace all lookups of std::size_t
|
||
with this.
|
||
(*Worker): New method get_result_type.
|
||
(DequeWorkerBase.__init__): New arg val_type. All callers updated.
|
||
(ListWorkerBase.__init__): New arg val_type. All callers updated.
|
||
(UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
|
||
Delete setting of name, enabled.
|
||
(UniquePtrDerefWorker.__init__): New arg elem_type. All callers
|
||
updated. Delete setting of name.
|
||
(UniquePtrMethodsMatcher): Rewrite for consistency with all other
|
||
libstdc++ xmethod matchers.
|
||
* testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
|
||
* testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
|
||
* testsuite/libstdc++-xmethods/deque.cc: Ditto.
|
||
* testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
|
||
* testsuite/libstdc++-xmethods/list.cc: Ditto.
|
||
* testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
|
||
* testsuite/libstdc++-xmethods/vector.cc: Ditto.
|
||
|
||
2015-04-29 Doug Evans <dje@google.com>
|
||
|
||
Use consistent naming for value type attributes.
|
||
* python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
|
||
to _val_type.
|
||
(ArraySizeWorker, ArrayEmptyWorker): Ditto.
|
||
(ArrayFrontWorker, ArrayBackWorker): Ditto.
|
||
(ArrayAtWorker, ArraySubscriptWorker): Ditto.
|
||
(DequeWorkerBase): Rename elemtype to val_type.
|
||
(ForwardListWorkerBase): Rename _elem_type to _val_type.
|
||
(ForwardListFrontWorker): Ditto. And rename elem_address to
|
||
val_address.
|
||
(ForwardListMethodsMatcher): Rename elem_type to val_type.
|
||
(VectorWorkerBase): Rename _elemtype to _val_type.
|
||
|
||
2015-04-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65760
|
||
* include/std/functional (__check_func_return_type): Use is_same to
|
||
avoid using _is_convertible on incomplete types.
|
||
* testsuite/20_util/function/65760.cc: New.
|
||
|
||
PR libstdc++/64657
|
||
* include/bits/basic_string (basic_string::_S_copy_chars): Cast
|
||
expression to void.
|
||
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
|
||
time_get::_M_extract_num, time_get::_M_extract_name,
|
||
time_get::_M_extract_wday_or_month): Likewise.
|
||
* include/bits/stl_algo.h (__includes, __replace_copy_if,
|
||
__is_sorted_until, __is_permutation, transform): Likewise.
|
||
* include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
|
||
__equal::equal, __lexicographical_compare_impl, equal): Likewise.
|
||
* include/bits/stl_numeric.h (inner_product): Likewise.
|
||
* include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
|
||
* testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
|
||
input_iterator_wrapper): Declare unusable comma operator.
|
||
* testsuite/21_strings/basic_string/cons/char/64657.cc: New.
|
||
* testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
|
||
New.
|
||
|
||
2015-04-28 Doug Evans <dje@google.com>
|
||
|
||
* testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
|
||
Define to zero.
|
||
|
||
2015-04-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_algo.h (random_shuffle): Only define for hosted
|
||
implementations.
|
||
|
||
2015-04-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* Makefile.am (SUBDIRS): Move python to hosted_source.
|
||
* Makefile.in: Regenerate.
|
||
* acinclude.m4 (glibcxx_SUBDIRS): Reorder.
|
||
* configure: Regenerate.
|
||
|
||
2015-04-28 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR libstdc++/65883
|
||
* include/std/limits (numeric_limits): Add missing unsigned.
|
||
|
||
2015-04-28 Stephan Bergmann <sbergman@redhat.com>
|
||
|
||
* include/debug/vector (_Safe_vector::operator=): Add missing returns.
|
||
|
||
2015-04-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/60333
|
||
* include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
|
||
Handle enumeration types larger than sizeof(long).
|
||
(__make_signed_selector<_Tp, false, true>): Find unsigned type then
|
||
make it signed.
|
||
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
|
||
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
|
||
Likewise.
|
||
* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
|
||
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
|
||
dg-error.
|
||
* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
|
||
|
||
PR libstdc++/61645
|
||
* include/bits/forward_list.h (forward_list::splice_after): Add
|
||
noexcept.
|
||
* include/bits/forward_list.tcc (forward_list::splice_after):
|
||
Likewise.
|
||
|
||
PR libstdc++/65631
|
||
* include/bits/random.h (seed_seq) Define copy constructor and copy
|
||
assignment as deleted.
|
||
* testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
|
||
|
||
* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
|
||
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
|
||
Use -std=gnu++1z. Check feature-test macro.
|
||
|
||
* include/std/type_traits (void_t): Add.
|
||
* testsuite/20_util/void_t/1.cc: New.
|
||
|
||
2015-04-28 Tim Shen <timshen@google.com>
|
||
|
||
* include/bits/regex.tcc: Handle regex_constants::__polynomial.
|
||
* include/bits/regex_automaton.tcc: Throw exception when parsing
|
||
back-reference with flag __polynomial.
|
||
* include/bits/regex_constants.h: Add extension flag
|
||
syntax_option_type __polynomial.
|
||
* bits/regex_executor.tcc: Still let BFS process ECMAScript.
|
||
Alternative operation will be fixed in the coming refactoring.
|
||
* testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
|
||
loose match_search_debug to use DFS only.
|
||
|
||
2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
|
||
|
||
PR libstdc++/65909
|
||
* testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
|
||
Make the generated test program fail gracefully if the target
|
||
doesn't support passing command-line arguments.
|
||
|
||
2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
|
||
Return false or zero if the library is built without exceptions.
|
||
* libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
|
||
the library is built without exceptions.
|
||
|
||
2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
|
||
* config/abi/pre/gnu.ver: Fix comment.
|
||
|
||
Add support for std::uncaught_exceptions.
|
||
* acinclude.m4: Bump libtool_VERSION.
|
||
* config/abi/pre/gnu.ver: Export the new symbol.
|
||
* configure: Regenerate.
|
||
* libsupc++/eh_catch.cc (uncaught_exceptions): New.
|
||
* libsupc++/exception (uncaught_exceptions): New.
|
||
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
|
||
* testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
|
||
|
||
2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
|
||
Michael Hanselmann <public@hansmi.ch>
|
||
|
||
PR libstdc++/62258
|
||
* libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
|
||
uncaught exceptions.
|
||
* testsuite/18_support/exception_ptr/62258.cc: New.
|
||
|
||
2015-04-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/extensions.xml: Add cross-reference.
|
||
* doc/html/manual/ext_compile_checks.html: Regenerate.
|
||
|
||
2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
|
||
|
||
* config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
|
||
* configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
|
||
|
||
2015-04-22 Renlin Li <renlin.li@arm.com>
|
||
|
||
* testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
|
||
* testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
|
||
* testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
|
||
* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
|
||
* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
|
||
|
||
2015-04-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/configure.xml: Update descriptions of options
|
||
affecting dual ABI and add cross-references.
|
||
* doc/xml/manual/strings.xml: Clarify that string isn't COW now.
|
||
* doc/xml/manual/using.xml: Document ABI transition.
|
||
* doc/html/*: Regenerate.
|
||
|
||
* doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
|
||
* doc/xml/manual/using.xml: Document newer -std options. Use better
|
||
examples of nested namespaces.
|
||
|
||
2015-04-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/concurrency_extensions.xml: Update documentation
|
||
on atomics.
|
||
* doc/xml/manual/using.xml: Likewise. Improve markup.
|
||
* doc/html/*: Regenerate.
|
||
|
||
2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* scripts/extract_symvers.pl: Ignore elfdump error output.
|
||
|
||
2015-04-14 Marc Glisse <marc.glisse@inria.fr>
|
||
|
||
PR libstdc++/61347
|
||
* include/bits/stl_iterator_base_funcs.h (_List_iterator,
|
||
_List_const_iterator): Declare.
|
||
(__distance): Declare new overloads for _List_iterator and
|
||
_List_const_iterator.
|
||
* include/bits/stl_list.h (__distance): New overloads for
|
||
_List_iterator and _List_const_iterator.
|
||
* testsuite/23_containers/list/61347.cc: New testcase.
|
||
|
||
2015-04-14 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/evolution.xml: Fix typos.
|
||
* doc/html/manual/api.html: Regenerate.
|
||
|
||
2015-04-14 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* testsuite/29_atomics/atomic/62259.cc: Assert atomic
|
||
alignment is larger-equal, not equal, to default alignment.
|
||
|
||
2015-04-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65754
|
||
* config/abi/pre/gnu.ver: Export base object constructors for
|
||
fstreams.
|
||
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
|
||
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
|
||
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
|
||
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
|
||
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
|
||
* testsuite/27_io/basic_fstream/cons/base.cc: New.
|
||
|
||
2015-04-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/evolution.xml: Document changes since 4.5 release.
|
||
* doc/html/*: Regenerate.
|
||
|
||
2015-04-12 Uros Bizjak <ubizjak@gmail.com>
|
||
|
||
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
|
||
|
||
2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
|
||
|
||
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
|
||
|
||
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
|
||
|
||
2015-04-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/test.xml: Improve documentation on running a subset
|
||
of tests.
|
||
* doc/html/manual/test.html: Regenerate.
|
||
|
||
2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
|
||
|
||
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
|
||
for GCC 5.1 release.
|
||
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
|
||
Likewise.
|
||
|
||
2015-04-10 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/shared_mutex (shared_timed_mutex): Add comments to
|
||
explain the logic in the non-pthread_rwlock_t version.
|
||
(_Mutex): Remove redundant type.
|
||
(_M_n_readers): Rename to _S_max_readers.
|
||
(_M_write_entered, _M_readers): New convenience functions.
|
||
(lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
|
||
functions. Use predicates with condition variables. Simplify bitwise
|
||
operations.
|
||
(try_lock_for, try_shared_lock_for): Convert duration to time_point
|
||
and call try_lock_until or try_shared_lock_until respectively.
|
||
(try_lock_until, try_shared_lock_until): Wait on the condition
|
||
variables until the specified time passes.
|
||
(unlock): Add Debug Mode assertion.
|
||
(unlock_shared): Add Debug Mode assertion.
|
||
* testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
|
||
|
||
* include/std/shared_mutex (shared_timed_mutex): Only use
|
||
pthread_rwlock_t when the POSIX Timeouts option is supported.
|
||
* testsuite/30_threads/shared_lock/cons/5.cc: Remove
|
||
dg-require-gthreads-timed.
|
||
* testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
|
||
|
||
2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
|
||
|
||
2015-04-09 Jonathan Wakely <jwakely@redhat.com>
|
||
Richard Henderson <rth@redhat.com>
|
||
|
||
PR libstdc++/65147
|
||
* include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
|
||
alignment.
|
||
* include/std/atomic (atomic): For types with a power of two size set
|
||
alignment to at least the size.
|
||
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
|
||
* testsuite/29_atomics/atomic/65147.cc: New.
|
||
* testsuite/29_atomics/atomic_integral/65147.cc: New.
|
||
|
||
2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||
|
||
* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
|
||
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
|
||
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
|
||
|
||
2015-04-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
|
||
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
|
||
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
|
||
|
||
2015-03-30 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65630
|
||
* config/abi/pre/gnu.ver: Export operator+ for new strings.
|
||
* testsuite/21_strings/basic_string/operators/char/65630.cc: New.
|
||
* testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
|
||
|
||
2015-03-28 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/65420
|
||
* include/bits/regex_constants.h: Use constexpr variables for flags.
|
||
* testsuite/28_regex/constants/constexpr.cc: New testcase.
|
||
|
||
2015-03-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65499
|
||
* include/std/chrono: Add using-directive for literals to std::chrono.
|
||
* testsuite/20_util/duration/literals/65499.cc: New.
|
||
|
||
2015-03-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/58038
|
||
PR libstdc++/60421
|
||
* include/std/thread (this_thread::sleep_for): Check for negative
|
||
durations.
|
||
(this_thread::sleep_until): Check for times in the past.
|
||
* testsuite/30_threads/this_thread/58038.cc: New.
|
||
* testsuite/30_threads/this_thread/60421.cc: New.
|
||
|
||
2015-03-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/62259
|
||
PR libstdc++/65147
|
||
* include/std/atomic (atomic<T>): Increase alignment for types with
|
||
the same size as one of the integral types.
|
||
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
|
||
* testsuite/29_atomics/atomic/62259.cc: New.
|
||
|
||
2015-03-26 Richard Henderson <rth@redhat.com>
|
||
|
||
PR libstdc++/65033
|
||
* include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
|
||
a fake pointer indicating type alignment.
|
||
(__atomic_base<T *>::is_lock_free): Likewise.
|
||
* include/std/atomic (atomic<T>::is_lock_free): Likewise.
|
||
|
||
2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
|
||
|
||
PR libstdc++/33394
|
||
* testsuite/21_strings/basic_string/pthread33394.cc: Use
|
||
dg-additional-options.
|
||
|
||
2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
|
||
|
||
PR libstdc++/65543
|
||
* include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
|
||
thinko in r150387.
|
||
* include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
|
||
Likewise.
|
||
* testsuite/27_io/rvalue_streams-2.cc: New.
|
||
|
||
2015-03-24 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/33394
|
||
* testsuite/21_strings/basic_string/pthread33394.cc: Add test.
|
||
|
||
2015-03-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64967
|
||
* acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
|
||
* configure: Regenerate.
|
||
* src/c++11/compatibility-c++0x.cc (error_category), generic_category,
|
||
system_category): Use macros for versioned namespace.
|
||
* src/c++11/futex.cc: Add missing end macro for versioned namespace.
|
||
|
||
2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
|
||
|
||
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
|
||
test for unused for ARM.
|
||
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
|
||
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
|
||
|
||
2015-03-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
|
||
* include/ext/codecvt_specializations.h (encoding_state,
|
||
encoding_char_traits): Remove abi-tag and use inline namespace.
|
||
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
|
||
|
||
2015-03-19 Jason Merrill <jason@redhat.com>
|
||
|
||
* config/locale/gnu/messages_members.cc: Revert abi-tag change.
|
||
* src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
|
||
|
||
2015-03-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR c++/65046
|
||
* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
|
||
get_catalogs): Add abi-tag.
|
||
* include/ext/codecvt_specializations.h (encoding_state,
|
||
encoding_char_traits): Likewise.
|
||
* src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
|
||
* src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
|
||
numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
|
||
money_get_shim, money_put_shim, messages_shim): Likewise.
|
||
* src/c++11/future.cc (future_error_category::message): Likewise.
|
||
* src/c++11/system_error.cc (generic_error_category::message,
|
||
system_error_category::message): Likewise.
|
||
(__sso_string): Disable -Wabi-tag warnings.
|
||
|
||
2015-03-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/13631
|
||
* config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
|
||
implementation for old glibc. Fix whitespace.
|
||
|
||
2015-03-18 Jonathan Wakely <jwakely@redhat.com>
|
||
Torvald Riegel <triegel@redhat.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
|
||
* config.h.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
|
||
(shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
|
||
(shared_timed_mutex::lock_shared()): Retry on EAGAIN.
|
||
(shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
|
||
EDEADLK.
|
||
|
||
2015-03-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* libsupc++/nested_exception.h: Do not try to derive from final
|
||
classes.
|
||
* testsuite/18_support/nested_exception/throw_with_nested.cc: Test
|
||
final class.
|
||
|
||
* testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
|
||
unused exception variable.
|
||
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
|
||
* testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
|
||
test.
|
||
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
|
||
|
||
2015-03-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
|
||
* configure: Regenerate.
|
||
|
||
* include/experimental/system_error: Fix include guard.
|
||
|
||
2015-03-12 Renlin Li <renlin.li@arm.com>
|
||
|
||
* testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
|
||
wrapped target.
|
||
|
||
2015-03-10 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64441
|
||
* include/bits/regex.h (match_results<>::size,
|
||
match_results<>::position, match_results<>::str,
|
||
match_results<>::operator[], match_results<>::prefix,
|
||
match_results<>::suffix, match_results<>::end,
|
||
match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
|
||
match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
|
||
global __unmatched_sub. Add unmatched submatch as part of
|
||
match_results.
|
||
* include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
|
||
regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
|
||
* testsuite/28_regex/match_results/out_of_range_submatches.cc:
|
||
New testcases.
|
||
|
||
2015-03-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64467
|
||
* testsuite/28_regex/traits/char/isctype.cc: Don't test newline
|
||
for newlib targets. Really fix mixed line-endings this time.
|
||
|
||
2015-03-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/std/future (future_error(error_code)): Construct base
|
||
class with error_code's message.
|
||
* src/c++11/future.cc (future_error::what()): Do not call c_str() on
|
||
temporary string.
|
||
|
||
2015-03-05 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
|
||
noconv result.
|
||
* testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
|
||
* testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
|
||
|
||
2015-03-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64797
|
||
* include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
|
||
incomplete multibyte sequences correctly.
|
||
* include/std/codecvt (codecvt_utf8, codecvt_utf16,
|
||
codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
|
||
* src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
|
||
Define constants.
|
||
(is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
|
||
Define convenience functions.
|
||
(read_utf8_code_point): Return relevant constant to distinguish
|
||
incomplete characters from invalid sequences.
|
||
(read_utf16_code_point): Likewise. Check for invalid sequences.
|
||
(ucs4_in, utf16_in): Use incomplete_mb_character constant.
|
||
(utf16_out): Check for invalid sequences.
|
||
(utf16_span): Fix condition.
|
||
(ucs2_out): Use is_high_surrogate.
|
||
(ucs2_in): Use incomplete_mb_character constant and fix condition.
|
||
* testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
|
||
* testsuite/22_locale/conversions/buffer/1.cc: New.
|
||
* testsuite/22_locale/conversions/string/2.cc: Use char16_t and
|
||
char32_t instead of wchar_t.
|
||
* testsuite/22_locale/conversions/string/3.cc: New.
|
||
|
||
2015-03-03 Iain Sandoe <iain@codesourcery.com>
|
||
|
||
PR libstdc++/64883
|
||
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
|
||
visibility for Darwin.
|
||
* testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
|
||
also deprecated.
|
||
* testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
|
||
|
||
2015-03-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65279
|
||
* include/std/scoped_allocator (__inner_type_impl,
|
||
scoped_allocator_adaptor): Add defaulted copy assignment and move
|
||
assignment operators.
|
||
* testsuite/20_util/scoped_allocator/65279.cc: New.
|
||
|
||
2015-03-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64367
|
||
* include/std/stdexcept (__sso_string): Don't use non-static member
|
||
in sizeof.
|
||
|
||
2015-02-28 Matthias Klose <doko@ubuntu.com>
|
||
|
||
PR libstdc++/65246
|
||
* python/libstdcxx/v6/__init__.py: Use explicit relative imports.
|
||
|
||
2015-02-22 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-02-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64695
|
||
* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
|
||
tuple layout.
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
|
||
behavior.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-02-19 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/58357
|
||
* include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
|
||
* include/bits/stl_algo.h (__rotate, rotate): Likewise.
|
||
|
||
2015-02-19 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
PR testsuite/65093
|
||
* testsuite/26_numerics/random/binomial_distribution/operators/values.cc
|
||
(test01): Add explanatory comment. Keep only the bd1 sub-test and
|
||
split out bd2, bd3, bd4, and bd5 sub-tests into...
|
||
* testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
|
||
testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
|
||
testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
|
||
testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
|
||
New separate files with the old parts.
|
||
|
||
2015-02-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
|
||
surrogate pairs.
|
||
(utf16_in): Pass mode argument to write_utf16_code_point.
|
||
(codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
|
||
native byte order.
|
||
* testsuite/22_locale/codecvt/char16_t.cc: New.
|
||
* testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
|
||
|
||
* testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
|
||
* testsuite/22_locale/codecvt/char32_t.cc: Likewise.
|
||
|
||
2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/22_locale/codecvt/char32_t.cc: New.
|
||
|
||
2015-02-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/65085
|
||
* include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
|
||
empty string gets null-terminated.
|
||
* testsuite/21_strings/basic_string/cons/char/65085.cc: New.
|
||
|
||
2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* testsuite/28_regex/traits/char/isctype.cc (test01): Fix
|
||
mixed line-endings introduced in last change.
|
||
|
||
2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
* testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
|
||
for __NEWLIB__ macro with a dejagnu set macro.
|
||
* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
|
||
|
||
2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
|
||
|
||
PR libstdc++/64467
|
||
* testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
|
||
special case for '\n'.
|
||
* testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
|
||
|
||
2015-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++11/futex.cc: Do not define for gthr-single.h targets.
|
||
|
||
2015-02-01 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64883
|
||
* include/c_global/cstdio (gets): Use __deprecated__ attribute instead
|
||
of deprecated.
|
||
* include/c_std/cstdio (gets): Likewise.
|
||
* testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
|
||
with attributes used in darwin headers.
|
||
|
||
2015-01-29 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
|
||
$vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
|
||
* configure: Regenerated.
|
||
|
||
2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
|
||
after vtv_cygmin is set.
|
||
* configure: Regenerated.
|
||
|
||
2015-01-29 Matthias Klose <doko@ubuntu.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
|
||
unconditionally.
|
||
* configure: Regenerate.
|
||
|
||
2015-01-29 Caroline Tice <cmtice@google.com>
|
||
|
||
Committing VTV Cywin/Ming patch for Patrick Wollgast
|
||
* configure: Regenerate.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
* src/Makefile.in: Regenerate.
|
||
|
||
2015-01-29 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/atomic_base.h: Use __always_inline__ instead of
|
||
always_inline.
|
||
* include/bits/atomic_futex.h: Likewise.
|
||
* include/bits/c++config: Use __abi_tag__ instead of abi_tag.
|
||
* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
|
||
__packed__ instead of packed.
|
||
* include/std/shared_mutex: Use __unused__ instead of unused.
|
||
* testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
|
||
* testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
|
||
* testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
|
||
|
||
2015-01-28 Caroline Tice <cmtice@google.com>
|
||
|
||
Committing VTV Cywin/Ming patch for Patrick Wollgast
|
||
* acinclude.m4: Define VTV_CYGMIN.
|
||
* libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
|
||
and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
|
||
* libsupc++/vtv_stubs.cc: Add none weak declaration of every function
|
||
for Cygwin and MinGW.
|
||
* src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
|
||
VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
|
||
libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
|
||
|
||
2015-01-28 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64828
|
||
* libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
* src/c++11/Makefile.in: Regenerate.
|
||
|
||
2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||
|
||
* testsuite/lib/libstdc++.exp (v3_target_compile): Remove
|
||
check for unsupported.
|
||
(v3_target_compile_as_c): Likewise.
|
||
|
||
2015-01-28 Richard Biener <rguenther@suse.de>
|
||
|
||
PR libstdc++/64798
|
||
* libsupc++/eh_alloc.cc (struct allocated_entry): Align
|
||
data member.
|
||
(pool::allocate): Adjust allocation size and alignment to
|
||
that change.
|
||
(pool::free): Adjust pointer offsetting.
|
||
|
||
2015-01-27 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64368
|
||
* include/std/shared_mutex (shared_timed_mutex::try_lock_for,
|
||
shared_timed_mutex::try_lock_until): Only define when POSIX thread
|
||
timeouts option is supported.
|
||
(shared_timed_mutex::try_shared_lock_for,
|
||
shared_timed_mutex::try_shared_lock_until): Likewise.
|
||
|
||
2015-01-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64368
|
||
* config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
|
||
numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
|
||
* src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
|
||
and use cache's _M_grouping field.
|
||
(__numpunct_fill_cache): Likewise.
|
||
(__moneypunct_fill_cache): Improve comments.
|
||
|
||
2015-01-26 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/23_containers/set/operations/2.cc: Add test for
|
||
non-transparent comparison function.
|
||
|
||
2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
|
||
|
||
PR target/29366
|
||
* config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
|
||
Remove SH4A inline asm and lock based implementations and use the
|
||
defaults from ext/atomicity.h.
|
||
|
||
2015-01-23 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
|
||
new std::string constructors for byname facets.
|
||
|
||
2015-01-22 Richard Biener <rguenther@suse.de>
|
||
|
||
PR libstdc++/64535
|
||
* libsupc++/eh_alloc.cc: Include new.
|
||
(bitmask_type): Remove.
|
||
(one_buffer): Likewise.
|
||
(emergency_buffer): Likewise.
|
||
(emergency_used): Likewise.
|
||
(dependents_buffer): Likewise.
|
||
(dependents_used): Likewise.
|
||
(class pool): New custom fixed-size arena, variable size object
|
||
allocator.
|
||
(emergency_pool): New global.
|
||
(__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
|
||
(__cxxabiv1::__cxa_free_exception): Likewise.
|
||
(__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
|
||
(__cxxabiv1::__cxa_free_dependent_exception): Likewise.
|
||
|
||
2015-01-22 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64680
|
||
* include/bits/regex.h (basic_regex<>::basic_regex,
|
||
basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
|
||
standard interface.
|
||
* testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
|
||
|
||
2015-01-22 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64649
|
||
* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
|
||
regex_traits<>::lookup_classname): Correctly narrow input chars.
|
||
* testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
|
||
|
||
2015-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
|
||
|
||
2015-01-21 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/29_atomics/atomic/64658.cc: Test stored value.
|
||
|
||
2015-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
|
||
* doc/xml/manual/status_cxx2014.xml: Update status.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64650
|
||
* include/experimental/optional (bad_optional_access): Add default
|
||
constructor.
|
||
* testsuite/experimental/optional/requirements.cc: Test for default
|
||
constructor.
|
||
|
||
2015-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/stl_map.h (map::find<>, map::count<>,
|
||
map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
|
||
member function templates to perform heterogeneous lookup.
|
||
* include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
|
||
multimap::lower_bound<>, multimap::upper_bound<>,
|
||
multimap::equal_range<>): Likewise.
|
||
* include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
|
||
multiset::lower_bound<>, multiset::upper_bound<>,
|
||
multiset::equal_range<>): Likewise.
|
||
* include/bits/stl_set.h (set::find<>, set::count<>,
|
||
set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
|
||
* include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
|
||
_Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
|
||
_Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
|
||
_Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
|
||
* testsuite/23_containers/map/operations/2.cc: New.
|
||
* testsuite/23_containers/multimap/operations/2.cc: New.
|
||
* testsuite/23_containers/multiset/operations/2.cc: New.
|
||
* testsuite/23_containers/set/operations/2.cc: New.
|
||
|
||
2015-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver: Export new constructors.
|
||
* include/bits/codecvt.h (codecvt_byname): Add string constructor.
|
||
(codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
|
||
specializations and declare explicit instantiations.
|
||
* include/bits/locale_classes.h (locale, collate_byname): Add string
|
||
constructors.
|
||
* include/bits/locale_facets.h (ctype_byname, numpunct_byname):
|
||
Likewise.
|
||
* include/bits/locale_facets_nonio.h (time_get_byname,
|
||
time_put_byname, moneypunct_byname, messages_byname): Likewise.
|
||
* src/c++11/codecvt.cc (codecvt_byname<char16_t>,
|
||
codecvt_byname<char32_t>): Define explicit instantiations.
|
||
* src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
|
||
Instantiate string constructors.
|
||
(ctype_byname): Define string constructor.
|
||
* testsuite/22_locale/codecvt_byname/1.cc: New.
|
||
* testsuite/22_locale/collate_byname/1.cc: New.
|
||
* testsuite/22_locale/ctype_byname/2.cc: New.
|
||
* testsuite/22_locale/messages_byname/1.cc: New.
|
||
* testsuite/22_locale/moneypunct_byname/1.cc: New.
|
||
* testsuite/22_locale/numpunct_byname/1.cc: New.
|
||
|
||
2015-01-20 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64658
|
||
* include/std/atomic (atomic_init): Define.
|
||
* testsuite/29_atomics/atomic/64658.cc: New.
|
||
|
||
2015-01-19 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64649
|
||
* include/bits/regex.tcc (regex_traits<>::lookup_collatename,
|
||
regex_traits<>::lookup_classname): Support forward iterators.
|
||
* testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
|
||
* testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
|
||
|
||
2015-01-19 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64584
|
||
PR libstdc++/64585
|
||
* include/bits/regex.h (basic_regex<>::basic_regex,
|
||
basic_regex<>::assign, basic_regex<>::imbue,
|
||
basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
|
||
imbuing basic_regex; Make assign() transactional against exception.
|
||
* include/bits/regex_compiler.h (__compile_nfa<>): Add back
|
||
__compile_nfa SFINAE.
|
||
* include/std/regex: Adjust include order to avoid __compile_nfa
|
||
forward declaration.
|
||
* testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
|
||
* testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
|
||
|
||
2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
|
||
on overloads for arrays.
|
||
(cbegin, cend, rbegin, rend, crbegin, crend): New.
|
||
* testsuite/24_iterators/range_access_cpp14.cc: New.
|
||
|
||
2015-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64646
|
||
* include/bits/stl_algo.h (__is_permutation): Also test for reaching
|
||
end of the second range.
|
||
* testsuite/25_algorithms/is_permutation/64646.cc: New.
|
||
|
||
2015-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
|
||
* doc/html/manual/status.html: Regenerate.
|
||
|
||
2015-01-18 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/atomic_futex.h: Use mutex and condition_variable when
|
||
atomic int is not lock-free. Make member variables private.
|
||
* src/c++11/futex.cc: Likewise.
|
||
|
||
* src/c++11/futex.cc: Fix order of includes and preprocessor condition.
|
||
|
||
2015-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64638
|
||
* include/bits/atomic_futex.h: Use appropriate config macros for
|
||
availability of std::mutex, std::condition and std::chrono.
|
||
|
||
2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
|
||
Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
|
||
* doc/html/*: Regenerate.
|
||
|
||
2015-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
DR 488
|
||
PR libstdc++/58357
|
||
* include/bits/algorithmfwd.h (rotate): Return an iterator.
|
||
* include/bits/stl_algo.h (rotate, __rotate): Likewise.
|
||
* testsuite/25_algorithms/rotate/dr488.cc: New.
|
||
* testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
|
||
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
|
||
2.cc: Likewise.
|
||
* testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
|
||
pod.cc: Likewise.
|
||
|
||
2015-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/60940
|
||
* include/bits/atomic_base.h: Remove atomic integral typedefs as
|
||
synonyms for __atomic_base<int> etc.
|
||
* include/std/atomic: Make atomic_int a synonym for atomic<int> and
|
||
likewise for all atomic integral types.
|
||
* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
|
||
* testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
|
||
|
||
2015-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/56785
|
||
* include/std/tuple (_Tuple_impl): Remove zero-element specialization
|
||
and define one-element specialization.
|
||
* testsuite/20_util/tuple/56785.cc: New.
|
||
|
||
2015-01-17 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
|
||
Remove unused header.
|
||
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
|
||
Likewise.
|
||
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
|
||
Likewise.
|
||
|
||
2015-01-16 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
|
||
* include/std/locale: Include new header.
|
||
* include/Makefile.am: Add it.
|
||
* include/Makefile.in: Regenerate.
|
||
* testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
|
||
* testsuite/22_locale/conversions/string/1.cc: New.
|
||
* testsuite/22_locale/conversions/string/2.cc: New.
|
||
* testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
|
||
* testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
|
||
New.
|
||
|
||
2015-01-16 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver: Export new symbols.
|
||
* include/Makefile.am: Add codecvt.
|
||
* include/Makefile.in: Regenerate.
|
||
* include/std/codecvt: New header.
|
||
* src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
|
||
__codecvt_utf8_utf16_base): Define specializations.
|
||
* testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
|
||
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
|
||
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
|
||
New.
|
||
|
||
2015-01-16 Torvald Riegel <triegel@redhat.com>
|
||
|
||
* src/c++11/futex.cc: New file.
|
||
* include/bits/atomic_futex.h: New file.
|
||
* include/std/future (__future_base::_State_baseV2): Use
|
||
atomic_futex_unsigned instead of mutex+condvar.
|
||
* src/c++11/futex.cc: Likewise.
|
||
* include/Makefile.am: Add atomic_futex.h.
|
||
* include/Makefile.in: Likewise.
|
||
* src/c++11/Makefile.am: Add futex.cc.
|
||
* src/c++11/Makefile.in: Likewise.
|
||
|
||
2015-01-16 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* acinclude.m4: Fix typo in comment.
|
||
* configure: Regenerate.
|
||
* include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
|
||
codecvt<char16_t, char, mbstate_t>): Declare specializations.
|
||
* include/bits/locale_facets.h: Reserve space for new specializations.
|
||
* src/c++11/Makefile.am: Add codecvt.cc.
|
||
* src/c++11/Makefile.in: Regenerate.
|
||
* src/c++11/codecvt.cc: New.
|
||
* src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
|
||
with -std=gnu++11.
|
||
* src/c++98/Makefile.in: Regenerate.
|
||
* src/c++98/locale_init.cc: Initialize new codecvt specializations.
|
||
* src/c++98/localename.cc: Likewise.
|
||
* config/abi/pre/gnu.ver: Exports for new codecvt specializations.
|
||
* testsuite/22_locale/codecvt/utf8.cc: New.
|
||
* testsuite/22_locale/locale/cons/unicode.cc: Check that new
|
||
specializations are installed in locale objects.
|
||
|
||
2015-01-16 Torvald Riegel <triegel@redhat.com>
|
||
|
||
* include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
|
||
implementation.
|
||
|
||
2015-01-13 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64571
|
||
* config/abi/pre/gnu.ver: Export fstream functions using new string.
|
||
|
||
2015-01-12 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64560
|
||
* src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
|
||
for RTTI support.
|
||
|
||
PR libstdc++/64553
|
||
* src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
|
||
|
||
2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
|
||
|
||
* doc/xml/manual/parallel_mode.xml: Update for libgomp being
|
||
renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
|
||
Multi Processing Runtime Library".
|
||
|
||
2015-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64476
|
||
* include/bits/stl_uninitialized.h (uninitialized_copy): Fix
|
||
is_assignable arguments.
|
||
* testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
|
||
New.
|
||
|
||
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* libsupc++/unwind-cxx.h: Revert previous commit.
|
||
|
||
2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
|
||
|
||
* configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
|
||
|
||
2015-01-09 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64239
|
||
* include/bits/regex.h (match_results<>::swap): Use std::swap
|
||
instead of swap.
|
||
* include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
|
||
Likewise.
|
||
* testsuite/28_regex/match_results/swap.cc: New testcase.
|
||
|
||
2015-01-08 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/60132
|
||
* include/std/type_traits (has_trivial_default_constructor,
|
||
has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
|
||
attribute.
|
||
* testsuite/20_util/has_trivial_copy_assign/requirements/
|
||
explicit_instantiation.cc: Use -Wno-deprecated.
|
||
* testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
|
||
Likewise.
|
||
* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
|
||
* testsuite/20_util/has_trivial_copy_constructor/requirements/
|
||
explicit_instantiation.cc: Likewise.
|
||
* testsuite/20_util/has_trivial_copy_constructor/requirements/
|
||
typedefs.cc: Likewise.
|
||
* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
|
||
* testsuite/20_util/has_trivial_default_constructor/requirements/
|
||
explicit_instantiation.c: Likewise.
|
||
* testsuite/20_util/has_trivial_default_constructor/requirements/
|
||
typedefs.cc: Likewise.
|
||
* testsuite/20_util/has_trivial_default_constructor/value.cc:
|
||
Likewise.
|
||
* testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
|
||
trait.
|
||
* testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
|
||
* testsuite/util/testsuite_common_types.h: Likewise.
|
||
|
||
2015-01-08 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/hashtable_policy.h: Use __bool_constant.
|
||
|
||
2015-01-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* libsupc++/Makefile.am: Compile del_ops.cc as C++14.
|
||
* libsupc++/Makefile.in: Regenerate.
|
||
|
||
2015-01-06 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
|
||
|
||
2015-01-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
Update copyright years.
|
||
|
||
2015-01-04 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64483
|
||
* testsuite/18_support/exception_ptr/64241.cc: Use
|
||
dg-require-atomic-builtins.
|
||
|
||
2015-01-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
|
||
date.
|
||
|
||
2015-01-02 Tim Shen <timshen@google.com>
|
||
|
||
PR libstdc++/64475
|
||
* include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
|
||
iterator, since the original one shouldn't be mutated.
|
||
|
||
2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||
|
||
PR libstdc++/64422
|
||
* src/c++98/misc-inst.cc (string::erase): Add missing overloads.
|
||
(string::insert): Likewise.
|
||
(string::replace): Likewise.
|
||
(wstring::erase): Likewise.
|
||
(wstring::insert): Likewise.
|
||
(wstring::replace): Likewise.
|
||
* testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
|
||
|
||
2015-01-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64468
|
||
* doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
|
||
|
||
2015-01-02 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/64438
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
|
||
Revert removal of dg-require-string-conversions.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
|
||
Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/
|
||
stoull.cc: Likewise.
|
||
* testsuite/21_strings/basic_string/numeric_conversions/char/
|
||
to_string.cc: Likewise.
|
||
|
||
Copyright (C) 2015 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.
|