2017-10-19 15:56:55 +02:00
|
|
|
|
2017-10-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-10-19 15:57:10 +02:00
|
|
|
|
* testsuite/experimental/filesystem/iterators/
|
|
|
|
|
recursive_directory_iterator.cc: Ensure that error_code arguments are
|
|
|
|
|
cleared when required.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/create_directory.cc:
|
|
|
|
|
Remove redundant check.
|
|
|
|
|
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
|
|
|
|
|
Ensure that error_code argument is cleared when required.
|
|
|
|
|
|
2017-10-19 15:57:06 +02:00
|
|
|
|
* include/experimental/bits/fs_path.h (path::iterator++(int))
|
|
|
|
|
(path::iterator--(int)): Fix for paths with only one component.
|
|
|
|
|
* testsuite/experimental/filesystem/path/itr/traversal.cc: Test
|
|
|
|
|
post-increment and post-decrement.
|
|
|
|
|
|
2017-10-19 15:57:02 +02:00
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Update references to C++17
|
|
|
|
|
section numbers.
|
|
|
|
|
|
2017-10-19 15:56:55 +02:00
|
|
|
|
* testsuite/decimal/conversion-to-integral.cc: Use predefined macro
|
|
|
|
|
instead of non-standard glibc one.
|
|
|
|
|
|
2017-10-16 07:44:03 +02:00
|
|
|
|
2017-10-16 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/82558
|
|
|
|
|
* include/bits/stl_bvector.h (fill): Add iterator offset check.
|
|
|
|
|
* testsuite/23_containers/vector/bool/82558.cc: New.
|
|
|
|
|
|
2017-10-13 14:39:24 +02:00
|
|
|
|
2017-10-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-10-13 14:39:32 +02:00
|
|
|
|
PR libstdc++/82522
|
|
|
|
|
* doc/xml/manual/intro.xml: Document LWG 2354 changes.
|
|
|
|
|
* include/bits/stl_map.h (map::insert(value_type&&))
|
|
|
|
|
(map::insert(const_iterator, value_type&&)): Add overload for rvalues.
|
|
|
|
|
* include/bits/stl_multimap.h (multimap::insert(value_type&&))
|
|
|
|
|
(multimap::insert(const_iterator, value_type&&)): Likewise.
|
|
|
|
|
* include/bits/unordered_map.h (unordered_map::insert(value_type&&))
|
|
|
|
|
(unordered_map::insert(const_iterator, value_type&&))
|
|
|
|
|
(unordered_multimap::insert(value_type&&))
|
|
|
|
|
(unordered_multimap::insert(const_iterator, value_type&&)): Likewise.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/insert/dr2354.cc: New test.
|
|
|
|
|
* testsuite/23_containers/multimap/modifiers/insert/dr2354.cc: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/23_containers/unordered_map/insert/dr2354.cc: New test.
|
|
|
|
|
* testsuite/23_containers/unordered_multimap/insert/dr2354.cc: New
|
|
|
|
|
test.
|
|
|
|
|
|
2017-10-13 14:39:24 +02:00
|
|
|
|
PR libstdc++/82481
|
|
|
|
|
* include/std/mutex (call_once): Suppress clang-tidy warnings about
|
|
|
|
|
dangling references.
|
|
|
|
|
|
2017-10-10 13:25:45 +02:00
|
|
|
|
2017-10-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-10-10 13:26:10 +02:00
|
|
|
|
* include/bits/streambuf_iterator.h (istreambuf_iterator::equal):
|
|
|
|
|
Update comment about NAD issue.
|
|
|
|
|
|
2017-10-10 13:25:45 +02:00
|
|
|
|
PR libstdc++/59087
|
|
|
|
|
PR libstdc++/82417
|
|
|
|
|
* include/c_compatibility/complex.h [!C++98 && __STRICT_ANSI__]: Do
|
|
|
|
|
not include C library's <complex.h>.
|
|
|
|
|
* testsuite/26_numerics/complex/c99.cc: Depend on __STRICT_ANSI__.
|
|
|
|
|
* testsuite/26_numerics/headers/complex.h/std_c++11.h: New test.
|
|
|
|
|
* testsuite/26_numerics/headers/complex.h/std_gnu++11.h: New test.
|
|
|
|
|
* testsuite/26_numerics/headers/complex.h/std_c++98.h: New test.
|
|
|
|
|
|
2017-10-05 22:26:08 +02:00
|
|
|
|
2017-10-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/20_util/to_chars/1.cc: Add dg-require-string-conversions.
|
|
|
|
|
|
2017-10-04 18:15:18 +02:00
|
|
|
|
2017-10-04 Petr Ovtchenkov <ptr@void-ptr.info>
|
|
|
|
|
François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/streambuf_iterator.h
|
|
|
|
|
(istreambuf_iterator<>::operator*()): Do not capture iterator state
|
|
|
|
|
in Debug assertion.
|
|
|
|
|
(istreambuf_iterator<>::operator++()): Likewise and remove _M_sbuf check.
|
|
|
|
|
(istreambuf_iterator<>::operator++(int)): Likewise.
|
|
|
|
|
(istreambuf_iterator<>::_M_get()): Remove _M_c assignment.
|
|
|
|
|
(istreambuf_iterator<>::_S_is_eof()): New.
|
|
|
|
|
(istreambuf_iterator<>::_M_at_eof()): Adapt, use latter.
|
|
|
|
|
(find(istreambuf_iterator<>, istreambuf_iterator<>, _CharT)):
|
|
|
|
|
Return an iterator with _M_c set to eof to capture streambuf state
|
|
|
|
|
on evaluation.
|
|
|
|
|
(testsuite/24_iterators/istreambuf_iterator/2.cc): Add checks.
|
|
|
|
|
|
2017-10-03 01:28:54 +02:00
|
|
|
|
2017-10-03 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/charconv (__unsigned_least_t): Fix number of closing >s for
|
|
|
|
|
!_GLIBCXX_USE_INT128.
|
|
|
|
|
|
2017-10-02 16:06:40 +02:00
|
|
|
|
2017-10-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/Makefile.am: Add new <charconv> header.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/precompiled/stdc++.h: Include <charconv>.
|
|
|
|
|
* include/std/charconv: New file.
|
|
|
|
|
(to_chars_result, to_chars, from_chars_result, from_chars): Define.
|
|
|
|
|
* testsuite/20_util/from_chars/1.cc: New test.
|
|
|
|
|
* testsuite/20_util/from_chars/1_neg.cc: New test.
|
|
|
|
|
* testsuite/20_util/from_chars/2.cc: New test.
|
|
|
|
|
* testsuite/20_util/from_chars/requirements.cc: New test.
|
|
|
|
|
* testsuite/20_util/to_chars/1.cc: New test.
|
|
|
|
|
* testsuite/20_util/to_chars/1_neg.cc: New test.
|
|
|
|
|
* testsuite/20_util/to_chars/2.cc: New test.
|
|
|
|
|
* testsuite/20_util/to_chars/requirements.cc: New test.
|
|
|
|
|
|
2017-09-27 22:16:43 +02:00
|
|
|
|
2017-09-27 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* testsuite/22_locale/money_get/get/char/22131.cc: Make test less
|
|
|
|
|
istreambuf_iterator implementation dependent.
|
|
|
|
|
* testsuite/22_locale/money_get/get/wchar_t/22131.cc: Likewise.
|
|
|
|
|
|
2017-09-25 16:59:19 +02:00
|
|
|
|
2017-09-25 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR c/81854
|
|
|
|
|
* src/c++98/complex_io.cc (_GLIBCXX_LDBL_COMPAT): Declare alias
|
|
|
|
|
target as a C++ function with no prototype.
|
|
|
|
|
|
2017-09-21 11:59:55 +02:00
|
|
|
|
2017-09-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/25_algorithms/clamp/1.cc: Fix order of arguments and
|
|
|
|
|
expected results when using predicate defining reverse order.
|
|
|
|
|
* testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
|
|
|
|
|
|
2017-09-20 15:24:45 +02:00
|
|
|
|
2017-09-20 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-09-21 00:03:37 +02:00
|
|
|
|
PR libstdc++/79162
|
|
|
|
|
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::_If_sv): Remove from the overload set when the
|
|
|
|
|
argument is derived from basic_string.
|
|
|
|
|
|
2017-09-20 19:59:50 +02:00
|
|
|
|
PR libstdc++/79162
|
|
|
|
|
* include/bits/basic_string.h (basic_string::_If_sv): Remove from the
|
|
|
|
|
overload set when the argument is derived from basic_string.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/moveable2_c++17.cc: New
|
|
|
|
|
test.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/moveable2_c++17.cc:
|
|
|
|
|
New test.
|
|
|
|
|
|
2017-09-20 18:34:53 +02:00
|
|
|
|
* testsuite/24_iterators/range_access_cpp17.cc: Fix order of dg-do
|
|
|
|
|
and dg-options directives. Fix invalid test.
|
|
|
|
|
|
2017-09-20 18:34:49 +02:00
|
|
|
|
PR libstdc++/81469
|
|
|
|
|
* libsupc++/exception (uncaught_exception): Deprecate for C++17.
|
|
|
|
|
* testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated.
|
|
|
|
|
* testsuite/18_support/uncaught_exception/14026.cc: Likewise.
|
|
|
|
|
|
2017-09-20 18:34:42 +02:00
|
|
|
|
* include/bits/c++config (_GLIBCXX17_DEPRECATED): Define.
|
|
|
|
|
* include/bits/functional_hash.h (__hash_base::result_type)
|
|
|
|
|
(__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED.
|
|
|
|
|
* include/std/optional (hash<optional<T>>::result_type)
|
|
|
|
|
(hash<optional<T>>::argument_type): Add deprecated attribute.
|
|
|
|
|
(__is_fast_hash<hash<optional<T>>>): Add partial specialization.
|
|
|
|
|
* include/std/variant (hash<variant<Types...>>::result_type)
|
|
|
|
|
(hash<variant<Types...>>::argument_type): Add deprecated attribute.
|
|
|
|
|
(__is_fast_hash<hash<variant<Types...>>>): Add partial specialization.
|
|
|
|
|
|
2017-09-20 15:25:07 +02:00
|
|
|
|
* libsupc++/exception_ptr.h (copy_exception): Remove deprecated
|
|
|
|
|
non-standard function.
|
|
|
|
|
|
2017-09-20 15:24:45 +02:00
|
|
|
|
PR libstdc++/82262
|
|
|
|
|
* include/std/optional (__optional_hash_call_base): Add template
|
|
|
|
|
parameter for remove_const_t<_Tp> and use it consistently.
|
|
|
|
|
* testsuite/20_util/optional/hash.cc: Test optional<const T>.
|
|
|
|
|
|
2017-09-19 16:33:51 +02:00
|
|
|
|
2017-09-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-09-19 19:06:12 +02:00
|
|
|
|
PR libstdc++/71500
|
|
|
|
|
* include/bits/regex_executor.tcc
|
|
|
|
|
(_Backref_matcher<BidIt, regex_traits<C>>::_M_apply): Use
|
|
|
|
|
std::__equal4 instead of C++14 4-iterator overloads of std::equal.
|
|
|
|
|
* include/bits/stl_algobase.h (__equal4): New functions implementing
|
|
|
|
|
4-iterator overloads of std::equal for use in C++11.
|
|
|
|
|
(equal(It1, It1, It2, It2), equal(It1, It1, It2, It2, BinaryPred)):
|
|
|
|
|
Move function bodies to new __equal4 functions.
|
|
|
|
|
* testsuite/28_regex/simple_c++11.cc: New.
|
|
|
|
|
|
2017-09-19 16:33:51 +02:00
|
|
|
|
PR libstdc++/82254
|
|
|
|
|
* include/std/type_traits (__is_invocable): Add partial specialization
|
|
|
|
|
for INVOKE<void> case and remove is_void<R> check from partial
|
|
|
|
|
specialization for INVOKE<R> case.
|
|
|
|
|
(__is_nt_invocable_impl): New helper for is_nothrow_invocable_r.
|
|
|
|
|
(is_nothrow_invocable_r): Use __is_nt_invocable_impl.
|
|
|
|
|
* testsuite/20_util/is_nothrow_invocable/value.cc: Add tests for
|
|
|
|
|
conversions that can throw or fail to convert. Use static assert
|
|
|
|
|
strings to explain negative results.
|
|
|
|
|
* testsuite/20_util/is_nothrow_invocable/value_ext.cc: Use
|
|
|
|
|
is_nothrow_constructible in is_nt_invocable_conv.
|
|
|
|
|
|
2017-09-18 13:40:10 +02:00
|
|
|
|
2017-09-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-09-18 22:00:32 +02:00
|
|
|
|
PR libstdc++/81468
|
|
|
|
|
* testsuite/20_util/duration/cons/dr1177.cc: Fix incorrect test and
|
|
|
|
|
improve static assertion messages.
|
|
|
|
|
|
2017-09-18 14:02:19 +02:00
|
|
|
|
* include/std/utility (_Itup_cat, _Make_integer_sequence): Remove.
|
|
|
|
|
(_Build_index_tuple, make_integer_sequence): Use built-in to generate
|
|
|
|
|
pack expansion.
|
|
|
|
|
|
2017-09-18 13:40:10 +02:00
|
|
|
|
PR libstdc++/71187
|
|
|
|
|
* include/std/type_traits (__declval): New function to deduce return
|
|
|
|
|
type of declval.
|
|
|
|
|
(__declval_protector::_delegate): Remove.
|
|
|
|
|
(declval): Use __declval instead of add_rvalue_reference and
|
|
|
|
|
__declval_protector::__delegate.
|
|
|
|
|
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
|
|
|
|
|
lineno.
|
|
|
|
|
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated.
* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document
c++1z and gnu++1z as deprecated. Change other references to
-std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17.
Change -Wc++1z-compat to -Wc++17-compat.
* doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L.
* dwarf2out.c (highest_c_language): Handle C++17.
(gen_compile_unit_die): Likewise.
c-family/
* c.opt (Wc++1z-compat): Change from option to undocumented alias.
(Wc++17-compat): Change from undocumented alias to option.
(Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
change C++1z to C++17 in description.
(std=c++1z, std=gnu++1z): Change from option to undocumented
deprecated alias.
(std=c++17, std=gnu++17): Change from undocumented alias to option.
Adjust description.
* c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
* c-opts.c (set_std_cxx1z): Rename to ...
(set_std_cxx17): ... this.
(c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
caller.
(c_common_post_options): Use cxx17 instead of cxx1z. Adjust
comments.
cp/
* decl.c (redeclaration_error_message): Use cxx17 instead of cxx1z,
adjust diagnostics refering to C++1z or -std=gnu++1z or -std=c++1z
to C++17 or -std=gnu++17 or -std=c++17. Adjust comments.
(cxx_init_decl_processing, next_initializable_field,
is_direct_enum_init, check_initializer, cp_finish_decl,
mark_inline_variable, grokdeclarator, grokparms, xref_basetypes,
finish_function): Likewise.
* cp-tree.h (DECL_INLINE_VAR_P): Likewise.
* pt.c (mark_template_parm, convert_nontype_argument,
instantiate_class_template_1, type_unification_real, unify,
get_partial_spec_bindings, dependent_type_p_r): Likewise.
* typeck.c (cp_build_unary_op): Likewise.
* constexpr.c (var_in_maybe_constexpr_fn): Likewise.
* call.c (build_user_type_conversion_1, build_over_call,
build_special_member_call): Likewise.
* lambda.c (begin_lambda_type): Likewise.
* typeck2.c (process_init_constructor_record): Likewise.
* class.c (build_base_field, finalize_literal_type_property,
explain_non_literal_class): Likewise.
* parser.c (cp_parser_diagnose_invalid_type_name,
cp_parser_primary_expression, cp_parser_lambda_introducer,
cp_parser_lambda_declarator_opt, cp_parser_selection_statement,
cp_convert_range_for, cp_parser_perform_range_for_lookup,
cp_parser_decomposition_declaration, cp_parser_linkage_specification,
cp_parser_static_assert, cp_parser_simple_type_specifier,
cp_parser_namespace_definition, cp_parser_using_declaration,
cp_parser_init_declarator, cp_parser_type_parameter_key,
cp_parser_exception_specification_opt, cp_parser_std_attribute_spec,
cp_parser_constructor_declarator_p): Likewise.
* mangle.c (struct globals): Rename need_cxx1z_warning to
need_cxx17_warning.
(write_exception_spec, start_mangling, mangle_decl): Likewise.
* Make-lang.in (check-c++1z): Rename to check-c++17, depend on
it.
(check-c++17): New goal. Use 17 instead of 1z.
(check-c++-all): Use 17 instead of 1z.
testsuite/
* lib/g++-dg.exp (g++-dg-runtest): Use 17 instead of 1z.
* lib/target-supports.exp (check_effective_target_c++14): Use
check_effective_target_c++17 instead of check_effective_target_c++1z.
(check_effective_target_c++14_down): Likewise.
(check_effective_target_c++1z_only): Rename to ...
(check_effective_target_c++17_only): ... this.
(check_effective_target_c++1z): Rename to ...
(check_effective_target_c++17): ... this.
* g++.dg/debug/dwarf2/inline-var-1.C: Use -std=c++17 or -std=gnu++17
instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z
and c++17_only instead of c++1z_only. Adjust expected diagnostics
and comments refering to 1z to 17.
* g++.dg/debug/dwarf2/inline-var-2.C: Likewise.
* g++.dg/template/partial5.C: Likewise.
* g++.dg/template/nontype8.C: Likewise.
* g++.dg/cpp1z/noexcept-type5.C: Likewise.
* g++.dg/cpp1z/nontype3a.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda4.C: Likewise.
* g++.dg/cpp1z/noexcept-type16.C: Likewise.
* g++.dg/cpp1z/class-deduction32.C: Likewise.
* g++.dg/cpp1z/pr78771.C: Likewise.
* g++.dg/cpp1z/elide1.C: Likewise.
* g++.dg/cpp1z/fold3.C: Likewise.
* g++.dg/cpp1z/class-deduction2.C: Likewise.
* g++.dg/cpp1z/noexcept-type12.C: Likewise.
* g++.dg/cpp1z/inline-var2.C: Likewise.
* g++.dg/cpp1z/eval-order2.C: Likewise.
* g++.dg/cpp1z/decomp21.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda9.C: Likewise.
* g++.dg/cpp1z/utf8-neg.C: Likewise.
* g++.dg/cpp1z/class-deduction41.C: Likewise.
* g++.dg/cpp1z/class-deduction23.C: Likewise.
* g++.dg/cpp1z/nodiscard3.C: Likewise.
* g++.dg/cpp1z/static_assert-nomsg.C: Likewise.
* g++.dg/cpp1z/noexcept-type9.C: Likewise.
* g++.dg/cpp1z/class-deduction21.C: Likewise.
* g++.dg/cpp1z/range-for1.C: Likewise.
* g++.dg/cpp1z/init-statement4.C: Likewise.
* g++.dg/cpp1z/udlit-utf8char.C: Likewise.
* g++.dg/cpp1z/decomp30.C: Likewise.
* g++.dg/cpp1z/class-deduction39.C: Likewise.
* g++.dg/cpp1z/register2.C: Likewise.
* g++.dg/cpp1z/decomp9.C: Likewise.
* g++.dg/cpp1z/regress1.C: Likewise.
* g++.dg/cpp1z/direct-enum-init1.C: Likewise.
* g++.dg/cpp1z/class-deduction30.C: Likewise.
* g++.dg/cpp1z/abbrev2.C: Likewise.
* g++.dg/cpp1z/nontype-auto6.C: Likewise.
* g++.dg/cpp1z/regress2.C: Likewise.
* g++.dg/cpp1z/decomp16.C: Likewise.
* g++.dg/cpp1z/bool-increment1.C: Likewise.
* g++.dg/cpp1z/aligned-new1.C: Likewise.
* g++.dg/cpp1z/decomp3.C: Likewise.
* g++.dg/cpp1z/register1.C: Likewise.
* g++.dg/cpp1z/namespace-attribs.C: Likewise.
* g++.dg/cpp1z/class-deduction1.C: Likewise.
* g++.dg/cpp1z/decomp10.C: Likewise.
* g++.dg/cpp1z/constexpr-if11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda10.C: Likewise.
* g++.dg/cpp1z/decomp27.C: Likewise.
* g++.dg/cpp1z/noexcept-type2.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda6.C: Likewise.
* g++.dg/cpp1z/class-deduction9.C: Likewise.
* g++.dg/cpp1z/attributes-enum-1.C: Likewise.
* g++.dg/cpp1z/decomp11.C: Likewise.
* g++.dg/cpp1z/aligned-new3.C: Likewise.
* g++.dg/cpp1z/utf8-2.C: Likewise.
* g++.dg/cpp1z/lambda-this3.C: Likewise.
* g++.dg/cpp1z/decomp-constexpr1.C: Likewise.
* g++.dg/cpp1z/byte1.C: Likewise.
* g++.dg/cpp1z/nontype-auto9.C: Likewise.
* g++.dg/cpp1z/aggr-base4.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda1.C: Likewise.
* g++.dg/cpp1z/nontype-auto3.C: Likewise.
* g++.dg/cpp1z/utf8-2a.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda7.C: Likewise.
* g++.dg/cpp1z/aggr-base6.C: Likewise.
* g++.dg/cpp1z/cplusplus.C: Likewise.
* g++.dg/cpp1z/class-deduction20.C: Likewise.
* g++.dg/cpp1z/aggr-base2.C: Likewise.
* g++.dg/cpp1z/class-deduction6.C: Likewise.
* g++.dg/cpp1z/noexcept-type3.C: Likewise.
* g++.dg/cpp1z/class-deduction31.C: Likewise.
* g++.dg/cpp1z/class-deduction25.C: Likewise.
* g++.dg/cpp1z/class-deduction18.C: Likewise.
* g++.dg/cpp1z/fold9.C: Likewise.
* g++.dg/cpp1z/noexcept-type8.C: Likewise.
* g++.dg/cpp1z/abbrev1.C: Likewise.
* g++.dg/cpp1z/constexpr-if10.C: Likewise.
* g++.dg/cpp1z/utf8.C: Likewise.
* g++.dg/cpp1z/noexcept-type7.C: Likewise.
* g++.dg/cpp1z/aggr-base3.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda8.C: Likewise.
* g++.dg/cpp1z/init-statement2.C: Likewise.
* g++.dg/cpp1z/nontype-auto4.C: Likewise.
* g++.dg/cpp1z/constexpr-if12.C: Likewise.
* g++.dg/cpp1z/class-deduction40.C: Likewise.
* g++.dg/cpp1z/nontype3.C: Likewise.
* g++.dg/cpp1z/class-deduction14.C: Likewise.
* g++.dg/cpp1z/fold7.C: Likewise.
* g++.dg/cpp1z/nontype2.C: Likewise.
* g++.dg/cpp1z/class-deduction15.C: Likewise.
* g++.dg/cpp1z/nested-namespace-def1.C: Likewise.
* g++.dg/cpp1z/class-deduction13.C: Likewise.
* g++.dg/cpp1z/aligned-new7.C: Likewise.
* g++.dg/cpp1z/noexcept-type1.C: Likewise.
* g++.dg/cpp1z/nontype1.C: Likewise.
* g++.dg/cpp1z/init-statement5.C: Likewise.
* g++.dg/cpp1z/nontype-auto2.C: Likewise.
* g++.dg/cpp1z/decomp17.C: Likewise.
* g++.dg/cpp1z/fold4.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda2.C: Likewise.
* g++.dg/cpp1z/fold7a.C: Likewise.
* g++.dg/cpp1z/nontype-auto5.C: Likewise.
* g++.dg/cpp1z/init-statement7.C: Likewise.
* g++.dg/cpp1z/aggr-base5.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda5.C: Likewise.
* g++.dg/cpp1z/pr79143.C: Likewise.
* g++.dg/cpp1z/class-deduction38.C: Likewise.
* g++.dg/cpp1z/nontype-auto8.C: Likewise.
* g++.dg/cpp1z/class-deduction12.C: Likewise.
* g++.dg/cpp1z/decomp20.C: Likewise.
* g++.dg/cpp1z/class-deduction22.C: Likewise.
* g++.dg/cpp1z/class-deduction29.C: Likewise.
* g++.dg/cpp1z/class-deduction8.C: Likewise.
* g++.dg/cpp1z/class-deduction43.C: Likewise.
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
* g++.dg/cpp1z/fold8.C: Likewise.
* g++.dg/cpp1z/init-statement3.C: Likewise.
* g++.dg/cpp1z/nontype-auto10.C: Likewise.
* g++.dg/cpp1z/class-deduction36.C: Likewise.
* g++.dg/cpp1z/noexcept-type17.C: Likewise.
* g++.dg/cpp1z/fallthrough1.C: Likewise.
* g++.dg/cpp1z/fold1.C: Likewise.
* g++.dg/cpp1z/class-deduction26.C: Likewise.
* g++.dg/cpp1z/fold-ice1.C: Likewise.
* g++.dg/cpp1z/fold5.C: Likewise.
* g++.dg/cpp1z/class-deduction34.C: Likewise.
* g++.dg/cpp1z/noexcept-type6.C: Likewise.
* g++.dg/cpp1z/class-deduction7.C: Likewise.
* g++.dg/cpp1z/class-deduction16.C: Likewise.
* g++.dg/cpp1z/class-deduction10.C: Likewise.
* g++.dg/cpp1z/eval-order3.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda13.C: Likewise.
* g++.dg/cpp1z/aggr-base2a.C: Likewise.
* g++.dg/cpp1z/nontype-auto1.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda3.C: Likewise.
* g++.dg/cpp1z/nontype-auto7.C: Likewise.
* g++.dg/cpp1z/decomp15.C: Likewise.
* g++.dg/cpp1z/noexcept-type4.C: Likewise.
* g++.dg/cpp1z/fold-mangle.C: Likewise.
* g++.dg/cpp1z/class-deduction35.C: Likewise.
* g++.dg/cpp1z/decomp4.C: Likewise.
* g++.dg/cpp1z/class-deduction42.C: Likewise.
* g++.dg/cpp1z/init-statement8.C: Likewise.
* g++.dg/cpp1z/inline-var1a.C: Likewise.
* g++.dg/cpp1z/init-statement6.C: Likewise.
* g++.dg/cpp1z/class-deduction17.C: Likewise.
* g++.dg/cpp1z/class-deduction28.C: Likewise.
* g++.dg/cpp1z/class-deduction27.C: Likewise.
* g++.dg/cpp1z/decomp-bitfield1.C: Likewise.
* g++.dg/cpp1z/attributes-enum-1a.C: Likewise.
* g++.dg/cpp1z/class-deduction11.C: Likewise.
* g++.dg/cpp1z/constexpr-lambda12.C: Likewise.
* g++.dg/cpp1z/init-statement9.C: Likewise.
* g++.dg/cpp1z/class-deduction19.C: Likewise.
* g++.dg/cpp1z/class-deduction5.C: Likewise.
* g++.dg/cpp1z/fold2.C: Likewise.
* g++.dg/cpp1z/class-deduction33.C: Likewise.
* g++.dg/cpp1z/class-deduction24.C: Likewise.
* g++.dg/cpp1z/aggr-base1.C: Likewise.
* g++.dg/cpp1z/fold6.C: Likewise.
* g++.dg/cpp1z/decomp12.C: Likewise.
* g++.dg/cpp1z/class-deduction4.C: Likewise.
* g++.dg/cpp1z/inline-var1.C: Likewise.
* g++.dg/cpp1z/aligned-new2.C: Likewise.
* g++.dg/cpp1z/class-deduction3.C: Likewise.
* g++.dg/other/error3.C: Likewise.
* g++.dg/init/new25.C: Likewise.
* g++.dg/init/new13.C: Likewise.
* g++.dg/tls/diag-2.C: Likewise.
* g++.dg/tls/diag-4.C: Likewise.
* g++.dg/opt/noreturn-1.C: Likewise.
* g++.dg/eh/async-unwind2.C: Likewise.
* g++.dg/eh/spec9.C: Likewise.
* g++.dg/eh/spec7.C: Likewise.
* g++.dg/eh/template1.C: Likewise.
* g++.dg/eh/cond4.C: Likewise.
* g++.dg/eh/pr41819.C: Likewise.
* g++.dg/eh/delete1.C: Likewise.
* g++.dg/eh/spec3.C: Likewise.
* g++.dg/eh/forced4.C: Likewise.
* g++.dg/eh/spec2.C: Likewise.
* g++.dg/eh/shadow1.C: Likewise.
* g++.dg/eh/pr38662.C: Likewise.
* g++.dg/eh/ehopt1.C: Likewise.
* g++.dg/eh/spec8.C: Likewise.
* g++.dg/eh/init-temp2.C: Likewise.
* g++.dg/rtti/crash3.C: Likewise.
* g++.dg/warn/Wreturn-type-3.C: Likewise.
* g++.dg/warn/register-parm-1.C: Likewise.
* g++.dg/warn/register-var-2.C: Likewise.
* g++.dg/gcov/gcov-7.C: Likewise.
* g++.dg/tree-ssa/pr45605.C: Likewise.
* g++.dg/cpp/pr23827_cxx98_neg.C: Likewise.
* g++.dg/lookup/exception1.C: Likewise.
* g++.dg/ubsan/pr79589.C: Likewise.
* g++.dg/tm/pr47340.C: Likewise.
* g++.dg/tm/pr46567.C: Likewise.
* g++.dg/expr/bitfield5.C: Likewise.
* g++.dg/expr/bool1.C: Likewise.
* g++.dg/expr/lval3.C: Likewise.
* g++.dg/expr/lval4.C: Likewise.
* g++.dg/expr/bitfield4.C: Likewise.
* g++.dg/expr/bitfield6.C: Likewise.
* g++.dg/expr/bool3.C: Likewise.
* g++.dg/ext/has_nothrow_constructor.C: Likewise.
* g++.dg/ext/has_nothrow_copy-7.C: Likewise.
* g++.dg/ext/has_nothrow_copy-1.C: Likewise.
* g++.dg/ext/has_nothrow_copy-2.C: Likewise.
* g++.dg/ext/has_nothrow_copy-4.C: Likewise.
* g++.dg/ext/has_nothrow_copy-5.C: Likewise.
* g++.dg/ext/has_nothrow_copy-6.C: Likewise.
* g++.dg/ext/has_nothrow_assign.C: Likewise.
* g++.dg/parse/register1.C: Likewise.
* g++.dg/parse/error15.C: Likewise.
* g++.dg/parse/linkage2.C: Likewise.
* g++.dg/concepts/intro2.C: Likewise.
* g++.dg/concepts/class.C: Likewise.
* g++.dg/concepts/traits1.C: Likewise.
* g++.dg/concepts/req5.C: Likewise.
* g++.dg/concepts/var-concept5.C: Likewise.
* g++.dg/concepts/fn-concept2.C: Likewise.
* g++.dg/concepts/traits2.C: Likewise.
* g++.dg/concepts/placeholder2.C: Likewise.
* g++.dg/concepts/class6.C: Likewise.
* g++.dg/concepts/memtmpl1.C: Likewise.
* g++.dg/concepts/friend2.C: Likewise.
* g++.dg/concepts/template-parm3.C: Likewise.
* g++.dg/concepts/template-parm10.C: Likewise.
* g++.dg/concepts/explicit-spec1.C: Likewise.
* g++.dg/concepts/explicit-spec3.C: Likewise.
* g++.dg/concepts/var-templ2.C: Likewise.
* g++.dg/concepts/intro5.C: Likewise.
* g++.dg/concepts/deduction-constraint1.C: Likewise.
* g++.dg/concepts/iconv1.C: Likewise.
* g++.dg/concepts/constrained-parm.C: Likewise.
* g++.dg/concepts/template-template-parm1.C: Likewise.
* g++.dg/concepts/var-concept3.C: Likewise.
* g++.dg/concepts/class3.C: Likewise.
* g++.dg/concepts/memfun2.C: Likewise.
* g++.dg/concepts/req1.C: Likewise.
* g++.dg/concepts/disjunction1.C: Likewise.
* g++.dg/concepts/req17.C: Likewise.
* g++.dg/concepts/pr65848.C: Likewise.
* g++.dg/concepts/placeholder4.C: Likewise.
* g++.dg/concepts/decl-diagnose.C: Likewise.
* g++.dg/concepts/intro7.C: Likewise.
* g++.dg/concepts/pr68683.C: Likewise.
* g++.dg/concepts/partial-spec4.C: Likewise.
* g++.dg/concepts/template-parm5.C: Likewise.
* g++.dg/concepts/explicit-inst1.C: Likewise.
* g++.dg/concepts/class-deduction1.C: Likewise.
* g++.dg/concepts/class1.C: Likewise.
* g++.dg/concepts/req15.C: Likewise.
* g++.dg/concepts/memfun.C: Likewise.
* g++.dg/concepts/pr68434.C: Likewise.
* g++.dg/concepts/inherit-ctor4.C: Likewise.
* g++.dg/concepts/partial-spec6.C: Likewise.
* g++.dg/concepts/var-templ1.C: Likewise.
* g++.dg/concepts/template-parm8.C: Likewise.
* g++.dg/concepts/explicit-inst3.C: Likewise.
* g++.dg/concepts/class4.C: Likewise.
* g++.dg/concepts/req6.C: Likewise.
* g++.dg/concepts/fn8.C: Likewise.
* g++.dg/concepts/class5.C: Likewise.
* g++.dg/concepts/placeholder5.C: Likewise.
* g++.dg/concepts/req16.C: Likewise.
* g++.dg/concepts/req10.C: Likewise.
* g++.dg/concepts/var-concept2.C: Likewise.
* g++.dg/concepts/auto3.C: Likewise.
* g++.dg/concepts/generic-fn-err.C: Likewise.
* g++.dg/concepts/pr65552.C: Likewise.
* g++.dg/concepts/partial-concept-id2.C: Likewise.
* g++.dg/concepts/fn1.C: Likewise.
* g++.dg/concepts/partial-spec.C: Likewise.
* g++.dg/concepts/template-parm12.C: Likewise.
* g++.dg/concepts/diagnostic1.C: Likewise.
* g++.dg/concepts/intro1.C: Likewise.
* g++.dg/concepts/explicit-inst4.C: Likewise.
* g++.dg/concepts/req18.C: Likewise.
* g++.dg/concepts/explicit-spec5.C: Likewise.
* g++.dg/concepts/var-concept6.C: Likewise.
* g++.dg/concepts/fn9.C: Likewise.
* g++.dg/concepts/req2.C: Likewise.
* g++.dg/concepts/template-parm7.C: Likewise.
* g++.dg/concepts/req14.C: Likewise.
* g++.dg/concepts/template-parm6.C: Likewise.
* g++.dg/concepts/variadic4.C: Likewise.
* g++.dg/concepts/fn6.C: Likewise.
* g++.dg/concepts/req-neg1.C: Likewise.
* g++.dg/concepts/alias3.C: Likewise.
* g++.dg/concepts/expression2.C: Likewise.
* g++.dg/concepts/partial-spec3.C: Likewise.
* g++.dg/concepts/expression3.C: Likewise.
* g++.dg/concepts/memfun-err.C: Likewise.
* g++.dg/concepts/pr66091.C: Likewise.
* g++.dg/concepts/explicit-spec2.C: Likewise.
* g++.dg/concepts/equiv.C: Likewise.
* g++.dg/concepts/friend1.C: Likewise.
* g++.dg/concepts/fn4.C: Likewise.
* g++.dg/concepts/var-templ3.C: Likewise.
* g++.dg/concepts/explicit-inst2.C: Likewise.
* g++.dg/concepts/alias2.C: Likewise.
* g++.dg/concepts/regress/alias-decl-42.C: Likewise.
* g++.dg/concepts/placeholder6.C: Likewise.
* g++.dg/concepts/fn10.C: Likewise.
* g++.dg/concepts/req3.C: Likewise.
* g++.dg/concepts/variadic2.C: Likewise.
* g++.dg/concepts/pr65636.C: Likewise.
* g++.dg/concepts/intro6.C: Likewise.
* g++.dg/concepts/class2.C: Likewise.
* g++.dg/concepts/fn2.C: Likewise.
* g++.dg/concepts/req20.C: Likewise.
* g++.dg/concepts/req8.C: Likewise.
* g++.dg/concepts/placeholder1.C: Likewise.
* g++.dg/concepts/pr65854.C: Likewise.
* g++.dg/concepts/member-concept.C: Likewise.
* g++.dg/concepts/template-parm2.C: Likewise.
* g++.dg/concepts/variadic1.C: Likewise.
* g++.dg/concepts/fn7.C: Likewise.
* g++.dg/concepts/intro4.C: Likewise.
* g++.dg/concepts/req13.C: Likewise.
* g++.dg/concepts/inherit-ctor3.C: Likewise.
* g++.dg/concepts/explicit-spec6.C: Likewise.
* g++.dg/concepts/auto1.C: Likewise.
* g++.dg/concepts/alias1.C: Likewise.
* g++.dg/concepts/fn-concept1.C: Likewise.
* g++.dg/concepts/template-parm11.C: Likewise.
* g++.dg/concepts/explicit-spec4.C: Likewise.
* g++.dg/concepts/partial-concept-id1.C: Likewise.
* g++.dg/concepts/req9.C: Likewise.
* g++.dg/concepts/req4.C: Likewise.
* g++.dg/concepts/pr65681.C: Likewise.
* g++.dg/concepts/req7.C: Likewise.
* g++.dg/concepts/req12.C: Likewise.
* g++.dg/concepts/fn5.C: Likewise.
* g++.dg/concepts/alias4.C: Likewise.
* g++.dg/concepts/generic-fn.C: Likewise.
* g++.dg/concepts/feature-macro.C: Likewise.
* g++.dg/concepts/req19.C: Likewise.
* g++.dg/concepts/placeholder3.C: Likewise.
* g++.dg/concepts/intro3.C: Likewise.
* g++.dg/concepts/partial-spec5.C: Likewise.
* g++.dg/concepts/template-parm4.C: Likewise.
* g++.dg/concepts/dr1430.C: Likewise.
* g++.dg/concepts/pr65634.C: Likewise.
* g++.dg/concepts/var-concept4.C: Likewise.
* g++.dg/concepts/pr67249.C: Likewise.
* g++.dg/concepts/expression.C: Likewise.
* g++.dg/concepts/pr65575.C: Likewise.
* g++.dg/concepts/partial-spec2.C: Likewise.
* g++.dg/concepts/template-parm9.C: Likewise.
* g++.dg/concepts/inherit-ctor1.C: Likewise.
* g++.dg/concepts/equiv2.C: Likewise.
* g++.dg/concepts/req11.C: Likewise.
* g++.dg/concepts/template-parm1.C: Likewise.
* g++.dg/concepts/inherit-ctor2.C: Likewise.
* g++.dg/concepts/var-concept1.C: Likewise.
* g++.dg/concepts/fn3.C: Likewise.
* g++.dg/torture/pr46364.C: Likewise.
* g++.dg/torture/stackalign/eh-alloca-1.C: Likewise.
* g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-1.C: Likewise.
* g++.dg/torture/stackalign/eh-vararg-2.C: Likewise.
* g++.dg/torture/stackalign/eh-global-1.C: Likewise.
* g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-2.C: Likewise.
* g++.dg/torture/stackalign/eh-inline-1.C: Likewise.
* g++.dg/torture/pr52918-1.C: Likewise.
* g++.dg/torture/pr49394.C: Likewise.
* g++.dg/torture/pr57190.C: Likewise.
* g++.dg/cpp0x/static_assert8.C: Likewise.
* g++.dg/cpp0x/noexcept19.C: Likewise.
* g++.dg/cpp0x/variadic-throw.C: Likewise.
* g++.dg/cpp0x/variadic73.C: Likewise.
* g++.dg/cpp0x/noexcept02.C: Likewise.
* g++.dg/cpp0x/defaulted23.C: Likewise.
* g++.dg/cpp0x/noexcept08.C: Likewise.
* g++.dg/cpp0x/auto9.C: Likewise.
* g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise.
* g++.dg/cpp0x/error5.C: Likewise.
* c-c++-common/gomp/atomic-12.c: Likewise.
* c-c++-common/gomp/atomic-13.c: Likewise.
* c-c++-common/gomp/atomic-14.c: Likewise.
* c-c++-common/Wvarargs-2.c: Likewise.
* c-c++-common/Wvarargs.c: Likewise.
* c-c++-common/vector-subscript-2.c: Likewise.
* g++.old-deja/g++.robertl/eb123.C: Likewise.
* g++.old-deja/g++.eh/tmpl3.C: Likewise.
* g++.old-deja/g++.eh/cleanup2.C: Likewise.
* g++.old-deja/g++.eh/badalloc1.C: Likewise.
* g++.old-deja/g++.eh/throw2.C: Likewise.
* g++.old-deja/g++.eh/throw1.C: Likewise.
* g++.old-deja/g++.eh/tmpl1.C: Likewise.
* g++.old-deja/g++.other/new7.C: Likewise.
* g++.old-deja/g++.other/crash30.C: Likewise.
* g++.old-deja/g++.other/regstack.C: Likewise.
* g++.old-deja/g++.other/crash28.C: Likewise.
* g++.old-deja/g++.jason/bool5.C: Likewise.
* g++.old-deja/g++.mike/p10416.C: Likewise.
* g++.old-deja/g++.mike/eh25.C: Likewise.
* g++.old-deja/g++.mike/eh55.C: Likewise.
libcpp/
* include/cpplib.h (enum c_lang): Rename CLK_GNUCXX1Z
to CLK_GNUCXX17 and CLK_CXX1Z to CLK_CXX17.
* init.c (lang_defaults, cpp_init_builtins): Likewise.
* expr.c (cpp_classify_number): Use C++17 instead of C++1z
in diagnostics.
libstdc++-v3/
* testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or
-std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead
of c++1z and c++17_only instead of c++1z_only. Adjust expected
diagnostics and comments refering to 1z to 17.
* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
* testsuite/18_support/launder/1.cc (test02): Likewise.
* testsuite/18_support/launder/requirements_neg.cc: Likewise.
* testsuite/18_support/launder/requirements.cc: Likewise.
* testsuite/18_support/byte/requirements.cc: Likewise.
* testsuite/18_support/byte/ops.cc: Likewise.
* testsuite/18_support/byte/global_neg.cc: Likewise.
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
Likewise.
* testsuite/27_io/types/4.cc: Likewise.
* testsuite/25_algorithms/sample/81221.cc: Likewise.
* testsuite/25_algorithms/sample/1.cc: Likewise.
* testsuite/25_algorithms/sample/2.cc: Likewise.
* testsuite/25_algorithms/search/searcher.cc: Likewise.
* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
* testsuite/experimental/filesystem/path/construct/string_view.cc:
Likewise.
* testsuite/24_iterators/range_access_cpp17.cc: Likewise.
* testsuite/24_iterators/container_access.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
* testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise.
* testsuite/20_util/pair/cons/deduction.cc: Likewise.
* testsuite/20_util/variant/deduction.cc: Likewise.
* testsuite/20_util/tuple/78939.cc: Likewise.
* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
* testsuite/20_util/void_t/1.cc: Likewise.
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise.
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
* testsuite/20_util/addressof/requirements/constexpr.cc: Likewise.
* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/has_unique_object_representations/value.cc:
Likewise.
* testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise.
* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
* testsuite/20_util/function/cons/deduction.cc: Likewise.
* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
Likewise.
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
Likewise.
* testsuite/20_util/is_aggregate/value.cc: Likewise.
* testsuite/26_numerics/lcm/1.cc: Likewise.
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
* testsuite/26_numerics/gcd/1.cc: Likewise.
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
* testsuite/26_numerics/valarray/deduction.cc: Likewise.
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise.
* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/array/cons/deduction.cc: Likewise.
* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/list/cons/deduction.cc: Likewise.
* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
Likewise.
* testsuite/23_containers/forward_list/cons/deduction.cc: Likewise.
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise.
* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
Likewise.
* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise.
* testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
Likewise.
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
Likewise.
From-SVN: r252826
2017-09-15 18:15:46 +02:00
|
|
|
|
2017-09-15 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or
|
|
|
|
|
-std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead
|
|
|
|
|
of c++1z and c++17_only instead of c++1z_only. Adjust expected
|
|
|
|
|
diagnostics and comments refering to 1z to 17.
|
|
|
|
|
* testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/1.cc: Likewise.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/launder/1.cc (test02): Likewise.
|
|
|
|
|
* testsuite/18_support/launder/requirements_neg.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/launder/requirements.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/byte/requirements.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/byte/ops.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/byte/global_neg.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/types/4.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/sample/81221.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/sample/1.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/sample/2.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/search/searcher.cc: Likewise.
|
|
|
|
|
* testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/filesystem/path/construct/string_view.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/24_iterators/range_access_cpp17.cc: Likewise.
|
|
|
|
|
* testsuite/24_iterators/container_access.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise.
|
|
|
|
|
* testsuite/20_util/pair/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/variant/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/tuple/78939.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/tuple/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/void_t/1.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/addressof/requirements/constexpr.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/has_unique_object_representations/value.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/function/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/20_util/is_aggregate/value.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/lcm/1.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/gcd/1.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/valarray/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/headers/cmath/hypot.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/queue/members/emplace_cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/array/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/array/cons/deduction_neg.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/deque/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/stack/members/emplace_cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/list/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/forward_list/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/vector/cons/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/vector/bool/emplace_cxx17_return.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/9.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-09-13 09:27:40 +02:00
|
|
|
|
2017-09-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-09-13 16:07:44 +02:00
|
|
|
|
PR libstdc++/81468
|
|
|
|
|
* include/std/chrono (__enable_if_is_duration)
|
|
|
|
|
(__disable_if_is_duration): New alias templates to simplify SFINAE.
|
|
|
|
|
(duration_cast, floor, ceil): Use __enable_if_is_duration.
|
|
|
|
|
(duration::__is_float, duration::__is_harmonic): New alias templates
|
|
|
|
|
to simplify SFINAE.
|
|
|
|
|
(duration::duration(const _Rep2&)): Use _Require, __is_float and
|
|
|
|
|
__is_harmonic.
|
|
|
|
|
(duration::duration(const duration<_Rep2, _Period2>&)): Likewise.
|
|
|
|
|
(__common_rep_type): Remove, replace with ...
|
|
|
|
|
(__common_rep_t): New alias template.
|
|
|
|
|
(operator*, operator/, operator%): Use __common_rep_t and
|
|
|
|
|
__disable_if_is_duration.
|
|
|
|
|
(time_point::time_point(const time_point<clock, _Dur2>&)): Add missing
|
|
|
|
|
constraint from LWG DR 1177.
|
|
|
|
|
* testsuite/20_util/duration/cons/dr1177.cc: New.
|
|
|
|
|
* testsuite/20_util/duration/literals/range.cc: Update dg-error line.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/time_point/cons/81468.cc: New.
|
|
|
|
|
|
2017-09-13 12:17:44 +02:00
|
|
|
|
* doc/doxygen/mainpage.html: Fix broken URLs.
|
|
|
|
|
|
2017-09-13 12:05:59 +02:00
|
|
|
|
PR libstdc++/81835
|
|
|
|
|
* doc/xml/manual/extensions.xml: Replace unstable URL.
|
|
|
|
|
* doc/html/manual/ext_demangling.html: Regenerate.
|
|
|
|
|
* libsupc++/cxxabi.h (__cxa_demangle): Fix broken URL.
|
|
|
|
|
|
2017-09-13 09:27:40 +02:00
|
|
|
|
* include/bits/allocated_ptr.h (__allocated_ptr::get): Use
|
|
|
|
|
__to_address.
|
|
|
|
|
(__allocated_ptr::_S_raw_ptr): Remove.
|
|
|
|
|
* include/bits/forward_list.h (_Fwd_list_base::_M_get_node): Use
|
|
|
|
|
__to_address.
|
|
|
|
|
* include/bits/hashtable_policy.h (_Hashtable_alloc): Likewise.
|
|
|
|
|
* include/bits/ptr_traits.h (__to_address): Define new function
|
|
|
|
|
template.
|
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_ptr): Use __to_address.
|
|
|
|
|
(__shared_ptr::_S_raw_ptr): Remove.
|
|
|
|
|
* include/bits/stl_vector.h [__cplusplus >= 201103L]
|
|
|
|
|
(vector::_M_data_ptr): Use __to_address.
|
|
|
|
|
[__cplusplus < 201103L] (vector::_M_data_ptr): Don't dereference
|
|
|
|
|
possibly invalid pointers.
|
|
|
|
|
* include/ext/alloc_traits.h (__alloc_traits::construct)
|
|
|
|
|
(__alloc_traits::destroy): Use __to_address.
|
|
|
|
|
|
PR libstdc++/70483 make std::experimental::string_view fully constexpr
PR libstdc++/70483
* include/experimental/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/experimental/string_view (basic_string_view::remove_prefix)
(basic_string_view::remove_suffix, basic_string_view::swap)
(basic_string_view::compare, basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, operator==, operator!=)
(operator<, operator>, operator<=, operator>=): Likewise.
* testsuite/experimental/string_view/operations/compare/char/70483.cc:
New.
From-SVN: r252017
2017-09-12 15:31:20 +02:00
|
|
|
|
2017-09-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-09-12 16:03:06 +02:00
|
|
|
|
PR libstdc++/79433
|
|
|
|
|
* include/Makefile.am: Remove <bits/c++14_warning.h>.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++14_warning.h: Remove.
|
|
|
|
|
* include/experimental/algorithm: Do not include <c++14_warning.h>.
|
|
|
|
|
* include/experimental/any: Likewise.
|
|
|
|
|
* include/experimental/array: Likewise.
|
|
|
|
|
* include/experimental/bits/erase_if.h: Likewise.
|
|
|
|
|
* include/experimental/bits/lfts_config.h: Likewise.
|
|
|
|
|
* include/experimental/bits/shared_ptr.h: Likewise.
|
|
|
|
|
* include/experimental/bits/string_view.tcc: Likewise.
|
|
|
|
|
* include/experimental/chrono: Likewise.
|
|
|
|
|
* include/experimental/deque: Likewise.
|
|
|
|
|
* include/experimental/filesystem: Do not include <c++0x_warning.h>.
|
|
|
|
|
* include/experimental/forward_list: Do not include <c++14_warning.h>.
|
|
|
|
|
* include/experimental/functional: Likewise.
|
|
|
|
|
* include/experimental/iterator: Likewise.
|
|
|
|
|
* include/experimental/list: Likewise.
|
|
|
|
|
* include/experimental/map: Likewise.
|
|
|
|
|
* include/experimental/memory: Likewise.
|
|
|
|
|
* include/experimental/numeric: Likewise.
|
|
|
|
|
* include/experimental/optional: Likewise.
|
|
|
|
|
* include/experimental/propagate_const: Likewise.
|
|
|
|
|
* include/experimental/ratio: Likewise.
|
|
|
|
|
* include/experimental/regex: Likewise.
|
|
|
|
|
* include/experimental/set: Likewise.
|
|
|
|
|
* include/experimental/string: Likewise.
|
|
|
|
|
* include/experimental/string_view: Likewise.
|
|
|
|
|
* include/experimental/system_error: Likewise.
|
|
|
|
|
* include/experimental/tuple: Likewise.
|
|
|
|
|
* include/experimental/type_traits: Likewise.
|
|
|
|
|
* include/experimental/unordered_map: Likewise.
|
|
|
|
|
* include/experimental/unordered_set: Likewise.
|
|
|
|
|
* include/experimental/vector: Likewise.
|
|
|
|
|
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error
|
|
|
|
|
line number.
|
|
|
|
|
* testsuite/experimental/array/neg.cc: Likewise.
|
|
|
|
|
* testsuite/experimental/propagate_const/assignment/move_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/experimental/propagate_const/cons/move_neg.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.
|
|
|
|
|
|
2017-09-12 16:02:59 +02:00
|
|
|
|
PR libstdc++/79433
|
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Update feature-test macros.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* include/Makefile.am: Remove <bits/c++17_warning.h>.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++17_warning.h: Remove.
|
|
|
|
|
* include/bits/string_view.tcc: Do not include <bits/c++17_warning.h>
|
|
|
|
|
for pre-C++17 modes.
|
|
|
|
|
* include/std/any: Likewise.
|
|
|
|
|
(__cpp_lib_any): Define.
|
|
|
|
|
* include/std/mutex (__cpp_lib_scoped_lock): Adjust value as per new
|
|
|
|
|
SD-6 draft.
|
|
|
|
|
* include/std/numeric (__cpp_lib_gcd_lcm): Define as per new SD-6
|
|
|
|
|
draft.
|
|
|
|
|
* include/std/optional: Do not include <bits/c++17_warning.h>.
|
|
|
|
|
(__cpp_lib_optional): Define.
|
|
|
|
|
* include/std/shared_mutex: Do not include <bits/c++14_warning.h>.
|
|
|
|
|
* include/std/string_view: Do not include <bits/c++17_warning.h>.
|
|
|
|
|
(__cpp_lib_string_view): Define.
|
|
|
|
|
* include/std/variant: Do not include <bits/c++17_warning.h>.
|
|
|
|
|
(__cpp_lib_variant): Define.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust dg-error line
|
|
|
|
|
numbers.
|
|
|
|
|
* testsuite/26_numerics/gcd/1.cc: Test for __cpp_lib_gcd_lcm.
|
|
|
|
|
* testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line
|
|
|
|
|
numbers.
|
|
|
|
|
* testsuite/26_numerics/lcm/1.cc: Test for __cpp_lib_gcd_lcm.
|
|
|
|
|
* testsuite/26_numerics/lcm/lcm_neg.cc: Adjust dg-error line
|
|
|
|
|
numbers.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Adjust
|
|
|
|
|
expected value of __cpp_lib_scoped_lock.
|
|
|
|
|
|
PR libstdc++/70483 make std::experimental::string_view fully constexpr
PR libstdc++/70483
* include/experimental/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/experimental/string_view (basic_string_view::remove_prefix)
(basic_string_view::remove_suffix, basic_string_view::swap)
(basic_string_view::compare, basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, operator==, operator!=)
(operator<, operator>, operator<=, operator>=): Likewise.
* testsuite/experimental/string_view/operations/compare/char/70483.cc:
New.
From-SVN: r252017
2017-09-12 15:31:20 +02:00
|
|
|
|
PR libstdc++/70483
|
|
|
|
|
* include/experimental/bits/string_view.tcc (basic_string_view::find)
|
|
|
|
|
(basic_string_view::rfind, basic_string_view::find_first_of)
|
|
|
|
|
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
|
|
|
|
|
(basic_string_view::find_last_not_of): Add constexpr specifier.
|
|
|
|
|
* include/experimental/string_view (basic_string_view::remove_prefix)
|
|
|
|
|
(basic_string_view::remove_suffix, basic_string_view::swap)
|
|
|
|
|
(basic_string_view::compare, basic_string_view::find)
|
|
|
|
|
(basic_string_view::rfind, basic_string_view::find_first_of)
|
|
|
|
|
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
|
|
|
|
|
(basic_string_view::find_last_not_of, operator==, operator!=)
|
|
|
|
|
(operator<, operator>, operator<=, operator>=): Likewise.
|
|
|
|
|
* testsuite/experimental/string_view/operations/compare/char/70483.cc:
|
|
|
|
|
New.
|
|
|
|
|
|
PR libstdc++/70483 make std::string_view fully constexpr
PR libstdc++/70483
* include/bits/string_view.tcc (basic_string_view::find)
(basic_string_view::rfind, basic_string_view::find_first_of)
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of): Add constexpr specifier.
* include/std/string_view (basic_string_view::operator=)
(basic_string_view::rbegin, basic_string_view::rend)
(basic_string_view::crbegin, basic_string_view::crend)
(basic_string_view::remove_prefix, basic_string_view::remove_suffix)
(basic_string_view::swap, basic_string_view::compare)
(basic_string_view::find, basic_string_view::rfind)
(basic_string_view::find_first_of, basic_string_view::find_last_of)
(basic_string_view::find_first_not_of)
(basic_string_view::find_last_not_of, basic_string_view::_M_check)
(basic_string_view::_M_limit, operator==, operator!=, operator<)
(operator>, operator<=, operator>=): Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
char/1.cc: Repeat tests in constexpr context.
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
char/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
wchar_t/1.cc: Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/char/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
Likewise.
* testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test
cbegin, cend, rbegin, rend, crbegin and crend.
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
Likewise.
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
Remove trailing whitespace.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
1.cc: Likewise.
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
New.
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
New.
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
New.
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
2.cc: New.
From-SVN: r251988
2017-09-11 23:47:41 +02:00
|
|
|
|
2017-09-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/70483
|
|
|
|
|
* include/bits/string_view.tcc (basic_string_view::find)
|
|
|
|
|
(basic_string_view::rfind, basic_string_view::find_first_of)
|
|
|
|
|
(basic_string_view::find_last_of, basic_string_view::find_first_not_of)
|
|
|
|
|
(basic_string_view::find_last_not_of): Add constexpr specifier.
|
|
|
|
|
* include/std/string_view (basic_string_view::operator=)
|
|
|
|
|
(basic_string_view::rbegin, basic_string_view::rend)
|
|
|
|
|
(basic_string_view::crbegin, basic_string_view::crend)
|
|
|
|
|
(basic_string_view::remove_prefix, basic_string_view::remove_suffix)
|
|
|
|
|
(basic_string_view::swap, basic_string_view::compare)
|
|
|
|
|
(basic_string_view::find, basic_string_view::rfind)
|
|
|
|
|
(basic_string_view::find_first_of, basic_string_view::find_last_of)
|
|
|
|
|
(basic_string_view::find_first_not_of)
|
|
|
|
|
(basic_string_view::find_last_not_of, basic_string_view::_M_check)
|
|
|
|
|
(basic_string_view::_M_limit, operator==, operator!=, operator<)
|
|
|
|
|
(operator>, operator<=, operator>=): Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
|
|
|
|
|
char/1.cc: Repeat tests in constexpr context.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/remove_prefix/
|
|
|
|
|
wchar_t/1.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
|
|
|
|
|
char/1.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/remove_suffix/
|
|
|
|
|
wchar_t/1.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operators/char/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test
|
|
|
|
|
cbegin, cend, rbegin, rend, crbegin and crend.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
|
|
|
|
|
Remove trailing whitespace.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
|
|
|
|
|
1.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/char/2.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/compare/wchar_t/
|
|
|
|
|
2.cc: New.
|
|
|
|
|
|
2017-09-11 21:02:34 +02:00
|
|
|
|
2017-09-11 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/71500
|
2017-09-19 19:06:12 +02:00
|
|
|
|
* include/bits/regex_executor.tcc: Support icase in regex_traits<...>
|
2017-09-11 21:02:34 +02:00
|
|
|
|
for back reference matches.
|
|
|
|
|
* testsuite/28_regex/regression.cc: Test case.
|
|
|
|
|
|
2017-09-11 18:54:57 +02:00
|
|
|
|
2017-09-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/21_strings/basic_string/lwg2946.cc: Adjust for
|
|
|
|
|
compatibility with old COW std::string.
|
|
|
|
|
|
2017-09-09 08:51:49 +02:00
|
|
|
|
2017-09-09 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/allocator.xml: Adjust link for Hoard.
|
|
|
|
|
* doc/html/manual/memory.html: Regenerate.
|
|
|
|
|
|
PR libstdc++/79162 implement LWG 2946 and LWG 2758
2017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com>
PR libstdc++/79162
Implement LWG 2946, LWG 2758's resolution missed further corrections
* include/bits/basic_string.h (basic_string::compare): Add missing
required noexcept specifications.
(basic_string): Introduce internal _S_to_string_view and __sv_wrapper
for implicit string_view conversion.
(basic_string::basic_string): Fix explicit string_view conversion by
implicit conversion using _S_to_string_view and __sv_wrapper.
(basic_string): Introduce internal basic_string(__sv_wrapper, Alloc)
constructor.
(basic_string): Fix operator=(T) template by operator=(const T&)
template for uncopyable types (PR 79162).
(basic_string::operator+=, basic_string::append, basic_string::assign)
(basic_string::insert, basic_string::replace, basic_string::find)
(basic_string::rfind, basic_string::find_first_of)
(basic_string::find_last_of, basic_string::find_first_not_of)
(basic_string::find_last_not_of, basic_string::compare): Replace
__sv_type argument by template const T& (LWG 2946) and correct
documentation describing __sv_type argument.
(basic_string::find, basic_string::rfind, basic_string::find_first_of)
(basic_string::find_last_of, basic_string::find_first_not_of)
(basic_string::find_last_not_of, basic_string::compare): Replace
unconditional noexcept specification by conditional noexcept
specification to partially balance the removal of noexcept by LWG 2946.
* testsuite/21_strings/basic_string/79162.cc: New.
* testsuite/21_strings/basic_string/lwg2946.cc: New.
From-SVN: r251664
2017-09-04 17:48:47 +02:00
|
|
|
|
2017-09-04 Daniel Kruegler <daniel.kruegler@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79162
|
|
|
|
|
Implement LWG 2946, LWG 2758's resolution missed further corrections
|
|
|
|
|
* include/bits/basic_string.h (basic_string::compare): Add missing
|
|
|
|
|
required noexcept specifications.
|
|
|
|
|
(basic_string): Introduce internal _S_to_string_view and __sv_wrapper
|
|
|
|
|
for implicit string_view conversion.
|
|
|
|
|
(basic_string::basic_string): Fix explicit string_view conversion by
|
|
|
|
|
implicit conversion using _S_to_string_view and __sv_wrapper.
|
|
|
|
|
(basic_string): Introduce internal basic_string(__sv_wrapper, Alloc)
|
|
|
|
|
constructor.
|
|
|
|
|
(basic_string): Fix operator=(T) template by operator=(const T&)
|
|
|
|
|
template for uncopyable types (PR 79162).
|
|
|
|
|
(basic_string::operator+=, basic_string::append, basic_string::assign)
|
|
|
|
|
(basic_string::insert, basic_string::replace, basic_string::find)
|
|
|
|
|
(basic_string::rfind, basic_string::find_first_of)
|
|
|
|
|
(basic_string::find_last_of, basic_string::find_first_not_of)
|
|
|
|
|
(basic_string::find_last_not_of, basic_string::compare): Replace
|
|
|
|
|
__sv_type argument by template const T& (LWG 2946) and correct
|
|
|
|
|
documentation describing __sv_type argument.
|
|
|
|
|
(basic_string::find, basic_string::rfind, basic_string::find_first_of)
|
|
|
|
|
(basic_string::find_last_of, basic_string::find_first_not_of)
|
|
|
|
|
(basic_string::find_last_not_of, basic_string::compare): Replace
|
|
|
|
|
unconditional noexcept specification by conditional noexcept
|
|
|
|
|
specification to partially balance the removal of noexcept by LWG 2946.
|
|
|
|
|
* testsuite/21_strings/basic_string/79162.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string/lwg2946.cc: New.
|
|
|
|
|
|
2017-08-31 18:45:37 +02:00
|
|
|
|
2017-08-31 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c++/82039
|
|
|
|
|
* include/ext/new_allocator.h (__gnu_cxx::new_allocator::allocate):
|
|
|
|
|
Adjust null pointer constant to avoid warning.
|
|
|
|
|
|
stl_list.h [!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
2017-08-24 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_list.h
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
(_List_impl(_Node_alloc_type&&, _List_impl&&)): New.
(_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter.
[!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)):
Remove.
(_List_base(_Node_alloc_type&&)): New.
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove.
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove.
(list<>::_M_node_count): New.
(list<>::size()): Adapt to call latter.
(list<>::_S_distance(const_iterator, const_iterator)): New.
(list<>::splice(iterator, list&, const_iterator, const_iterator)):
Adapt to call latter.
(list(list&&, const allocator_type&, true_type)): New.
(list(list&&, const allocator_type&, false_type)): New.
(list(list&&, const allocator_type&)): Adapt to call latters.
From-SVN: r251342
2017-08-24 22:31:53 +02:00
|
|
|
|
2017-08-24 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_list.h
|
|
|
|
|
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_S_distance): Remove.
|
|
|
|
|
(_List_impl(_Node_alloc_type&&, _List_impl&&)): New.
|
|
|
|
|
(_List_base(_Node_alloc_type&&, _List_base&&)): New, use latter.
|
|
|
|
|
[!_GLIBCXX_INLINE_VERSION](_List_base(_Node_alloc_type&&,_List_base&&)):
|
|
|
|
|
Remove.
|
|
|
|
|
(_List_base(_Node_alloc_type&&)): New.
|
|
|
|
|
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_distance): Remove.
|
|
|
|
|
[!_GLIBCXX_INLINE_VERSION](_List_base<>::_M_node_count): Remove.
|
|
|
|
|
(list<>::_M_node_count): New.
|
|
|
|
|
(list<>::size()): Adapt to call latter.
|
|
|
|
|
(list<>::_S_distance(const_iterator, const_iterator)): New.
|
|
|
|
|
(list<>::splice(iterator, list&, const_iterator, const_iterator)):
|
|
|
|
|
Adapt to call latter.
|
|
|
|
|
(list(list&&, const allocator_type&, true_type)): New.
|
|
|
|
|
(list(list&&, const allocator_type&, false_type)): New.
|
|
|
|
|
(list(list&&, const allocator_type&)): Adapt to call latters.
|
|
|
|
|
|
2017-08-21 17:14:27 +02:00
|
|
|
|
2017-08-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81912
|
|
|
|
|
* include/bits/stl_iterator_base_types.h (__iterator_category): Add
|
|
|
|
|
constexpr for C++11 and later.
|
|
|
|
|
* testsuite/24_iterators/container_access.cc: Add target selector.
|
|
|
|
|
* testsuite/24_iterators/range_access.cc: Fix clause number in
|
|
|
|
|
comment.
|
|
|
|
|
* testsuite/24_iterators/range_access_cpp14.cc: Likewise.
|
|
|
|
|
* testsuite/24_iterators/range_access_cpp17.cc: New.
|
|
|
|
|
|
re PR go/78628 (GO fails to build a translation unit decl)
2017-08-21 Richard Biener <rguenther@suse.de>
include/
* simple-object.h (simple_object_copy_lto_debug_sections): New
function.
libiberty/
* simple-object-common.h (struct simple_object_functions): Add
copy_lto_debug_sections hook.
* simple-object.c: Include fcntl.h.
(handle_lto_debug_sections): New helper function.
(simple_object_copy_lto_debug_sections): New function copying
early LTO debug sections to regular debug sections in a new file.
(simple_object_start_write): Handle NULL segment_name.
* simple-object-coff.c (simple_object_coff_functions): Adjust
for not implemented copy_lto_debug_sections hook.
* simple-object-mach-o.c (simple_object_mach_o_functions): Likewise.
* simple-object-xcoff.c (simple_object_xcoff_functions): Likewise.
* simple-object-elf.c (SHT_NULL, SHT_SYMTAB, SHT_RELA, SHT_REL,
SHT_GROUP): Add various sectopn header types.
(SHF_EXCLUDE): Add flag.
(Elf32_External_Sym, Elf64_External_Sym): Add symbol struct.
(ELF_ST_BIND, ELF_ST_TYPE, ELF_ST_INFO): Add accessors.
(STT_OBJECT, STT_FUNC, STT_TLS, STT_GNU_IFUNC): Add Symbol types.
(STV_DEFAULT): Add symbol visibility.
(SHN_COMMON): Add special section index name.
(struct simple_object_elf_write): New.
(simple_object_elf_start_write): Adjust for new private data.
(simple_object_elf_write_shdr): Pass in values for all fields
we write.
(simple_object_elf_write_to_file): Adjust. Copy from recorded
section headers if requested.
(simple_object_elf_release_write): Release private data.
(simple_object_elf_copy_lto_debug_sections): Copy and rename sections
as denoted by PFN and all their dependences, symbols and relocations
to the empty destination file.
(simple_object_elf_functions): Adjust for copy_lto_debug_sections hook.
gcc/
* debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
register_external_die hooks.
(debug_false_tree_charstarstar_uhwistar): Declare.
(debug_nothing_tree_charstar_uhwi): Likewise.
* debug.c (do_nothing_debug_hooks): Adjust.
(debug_false_tree_charstarstar_uhwistar): New do nothing.
(debug_nothing_tree_charstar_uhwi): Likewise.
* dbxout.c (dbx_debug_hooks): Adjust.
(xcoff_debug_hooks): Likewise.
* sdbout.c (sdb_debug_hooks): Likewise.
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
* dwarf2out.c (macinfo_label_base): New global.
(dwarf2out_register_external_die): New function for the
register_external_die hook.
(dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
(dwarf2_debug_hooks): Use them.
(dwarf2_lineno_debug_hooks): Adjust.
(struct die_struct): Add with_offset flag.
(DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
defining section names for the early LTO debug variants.
(reset_indirect_string): New helper.
(add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
(print_dw_val): Add support for offsetted symbol references.
(get_ultimate_context): Split out from is_cxx.
(is_cxx): Use get_ultimate_context.
(is_fortran): Add decl overload.
(compute_comp_unit_symbol): Split out worker from
compute_section_prefix.
(compute_section_prefix): Call compute_comp_unit_symbol and
set comdat_type_p here.
(output_die): Skip DIE symbol output for the LTO added one.
Handle DIE symbol references with offset.
(output_comp_unit): Guard section name mangling properly.
For LTO debug sections emit a symbol at the section beginning
which we use to refer to its DIEs.
(add_abstract_origin_attribute): For DIEs registered via
dwarf2out_register_external_die directly refer to the early
DIE rather than indirectly through the shadow one we created.
Remove obsolete call to dwarf2out_abstract_function for
non-function/block origins.
(gen_array_type_die): When generating early LTO debug do
not emit DW_AT_string_length.
(gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
late when in LTO. As suggested place a gcc_unreachable for
the DECL_ABSTRACT_P case.
(gen_subprogram_die): Avoid another specification DIE
for early built declarations/definitions for the late LTO case.
(gen_variable_die): Add type references for late duplicated VLA dies
when in late LTO.
(gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
we have the abstract instance already.
(process_scope_var): Adjust decl DIE contexts in LTO which
first puts them in limbo.
(gen_decl_die): Do not generate type DIEs late apart from
types for VLAs or for decls we do not yet have a DIE. Do not
call dwarf2out_abstract_function late.
(dwarf2out_early_global_decl): Make sure to create DIEs
for abstract instances of a decl first.
(dwarf2out_late_global_decl): Adjust comment.
(output_macinfo_op): With multiple macro sections use
macinfo_label_base to distinguish labels.
(output_macinfo): Likewise. Update macinfo_label_base.
Pass in the line info label.
(note_variable_value_in_expr): When generating LTO resolve
all variable values here by generating DIEs as needed.
(init_sections_and_labels): Add early LTO debug flag parameter
and generate different sections and names if set. Add generation
counter for the labels so we can have multiple of them.
(reset_dies): Helper to allow DIEs to be output multiple times.
(dwarf2out_finish): When outputting DIEs to the fat part of an
LTO object first reset DIEs.
(dwarf2out_early_finish): Output early DIEs when generating LTO.
(modified_type_die): Check for decl_ultimate_origin being self
before recursing.
(gen_type_die_with_usage): Likewise.
(gen_typedef_die): Allow decl_ultimate_origin being self.
(set_decl_abstract_flags): Remove.
(set_block_abstract_flags): Likewise.
(dwarf2out_abstract_function): Treat the early generated DIEs
as the abstract copy and only add DW_AT_inline and
DW_AT_artificial here and call set_decl_origin_self.
If the DIE has an abstract origin don't do anything.
* tree.c (free_lang_data): Build a dummy TRANSLATION_UNIT_DECL
if we have none yet (Go fails to build one, PR78628).
(variably_modified_type_p): Prevent endless recursion for Ada
cyclic pointer types.
* lto-streamer-in.c: Include debug.h.
(dref_queue): New global.
(lto_read_tree_1): Stream in DIE references.
(lto_input_tree): Register DIE references.
(input_function): Stream DECL_DEBUG_ARGS.
* lto-streamer-out.c: Include debug.h.
(lto_write_tree_1): Output DIE references.
(DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
Force a TRANSLATION_UNIT_DECL DECL_CONTEXT for file-scope decls.
(output_function): Stream DECL_DEBUG_ARGS.
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
Stream DECL_ABSTRACT_ORIGIN.
* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
(write_ts_decl_minimal_tree_pointers): Force a TRANSLATION_UNIT_DECL
DECL_CONTEXT for file-scope decls.
* lto-streamer.h (struct dref_entry): Declare.
(dref_queue): Likewise.
* cfgexpand.c (pass_expand::execute): Do not call the
outlining_inline_function hook here.
* lto-wrapper.c (debug_obj): New global.
(tool_cleanup): Unlink it if required.
(debug_objcopy): New function.
(run_gcc): Handle early debug sections in the IL files by
extracting them to separate files, partially linkin them and
feeding the result back as result to the linker.
* config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
sections into a separate segment.
* config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
segments.
(darwin_asm_dwarf_section): Likewise.
(darwin_asm_output_dwarf_offset): Likewise.
* config/i386/i386.c (make_resolver_func): Set DECL_IGNORED_P.
lto/
* lto.c (unify_scc): Truncate DIE reference queue for dropped SCCs.
(lto_read_decls): Process TRANSLATION_UNIT_DECLs. Remove
TYPE_DECL debug processing, register DIE references from
prevailing SCCs with the debug machinery.
(lto_section_with_id): Handle LTO debug sections.
libstdc++/
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all
tests with -flto as well if supported.
testsuite/
* c-c++-common/asan/global-overflow-1.c: Adjust diagnostic location
regex to handle the LTO case.
* c-c++-common/asan/heap-overflow-1.c: Likewise.
* c-c++-common/asan/misalign-1.c: Likewise.
* c-c++-common/asan/misalign-2.c: Likewise.
* c-c++-common/asan/null-deref-1.c: Likewise.
* c-c++-common/asan/stack-overflow-1.c: Likewise.
* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
* c-c++-common/asan/use-after-free-1.c: Likewise.
* c-c++-common/asan/alloca_big_alignment.c: Likewise.
* c-c++-common/asan/alloca_detect_custom_size.c: Likewise.
* c-c++-common/asan/alloca_overflow_partial.c: Likewise.
* c-c++-common/asan/alloca_overflow_right.c: Likewise.
* c-c++-common/asan/alloca_underflow_left.c: Likewise.
* g++.dg/asan/large-func-test-1.C: Likewise.
* gfortran.dg/save_6.f90: Add -flto -g variant of save_5.f90.
From-SVN: r251220
2017-08-21 12:29:00 +02:00
|
|
|
|
2017-08-21 Richard Biener <rguenther@suse.de>
|
|
|
|
|
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/prettyprinters.exp: Run all
|
|
|
|
|
tests with -flto as well if supported.
|
|
|
|
|
|
2017-08-20 23:31:39 +02:00
|
|
|
|
2017-08-20 Martin Sebor <msebor@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR c/81854
|
|
|
|
|
* src/c++98/compatibility.cc (_GLIBCXX_3_4_SYMVER): Declare alias
|
|
|
|
|
target as a C++ function with no prototype.
|
|
|
|
|
(_GLIBCXX_3_4_5_SYMVER): Ditto.
|
|
|
|
|
|
2017-08-20 20:52:59 +02:00
|
|
|
|
2017-08-20 John David Anglin <danglin@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR testsuite/81056
|
2017-08-20 21:03:36 +02:00
|
|
|
|
* testsuite/17_intro/names.cc: Undef 'd' and 'r' on __hpux__.
|
2017-08-20 20:52:59 +02:00
|
|
|
|
|
2017-08-18 19:46:57 +02:00
|
|
|
|
2017-08-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-08-18 20:20:43 +02:00
|
|
|
|
* include/bits/hashtable_policy.h (_ReuseOrAllocNode): Remove
|
|
|
|
|
__value_alloc_type and __value_alloc_traits typedefs.
|
|
|
|
|
(_ReuseOrAllocNode::operator()): Call construct and destroy on the
|
|
|
|
|
node allocator.
|
|
|
|
|
(_Hashtable_alloc): Simplify __value_alloc_traits typedef.
|
|
|
|
|
(_Hashtable_alloc<_NodeAlloc>::_M_allocate_node(_Args&&...)): Call
|
|
|
|
|
construct on the node allocator.
|
|
|
|
|
(_Hashtable_alloc<_NodeAlloc>::_M_deallocate_node(__node_type*)): Call
|
|
|
|
|
destroy on the node allocator.
|
|
|
|
|
|
2017-08-18 19:46:57 +02:00
|
|
|
|
PR libstdc++/81891
|
|
|
|
|
* include/bits/hashtable.h (_Hashtable(_InputIterator, _InputIterator,
|
|
|
|
|
size_type, const _H1&, const _H2&, const _Hash&, const _Equal&,
|
|
|
|
|
const _ExtractKey&, const allocator_type&)): Let destructor do clean
|
|
|
|
|
up if an exception is thrown.
|
|
|
|
|
* testsuite/23_containers/unordered_map/cons/81891.cc: New.
|
|
|
|
|
|
2017-08-11 02:14:57 +02:00
|
|
|
|
2017-08-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81808
|
|
|
|
|
* testsuite/27_io/basic_fstream/53984.cc: Adjust test for targets
|
|
|
|
|
that allow opening a directory as a FILE and reading from it.
|
|
|
|
|
|
2017-08-09 23:38:05 +02:00
|
|
|
|
2017-08-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/type_traits (_GLIBCXX_NO_BUILTIN_HAS_UNIQ_OBJ_REP):
|
|
|
|
|
Replace with _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP and use
|
|
|
|
|
__is_identifier to set it.
|
|
|
|
|
|
2017-08-09 23:37:52 +02:00
|
|
|
|
2017-08-09 Katsuhiko Nishimra <ktns.87@gmail.com>
|
|
|
|
|
|
|
|
|
|
* include/std/type_traits (_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE): Use
|
|
|
|
|
__is_identifier instead of __has_builtin.
|
|
|
|
|
|
2017-08-09 19:52:10 +02:00
|
|
|
|
2017-08-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79820
|
|
|
|
|
PR libstdc++/81751
|
|
|
|
|
* config/io/basic_file_stdio.cc (sys_open(FILE*, ios_base::openmode)):
|
|
|
|
|
Call fflush on the stream instead of calling sync() while _M_cfile is
|
|
|
|
|
null. Restore original value of errno.
|
|
|
|
|
* testsuite/ext/stdio_filebuf/char/79820.cc: New.
|
|
|
|
|
* testsuite/ext/stdio_filebuf/char/81751.cc: New.
|
|
|
|
|
|
2017-07-31 15:44:16 +02:00
|
|
|
|
2017-07-31 Marek Polacek <polacek@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81599
|
|
|
|
|
* include/bits/stl_stack.h: Fix typo.
|
|
|
|
|
|
2017-07-27 00:06:13 +02:00
|
|
|
|
2017-07-26 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/27_io/basic_fstream/53984.cc: Fix test.
|
|
|
|
|
|
2017-07-26 16:13:15 +02:00
|
|
|
|
2017-07-26 Paolo Carlini <paolo.carlini@oracle.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/27_io/basic_fstream/53984.cc: Fix typo in dg-require
|
|
|
|
|
directive.
|
|
|
|
|
|
2017-07-25 19:47:52 +02:00
|
|
|
|
2017-07-25 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-07-25 22:36:06 +02:00
|
|
|
|
PR libstdc++/53984
|
|
|
|
|
* include/bits/basic_ios.h (basic_ios::_M_setstate): Adjust comment.
|
|
|
|
|
* include/bits/istream.tcc (basic_istream::sentry): Handle exceptions
|
|
|
|
|
during construction.
|
|
|
|
|
* include/std/istream: Adjust comments for formatted input functions
|
|
|
|
|
and unformatted input functions.
|
|
|
|
|
* testsuite/27_io/basic_fstream/53984.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/char/53984.cc: New.
|
|
|
|
|
|
2017-07-25 19:47:52 +02:00
|
|
|
|
* include/bits/ios_base.h (ios_base::io_state, ios_base::open_mode)
|
|
|
|
|
(ios_base::seek_dir): Remove for C++17.
|
|
|
|
|
* include/std/streambuf (basic_streambuf::stossc): Remove for C++17.
|
|
|
|
|
Add deprecated attribute for C++11 and C++14.
|
|
|
|
|
* testsuite/27_io/types/1.cc: Don't run for C++17 and later.
|
|
|
|
|
* testsuite/27_io/types/4.cc: New.
|
|
|
|
|
|
2017-07-24 00:46:34 +02:00
|
|
|
|
2017-07-23 Michael Collison <michael.collison@arm.com>
|
|
|
|
|
|
|
|
|
|
Add optimized implementation of mersenne twister for aarch64
|
|
|
|
|
* config/cpu/aarch64/opt/ext/opt_random.h: New file.
|
|
|
|
|
(__arch64_recursion): New function.
|
|
|
|
|
(__aarch64_lsr_128): New function.
|
|
|
|
|
(__aarch64_lsl_128): New function.
|
|
|
|
|
(operator==): New function.
|
|
|
|
|
(simd_fast_mersenne_twister_engine): Implement
|
|
|
|
|
method _M_gen_rand.
|
|
|
|
|
* config/cpu/aarch64/opt/bits/opt_random.h: New file.
|
|
|
|
|
* include/ext/random: (simd_fast_mersenne_twister_engine):
|
|
|
|
|
add _M_state private array.
|
|
|
|
|
|
2017-07-23 10:41:35 +02:00
|
|
|
|
2017-07-23 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81064
|
|
|
|
|
* include/bits/algorithmfwd.h: Reorganize versioned namespace.
|
|
|
|
|
* include/bits/basic_string.h: Likewise.
|
|
|
|
|
* include/bits/c++config: Likewise.
|
|
|
|
|
* include/bits/deque.tcc: Likewise.
|
|
|
|
|
* include/bits/forward_list.h: Likewise.
|
|
|
|
|
* include/bits/forward_list.tcc: Likewise.
|
|
|
|
|
* include/bits/hashtable_policy.h: Likewise.
|
|
|
|
|
* include/bits/list.tcc: Likewise.
|
|
|
|
|
* include/bits/move.h: Likewise.
|
|
|
|
|
* include/bits/quoted_string.h: Likewise.
|
|
|
|
|
* include/bits/random.h: Likewise.
|
|
|
|
|
* include/bits/random.tcc: Likewise.
|
|
|
|
|
* include/bits/regex.h: Likewise.
|
|
|
|
|
* include/bits/regex.tcc: Likewise.
|
|
|
|
|
* include/bits/regex_automaton.h: Likewise.
|
|
|
|
|
* include/bits/regex_automaton.tcc: Likewise.
|
|
|
|
|
* include/bits/regex_compiler.h: Likewise.
|
|
|
|
|
* include/bits/regex_compiler.tcc: Likewise.
|
|
|
|
|
* include/bits/regex_constants.h: Likewise.
|
|
|
|
|
* include/bits/regex_error.h: Likewise.
|
|
|
|
|
* include/bits/regex_executor.h: Likewise.
|
|
|
|
|
* include/bits/regex_executor.tcc: Likewise.
|
|
|
|
|
* include/bits/regex_scanner.h: Likewise.
|
|
|
|
|
* include/bits/regex_scanner.tcc: Likewise.
|
|
|
|
|
* include/bits/specfun.h: Likewise.
|
|
|
|
|
* include/bits/stl_algo.h: Likewise.
|
|
|
|
|
* include/bits/stl_algobase.h: Likewise.
|
|
|
|
|
* include/bits/stl_bvector.h: Likewise.
|
|
|
|
|
* include/bits/stl_deque.h: Likewise.
|
|
|
|
|
* include/bits/stl_iterator.h: Likewise.
|
|
|
|
|
* include/bits/stl_iterator_base_funcs.h: Likewise.
|
|
|
|
|
* include/bits/stl_list.h: Likewise.
|
|
|
|
|
* include/bits/stl_map.h: Likewise.
|
|
|
|
|
* include/bits/stl_multimap.h: Likewise.
|
|
|
|
|
* include/bits/stl_multiset.h: Likewise.
|
|
|
|
|
* include/bits/stl_relops.h: Likewise.
|
|
|
|
|
* include/bits/stl_set.h: Likewise.
|
|
|
|
|
* include/bits/stl_vector.h: Likewise.
|
|
|
|
|
* include/bits/uniform_int_dist.h: Likewise.
|
|
|
|
|
* include/bits/unordered_map.h: Likewise.
|
|
|
|
|
* include/bits/unordered_set.h: Likewise.
|
|
|
|
|
* include/bits/vector.tcc: Likewise.
|
|
|
|
|
* include/c_global/cmath: Likewise.
|
|
|
|
|
* include/c_std/cmath: Likewise.
|
|
|
|
|
* include/decimal/decimal: Likewise.
|
|
|
|
|
* include/decimal/decimal.h: Likewise.
|
|
|
|
|
* include/experimental/algorithm: Likewise.
|
|
|
|
|
* include/experimental/any: Likewise.
|
|
|
|
|
* include/experimental/array: Likewise.
|
|
|
|
|
* include/experimental/bits/erase_if.h: Likewise.
|
|
|
|
|
* include/experimental/bits/fs_dir.h: Likewise.
|
|
|
|
|
* include/experimental/bits/fs_fwd.h: Likewise.
|
|
|
|
|
* include/experimental/bits/fs_ops.h: Likewise.
|
|
|
|
|
* include/experimental/bits/fs_path.h: Likewise.
|
|
|
|
|
* include/experimental/bits/lfts_config.h: Likewise.
|
|
|
|
|
* include/experimental/bits/shared_ptr.h: Likewise.
|
|
|
|
|
* include/experimental/bits/string_view.tcc: Likewise.
|
|
|
|
|
* include/experimental/chrono: Likewise.
|
|
|
|
|
* include/experimental/deque: Likewise.
|
|
|
|
|
* include/experimental/filesystem: Likewise.
|
|
|
|
|
* include/experimental/forward_list: Likewise.
|
|
|
|
|
* include/experimental/functional: Likewise.
|
|
|
|
|
* include/experimental/iterator: Likewise.
|
|
|
|
|
* include/experimental/list: Likewise.
|
|
|
|
|
* include/experimental/map: Likewise.
|
|
|
|
|
* include/experimental/memory: Likewise.
|
|
|
|
|
* include/experimental/memory_resource: Likewise.
|
|
|
|
|
* include/experimental/numeric: Likewise.
|
|
|
|
|
* include/experimental/optional: Likewise.
|
|
|
|
|
* include/experimental/propagate_const: Likewise.
|
|
|
|
|
* include/experimental/random: Likewise.
|
|
|
|
|
* include/experimental/ratio: Likewise.
|
|
|
|
|
* include/experimental/regex: Likewise.
|
|
|
|
|
* include/experimental/set: Likewise.
|
|
|
|
|
* include/experimental/source_location: Likewise.
|
|
|
|
|
* include/experimental/string: Likewise.
|
|
|
|
|
* include/experimental/string_view: Likewise.
|
|
|
|
|
* include/experimental/system_error: Likewise.
|
|
|
|
|
* include/experimental/tuple: Likewise.
|
|
|
|
|
* include/experimental/type_traits: Likewise.
|
|
|
|
|
* include/experimental/unordered_map: Likewise.
|
|
|
|
|
* include/experimental/unordered_set: Likewise.
|
|
|
|
|
* include/experimental/utility: Likewise.
|
|
|
|
|
* include/experimental/vector: Likewise.
|
|
|
|
|
* include/ext/bitmap_allocator.h: Likewise.
|
|
|
|
|
* include/ext/codecvt_specializations.h: Likewise.
|
|
|
|
|
* include/ext/rope: Likewise.
|
|
|
|
|
* include/ext/typelist.h: Likewise.
|
|
|
|
|
* include/std/chrono: Likewise.
|
|
|
|
|
* include/std/complex: Likewise.
|
|
|
|
|
* include/std/functional: Likewise.
|
|
|
|
|
* include/std/numeric: Likewise.
|
|
|
|
|
* include/std/string_view: Likewise.
|
|
|
|
|
* include/std/thread: Likewise.
|
|
|
|
|
* include/std/variant: Likewise.
|
|
|
|
|
* include/tr1/array: Likewise.
|
|
|
|
|
* include/tr1/bessel_function.tcc: Likewise.
|
|
|
|
|
* include/tr1/beta_function.tcc: Likewise.
|
|
|
|
|
* include/tr1/cmath: Likewise.
|
|
|
|
|
* include/tr1/complex: Likewise.
|
|
|
|
|
* include/tr1/ell_integral.tcc: Likewise.
|
|
|
|
|
* include/tr1/exp_integral.tcc: Likewise.
|
|
|
|
|
* include/tr1/functional: Likewise.
|
|
|
|
|
* include/tr1/functional_hash.h: Likewise.
|
|
|
|
|
* include/tr1/gamma.tcc: Likewise.
|
|
|
|
|
* include/tr1/hashtable.h: Likewise.
|
|
|
|
|
* include/tr1/hashtable_policy.h: Likewise.
|
|
|
|
|
* include/tr1/hypergeometric.tcc: Likewise.
|
|
|
|
|
* include/tr1/legendre_function.tcc: Likewise.
|
|
|
|
|
* include/tr1/modified_bessel_func.tcc: Likewise.
|
|
|
|
|
* include/tr1/poly_hermite.tcc: Likewise.
|
|
|
|
|
* include/tr1/poly_laguerre.tcc: Likewise.
|
|
|
|
|
* include/tr1/random.h: Likewise.
|
|
|
|
|
* include/tr1/random.tcc: Likewise.
|
|
|
|
|
* include/tr1/regex: Likewise.
|
|
|
|
|
* include/tr1/riemann_zeta.tcc: Likewise.
|
|
|
|
|
* include/tr1/shared_ptr.h: Likewise.
|
|
|
|
|
* include/tr1/special_function_util.h: Likewise.
|
|
|
|
|
* include/tr1/tuple: Likewise.
|
|
|
|
|
* include/tr1/type_traits: Likewise.
|
|
|
|
|
* include/tr1/unordered_map.h: Likewise.
|
|
|
|
|
* include/tr1/unordered_set.h: Likewise.
|
|
|
|
|
* include/tr1/utility: Likewise.
|
|
|
|
|
* include/tr2/bool_set: Likewise.
|
|
|
|
|
* include/tr2/bool_set.tcc: Likewise.
|
|
|
|
|
* include/tr2/dynamic_bitset: Likewise.
|
|
|
|
|
* include/tr2/dynamic_bitset.tcc: Likewise.
|
|
|
|
|
* include/tr2/ratio: Likewise.
|
|
|
|
|
* include/tr2/type_traits: Likewise.
|
|
|
|
|
* src/c++11/chrono.cc: Likewise.
|
|
|
|
|
* src/c++11/compatibility-c++0x.cc: Likewise.
|
|
|
|
|
* src/c++11/compatibility-chrono.cc: Likewise.
|
|
|
|
|
* src/c++11/cxx11-shim_facets.cc: Likewise.
|
|
|
|
|
* src/c++11/hashtable_c++0x.cc: Likewise.
|
|
|
|
|
* src/c++11/placeholders.cc: Likewise.
|
|
|
|
|
* src/c++11/thread.cc: Likewise.
|
|
|
|
|
* src/c++98/bitmap_allocator.cc: Likewise.
|
|
|
|
|
* src/c++98/hashtable_tr1.cc: Likewise.
|
|
|
|
|
* src/c++98/list.cc: Likewise.
|
|
|
|
|
* src/shared/hashtable-aux.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/literals/range.cc: Adapt line number.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/forward/c_neg.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/forward/f_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/gcd/gcd_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/pr60037-neg.cc: Likewise.
|
|
|
|
|
* python/libstdcxx/v6/printers.py: Adapt.
|
|
|
|
|
|
Add AddressSanitizer annotations to std::vector
* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__]
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
* config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__]
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
* doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro.
* include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR]
(_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit)
(_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT)
(_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW)
(_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC):
Define annotation helper types and macros.
(vector::~vector, vector::push_back, vector::pop_back)
(vector::_M_erase_at_end): Add annotations.
* include/bits/vector.tcc (vector::reserve, vector::emplace_back)
(vector::insert, vector::_M_erase, vector::operator=)
(vector::_M_fill_assign, vector::_M_assign_aux)
(vector::_M_insert_rval, vector::_M_emplace_aux)
(vector::_M_insert_aux, vector::_M_realloc_insert)
(vector::_M_fill_insert, vector::_M_default_append)
(vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate.
From-SVN: r250430
2017-07-21 18:05:10 +02:00
|
|
|
|
2017-07-20 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* config/allocator/malloc_allocator_base.h [__SANITIZE_ADDRESS__]
|
|
|
|
|
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
|
|
|
|
|
* config/allocator/new_allocator_base.h [__SANITIZE_ADDRESS__]
|
|
|
|
|
(_GLIBCXX_SANITIZE_STD_ALLOCATOR): Define.
|
|
|
|
|
* doc/xml/manual/using.xml (_GLIBCXX_SANITIZE_VECTOR): Document macro.
|
|
|
|
|
* include/bits/stl_vector.h [_GLIBCXX_SANITIZE_VECTOR]
|
|
|
|
|
(_Vector_impl::_Asan, _Vector_impl::_Asan::_Reinit)
|
|
|
|
|
(_Vector_impl::_Asan::_Grow, _GLIBCXX_ASAN_ANNOTATE_REINIT)
|
|
|
|
|
(_GLIBCXX_ASAN_ANNOTATE_GROW, _GLIBCXX_ASAN_ANNOTATE_GREW)
|
|
|
|
|
(_GLIBCXX_ASAN_ANNOTATE_SHRINK, _GLIBCXX_ASAN_ANNOTATE_BEFORE_DEALLOC):
|
|
|
|
|
Define annotation helper types and macros.
|
|
|
|
|
(vector::~vector, vector::push_back, vector::pop_back)
|
|
|
|
|
(vector::_M_erase_at_end): Add annotations.
|
|
|
|
|
* include/bits/vector.tcc (vector::reserve, vector::emplace_back)
|
|
|
|
|
(vector::insert, vector::_M_erase, vector::operator=)
|
|
|
|
|
(vector::_M_fill_assign, vector::_M_assign_aux)
|
|
|
|
|
(vector::_M_insert_rval, vector::_M_emplace_aux)
|
|
|
|
|
(vector::_M_insert_aux, vector::_M_realloc_insert)
|
|
|
|
|
(vector::_M_fill_insert, vector::_M_default_append)
|
|
|
|
|
(vector::_M_shrink_to_fit, vector::_M_range_insert): Annotate.
|
|
|
|
|
|
2017-07-19 21:32:15 +02:00
|
|
|
|
2017-07-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81476
|
|
|
|
|
* include/bits/vector.tcc (vector::_M_range_insert<_InputIterator>):
|
|
|
|
|
Only insert elements one-by-one when inserting at the end.
|
|
|
|
|
* testsuite/performance/23_containers/insert/81476.cc: New.
|
|
|
|
|
|
2017-07-19 18:59:00 +02:00
|
|
|
|
2017-07-19 Volker Reichelt <v.reichelt@netcologne.de>
|
|
|
|
|
|
|
|
|
|
* libsupc++/new (bad_array_new_length): Remove redundant
|
|
|
|
|
semicolon after in-class member function definition.
|
|
|
|
|
* include/bits/locale_facets.h (ctype_byname, num_put): Likewise.
|
|
|
|
|
* include/bits/locale_facets_nonio.h (time_put_byname): Likewise.
|
|
|
|
|
* include/bits/random.h (mersenne_twister_engine): Likewise.
|
|
|
|
|
* include/tr1/random.h (mersenne_twister): Likewise
|
|
|
|
|
* include/ext/random (simd_fast_mersenne_twister_engine): Likewise.
|
|
|
|
|
* include/ext/rope (char_producer, _Rope_char_consumer,
|
|
|
|
|
_Rope_self_destruct_ptr, _Rope_const_iterator, _Rope_iterator):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/ext/ropeimpl.h (_Rope_flatten_char_consumer,
|
|
|
|
|
_Rope_insert_char_consumer): Likewise.
|
|
|
|
|
|
2017-07-19 02:23:00 +02:00
|
|
|
|
2017-07-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-07-19 17:46:04 +02:00
|
|
|
|
* include/bits/fstream.tcc (basic_filebuf::xsgetn)
|
|
|
|
|
(basic_filebuf::xsputn, basic_filebuf::seekoff): Fix indentation.
|
|
|
|
|
|
2017-07-19 16:49:00 +02:00
|
|
|
|
* testsuite/util/testsuite_iterators.h: Fix indentation.
|
|
|
|
|
|
2017-07-19 02:23:00 +02:00
|
|
|
|
* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: Add dg-require.
|
|
|
|
|
|
2017-07-19 01:39:34 +02:00
|
|
|
|
2017-07-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81395
|
|
|
|
|
* include/bits/fstream.tcc (basic_filebuf::xsgetn): Don't set buffer
|
|
|
|
|
pointers for write mode after reading.
|
|
|
|
|
* testsuite/27_io/basic_filebuf/sgetn/char/81395.cc: New.
|
|
|
|
|
|
2017-07-18 22:26:08 +02:00
|
|
|
|
2017-07-18 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_list.h
|
|
|
|
|
(struct _List_node_header): New.
|
|
|
|
|
(_List_impl()): Fix noexcept qualification.
|
|
|
|
|
(_List_impl(_List_impl&&)): New, default.
|
|
|
|
|
(_List_base()): Default.
|
|
|
|
|
(_List_base(_List_base&&)): Default.
|
|
|
|
|
(_List_base::_M_move_nodes): Adapt to use
|
|
|
|
|
_List_node_header._M_move_nodes.
|
|
|
|
|
(_List_base::_M_init): Likewise.
|
|
|
|
|
(list<>()): Default.
|
|
|
|
|
(list<>(list&&)): Default.
|
|
|
|
|
(list<>::_M_move_assign(list&&, true_type)): Use _M_move_nodes.
|
|
|
|
|
(__distance(_List_const_iterator<>, _List_const_iterator<>,
|
|
|
|
|
input_iterator_tag)): Adapt.
|
|
|
|
|
* testsuite/23_containers/list/allocator/default_init.cc: New.
|
|
|
|
|
|
2017-07-15 17:43:22 +02:00
|
|
|
|
2017-07-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/mutex (scoped_lock): Reorder std::adopt_lock_t parameter
|
|
|
|
|
as per P0739R0.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/1.cc: Reorder arguments.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/deduction.cc: Test deduction
|
|
|
|
|
with std::adopt_lock_t.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Check
|
|
|
|
|
feature-test macro.
|
|
|
|
|
|
2017-07-14 21:13:49 +02:00
|
|
|
|
2017-07-14 Jason Merrill <jason@redhat.com>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/variant (variant::variant(_Tp&&)): Constrain to remove
|
|
|
|
|
the constructor for empty variants from the candidate functions
|
|
|
|
|
during class template argument deduction.
|
|
|
|
|
* testsuite/20_util/variant/deduction.cc: New.
|
|
|
|
|
|
2017-07-11 13:11:33 +02:00
|
|
|
|
2017-07-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/faq.xml: Update several old entries. Improve
|
|
|
|
|
cross-references.
|
|
|
|
|
* doc/xml/manual/intro.xml: Add anchors to each DR.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-07-10 19:58:56 +02:00
|
|
|
|
2017-07-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-07-10 20:43:02 +02:00
|
|
|
|
* testsuite/abi/pr42230.cc: Add header for std::free.
|
|
|
|
|
|
2017-07-10 19:59:02 +02:00
|
|
|
|
PR libstdc++/81381
|
|
|
|
|
* include/bits/sstream.tcc (basic_stringbuf::overflow)
|
|
|
|
|
(basic_stringbuf::basic_stringbuf(const __string_type&, ios::mode))
|
|
|
|
|
(basic_stringbuf::str()): Construct new strings with an allocator.
|
|
|
|
|
* testsuite/27_io/basic_stringbuf/cons/81381.cc: New.
|
|
|
|
|
|
2017-07-10 19:58:56 +02:00
|
|
|
|
PR libstdc++/81338
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
|
|
|
|
|
Declare basic_stringbuf to be a friend.
|
|
|
|
|
* include/bits/sstream.tcc (basic_stringbuf::overflow)
|
|
|
|
|
[_GLIBCXX_USE_CXX11_ABI]: Use unused capacity before reallocating.
|
|
|
|
|
* include/std/sstream (basic_stringbuf::__xfer_bufptrs): Update string
|
|
|
|
|
length to buffer length.
|
|
|
|
|
* testsuite/27_io/basic_stringstream/assign/81338.cc: New.
|
|
|
|
|
|
2017-07-06 13:54:10 +02:00
|
|
|
|
2017-07-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-07-06 14:42:51 +02:00
|
|
|
|
* testsuite/20_util/specialized_algorithms/memory_management_tools/
|
|
|
|
|
1.cc: Free memory.
|
|
|
|
|
* testsuite/22_locale/locale/cons/5.cc: Remove redundant restoration
|
|
|
|
|
of original environment and free memory.
|
|
|
|
|
|
2017-07-06 14:42:46 +02:00
|
|
|
|
* testsuite/abi/pr42230.cc: Free memory.
|
|
|
|
|
* testsuite/util/testsuite_abi.cc (demangle): Return std::string
|
|
|
|
|
instead of pointer that might need freeing.
|
|
|
|
|
* testsuite/util/testsuite_abi.h (demangle): Likewise.
|
|
|
|
|
* testsuite/util/testsuite_hooks.cc (verify_demangle): Free memory.
|
|
|
|
|
|
2017-07-06 13:54:10 +02:00
|
|
|
|
* include/bits/uses_allocator.h (__use_alloc(const _Alloc&&)): Add
|
|
|
|
|
deleted overload to prevent dangling references to rvalues.
|
|
|
|
|
* include/experimental/memory_resource
|
|
|
|
|
(polymorphic_allocator::construct): Do not call __use_alloc with
|
|
|
|
|
rvalue arguments.
|
|
|
|
|
|
2017-06-27 20:19:03 +02:00
|
|
|
|
2017-06-27 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80187
|
|
|
|
|
* include/std/variant (variant::variant, variant::~variant,
|
|
|
|
|
variant::operator=): Implement triviality forwarding for four
|
|
|
|
|
special member functions.
|
|
|
|
|
* testsuite/20_util/variant/compile.cc: Tests.
|
|
|
|
|
|
2017-06-27 16:44:50 +02:00
|
|
|
|
2017-06-27 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-27 18:19:16 +02:00
|
|
|
|
PR libstdc++/81221
|
|
|
|
|
* testsuite/25_algorithms/sample/81221.cc: Disable except for
|
|
|
|
|
check-parallel.
|
|
|
|
|
|
2017-06-27 16:44:50 +02:00
|
|
|
|
PR libstdc++/81221
|
|
|
|
|
* include/bits/stl_algo.h (sample): Qualify with _GLIBCXX_STD_A not
|
|
|
|
|
std.
|
|
|
|
|
* testsuite/25_algorithms/sample/81221.cc: New.
|
|
|
|
|
|
2017-06-22 16:16:38 +02:00
|
|
|
|
2017-06-22 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81173
|
|
|
|
|
* include/bits/stl_bvector.h (vector<bool>::_M_initialize_value):
|
|
|
|
|
Do not pass null pointer to memset.
|
|
|
|
|
|
2017-06-21 21:53:26 +02:00
|
|
|
|
2017-06-21 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80675
|
|
|
|
|
PR libstdc++/80940
|
|
|
|
|
* include/std/istream:
|
|
|
|
|
(__is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*)): New.
|
|
|
|
|
(__do_is_convertible_to_basic_istream_impl): Likewise.
|
|
|
|
|
(__is_convertible_to_basic_istream_impl): Likewise.
|
|
|
|
|
(__is_convertible_to_basic_istream): Use the new base.
|
|
|
|
|
(__rvalue_istream_type): New.
|
|
|
|
|
(operator>>(_Istream&&, _Tp&&)): Use the new helper alias
|
|
|
|
|
for the SFINAE check, convert to the helper alias type before
|
|
|
|
|
doing the actual extraction.
|
|
|
|
|
* include/std/ostream:
|
|
|
|
|
(__is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*)): New.
|
|
|
|
|
(__do_is_convertible_to_basic_ostream_impl): Likewise.
|
|
|
|
|
(__is_convertible_to_basic_ostream_impl): Likewise.
|
|
|
|
|
(__is_convertible_to_basic_ostream): Use the new base.
|
|
|
|
|
(__rvalue_ostream_type): New.
|
|
|
|
|
(operator<<(_Ostream&&, const _Tp&)): Use the new helper alias
|
|
|
|
|
for the SFINAE check, convert to the helper alias type before
|
|
|
|
|
doing the actual insertion.
|
|
|
|
|
* testsuite/27_io/rvalue_streams-2.cc: Add new tests.
|
|
|
|
|
|
2017-06-21 16:38:56 +02:00
|
|
|
|
2017-06-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
|
2017-06-21 10:55:26 +02:00
|
|
|
|
2017-06-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-06-20 17:50:57 +02:00
|
|
|
|
2017-06-20 Uros Bizjak <ubizjak@gmail.com>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
|
2017-06-20 15:01:32 +02:00
|
|
|
|
2017-06-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* testsuite/20_util/variant/index_type.cc: Allow for all ilp32 and
|
|
|
|
|
lp64 targets.
|
|
|
|
|
|
2017-06-19 12:06:41 +02:00
|
|
|
|
2017-06-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: Regenerate.
|
|
|
|
|
* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/i386-solaris2.11/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
|
|
|
|
|
Likewise.
|
|
|
|
|
* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-06-18 18:43:53 +02:00
|
|
|
|
2017-06-18 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
|
|
|
|
|
|
2017-06-18 16:36:02 +02:00
|
|
|
|
2017-06-18 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
|
2017-06-17 17:32:28 +02:00
|
|
|
|
2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if
|
|
|
|
|
default args.
|
|
|
|
|
|
2017-06-17 14:11:47 +02:00
|
|
|
|
2017-06-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80893
|
|
|
|
|
* testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }.
|
|
|
|
|
|
2017-06-16 17:20:14 +02:00
|
|
|
|
2017-06-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/shared_ptr.h (get_deleter): Add overload matching
|
|
|
|
|
standard signature.
|
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_ptr): Declare new
|
|
|
|
|
get_deleter overload as a friend.
|
|
|
|
|
* testsuite/20_util/shared_ptr/misc/get_deleter.cc: New.
|
|
|
|
|
|
2017-06-16 16:29:55 +02:00
|
|
|
|
2017-06-16 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
|
|
|
|
|
|
2017-06-16 10:13:37 +02:00
|
|
|
|
2017-06-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-16 15:23:42 +02:00
|
|
|
|
* include/bits/locale_conv.h (wbuffer_convert::sync): Fix condition.
|
|
|
|
|
* testsuite/22_locale/conversions/buffer/2.cc: New.
|
|
|
|
|
|
2017-06-16 13:54:59 +02:00
|
|
|
|
PR libstdc++/81092
|
|
|
|
|
* acinclude.m4: Bump libtool_VERSION.
|
|
|
|
|
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/pre/gnu.ver: Add wstring constructor symbols to
|
|
|
|
|
GLIBCXX_3.4.24 version and move random_device::_M_get_entropy() symbol
|
|
|
|
|
to new GLIBCXX_3.4.25 version.
|
|
|
|
|
* doc/xml/manual/abi.xml: Document new versions.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/8.cc: Use base object
|
|
|
|
|
constructors to ensure required symbols are exported.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/8.cc: Likewise.
|
|
|
|
|
* testsuite/util/testsuite_abi.cc: Add new version.
|
|
|
|
|
|
2017-06-16 10:13:37 +02:00
|
|
|
|
* include/bits/locale_conv.h (wbuffer_convert::_M_put): Add missing
|
|
|
|
|
return statement.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
|
|
|
|
|
Return void.
|
|
|
|
|
* testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Add
|
|
|
|
|
missing return statements.
|
|
|
|
|
* testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
|
|
|
|
|
Return void.
|
|
|
|
|
* testsuite/special_functions/14_expint/pr68397.cc: Likewise.
|
|
|
|
|
|
stl_bvector.h (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): Change signature.
2017-06-16 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_bvector.h
(__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)):
Change signature.
(std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt.
(_Bvector_impl_data): New.
(_Bvector_impl): Inherits from latter.
(_Bvector_impl(_Bit_alloc_type&&)): Delete.
(_Bvector_impl(_Bvector_impl&&)): New, default.
(_Bvector_base()): Default.
(_Bvector_base(_Bvector_base&&)): Default.
(_Bvector_base::_M_move_data(_Bvector_base&&)): New.
(vector(vector&&, const allocator_type&)): Use latter.
(vector<bool>::operator=(vector&&)): Likewise.
(vector<bool>::vector()): Default.
(vector<bool>::vector(vector&&)): Default.
(vector<bool>::assign(_InputIterator, _InputIterator)): Use
_M_assign_aux.
(vector<bool>::assign(initializer_list<bool>)): Likewise.
(vector<bool>::_M_initialize_value(bool)): New.
(vector<bool>(size_type, const bool&, const allocator_type&)): Use
latter.
(vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)):
Likewise.
(vector<bool>::_M_fill_assign(size_t, bool)): Likewise.
From-SVN: r249235
2017-06-16 07:28:06 +02:00
|
|
|
|
2017-06-16 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_bvector.h
|
|
|
|
|
(__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)):
|
|
|
|
|
Change signature.
|
|
|
|
|
(std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt.
|
|
|
|
|
(_Bvector_impl_data): New.
|
|
|
|
|
(_Bvector_impl): Inherits from latter.
|
|
|
|
|
(_Bvector_impl(_Bit_alloc_type&&)): Delete.
|
|
|
|
|
(_Bvector_impl(_Bvector_impl&&)): New, default.
|
|
|
|
|
(_Bvector_base()): Default.
|
|
|
|
|
(_Bvector_base(_Bvector_base&&)): Default.
|
|
|
|
|
(_Bvector_base::_M_move_data(_Bvector_base&&)): New.
|
|
|
|
|
(vector(vector&&, const allocator_type&)): Use latter.
|
|
|
|
|
(vector<bool>::operator=(vector&&)): Likewise.
|
|
|
|
|
(vector<bool>::vector()): Default.
|
|
|
|
|
(vector<bool>::vector(vector&&)): Default.
|
|
|
|
|
(vector<bool>::assign(_InputIterator, _InputIterator)): Use
|
|
|
|
|
_M_assign_aux.
|
|
|
|
|
(vector<bool>::assign(initializer_list<bool>)): Likewise.
|
|
|
|
|
(vector<bool>::_M_initialize_value(bool)): New.
|
|
|
|
|
(vector<bool>(size_type, const bool&, const allocator_type&)): Use
|
|
|
|
|
latter.
|
|
|
|
|
(vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(vector<bool>::_M_fill_assign(size_t, bool)): Likewise.
|
|
|
|
|
|
2017-06-15 22:32:09 +02:00
|
|
|
|
2017-06-15 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* src/c++98/tree.cc [!_GLIBCXX_INLINE_VERSION]
|
|
|
|
|
(_Rb_tree_rotate_left, _Rb_tree_rotate_right): Delete.
|
|
|
|
|
|
2017-06-15 14:18:05 +02:00
|
|
|
|
2017-06-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
* testsuite: Add dg-require-effective-target pthread to -pthread
|
|
|
|
|
tests.
|
|
|
|
|
Remove explicit target lists from dg-do and dg-options.
|
|
|
|
|
|
|
|
|
|
* testsuite/30_threads/async/forced_unwind.cc: Remove explit
|
|
|
|
|
target list from dg-options.
|
|
|
|
|
* testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise.
|
|
|
|
|
|
|
|
|
|
* 30_threads/shared_mutex/cons/1.cc: Likewise.
|
|
|
|
|
Pass -pthread for all targets.
|
|
|
|
|
* 30_threads/shared_mutex/try_lock/1.cc: Likewise.
|
|
|
|
|
* 30_threads/shared_mutex/try_lock/2.cc: Likewise.
|
|
|
|
|
* 30_threads/shared_mutex/unlock/1.cc: Likewise.
|
|
|
|
|
|
|
|
|
|
* testsuite/30_threads/this_thread/57060.cc: Require c++11 via
|
|
|
|
|
dg-require-effective-target.
|
|
|
|
|
|
2017-06-14 21:38:30 +02:00
|
|
|
|
2017-06-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/test.xml: Correct instructions on running tests.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/deduction.cc: Adjust to
|
|
|
|
|
pass when -D_GLIBCXX_USE_CXX11_ABI=0 added to RUNTESTFLAGS.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
|
|
|
|
|
|
Finish implementing P0426R1 "Constexpr for std::char_traits" for C++17
As discussed in PR c++/80265 ("__builtin_{memcmp,memchr,strlen} are
not usable in constexpr functions"), use __builtin_constant_p to tell
whether we can defer to a constexpr algorithm.
I used __always_inline__ just to be thorough. It isn't really really
necessary as far as I could determine.
Changes like these:
if (__n == 0)
return 0;
- return wmemcmp(__s1, __s2, __n);
+ else
+ return wmemcmp(__s1, __s2, __n);
are necessary otherwise G++ complains that we're calling a
non-constexpr function, which looks like a a manifestation of PR67026
to me.
libstdc++-v3:
2017-06-12 Pedro Alves <palves@redhat.com>
* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
char_traits status.
* doc/html/*: Regenerate.
* include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if
not already defined.
(__cpp_lib_constexpr_char_traits): Uncomment.
(__constant_string_p, __constant_char_array_p): New.
(std::char_traits<char>, std::char_traits<wchar_t>): Add
_GLIBCXX17_CONSTEXPR on compare, length and find and use
__constant_string_p, __constant_char_array_p and
__builtin_constant_p to defer to __gnu_cxx::char_traits at compile
time.
* testsuite/21_strings/char_traits/requirements/
constexpr_functions_c++17.cc: Uncomment
__cpp_lib_constexpr_char_traits tests. Uncomment
test_compare<char>, test_length<char>, test_find<char>,
test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t>
static_assert tests.
From-SVN: r249137
2017-06-13 00:22:39 +02:00
|
|
|
|
2017-06-12 Pedro Alves <palves@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Update C++17 constexpr
|
|
|
|
|
char_traits status.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
|
|
|
|
* include/bits/char_traits.h (_GLIBCXX_ALWAYS_INLINE): Define if
|
|
|
|
|
not already defined.
|
|
|
|
|
(__cpp_lib_constexpr_char_traits): Uncomment.
|
|
|
|
|
(__constant_string_p, __constant_char_array_p): New.
|
|
|
|
|
(std::char_traits<char>, std::char_traits<wchar_t>): Add
|
|
|
|
|
_GLIBCXX17_CONSTEXPR on compare, length and find and use
|
|
|
|
|
__constant_string_p, __constant_char_array_p and
|
|
|
|
|
__builtin_constant_p to defer to __gnu_cxx::char_traits at compile
|
|
|
|
|
time.
|
|
|
|
|
|
|
|
|
|
* testsuite/21_strings/char_traits/requirements/
|
|
|
|
|
constexpr_functions_c++17.cc: Uncomment
|
|
|
|
|
__cpp_lib_constexpr_char_traits tests. Uncomment
|
|
|
|
|
test_compare<char>, test_length<char>, test_find<char>,
|
|
|
|
|
test_compare<wchar_t>, test_length<wchar_t> and test_find<wchar_t>
|
|
|
|
|
static_assert tests.
|
|
|
|
|
|
2017-06-12 22:38:16 +02:00
|
|
|
|
2017-06-12 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_tree.h (_Rb_tree_impl()): Restore _Node_allocator
|
|
|
|
|
default init.
|
|
|
|
|
* testsuite/util/testsuite_allocator.h
|
|
|
|
|
(__gnu_test::default_init_allocator<>) New.
|
|
|
|
|
* testsuite/23_containers/set/allocator/default_init.cc: New.
|
|
|
|
|
* testsuite/23_containers/map/allocator/default_init.cc: New.
|
|
|
|
|
|
2017-06-12 18:37:28 +02:00
|
|
|
|
2017-06-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/55917
|
|
|
|
|
* src/c++11/thread.cc (execute_native_thread_routine): Remove
|
|
|
|
|
try-block so that exceptions propagate out of the thread and terminate
|
|
|
|
|
is called by the exception-handling runtime.
|
|
|
|
|
(execute_native_thread_routine_compat): Likewise.
|
|
|
|
|
* testsuite/30_threads/thread/cons/terminate.cc: New.
|
|
|
|
|
|
2017-06-09 13:04:53 +02:00
|
|
|
|
2017-06-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-09 15:20:37 +02:00
|
|
|
|
* doc/xml/manual/intro.xml: Document LWG 2802, 2873 and 2942 changes.
|
|
|
|
|
* include/bits/shared_ptr.h (shared_ptr): Use rvalues for deleters
|
|
|
|
|
(LWG 2802).
|
|
|
|
|
* include/bits/shared_ptr_base.h (_Sp_ebo_helper, _Sp_counted_deleter
|
|
|
|
|
(_Sp_counted_deleter::_Impl, __shared_count, __shared_ptr): Likewise.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/lwg2802.cc: New.
|
|
|
|
|
|
2017-06-09 13:04:53 +02:00
|
|
|
|
* include/bits/forward_list.h (forward_list): Add deduction guide.
|
|
|
|
|
* include/bits/stl_deque.h (deque): Likewise.
|
|
|
|
|
* include/bits/stl_list.h (list): Likewise.
|
|
|
|
|
* include/bits/stl_vector.h (vector): Likewise.
|
|
|
|
|
* testsuite/23_containers/deque/cons/deduction.cc: New.
|
|
|
|
|
* testsuite/23_containers/forward_list/cons/deduction.cc: New.
|
|
|
|
|
* testsuite/23_containers/list/cons/deduction.cc: New.
|
|
|
|
|
* testsuite/23_containers/vector/cons/deduction.cc: New.
|
|
|
|
|
|
2017-06-08 16:27:45 +02:00
|
|
|
|
2017-06-08 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/81017
|
|
|
|
|
* include/bits/std_function.h (function::function(function&&))
|
|
|
|
|
(function::operator=(funtion&&)): Add noexcept.
|
|
|
|
|
* testsuite/20_util/function/assign/move.cc: Check for noexcept.
|
|
|
|
|
* testsuite/20_util/function/cons/move.cc: Likewise.
|
|
|
|
|
|
2017-06-07 14:35:08 +02:00
|
|
|
|
2017-06-07 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-07 17:43:54 +02:00
|
|
|
|
* include/bits/regex.h (basic_regex): Add deduction guide from P0433.
|
|
|
|
|
* testsuite/28_regex/basic_regex/ctors/deduction.cc: New.
|
|
|
|
|
|
2017-06-07 17:43:35 +02:00
|
|
|
|
PR libstdc++/81002
|
|
|
|
|
* include/bits/regex.h (basic_regex): Adjust call to __compile_nfa
|
|
|
|
|
so iterator type is deduced.
|
|
|
|
|
* include/bits/regex_compiler.h (__compile_nfa): Reorder template
|
|
|
|
|
parameters to allow iterator type to be deduced.
|
|
|
|
|
* testsuite/28_regex/basic_regex/ctors/basic/iter.cc: New.
|
|
|
|
|
|
2017-06-07 14:35:08 +02:00
|
|
|
|
* include/bits/alloc_traits.h (__is_allocator, _RequireAllocator):
|
|
|
|
|
New trait and alias for detecting Allocator-like types.
|
|
|
|
|
* include/bits/basic_string.h (basic_string): Add deduction guide
|
|
|
|
|
from P0433.
|
|
|
|
|
* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits): Add template
|
|
|
|
|
parameter with default template argument that causes substitution
|
|
|
|
|
failures for types that cannot be allocators.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/deduction.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: New.
|
|
|
|
|
|
2017-06-05 18:49:04 +02:00
|
|
|
|
2017-06-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80939
|
|
|
|
|
* include/std/variant (__erased_ctor, __erased_assign, __erased_swap)
|
|
|
|
|
(__erased_hash): Remove constexpr specifier and qualify calls to
|
|
|
|
|
__ref_cast.
|
|
|
|
|
(__erased_dtor): Remove constexpr specifier and use _Destroy.
|
|
|
|
|
|
2017-06-05 11:33:19 +02:00
|
|
|
|
2017-06-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-05 12:34:13 +02:00
|
|
|
|
* include/bits/stl_iterator_base_funcs.h
|
|
|
|
|
(__advance<_RandomAccessIterator, _Distance>): Optimize for next/prev
|
|
|
|
|
cases where incrementing or decrementing a single step.
|
|
|
|
|
|
2017-06-05 11:33:19 +02:00
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_ptr::owner_before)
|
|
|
|
|
(__weak_ptr::owner_before, _Sp_owner_less::operator()): Add noexcept
|
|
|
|
|
specifiers as per LWG 2873 and LWG 2942.
|
|
|
|
|
* testsuite/20_util/owner_less/noexcept.cc: New.
|
|
|
|
|
* testsuite/20_util/shared_ptr/observers/owner_before.cc: Test
|
|
|
|
|
noexcept guarantees.
|
|
|
|
|
* testsuite/20_util/weak_ptr/observers/owner_before.cc: Likewise.
|
|
|
|
|
|
2017-06-03 11:56:43 +02:00
|
|
|
|
2017-06-03 Andreas Schwab <schwab@linux-m68k.org>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
|
2017-06-03 10:23:22 +02:00
|
|
|
|
2017-06-03 Eric Botcazou <ebotcazou@adacore.com>
|
|
|
|
|
|
|
|
|
|
* src/filesystem/dir.cc (fs::_Dir::advance): Use std::exchange.
|
|
|
|
|
|
2017-06-02 13:49:04 +02:00
|
|
|
|
2017-06-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-06-02 20:35:37 +02:00
|
|
|
|
PR libstdc++/80624
|
|
|
|
|
* doc/xml/manual/status_cxx2011.xml: Document to_int_type behaviour.
|
|
|
|
|
* include/bits/char_traits.h (char_traits<char16_t>::to_int_type):
|
|
|
|
|
Transform eof value to U+FFFD.
|
|
|
|
|
* testsuite/21_strings/char_traits/requirements/char16_t/eof.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_streambuf/sgetc/char16_t/80624.cc: New.
|
|
|
|
|
* testsuite/27_io/basic_streambuf/sputc/char16_t/80624.cc: New.
|
|
|
|
|
|
2017-06-02 13:49:04 +02:00
|
|
|
|
* libsupc++/Makefile.am: Remove custom targets for files that need to
|
|
|
|
|
be compiled as C++11 or C++14.
|
|
|
|
|
* libsupc++/Makefile.in: Regenerate.
|
|
|
|
|
* libsupc++/del_ops.cc: Use pragma to disable -Wsized-deallocation
|
|
|
|
|
warnings.
|
|
|
|
|
* libsupc++/del_opvs.cc: Likewise.
|
|
|
|
|
|
2017-06-02 10:10:48 +02:00
|
|
|
|
2017-06-02 Richard Biener <rguenther@suse.de>
|
|
|
|
|
Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80721
|
|
|
|
|
* libsupc++/eh_alloc.cc (pool::free): Keep list properly
|
|
|
|
|
sorted and add missing freelist item merging cases.
|
|
|
|
|
|
2017-06-01 15:50:03 +02:00
|
|
|
|
2017-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
(GLIBCXX_CROSSCONFIG): Handle *-solaris* like *-linux* etc.
|
|
|
|
|
Remove *-solaris* section.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-05-31 14:41:45 +02:00
|
|
|
|
2017-05-31 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80893
|
|
|
|
|
* include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid
|
|
|
|
|
null pointer dereference when size is zero.
|
|
|
|
|
* testsuite/23_containers/vector/bool/80893.cc: New.
|
|
|
|
|
* testsuite/util/testsuite_allocator.h (PointerBase::PointerBase):
|
|
|
|
|
Add non-explicit constructor from nullptr.
|
|
|
|
|
(PointerBase::derived() const): Add const-qualified overload.
|
|
|
|
|
|
2017-05-28 23:27:30 +02:00
|
|
|
|
2017-05-20 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80737
|
|
|
|
|
* include/std/variant(variant::variant): SFINAE on is_same first.
|
|
|
|
|
* testsuite/20_util/variant/any.cc: test case.
|
|
|
|
|
|
2017-05-24 21:27:28 +02:00
|
|
|
|
2017-05-24 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* src/c++11/random.cc (random_device::_M_getentropy): Use __CHAR_BIT__
|
|
|
|
|
instead of fixed number of bits.
|
|
|
|
|
|
2017-05-24 16:33:07 +02:00
|
|
|
|
2017-05-24 Andreas Schwab <schwab@suse.de>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
|
2017-05-23 18:11:57 +02:00
|
|
|
|
2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/67578
|
|
|
|
|
* acinclude.m4: Bump libtool_VERSION.
|
|
|
|
|
* config/abi/pre/gnu.ver: Create GLIBCXX_3.4.24 with new symbol.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac: Add test for <linux/random.h>.
|
|
|
|
|
* doc/xml/manual/abi.xml: Document new library version.
|
|
|
|
|
* include/bits/random.h (random_device::entropy)
|
|
|
|
|
[_GLIBCXX_USE_RANDOM_TR1]: Add call to new _M_getentropy member.
|
|
|
|
|
(random_device::_M_getentropy): Declare.
|
|
|
|
|
* src/c++11/random.cc (random_device::_M_getentropy): Define.
|
|
|
|
|
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.24 to known
|
|
|
|
|
versions, and make it the latest version.
|
|
|
|
|
|
2017-05-23 12:16:08 +02:00
|
|
|
|
2017-05-23 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/67214
|
|
|
|
|
* include/bits/locale_facets.tcc (num_get::_M_extract_int): Add
|
|
|
|
|
explicit conversion to avoid signed overflow.
|
|
|
|
|
|
2017-05-19 14:11:31 +02:00
|
|
|
|
2017-05-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80796
|
|
|
|
|
* include/bits/stl_algo.h (search): Add new overload for C++17.
|
|
|
|
|
* testsuite/25_algorithms/search/searcher.cc: New.
|
|
|
|
|
|
2017-05-18 19:32:06 +02:00
|
|
|
|
2017-05-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80478
|
|
|
|
|
* include/std/functional (_Mem_fn_traits_base): Add specializations
|
|
|
|
|
for noexcept member function types.
|
|
|
|
|
* testsuite/20_util/function_objects/mem_fn/80478.cc: New test.
|
|
|
|
|
|
2017-05-18 12:09:32 +02:00
|
|
|
|
2017-05-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-05-18 12:26:02 +02:00
|
|
|
|
* doc/xml/manual/policy_data_structures.xml: Fix typo.
|
|
|
|
|
* doc/xml/manual/test_policy_data_structures.xml: Likewise.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-18 12:09:32 +02:00
|
|
|
|
* doc/xml/manual/abi.xml: Document latest library versions.
|
|
|
|
|
* doc/xml/manual/build_hacking.xml: Document requirement to update
|
|
|
|
|
abi.xml when bumping library versions.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-17 18:02:33 +02:00
|
|
|
|
2017-05-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/refwrap.h: Fix Doxygen warning.
|
|
|
|
|
* include/bits/specfun.h: Likewise.
|
|
|
|
|
* include/bits/std_function.h: Likewise.
|
|
|
|
|
* include/bits/stl_algo.h (set_union, set_intersection)
|
|
|
|
|
(set_difference, set_symmetric_difference): Add Doxygen @param tags
|
|
|
|
|
for output iterator parameters.
|
|
|
|
|
* include/bits/stl_iterator.h (inserter): Add Doxygen @param tag for
|
|
|
|
|
iterator parameter.
|
|
|
|
|
* include/std/mutex (try_lock, lock): Change Mutex to Lockable in
|
|
|
|
|
Doxygen comments.
|
|
|
|
|
|
2017-05-17 15:54:23 +02:00
|
|
|
|
2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement new C++ intrinsics __is_assignable and __is_constructible.
|
|
|
|
|
* include/std/type_traits (__do_is_static_castable_impl): Remove.
|
|
|
|
|
(__is_static_castable_impl, __is_static_castable_safe): Likewise.
|
|
|
|
|
(__is_static_castable, __do_is_direct_constructible_impl): Likewise.
|
|
|
|
|
(__is_direct_constructible_impl): Likewise.
|
|
|
|
|
(__is_direct_constructible_new_safe): Likewise.
|
|
|
|
|
(__is_base_to_derived_ref, __is_lvalue_to_rvalue_ref): Likewise.
|
|
|
|
|
(__is_direct_constructible_ref_cast): Likewise.
|
|
|
|
|
(__is_direct_constructible_new, __is_direct_constructible): Likewise.
|
|
|
|
|
(__do_is_nary_constructible_impl): Likewise.
|
|
|
|
|
(__is_nary_constructible_impl, __is_nary_constructible): Likewise.
|
|
|
|
|
(__is_constructible_impl): Likewise.
|
|
|
|
|
(is_constructible): Call the intrinsic.
|
|
|
|
|
(__is_assignable_helper): Remove.
|
|
|
|
|
(is_assignable): Call the intrinsic.
|
|
|
|
|
(is_trivially_constructible): Likewise.
|
|
|
|
|
(__is_trivially_copy_constructible_impl): New.
|
|
|
|
|
(is_trivially_copy_constructible): Use it.
|
|
|
|
|
(__is_trivially_move_constructible_impl): New.
|
|
|
|
|
(is_trivially_move_constructible): Use it.
|
|
|
|
|
(is_trivially_assignable): Call the intrinsic.
|
|
|
|
|
(__is_trivially_copy_assignable_impl): New.
|
|
|
|
|
(is_trivially_copy_assignable): Use it.
|
|
|
|
|
(__is_trivially_move_assignable_impl): New.
|
|
|
|
|
(is_trivially_move_assignable): Use it.
|
|
|
|
|
(testsuite/20_util/declval/requirements/1_neg.cc): Adjust.
|
|
|
|
|
(testsuite/20_util/is_trivially_copy_assignable/value.cc):
|
|
|
|
|
Add test for void.
|
|
|
|
|
(testsuite/20_util/is_trivially_copy_constructible/value.cc): Likewise.
|
|
|
|
|
(testsuite/20_util/is_trivially_move_assignable/value.cc): Likewise.
|
|
|
|
|
(testsuite/20_util/is_trivially_move_constructible/value.cc): Likewise.
|
|
|
|
|
(testsuite/20_util/make_signed/requirements/typedefs_neg.cc): Adjust.
|
|
|
|
|
(testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-05-16 15:12:16 +02:00
|
|
|
|
2017-05-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-05-16 16:26:14 +02:00
|
|
|
|
* testsuite/experimental/source_location/1.cc: Change expected result
|
|
|
|
|
for source_location::current() used in default member initializer.
|
|
|
|
|
|
2017-05-16 15:37:52 +02:00
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Update status table.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* include/Makefile.am: Add new header.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/experimental/source_location: New header implementing N4519.
|
|
|
|
|
* testsuite/experimental/source_location/1.cc: New test.
|
|
|
|
|
|
2017-05-16 15:16:34 +02:00
|
|
|
|
PR libstdc++/80285
|
|
|
|
|
* include/bits/shared_ptr_base.h [!__cpp_rtti] (type_info): Declare
|
|
|
|
|
outside versioned namespace.
|
|
|
|
|
|
2017-05-16 15:12:16 +02:00
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-05-16 14:54:16 +02:00
|
|
|
|
2017-05-16 Marc Glisse <marc.glisse@inria.fr>
|
|
|
|
|
|
|
|
|
|
* include/std/optional (_Optional_base::_M_get): Check precondition.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Update line numbers.
|
|
|
|
|
|
2017-05-16 11:46:21 +02:00
|
|
|
|
2017-05-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-05-16 12:37:22 +02:00
|
|
|
|
* doc/xml/manual/appendix_contributing.xml: Link to test docs and
|
|
|
|
|
note higher DejaGnu version requirement.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-16 11:46:21 +02:00
|
|
|
|
* doc/xml/manual/appendix_contributing.xml: Link to the list of bad
|
|
|
|
|
identifiers.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-15 15:47:40 +02:00
|
|
|
|
2017-05-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80761
|
|
|
|
|
* include/bits/node_handle.h (_Node_insert_return): Reorder members.
|
|
|
|
|
(tuple_size, tuple_element): Remove partial specializations.
|
|
|
|
|
* include/bits/stl_tree.h (_Rb_tree::insert_return_type): Use
|
|
|
|
|
const_iterator for std::set.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/extract.cc: New.
|
|
|
|
|
* testsuite/23_containers/set/modifiers/extract.cc: New.
|
|
|
|
|
* testsuite/23_containers/unordered_map/modifiers/extract.cc: New.
|
|
|
|
|
* testsuite/23_containers/unordered_set/modifiers/extract.cc: New.
|
|
|
|
|
|
2017-05-12 16:43:11 +02:00
|
|
|
|
2017-05-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78939
|
|
|
|
|
* include/std/utility (tuple_size<cv T>): Only define partial
|
|
|
|
|
specializations when tuple_size<T>::value is valid.
|
|
|
|
|
* testsuite/20_util/tuple/78939.cc: New.
|
|
|
|
|
* testsuite/20_util/tuple/cv_tuple_size_neg.cc: New.
|
|
|
|
|
|
2017-05-11 21:49:26 +02:00
|
|
|
|
2017-05-11 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
2017-05-11 22:30:44 +02:00
|
|
|
|
* include/bits/stl_tree.h [_GLIBCXX_INLINE_VERSION]
|
|
|
|
|
(_Rb_tree_impl<>): Remove _Is_pod_comparator
|
|
|
|
|
template parameter.
|
|
|
|
|
|
2017-05-11 21:49:26 +02:00
|
|
|
|
* include/debug/formatter.h [_GLIBCXX_INLINE_VERSION]
|
|
|
|
|
(__gnu_debug::_Error_formatter::_Parameter::_M_print_field): Remove.
|
|
|
|
|
(__gnu_debug::_Error_formatter::_Parameter::_M_print_description):
|
|
|
|
|
Remove.
|
|
|
|
|
(__gnu_debug::_Error_formatter::_M_format_word): Remove.
|
|
|
|
|
(__gnu_debug::_Error_formatter::_M_print_word): Remove.
|
|
|
|
|
(__gnu_debug::_Error_formatter::_M_print_string): Remove.
|
|
|
|
|
(__gnu_debug::_Error_formatter::_M_get_max_length): Remove.
|
|
|
|
|
* src/c++11/debug.cc: Adapt.
|
|
|
|
|
* config/abi/pre/gnu-versioned-namespace.ver: Adapt.
|
|
|
|
|
|
2017-05-11 15:21:07 +02:00
|
|
|
|
2017-05-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-05-11 17:01:10 +02:00
|
|
|
|
* doc/xml/manual/allocator.xml: Fix ViewCVS URLs.
|
|
|
|
|
* doc/xml/manual/mt_allocator.xml: Likewise.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-11 15:21:07 +02:00
|
|
|
|
PR libstdc++/80285
|
|
|
|
|
* include/bits/shared_ptr_base.h (_Sp_make_shared_tag::_S_ti): Define
|
|
|
|
|
function to get unique fake std::type_info reference.
|
|
|
|
|
(_Sp_counted_ptr_inplace::_M_get_deleter) [!__cpp_rtti]: Compare to
|
|
|
|
|
_S_ti() fake reference.
|
|
|
|
|
(__shared_ptr(_Sp_make_shared_tag, const Alloc&, Args&&...)): Share
|
|
|
|
|
single implementation with or without RTTI enable.
|
|
|
|
|
[!__cpp_rtti]: Pass fake reference to _M_get_deleter.
|
|
|
|
|
* testsuite/20_util/shared_ptr/creation/alloc.cc: Change expected
|
|
|
|
|
allocation and deallocation counts.
|
|
|
|
|
* testsuite/20_util/shared_ptr/creation/single_allocation.cc: New.
|
|
|
|
|
* testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
|
|
|
|
|
New.
|
|
|
|
|
|
2017-05-10 22:05:26 +02:00
|
|
|
|
2017-05-10 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
2017-05-10 22:40:28 +02:00
|
|
|
|
Bump version namespace.
|
|
|
|
|
* config/abi/pre/gnu-versioned-namespace.ver: Bump version namespace
|
|
|
|
|
from __7 to __8. Bump GLIBCXX_7.0 to GLIBCXX_8.0.
|
|
|
|
|
* acinclude.m4 (libtool_VERSION): Bump to 8:0:0.
|
|
|
|
|
* include/bits/c++config: Adapt.
|
|
|
|
|
* include/bits/regex.h: Adapt.
|
|
|
|
|
* include/experimental/bits/fs_fwd.h: Adapt.
|
|
|
|
|
* include/experimental/bits/lfts_config.h: Adapt.
|
|
|
|
|
* include/std/variant: Adapt.
|
|
|
|
|
* python/libstdcxx/v6/printers.py: Adapt.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/48362.cc: Adapt.
|
|
|
|
|
|
2017-05-10 22:05:26 +02:00
|
|
|
|
* include/bits/stl_algobase.h (std::__iter_swap<false>): Remove
|
|
|
|
|
_GLIBCXX_MOVE usage.
|
|
|
|
|
|
2017-05-09 17:11:19 +02:00
|
|
|
|
2017-05-09 Jason Merrill <jason@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/24_iterators/container_access.cc (test03): Make il3 static.
|
|
|
|
|
|
2017-05-08 17:09:08 +02:00
|
|
|
|
2017-05-08 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-05-08 19:13:38 +02:00
|
|
|
|
* include/std/optional: Use a separate static_assert per condition.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Update dg-error line
|
|
|
|
|
numbers.
|
|
|
|
|
|
2017-05-08 17:09:08 +02:00
|
|
|
|
* doc/xml/manual/mt_allocator.xml: Clarify deallocation behaviour.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-05-02 17:04:39 +02:00
|
|
|
|
2017-05-02 Hugo Beauzée-Luyssen <hugo@beauzee.fr>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/69506
|
|
|
|
|
* config/os/mingw32-w64/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
|
|
|
|
|
|
2017-04-29 21:35:28 +02:00
|
|
|
|
2017-04-29 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/48362.cc: Replace a regexp-test
|
|
|
|
|
by a note-test.
|
|
|
|
|
|
2017-04-28 14:56:38 +02:00
|
|
|
|
2017-04-28 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-04-28 14:56:53 +02:00
|
|
|
|
PR libstdc++/80553
|
|
|
|
|
* include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static
|
|
|
|
|
assertions to ensure type is destructible.
|
|
|
|
|
(destroy_at, destroy, destroy_n): Move from stl_uninitialized.h.
|
|
|
|
|
* include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n):
|
|
|
|
|
Move to stl_construct.h.
|
|
|
|
|
* testsuite/20_util/specialized_algorithms/memory_management_tools/
|
|
|
|
|
destroy_neg.cc: New test.
|
|
|
|
|
* testsuite/23_containers/vector/cons/destructible_neg.cc: New test.
|
|
|
|
|
|
2017-04-28 14:56:38 +02:00
|
|
|
|
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
|
|
|
|
|
superfluous "" in dg-error.
|
|
|
|
|
|
2017-04-28 09:26:32 +02:00
|
|
|
|
2017-04-28 Tom de Vries <tom@codesourcery.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc: Remove
|
|
|
|
|
superfluous '{ target *-*-* }' in dg-(error|warning|message|bogus).
|
|
|
|
|
|
2017-04-27 17:17:05 +02:00
|
|
|
|
2017-04-27 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp
|
|
|
|
|
(PB_DS_CLASS_C_DEC::end()): Remove redundant const in cast type.
|
|
|
|
|
* testsuite/util/testsuite_rng.h (twister_rand_gen::get_prob()):
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-04-26 21:25:30 +02:00
|
|
|
|
2017-04-26 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve
|
|
|
|
|
comment. Ensure first test works because allocator type propagates and
|
|
|
|
|
not because is_always_equal is true.
|
|
|
|
|
* testsuite/23_containers/vector/52591.cc: Likewise. Restore original
|
|
|
|
|
testcase that instantiates the move-assignment operator.
|
|
|
|
|
|
2017-04-24 13:40:02 +02:00
|
|
|
|
2017-04-24 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-04-24 15:43:19 +02:00
|
|
|
|
PR libstdc++/80506
|
|
|
|
|
* include/bits/random.tcc (gamma_distribution::operator()): Fix magic
|
|
|
|
|
number used in loop condition.
|
|
|
|
|
|
2017-04-24 13:40:07 +02:00
|
|
|
|
PR libstdc++/80504
|
|
|
|
|
* include/bits/refwrap.h (ref, cref): Qualify calls.
|
|
|
|
|
* testsuite/20_util/reference_wrapper/80504.cc: New test.
|
|
|
|
|
|
2017-04-24 13:40:02 +02:00
|
|
|
|
PR libstdc++/80493
|
|
|
|
|
* include/experimental/optional (optional::swap): Fix exception
|
|
|
|
|
specification.
|
|
|
|
|
|
2017-04-21 15:08:51 +02:00
|
|
|
|
2017-04-21 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-04-21 16:49:19 +02:00
|
|
|
|
PR libstdc++/80316
|
|
|
|
|
* include/std/future (_State_baseV2::_Setter::operator()): Remove
|
|
|
|
|
_S_check calls that are done after the pointer to the shared state is
|
|
|
|
|
already dereferenced.
|
|
|
|
|
(_State_baseV2::_Setter<_Res, void>): Define specialization for void
|
|
|
|
|
as partial specialization so it can be defined within the definition
|
|
|
|
|
of _State_baseV2.
|
|
|
|
|
(_State_baseV2::__setter): Call _S_check.
|
|
|
|
|
(_State_baseV2::__setter(promise<void>*)): Add overload for use by
|
|
|
|
|
promise<void>::set_value and promise<void>::set_value_at_thread_exit.
|
|
|
|
|
(promise<T>, promise<T&>, promise<void>): Make _State a friend.
|
|
|
|
|
(_State_baseV2::_Setter<void, void>): Remove explicit specialization.
|
|
|
|
|
(promise<void>::set_value, promise<void>::set_value_at_thread_exit):
|
|
|
|
|
Use new __setter overload.
|
|
|
|
|
* testsuite/30_threads/promise/members/at_thread_exit2.cc: New test.
|
|
|
|
|
* testsuite/30_threads/promise/members/set_exception.cc: Test
|
|
|
|
|
promise<T&> and promise<void> specializations.
|
|
|
|
|
* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
|
|
|
|
|
Test for no_state error condition.
|
|
|
|
|
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
|
|
|
|
|
|
2017-04-21 15:08:51 +02:00
|
|
|
|
* include/backward/auto_ptr.h: Ignore deprecated warnings from use
|
|
|
|
|
of auto_ptr.
|
|
|
|
|
* include/bits/shared_ptr.h: Likewise.
|
|
|
|
|
* include/bits/shared_ptr_base.h: Likewise.
|
|
|
|
|
* include/bits/unique_ptr.h: Likewise.
|
|
|
|
|
* libstdc++-v3/testsuite/20_util/default_delete/48631_neg.cc: Adjust
|
|
|
|
|
dg-error lineno.
|
|
|
|
|
* libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc: Likewise.
|
|
|
|
|
* libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-04-20 17:41:59 +02:00
|
|
|
|
2017-04-20 Edward Smith-Rowland <3dw4rd@verizon.net>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/68397 std::tr1::expint fails ... long double arguments.
|
|
|
|
|
* include/tr1/exp_integral.tcc: Increase iteration limits.
|
|
|
|
|
* testsuite/tr1/5_numerical_facilities/special_functions/15_expint/
|
|
|
|
|
pr68397.cc: New test.
|
|
|
|
|
* testsuite/special_functions/14_expint/pr68397.cc: New test.
|
|
|
|
|
|
PR79862 check macro for type aliases that depend on <stdint.h>
PR libstdc++/79862
* include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
(atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
(atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
(atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
(atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
(atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
(atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
(atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
(atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
define.
From-SVN: r247021
2017-04-20 15:04:28 +02:00
|
|
|
|
2017-04-20 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79862
|
|
|
|
|
* include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
|
|
|
|
|
(atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
|
|
|
|
|
(atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
|
|
|
|
|
(atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
|
|
|
|
|
(atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
|
|
|
|
|
(atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
|
|
|
|
|
(atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
|
|
|
|
|
(atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
|
|
|
|
|
(atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
|
|
|
|
|
define.
|
|
|
|
|
|
2017-04-19 12:49:12 +02:00
|
|
|
|
2017-04-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-04-19 18:49:21 +02:00
|
|
|
|
* doc/xml/manual/abi.xml: Rephrase one of the references to the
|
|
|
|
|
Itanium C++ ABI.
|
|
|
|
|
* doc/xml/manual/test.xml: Document DejaGnu 1.5.3 requirement.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-04-19 17:18:24 +02:00
|
|
|
|
* libsupc++/new: Update comment on #endif directive.
|
|
|
|
|
|
2017-04-19 13:03:43 +02:00
|
|
|
|
PR libstdc++/80448
|
|
|
|
|
* include/experimental/bits/fs_dir.h (directory_iterator)
|
|
|
|
|
(recursive_directory_iterator): Remove noexcept from defaulted
|
|
|
|
|
constructors.
|
|
|
|
|
|
2017-04-19 12:49:12 +02:00
|
|
|
|
PR libstdc++/80446
|
|
|
|
|
* include/std/type_traits (is_aggregate): Change __has_builtin checks.
|
|
|
|
|
* libsupc++/new (launder): Likewise.
|
|
|
|
|
|
2017-04-18 13:08:00 +02:00
|
|
|
|
2017-04-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/functional (default_searcher, __boyer_moore_array_base)
|
|
|
|
|
(__is_std_equal_to, __boyer_moore_base_t, boyer_moore_searcher)
|
|
|
|
|
(boyer_moore_horspool_searcher): Remove redundant namespace
|
|
|
|
|
qualification.
|
|
|
|
|
(default_searcher::operator()): Construct return value early and
|
|
|
|
|
advance second member in-place.
|
|
|
|
|
(boyer_moore_horspool_searcher::operator()): Increment random access
|
|
|
|
|
iterator directly instead of using std::next.
|
|
|
|
|
(boyer_moore_searcher::operator()): Fix return value.
|
|
|
|
|
* testsuite/20_util/function_objects/searchers.cc: Check both parts
|
|
|
|
|
of return values.
|
|
|
|
|
|
2017-04-12 00:36:40 +02:00
|
|
|
|
2017-04-12 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/faq.xml: Update reference link to C++ ABI for Itanium.
|
|
|
|
|
* doc/xml/manual/abi.xml. Ditto (thrice).
|
|
|
|
|
|
2017-04-03 19:15:53 +02:00
|
|
|
|
2017-04-03 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-04-03 20:58:32 +02:00
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Remove duplicate table entry.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-04-03 19:16:11 +02:00
|
|
|
|
* testsuite/20_util/reference_wrapper/invoke.cc: Uncomment tests
|
|
|
|
|
that no longer fail.
|
|
|
|
|
|
2017-04-03 19:16:06 +02:00
|
|
|
|
* include/bits/ios_base.h: Correct comment.
|
|
|
|
|
* testsuite/util/testsuite_hooks.h: Likewise.
|
|
|
|
|
|
2017-04-03 19:16:01 +02:00
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Update C++17 status table.
|
|
|
|
|
* doc/xml/manual/appendix_contributing.xml (contrib.organization): Add
|
|
|
|
|
directories for debug, parallel and profile headers.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-04-03 19:15:53 +02:00
|
|
|
|
* include/bits/char_traits.h (__gnu_cxx::char_traits): Add
|
|
|
|
|
_GLIBCXX14_CONSTEXPR on assign, compare, find, and length.
|
|
|
|
|
(std::char_traits<char>, std::char_traits<wchar_t>): Add
|
|
|
|
|
_GLIBCXX17_CONSTEXPR on assign.
|
|
|
|
|
(std::char_traits<char16_t>, std::char_traits<char32_t>): Add
|
|
|
|
|
_GLIBCXX17_CONSTEXPR on assign, compare, find, and length.
|
|
|
|
|
* testsuite/21_strings/char_traits/requirements/
|
|
|
|
|
constexpr_functions_c++17.cc: New test.
|
|
|
|
|
|
re PR libstdc++/79141 (std::pair<int,int> p = {}; fails to compile due to ambiguous overload)
PR libstdc++/79141
* include/bits/stl_pair.h (__nonesuch_no_braces): New.
(operator=(typename conditional<
__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>::value,
const pair&, const __nonesuch&>::type)): Change __nonesuch
to __nonesuch_no_braces.
(operator=(typename conditional<
__not_<__and_<is_copy_assignable<_T1>,
is_copy_assignable<_T2>>>::value,
const pair&, const __nonesuch&>::type)): Likewise.
(operator=(typename conditional<
__and_<is_move_assignable<_T1>,
is_move_assignable<_T2>>::value,
pair&&, __nonesuch&&>::type)): Likewise.
* testsuite/20_util/pair/79141.cc: New.
From-SVN: r246653
2017-04-03 18:30:58 +02:00
|
|
|
|
2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79141
|
|
|
|
|
* include/bits/stl_pair.h (__nonesuch_no_braces): New.
|
|
|
|
|
(operator=(typename conditional<
|
|
|
|
|
__and_<is_copy_assignable<_T1>,
|
|
|
|
|
is_copy_assignable<_T2>>::value,
|
|
|
|
|
const pair&, const __nonesuch&>::type)): Change __nonesuch
|
|
|
|
|
to __nonesuch_no_braces.
|
|
|
|
|
(operator=(typename conditional<
|
|
|
|
|
__not_<__and_<is_copy_assignable<_T1>,
|
|
|
|
|
is_copy_assignable<_T2>>>::value,
|
|
|
|
|
const pair&, const __nonesuch&>::type)): Likewise.
|
|
|
|
|
(operator=(typename conditional<
|
|
|
|
|
__and_<is_move_assignable<_T1>,
|
|
|
|
|
is_move_assignable<_T2>>::value,
|
|
|
|
|
pair&&, __nonesuch&&>::type)): Likewise.
|
|
|
|
|
* testsuite/20_util/pair/79141.cc: New.
|
|
|
|
|
|
2017-04-03 17:57:06 +02:00
|
|
|
|
2017-04-03 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement std::is_aggregate.
|
|
|
|
|
* include/std/type_traits (is_aggregate, is_aggregate_v): New.
|
|
|
|
|
* testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/is_aggregate/value.cc: Likewise.
|
|
|
|
|
|
2017-03-29 14:05:50 +02:00
|
|
|
|
2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Adjust optional's pretty printer for LWG 2900.
|
|
|
|
|
* python/libstdcxx/v6/printers.py (StdExpOptionalPrinter.__init__):
|
|
|
|
|
Look at the nested payload in case of non-experimental optional.
|
|
|
|
|
|
2017-03-29 01:05:21 +02:00
|
|
|
|
2017-03-29 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement LWG 2900, The copy and move constructors
|
|
|
|
|
of optional are not constexpr.
|
|
|
|
|
* include/std/optional (_Optional_payload): New.
|
|
|
|
|
(_Optional_base): Remove the bool parameter.
|
|
|
|
|
(_Optional_base<_Tp, false>): Remove.
|
|
|
|
|
(_Optional_base()): Adjust.
|
|
|
|
|
(_Optional_base(nullopt_t)): Likewise.
|
|
|
|
|
(_Optional_base(in_place_t, _Args&&...)): Likewise.
|
|
|
|
|
(_Optional_base(in_place_t, initializer_list<_Up>, _Args&&...)):
|
|
|
|
|
Likewise.
|
|
|
|
|
(_Optional_base(const _Optional_base&)): Likewise.
|
|
|
|
|
(_Optional_base(_Optional_base&&)): Likewise.
|
|
|
|
|
(operator=(const _Optional_base&)): Likewise.
|
|
|
|
|
(operator=(_Optional_base&&)): Likewise.
|
|
|
|
|
(~_Optional_base()): Remove.
|
|
|
|
|
(_M_is_engaged()): Adjust.
|
|
|
|
|
(_M_get()): Likewise.
|
|
|
|
|
(_M_construct(_Args&&...)): Likewise.
|
|
|
|
|
(_M_destruct()): Likewise.
|
|
|
|
|
(_M_reset()): Likewise.
|
|
|
|
|
(_Optional_base::_Empty_byte): Remove.
|
|
|
|
|
(_Optional_base::_M_empty): Remove.
|
|
|
|
|
(_Optional_base::_M_payload): Adjust.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
|
|
|
|
|
* testsuite/20_util/optional/constexpr/cons/value.cc: Add tests.
|
|
|
|
|
|
2017-03-28 09:35:04 +02:00
|
|
|
|
2017-03-28 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-28 18:09:49 +02:00
|
|
|
|
PR libstdc++/80137
|
|
|
|
|
* include/bits/random.tcc (generate_canonical): Use std::nextafter
|
|
|
|
|
or numeric_limits::epsilon() to reduce out-of-range values.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_real_distribution/operators/
|
|
|
|
|
64351.cc: Verify complexity requirement is met.
|
|
|
|
|
|
2017-03-28 14:43:06 +02:00
|
|
|
|
* doc/xml/manual/abi.xml: Add xml:id anchor.
|
|
|
|
|
* doc/xml/manual/using.xml (manual.intro.using.macros): Document
|
|
|
|
|
_GLIBCXX_RELEASE. Link to new anchor for __GLIBCXX__ notes.
|
|
|
|
|
(concurrency.io.structure): Add markup.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-03-28 09:35:04 +02:00
|
|
|
|
PR libstdc++/80229
|
|
|
|
|
* include/bits/shared_ptr_base.h
|
|
|
|
|
(__shared_ptr::_M_enable_shared_from_this_with): Change parameters to
|
|
|
|
|
non-const and then use remove_cv to get unqualified type.
|
|
|
|
|
* testsuite/20_util/enable_shared_from_this/members/const.cc: Don't
|
|
|
|
|
cast away constness on object created const.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/80229.cc: New test.
|
|
|
|
|
|
2017-03-26 14:33:35 +02:00
|
|
|
|
2017-03-26 Markus Trippelsdorf <markus@trippelsdorf.de>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80183
|
|
|
|
|
* include/bits/stl_tree.h:
|
|
|
|
|
(_Rb_tree_header::_M_move_data(_Rb_tree_header&)): Also save _M_color.
|
|
|
|
|
|
2017-03-23 20:40:21 +01:00
|
|
|
|
2017-03-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-23 20:40:41 +01:00
|
|
|
|
* testsuite/23_containers/array/tuple_interface/
|
|
|
|
|
tuple_element_debug_neg.cc: Adjust dg-error.
|
|
|
|
|
* testsuite/23_containers/list/operations/78389.cc: Fix less-than to
|
|
|
|
|
define a valid strict weak ordering.
|
|
|
|
|
* testsuite/23_containers/priority_queue/67085.cc: Disable test for
|
|
|
|
|
Debug Mode, due to debug checks making extra copies of predicate.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-03-23 20:40:21 +01:00
|
|
|
|
* doc/xml/faq.xml: Add link.
|
|
|
|
|
* doc/xml/manual/backwards_compatibility.xml: Remove outdated
|
|
|
|
|
information on pre-ISO headers. Replace broken link to C++ FAQ Lite.
|
|
|
|
|
* doc/xml/manual/io.xml: Update broken link.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
Implement P0607R0 "Inline Variables for Standard Library" for C++17
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com>
* include/bits/c++config (_GLIBCXX17_INLINE): Define.
* include/bits/regex_constants.h (All std::regex_constants constants):
Add _GLIBCXX17_INLINE as per P0607R0.
* include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
Likewise.
* include/bits/stl_pair.h (piecewise_construct): Likewise.
* include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
(__is_uses_allocator_constructible_v)
(__is_nothrow_uses_allocator_constructible_v): Likewise.
* include/std/chrono (treat_as_floating_point_v): Likewise.
* include/std/functional (is_bind_expression_v, is_placeholder_v):
Likewise.
* include/std/optional (nullopt): Likewise.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v, ignore): Likewise.
(ignore): Declare ignore constexpr as per LWG 2773, declare assignment
constexpr as per LWG 2933.
* include/std/type_traits (All variable templates): Add
_GLIBCXX17_INLINE as per P0607R0.
* include/std/variant (variant_size_v, variant_npos, __index_of_v)
(__tuple_count_v, __exactly_once): Likewise.
* testsuite/18_support/headers/new/synopsis.cc
(hardware_destructive_interference_size)
(hardware_constructive_interference_size): Likewise for commented-out
variables.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
test function for constexpr std::ignore (LWG 2773).
* testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
test for LWG 2933.
From-SVN: r246423
2017-03-23 20:40:07 +01:00
|
|
|
|
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com>
|
|
|
|
|
|
2017-03-23 20:40:16 +01:00
|
|
|
|
Implement LWG 2686, Why is std::hash specialized for error_code,
|
|
|
|
|
but not error_condition?
|
|
|
|
|
* include/std/system_error (hash<error_condition>): Define for C++17.
|
|
|
|
|
* testsuite/20_util/hash/operators/size_t.cc (hash<error_condition>):
|
|
|
|
|
Instantiate test for error_condition.
|
|
|
|
|
* testsuite/20_util/hash/requirements/explicit_instantiation.cc
|
|
|
|
|
(hash<error_condition>): Instantiate hash<error_condition>.
|
|
|
|
|
|
Implement P0607R0 "Inline Variables for Standard Library" for C++17
2017-03-23 Daniel Kruegler <daniel.kruegler@gmail.com>
* include/bits/c++config (_GLIBCXX17_INLINE): Define.
* include/bits/regex_constants.h (All std::regex_constants constants):
Add _GLIBCXX17_INLINE as per P0607R0.
* include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
Likewise.
* include/bits/stl_pair.h (piecewise_construct): Likewise.
* include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
(__is_uses_allocator_constructible_v)
(__is_nothrow_uses_allocator_constructible_v): Likewise.
* include/std/chrono (treat_as_floating_point_v): Likewise.
* include/std/functional (is_bind_expression_v, is_placeholder_v):
Likewise.
* include/std/optional (nullopt): Likewise.
* include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
* include/std/system_error (is_error_code_enum_v)
(is_error_condition_enum_v): Likewise.
* include/std/tuple (tuple_size_v, ignore): Likewise.
(ignore): Declare ignore constexpr as per LWG 2773, declare assignment
constexpr as per LWG 2933.
* include/std/type_traits (All variable templates): Add
_GLIBCXX17_INLINE as per P0607R0.
* include/std/variant (variant_size_v, variant_npos, __index_of_v)
(__tuple_count_v, __exactly_once): Likewise.
* testsuite/18_support/headers/new/synopsis.cc
(hardware_destructive_interference_size)
(hardware_constructive_interference_size): Likewise for commented-out
variables.
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
test function for constexpr std::ignore (LWG 2773).
* testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
test for LWG 2933.
From-SVN: r246423
2017-03-23 20:40:07 +01:00
|
|
|
|
* include/bits/c++config (_GLIBCXX17_INLINE): Define.
|
|
|
|
|
* include/bits/regex_constants.h (All std::regex_constants constants):
|
|
|
|
|
Add _GLIBCXX17_INLINE as per P0607R0.
|
|
|
|
|
* include/bits/std_mutex.h (defer_lock, try_to_lock, adopt_lock):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/bits/stl_pair.h (piecewise_construct): Likewise.
|
|
|
|
|
* include/bits/uses_allocator.h (allocator_arg, uses_allocator_v)
|
|
|
|
|
(__is_uses_allocator_constructible_v)
|
|
|
|
|
(__is_nothrow_uses_allocator_constructible_v): Likewise.
|
|
|
|
|
* include/std/chrono (treat_as_floating_point_v): Likewise.
|
|
|
|
|
* include/std/functional (is_bind_expression_v, is_placeholder_v):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/std/optional (nullopt): Likewise.
|
|
|
|
|
* include/std/ratio (ratio_equal_v, ratio_not_equal_v, ratio_less_v)
|
|
|
|
|
ratio_less_equal_v, ratio_greater_v, ratio_greater_equal_v): Likewise.
|
|
|
|
|
* include/std/system_error (is_error_code_enum_v)
|
|
|
|
|
(is_error_condition_enum_v): Likewise.
|
|
|
|
|
* include/std/tuple (tuple_size_v, ignore): Likewise.
|
|
|
|
|
(ignore): Declare ignore constexpr as per LWG 2773, declare assignment
|
|
|
|
|
constexpr as per LWG 2933.
|
|
|
|
|
* include/std/type_traits (All variable templates): Add
|
|
|
|
|
_GLIBCXX17_INLINE as per P0607R0.
|
|
|
|
|
* include/std/variant (variant_size_v, variant_npos, __index_of_v)
|
|
|
|
|
(__tuple_count_v, __exactly_once): Likewise.
|
|
|
|
|
* testsuite/18_support/headers/new/synopsis.cc
|
|
|
|
|
(hardware_destructive_interference_size)
|
|
|
|
|
(hardware_constructive_interference_size): Likewise for commented-out
|
|
|
|
|
variables.
|
|
|
|
|
* testsuite/20_util/tuple/creation_functions/constexpr.cc: Add new
|
|
|
|
|
test function for constexpr std::ignore (LWG 2773).
|
|
|
|
|
* testsuite/20_util/tuple/creation_functions/constexpr_cpp14.cc: New
|
|
|
|
|
test for LWG 2933.
|
|
|
|
|
|
2017-03-22 16:58:35 +01:00
|
|
|
|
2017-03-22 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
|
|
|
|
|
guides for C++17.
|
|
|
|
|
* include/bits/std_function.h (function): Likewise.
|
|
|
|
|
* include/bits/stl_pair.h (pair): Likewise.
|
|
|
|
|
* include/debug/array (__gnu_debug::array): Likewise.
|
|
|
|
|
* include/std/array (array): Likewise.
|
|
|
|
|
* include/std/functional (make_default_searcher)
|
|
|
|
|
(make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
|
|
|
|
|
Remove generator functions.
|
|
|
|
|
* include/std/tuple (tuple): Add deduction guides.
|
|
|
|
|
* include/std/valarray (valarray): Likewise.
|
|
|
|
|
* testsuite/20_util/function_objects/searchers.cc: Adjust to use
|
|
|
|
|
class template argument deduction instead of generator functions.
|
|
|
|
|
* testsuite/20_util/function/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
|
|
|
|
|
* testsuite/20_util/optional/cons/deduction.cc: ... here.
|
|
|
|
|
* testsuite/20_util/pair/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/20_util/tuple/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
|
|
|
|
|
* testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/23_containers/array/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/23_containers/array/cons/deduction_neg.cc: New test.
|
|
|
|
|
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
|
|
|
|
|
Adjust dg-error.
|
|
|
|
|
* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/valarray/deduction.cc: New test.
|
|
|
|
|
* testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
|
|
|
|
|
* testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
|
|
|
|
|
|
2017-03-20 21:51:40 +01:00
|
|
|
|
2017-03-20 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
|
|
|
|
|
* include/bits/stl_deque.h (deque): Access allocator value_type only if
|
|
|
|
|
concept checks are enabled.
|
|
|
|
|
* include/bits/stl_stack.h (stack): Likewise.
|
|
|
|
|
* include/bits/stl_vector.h (vector): Likewise.
|
|
|
|
|
* include/bits/stl_list.h (list): Likewise and check
|
|
|
|
|
_SGIAssignableConcept only in C++03.
|
|
|
|
|
* include/bits/stl_map.h (map): Likewise.
|
|
|
|
|
* include/bits/stl_set.h (set): Likewise.
|
|
|
|
|
* include/bits/stl_multimap.h (multimap): Likewise.
|
|
|
|
|
* include/bits/stl_multiset.h (multiset): Likewise.
|
|
|
|
|
* include/bits/stl_queue.h (queue, priority_queue): Likewise.
|
|
|
|
|
|
2017-03-18 19:39:54 +01:00
|
|
|
|
2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/appendix_contributing.xml: Convert link to
|
|
|
|
|
ansi.org to https.
|
|
|
|
|
Update link to the C++ standard at ansi.org.
|
|
|
|
|
|
|
|
|
|
* doc/xml/faq.xml: Remove information redundant with the above;
|
|
|
|
|
instead add a reference.
|
|
|
|
|
|
2017-03-17 20:28:05 +01:00
|
|
|
|
2017-03-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* src/c++11/codecvt.cc (range): Add non-type template parameter and
|
|
|
|
|
define oerloaded operators for reading and writing code units.
|
|
|
|
|
(range<Elem, false>): Define partial specialization for accessing
|
|
|
|
|
wide characters in potentially unaligned byte ranges.
|
|
|
|
|
(ucs2_span(const char16_t*, const char16_t*, ...))
|
|
|
|
|
(ucs4_span(const char16_t*, const char16_t*, ...)): Change parameters
|
|
|
|
|
to range<const char16_t, false> in order to avoid unaligned reads.
|
|
|
|
|
(__codecvt_utf16_base<char16_t>::do_out)
|
|
|
|
|
(__codecvt_utf16_base<char32_t>::do_out)
|
|
|
|
|
(__codecvt_utf16_base<wchar_t>::do_out): Use range specialization for
|
|
|
|
|
unaligned data to avoid unaligned writes.
|
|
|
|
|
(__codecvt_utf16_base<char16_t>::do_in)
|
|
|
|
|
(__codecvt_utf16_base<char32_t>::do_in)
|
|
|
|
|
(__codecvt_utf16_base<wchar_t>::do_in): Likewise for writes. Return
|
|
|
|
|
error if there are unprocessable trailing bytes.
|
|
|
|
|
(__codecvt_utf16_base<char16_t>::do_length)
|
|
|
|
|
(__codecvt_utf16_base<char32_t>::do_length)
|
|
|
|
|
(__codecvt_utf16_base<wchar_t>::do_length): Pass arguments of type
|
|
|
|
|
range<const char16_t, false> to span functions.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf16/misaligned.cc: New test.
|
|
|
|
|
|
2017-03-16 15:11:48 +01:00
|
|
|
|
2017-03-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-16 18:22:47 +01:00
|
|
|
|
PR libstdc++/79980
|
|
|
|
|
* src/c++11/codecvt.cc (to_integer(codecvt_mode)): Fix target type.
|
|
|
|
|
|
2017-03-16 16:28:02 +01:00
|
|
|
|
PR libstdc++/80041
|
|
|
|
|
* src/c++11/codecvt.cc (__codecvt_utf16_base<wchar_t>::do_out)
|
|
|
|
|
(__codecvt_utf16_base<wchar_t>::do_in): Convert char arguments to
|
|
|
|
|
char16_t to work with UTF-16 instead of UTF-8.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf16/80041.cc: New test.
|
|
|
|
|
|
2017-03-16 16:27:57 +01:00
|
|
|
|
* src/c++11/codecvt.cc (codecvt<char16_t, char, mbstate_t>)
|
|
|
|
|
(codecvt<char32_t, char, mbstate_t>, __codecvt_utf8_base<char16_t>)
|
|
|
|
|
(__codecvt_utf8_base<char32_t>, __codecvt_utf8_base<wchar_t>)
|
|
|
|
|
(__codecvt_utf16_base<char16_t>, __codecvt_utf16_base<char32_t>)
|
|
|
|
|
(__codecvt_utf16_base<wchar_t>, __codecvt_utf8_utf16_base<char16_t>)
|
|
|
|
|
(__codecvt_utf8_utf16_base<char32_t>)
|
|
|
|
|
(__codecvt_utf8_utf16_base<wchar_t>): Fix do_encoding() and
|
|
|
|
|
do_max_length() return values.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf16/members.cc: New test.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8/members.cc: New test.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/members.cc: New test.
|
|
|
|
|
|
2017-03-16 16:27:51 +01:00
|
|
|
|
PR libstdc++/79980
|
|
|
|
|
* include/bits/locale_conv.h (__do_str_codecvt): Set __count on
|
|
|
|
|
error path.
|
|
|
|
|
* src/c++11/codecvt.cc (operator&=, operator|=, operator~): Overloads
|
|
|
|
|
for manipulating codecvt_mode values.
|
|
|
|
|
(read_utf16_bom): Compare input to BOM constants instead of integral
|
|
|
|
|
constants that depend on endianness. Take mode parameter by
|
|
|
|
|
reference and adjust it, to distinguish between no BOM present and
|
|
|
|
|
UTF-16BE BOM present.
|
|
|
|
|
(ucs4_in, ucs2_span, ucs4_span): Adjust calls to read_utf16_bom.
|
|
|
|
|
(surrogates): New enumeration type.
|
|
|
|
|
(utf16_in, utf16_out): Add surrogates parameter to choose between
|
|
|
|
|
UTF-16 and UCS2 behaviour.
|
|
|
|
|
(utf16_span, ucs2_span): Use std::min not std::max.
|
|
|
|
|
(ucs2_out): Use std::min not std::max. Disallow surrogate pairs.
|
|
|
|
|
(ucs2_in): Likewise. Adjust calls to read_utf16_bom.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf16/79980.cc: New test.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8/79980.cc: New test.
|
|
|
|
|
|
2017-03-16 16:27:45 +01:00
|
|
|
|
PR libstdc++/79511
|
|
|
|
|
* src/c++11/codecvt.cc (write_utf16_code_point): Don't write 0xffff
|
|
|
|
|
as a surrogate pair.
|
|
|
|
|
(__codecvt_utf8_utf16_base<char32_t>::do_in): Use native endianness
|
|
|
|
|
for internal representation.
|
|
|
|
|
(__codecvt_utf8_utf16_base<wchar_t>::do_in): Likewise.
|
|
|
|
|
* testsuite/22_locale/codecvt/codecvt_utf8_utf16/79511.cc: New test.
|
|
|
|
|
|
2017-03-16 15:32:07 +01:00
|
|
|
|
PR libstdc++/80064
|
|
|
|
|
* include/bits/stl_heap.h (__is_heap, push_heap, __adjust_heap)
|
|
|
|
|
(pop_heap, make_heap, sort_heap, is_heap_until, is_heap): Cope with
|
|
|
|
|
invalid instantiations using function types for _Compare argument.
|
|
|
|
|
* testsuite/25_algorithms/make_heap/80064.cc: New test.
|
|
|
|
|
|
2017-03-16 15:11:48 +01:00
|
|
|
|
PR libstdc++/67440
|
|
|
|
|
* python/libstdcxx/v6/printers.py (find_type): Avoid gdb.Type.name
|
|
|
|
|
for GDB 7.6 compatibility, use gdb.Type.unqualified instead.
|
|
|
|
|
|
Implement LWG 2857, {variant,optional,any}::emplace should return the constructed value.
Implement LWG 2857, {variant,optional,any}::emplace should
return the constructed value.
* include/std/any (emplace(_Args&&...)): Change the return type and
return a reference to the constructed value.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/optional (emplace(_Args&&...)): Likewise.
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
(emplace<_Np>(_Args&&...)): Likewise.
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
* testsuite/20_util/any/assign/emplace.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
* testsuite/20_util/optional/assignment/6.cc: Add tests for
checking the return value of emplace.
* testsuite/20_util/variant/run.cc: Likewise.
From-SVN: r246182
2017-03-16 00:13:20 +01:00
|
|
|
|
2017-03-15 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement LWG 2857, {variant,optional,any}::emplace should
|
|
|
|
|
return the constructed value.
|
|
|
|
|
* include/std/any (emplace(_Args&&...)): Change the return type and
|
|
|
|
|
return a reference to the constructed value.
|
|
|
|
|
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
|
|
|
|
|
* include/std/optional (emplace(_Args&&...)): Likewise.
|
|
|
|
|
(emplace(initializer_list<_Up>, _Args&&...)): Likewise.
|
|
|
|
|
* include/std/variant (emplace<_Tp>(_Args&&...)): Likewise.
|
|
|
|
|
(emplace<_Tp>(initializer_list<_Up>, _Args&&...)): Likewise.
|
|
|
|
|
(emplace<_Np>(_Args&&...)): Likewise.
|
|
|
|
|
(emplace<_Np>(initializer_list<_Up>, _Args&&...)): Likewise.
|
|
|
|
|
* testsuite/20_util/any/assign/emplace.cc: Add tests for
|
|
|
|
|
checking the return value of emplace.
|
|
|
|
|
* testsuite/20_util/any/misc/any_cast_neg.cc: Adjust.
|
|
|
|
|
* testsuite/20_util/optional/assignment/6.cc: Add tests for
|
|
|
|
|
checking the return value of emplace.
|
|
|
|
|
* testsuite/20_util/variant/run.cc: Likewise.
|
|
|
|
|
|
2017-03-16 13:18:14 +01:00
|
|
|
|
2017-03-15 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
|
2017-03-15 21:11:48 +01:00
|
|
|
|
|
|
|
|
|
PR libstdc++/62045
|
|
|
|
|
* include/ext/pb_ds/qdetail/binary_heap_/binary_heap_.hpp
|
|
|
|
|
(is_heap): Remove.
|
|
|
|
|
(push_heap): Remove the wrong checking using is_heap.
|
|
|
|
|
(make_heap): Remove the assertion using is_heap.
|
|
|
|
|
* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp
|
|
|
|
|
(modify): Ditto.
|
|
|
|
|
(resize_for_insert_if_needed): Add PB_DS_ASSERT_VALID after
|
|
|
|
|
calling make_heap.
|
|
|
|
|
|
|
|
|
|
2017-03-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/62045
|
|
|
|
|
* testsuite/ext/pb_ds/regression/priority_queue_binary_heap-62045.cc:
|
|
|
|
|
New test.
|
|
|
|
|
* testsuite/ext/pb_ds/regression/priority_queues.cc: Fix copy&paste
|
|
|
|
|
error in comment.
|
|
|
|
|
|
2017-03-15 16:23:44 +01:00
|
|
|
|
2017-03-15 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_S_ISREG_OR_S_IFREG): Fix typo in
|
|
|
|
|
comment.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
2017-03-14 15:51:19 +01:00
|
|
|
|
2017-03-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79162
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Replace
|
|
|
|
|
with a constrained template.
|
|
|
|
|
[!_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string<C,T,A>::operator=(basic_string_view<C,T>)): Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/char/79162.cc: New test.
|
|
|
|
|
* testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: New test.
|
|
|
|
|
|
2017-03-13 20:41:50 +01:00
|
|
|
|
2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/80034
|
|
|
|
|
* include/bits/list.tcc (merge(list&&)): Use const for the size_t
|
|
|
|
|
in the catch-block.
|
|
|
|
|
(merge(list&&, _StrictWeakOrdering)): Likewise.
|
|
|
|
|
* testsuite/23_containers/list/operations/80034.cc: New.
|
|
|
|
|
|
2017-03-13 19:03:30 +01:00
|
|
|
|
2017-03-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement LWG 2806, Base class of bad_optional_access.
|
|
|
|
|
* include/std/optional (bad_optional_access):
|
|
|
|
|
Derive from std::exception.
|
|
|
|
|
(bad_optional_access::bad_optional_access): Adjust.
|
|
|
|
|
(bad_optional_access::what): New.
|
|
|
|
|
(__throw_bad_optional_access(const char*)):
|
|
|
|
|
Remove the parameter and adjust calls.
|
|
|
|
|
* testsuite/20_util/optional/cons/value_neg.cc: Adjust.
|
|
|
|
|
* testsuite/20_util/optional/typedefs.cc: Likewise.
|
|
|
|
|
|
Implement LWG 2934, optional<const T> doesn't compare with T.
* include/std/optional
(operator==(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
(operator<(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
(operator<=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
(operator>=(const optional<_Tp>&, const optional<_Tp>&)):
Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
(operator==(const optional<_Tp>&, const _Tp&)):
Turn into operator==(const optional<_Tp>&, const _Up&).
(operator==(const _Tp&, const optional<_Tp>&)):
Turn into operator==(const _Up&, const optional<_Tp>&).
(operator!=(const optional<_Tp>&, const _Tp&)):
Turn into operator!=(const optional<_Tp>&, const _Up&).
(operator!=(const _Tp&, const optional<_Tp>&)):
Turn into operator!=(const _Up&, const optional<_Tp>&).
(operator<(const optional<_Tp>&, const _Tp&)):
Turn into operator<(const optional<_Tp>&, const _Up&).
(operator<(const _Tp&, const optional<_Tp>&)):
Turn into operator<(const _Up&, const optional<_Tp>&).
(operator>(const optional<_Tp>&, const _Tp&)):
Turn into operator>(const optional<_Tp>&, const _Up&).
(operator>(const _Tp&, const optional<_Tp>&)):
Turn into operator>(const _Up&, const optional<_Tp>&).
(operator<=(const optional<_Tp>&, const _Tp&)):
Turn into operator<=(const optional<_Tp>&, const _Up&).
(operator<=(const _Tp&, const optional<_Tp>&)):
Turn into operator<=(const _Up&, const optional<_Tp>&).
(operator>=(const optional<_Tp>&, const _Tp&)):
Turn into operator>=(const optional<_Tp>&, const _Up&).
(operator>=(const _Tp&, const optional<_Tp>&)):
Turn into operator>=(const _Up&, const optional<_Tp>&).
* testsuite/20_util/optional/relops/7.cc: New.
From-SVN: r246076
2017-03-12 11:32:31 +01:00
|
|
|
|
2017-03-12 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement LWG 2934, optional<const T> doesn't compare with T.
|
|
|
|
|
* include/std/optional
|
|
|
|
|
(operator==(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator==(const optional<_Tp>&, const optional<_Up>&).
|
|
|
|
|
(operator!=(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator!=(const optional<_Tp>&, const optional<_Up>&).
|
|
|
|
|
(operator<(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator<(const optional<_Tp>&, const optional<_Up>&.
|
|
|
|
|
(operator>(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator>(const optional<_Tp>&, const optional<_Up>&.
|
|
|
|
|
(operator<=(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator<=(const optional<_Tp>&, const optional<_Up>&).
|
|
|
|
|
(operator>=(const optional<_Tp>&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator>=(const optional<_Tp>&, const optional<_Up>&).
|
|
|
|
|
(operator==(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator==(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator==(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator==(const _Up&, const optional<_Tp>&).
|
|
|
|
|
(operator!=(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator!=(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator!=(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator!=(const _Up&, const optional<_Tp>&).
|
|
|
|
|
(operator<(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator<(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator<(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator<(const _Up&, const optional<_Tp>&).
|
|
|
|
|
(operator>(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator>(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator>(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator>(const _Up&, const optional<_Tp>&).
|
|
|
|
|
(operator<=(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator<=(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator<=(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator<=(const _Up&, const optional<_Tp>&).
|
|
|
|
|
(operator>=(const optional<_Tp>&, const _Tp&)):
|
|
|
|
|
Turn into operator>=(const optional<_Tp>&, const _Up&).
|
|
|
|
|
(operator>=(const _Tp&, const optional<_Tp>&)):
|
|
|
|
|
Turn into operator>=(const _Up&, const optional<_Tp>&).
|
|
|
|
|
* testsuite/20_util/optional/relops/7.cc: New.
|
|
|
|
|
|
P0604R0 add invoke_result, is_invocable etc. for C++17
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
result_of, and __is_nothrow_invocable instead of
__is_nothrow_callable.
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
instead of __is_callable.
* include/std/functional (invoke): use invoke_result_t instead of
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
(_Not_fn): Use __invoke_result instead of result_of.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Remove partial specializations for reference_wrapper types.
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
(__invoke_result): Define replacement for result_of and then use it to
define result_of.
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
respectively.
(invoke_result, invoke_result_t): Define for C++17.
(is_callable, is_nothrow_callable): Replace with is_invocable,
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
instead of is_nothrow_callable_v.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
main function.
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
instead of is_callable.
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
to use new traits.
* testsuite/20_util/is_notjrow_callable/*: Likewise.
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
From-SVN: r246036
2017-03-10 16:29:38 +01:00
|
|
|
|
2017-03-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-10 16:29:49 +01:00
|
|
|
|
* testsuite/17_intro/names.cc: Undefine macros that clash with
|
|
|
|
|
identifiers in AIX system headers.
|
|
|
|
|
|
P0604R0 add invoke_result, is_invocable etc. for C++17
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
result_of, and __is_nothrow_invocable instead of
__is_nothrow_callable.
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
instead of __is_callable.
* include/std/functional (invoke): use invoke_result_t instead of
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
(_Not_fn): Use __invoke_result instead of result_of.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Remove partial specializations for reference_wrapper types.
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
(__invoke_result): Define replacement for result_of and then use it to
define result_of.
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
respectively.
(invoke_result, invoke_result_t): Define for C++17.
(is_callable, is_nothrow_callable): Replace with is_invocable,
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
instead of is_nothrow_callable_v.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
main function.
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
instead of is_callable.
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
to use new traits.
* testsuite/20_util/is_notjrow_callable/*: Likewise.
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
From-SVN: r246036
2017-03-10 16:29:38 +01:00
|
|
|
|
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
|
|
|
|
|
result_of, and __is_nothrow_invocable instead of
|
|
|
|
|
__is_nothrow_callable.
|
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
|
|
|
|
|
instead of __is_callable.
|
|
|
|
|
* include/std/functional (invoke): use invoke_result_t instead of
|
|
|
|
|
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
|
|
|
|
|
(_Not_fn): Use __invoke_result instead of result_of.
|
|
|
|
|
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
|
|
|
|
|
Remove partial specializations for reference_wrapper types.
|
|
|
|
|
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
|
|
|
|
|
(__invoke_result): Define replacement for result_of and then use it to
|
|
|
|
|
define result_of.
|
|
|
|
|
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
|
|
|
|
|
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
|
|
|
|
|
respectively.
|
|
|
|
|
(invoke_result, invoke_result_t): Define for C++17.
|
|
|
|
|
(is_callable, is_nothrow_callable): Replace with is_invocable,
|
|
|
|
|
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
|
|
|
|
|
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
|
|
|
|
|
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
|
|
|
|
|
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
|
|
|
|
|
instead of is_nothrow_callable_v.
|
|
|
|
|
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
|
|
|
|
|
main function.
|
|
|
|
|
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
|
|
|
|
|
instead of is_callable.
|
|
|
|
|
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
|
|
|
|
|
to use new traits.
|
2017-03-16 13:18:14 +01:00
|
|
|
|
* testsuite/20_util/is_nothrow_callable/*: Likewise.
|
P0604R0 add invoke_result, is_invocable etc. for C++17
* include/bits/invoke.h (__invoke): Use __invoke_result instead of
result_of, and __is_nothrow_invocable instead of
__is_nothrow_callable.
* include/bits/shared_ptr_base.h (__shared_ptr): Use __is_invocable
instead of __is_callable.
* include/std/functional (invoke): use invoke_result_t instead of
result_of_t and is_nothrow_invocable instead of is_nothrow_callable.
(_Not_fn): Use __invoke_result instead of result_of.
* include/std/type_traits (__result_of_memobj, __result_of_memfun):
Remove partial specializations for reference_wrapper types.
(__result_of_impl): Use __inv_unwrap to strip reference_wrapper.
(__invoke_result): Define replacement for result_of and then use it to
define result_of.
(__is_callable_impl, __is_callable, __is_nothrow_callable): Replace
with __is_invocable_impl, __is_invocable, and __is_nothrow_invocable
respectively.
(invoke_result, invoke_result_t): Define for C++17.
(is_callable, is_nothrow_callable): Replace with is_invocable,
is_invocable_r, is_nothrow_invocable, and is_nothrow_invocable_r.
(is_callable_v, is_nothrow_callable_v): Replace with is_invocable_v,
is_invocable_r_v, is_nothrow_invocable_v, and is_nothrow_invocable_r_v.
* include/std/variant (hash<variant<T...>>): Use is_nothrow_invocable_v
instead of is_nothrow_callable_v.
* testsuite/20_util/function_objects/invoke/59768.cc: Remove unused
main function.
* testsuite/20_util/function_objects/not_fn/1.cc: Use is_invocable
instead of is_callable.
* testsuite/20_util/is_callable/*: Rename directory and adjust tests
to use new traits.
* testsuite/20_util/is_notjrow_callable/*: Likewise.
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
is_callable.
* testsuite/20_util/variant/hash.cc: Likewise.
From-SVN: r246036
2017-03-10 16:29:38 +01:00
|
|
|
|
* testsuite/20_util/optional/hash.cc: Use is_invocable_v instead of
|
|
|
|
|
is_callable.
|
|
|
|
|
* testsuite/20_util/variant/hash.cc: Likewise.
|
|
|
|
|
|
2017-03-10 13:22:45 +01:00
|
|
|
|
2017-03-10 George Lander <george.lander@arm.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
|
|
|
|
|
_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-03-09 16:42:02 +01:00
|
|
|
|
2017-03-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-09 21:36:42 +01:00
|
|
|
|
* include/std/functional (_Not_fn): Define macro to simplify
|
|
|
|
|
repetitive function definitions.
|
|
|
|
|
|
2017-03-09 16:42:02 +01:00
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Document std::byte support.
|
|
|
|
|
* include/c_global/cstddef (std::byte): Define for C++17.
|
|
|
|
|
* testsuite/18_support/byte/global_neg.cc: New test.
|
|
|
|
|
* testsuite/18_support/byte/ops.cc: New test.
|
|
|
|
|
* testsuite/18_support/byte/requirements.cc: New test.
|
|
|
|
|
|
2017-03-05 19:38:35 +01:00
|
|
|
|
2017-03-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* include/std/mutex (scoped_lock): Implement new C++17 template.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/cons/1.cc: New test.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/
|
|
|
|
|
explicit_instantiation.cc: New test.
|
|
|
|
|
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.
|
|
|
|
|
|
2017-03-02 20:11:50 +01:00
|
|
|
|
2017-03-02 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
François Dumont <frs.dumont@gmail.com>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/debug_mode.xml: Update and simplify note
|
|
|
|
|
on link- and run-time coexistence.
|
|
|
|
|
|
2017-03-02 04:43:36 +01:00
|
|
|
|
2017-03-02 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-03-02 19:56:57 +01:00
|
|
|
|
* testsuite/17_intro/headers/names.cc: Rename to ...
|
|
|
|
|
* testsuite/17_intro/names.cc: ... here.
|
|
|
|
|
|
2017-03-02 04:43:49 +01:00
|
|
|
|
PR libstdc++/79789
|
|
|
|
|
* include/bits/hashtable_policy.h (__clp2): Use reserved names for
|
|
|
|
|
parameters and local variables.
|
|
|
|
|
* include/bits/ios_base.h (make_error_code, make_error_condition):
|
|
|
|
|
Likewise.
|
|
|
|
|
* include/bits/list.tcc (list::sort): Likewise.
|
|
|
|
|
* include/bits/mask_array.h (mask_array): Likewise.
|
|
|
|
|
* include/bits/regex.h (regex_token_iterator): Likewise.
|
|
|
|
|
* include/bits/slice_array.h (slice_array): Likewise.
|
|
|
|
|
* include/bits/stl_algo.h (__sample): Likewise.
|
|
|
|
|
* include/std/memory (undeclare_no_pointers): Likewise.
|
|
|
|
|
* include/std/type_traits (is_callable_v, is_nothrow_callable_v):
|
|
|
|
|
Likewise.
|
|
|
|
|
* libsupc++/exception_ptr.h (__dest_thunk): Likewise.
|
|
|
|
|
* testsuite/17_intro/headers/names.cc: New test.
|
|
|
|
|
|
2017-03-02 04:43:36 +01:00
|
|
|
|
PR libstdc++/79798
|
|
|
|
|
* include/std/functional (bind::_Res_type_impl): Fix incorrect use of
|
|
|
|
|
result_of that loses top-level cv-qualifiers.
|
|
|
|
|
* testsuite/20_util/bind/79798.cc: New test.
|
|
|
|
|
|
2017-03-01 13:53:28 +01:00
|
|
|
|
2017-03-01 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/documentation_hacking.xml: Tweak link to
|
|
|
|
|
doxygen.org.
|
|
|
|
|
|
2017-02-23 19:25:22 +01:00
|
|
|
|
2017-02-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/experimental/iterator: Include <iterator>.
|
|
|
|
|
* testsuite/experimental/iterator/requirements.cc: Check for contents
|
|
|
|
|
of <iterator>.
|
|
|
|
|
|
2017-02-19 17:04:35 +01:00
|
|
|
|
2017-02-19 Dinka Ranns <dinka.ranns@googlemail.com>
|
|
|
|
|
|
|
|
|
|
C++17 GB50 resolution
|
|
|
|
|
* include/std/chrono (duration::operator++()): Add
|
|
|
|
|
_GLIBCXX17_CONSTEXPR.
|
|
|
|
|
(duration::operator++(int)): Likewise.
|
|
|
|
|
(duration::operator--()): Likewise.
|
|
|
|
|
(duration::operator--(int)): Likewise.
|
|
|
|
|
(duration::operator+=(const duration&)): Likewise.
|
|
|
|
|
(duration::operator-=(const duration&)): Likewise.
|
|
|
|
|
(duration::operator*=(const rep&)): Likewise.
|
|
|
|
|
(duration::operator/=(const rep&)): Likewise.
|
|
|
|
|
(duration::operator%=(const rep&)): Likewise.
|
|
|
|
|
(duration::operator%=(const duration&)): Likewise.
|
|
|
|
|
(time_point::operator+=(const duration&)): Likewise.
|
|
|
|
|
(time_point::operator-=(const duration&)): Likewise.
|
|
|
|
|
* testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: New test.
|
|
|
|
|
* testsuite/20_util/duration/literals/range.cc: Adjust dg-error.
|
|
|
|
|
* testsuite/20_util/time_point/arithmetic/constexpr.cc: New test.
|
|
|
|
|
|
2017-02-19 11:54:35 +01:00
|
|
|
|
2017-02-19 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/debug.xml: Adjust link to ThreadSanitizer.
|
|
|
|
|
|
2017-02-18 09:37:19 +01:00
|
|
|
|
2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
2017-02-18 22:15:51 +01:00
|
|
|
|
* doc/xml/manual/io.xml: Update link to groups.google.com.
|
|
|
|
|
Tweak link description.
|
|
|
|
|
|
|
|
|
|
2017-02-18 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-02-18 09:37:19 +01:00
|
|
|
|
* doc/xml/manual/profile_mode.xml: Fix link.
|
|
|
|
|
|
2017-02-16 16:25:18 +01:00
|
|
|
|
2017-02-16 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/policy_data_structures.xml: Simplify and
|
|
|
|
|
standardize references to boost.org.
|
|
|
|
|
* doc/xml/manual/policy_data_structures_biblio.xml: Ditto.
|
|
|
|
|
* doc/xml/manual/shared_ptr.xml: Ditto.
|
|
|
|
|
|
2017-02-16 13:06:28 +01:00
|
|
|
|
2017-02-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/60936
|
|
|
|
|
* src/c++11/snprintf_lite.cc (__concat_size_t): Calculate length
|
|
|
|
|
written to buffer, not length remaining in buffer.
|
|
|
|
|
|
2017-02-15 10:01:06 +01:00
|
|
|
|
2017-02-15 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78723
|
|
|
|
|
* include/std/variant (operator<(), operator>(), operator<=(),
|
|
|
|
|
operator>=(), operator==(), operator!=()): Implement P0393R3.
|
|
|
|
|
* testsuite/20_util/variant/compile.cc: Adjust tests.
|
|
|
|
|
* testsuite/20_util/variant/run.cc: Adjust tests.
|
|
|
|
|
|
2017-02-15 08:38:20 +01:00
|
|
|
|
2017-02-15 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79513
|
|
|
|
|
* include/std/variant (visit()): Forward variant types to the return
|
|
|
|
|
type detection code.
|
|
|
|
|
* testsuite/20_util/variant/compile.cc: Add test cases.
|
|
|
|
|
|
2017-02-13 17:47:35 +01:00
|
|
|
|
2017-02-13 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79348
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
|
|
|
|
|
|
2017-02-13 16:38:33 +01:00
|
|
|
|
2017-02-13 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79348
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
|
|
|
|
|
|
2017-02-13 14:13:29 +01:00
|
|
|
|
2017-02-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79486
|
|
|
|
|
* include/std/future (__future_base::_Task_state::_M_run)
|
|
|
|
|
(__future_base::_Task_state::_M_run_delayed): Use lvalue types in
|
|
|
|
|
result_of expressions.
|
|
|
|
|
* testsuite/30_threads/packaged_task/79486.cc: New.
|
|
|
|
|
|
2017-02-11 22:08:06 +01:00
|
|
|
|
2017-02-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-02-11 22:08:11 +01:00
|
|
|
|
PR libstdc++/79467
|
|
|
|
|
* include/bits/shared_ptr_base.h (__shared_ptr(_Yp*, _Deleter))
|
|
|
|
|
(__shared_ptr(_Yp*, _Deleter, _Alloc)): Use lvalue types in
|
|
|
|
|
__is_callable check.
|
|
|
|
|
* testsuite/20_util/shared_ptr/cons/79467.cc: New.
|
|
|
|
|
|
2017-02-11 22:08:06 +01:00
|
|
|
|
* include/bits/atomic_base.h: Re-indent.
|
|
|
|
|
|
2017-03-20 21:51:40 +01:00
|
|
|
|
2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-02-10 23:20:16 +01:00
|
|
|
|
|
2017-03-20 21:51:40 +01:00
|
|
|
|
* doc/xml/manual/profile_mode.xml: Update a paper reference.
|
2017-02-10 23:20:16 +01:00
|
|
|
|
|
2017-02-08 22:50:59 +01:00
|
|
|
|
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* src/c++11/snprintf_lite.cc (__err): Use https for bug reporting.
|
|
|
|
|
|
2017-02-08 13:02:36 +01:00
|
|
|
|
2017-02-08 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/policy_data_structures.xml: Fix spelling of author's
|
|
|
|
|
name.
|
|
|
|
|
* doc/xml/manual/policy_data_structures_biblio.xml: Likewise. Remove
|
|
|
|
|
broken links to texts that are no longer online.
|
|
|
|
|
* doc/xml/manual/profile_mode.xml: Update links to CGO 2009 paper and
|
|
|
|
|
LCPC 2006 paper.
|
|
|
|
|
* doc/xml/manual/using.xml: Update links to memory model information.
|
|
|
|
|
* doc/xml/manual/using_exceptions.xml: Update link to "Appendix E:
|
|
|
|
|
Standard-Library Exception Safety".
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-02-08 00:38:12 +01:00
|
|
|
|
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-02-08 08:22:01 +01:00
|
|
|
|
* doc/xml/manual/profile_mode.xml: Unbreak link to
|
|
|
|
|
"Optimizing Sorting with Machine Learning Algorithms".
|
|
|
|
|
|
|
|
|
|
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-02-08 08:17:19 +01:00
|
|
|
|
* src/c++11/snprintf_lite.cc (__err): Update bug reporting URL.
|
|
|
|
|
|
|
|
|
|
2017-02-08 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-02-08 00:38:12 +01:00
|
|
|
|
* doc/xml/manual/abi.xml: Update link to "Sun Studio 11: C++
|
|
|
|
|
Migration Guide".
|
|
|
|
|
|
2017-02-07 23:44:13 +01:00
|
|
|
|
2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/html/ext/lwg-active.html: Remove.
|
|
|
|
|
* doc/html/ext/lwg-closed.html: Ditto.
|
|
|
|
|
* doc/html/ext/lwg-defects.html: Ditto.
|
|
|
|
|
|
|
|
|
|
* doc/Makefile.am (xml_extradir): Remove.
|
|
|
|
|
(xml_extra): Ditto.
|
|
|
|
|
(stamp-html-docbook-lwg): Remove recipe...
|
|
|
|
|
(stamp-html-docbook-data): ...and its use here.
|
|
|
|
|
* doc/Makefile.in: Regenerate.
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/intro.xml: Shorten two paragraphs explaining
|
|
|
|
|
the relationship to the upstream working group.
|
|
|
|
|
Replace a local link to ../ext/lwg-active.html by the upstream one.
|
|
|
|
|
Replace all reference to ../ext/lwg-defects.html by a new entity
|
|
|
|
|
&DR; which refers to the upstream address.
|
|
|
|
|
|
2017-02-07 23:10:06 +01:00
|
|
|
|
2017-02-07 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/status_cxx2017.xml: Fix link to N4284.
|
|
|
|
|
|
2017-02-06 17:39:56 +01:00
|
|
|
|
2017-02-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79323
|
|
|
|
|
* testsuite/20_util/duration/literals/range.cc: Prune extra output
|
|
|
|
|
at -O0.
|
|
|
|
|
|
2017-02-06 11:26:59 +01:00
|
|
|
|
2017-02-06 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/documentation_hacking.xml: Update URL of the
|
|
|
|
|
DocBook Element Reference. Use that term as link description
|
|
|
|
|
instead of "online".
|
|
|
|
|
epubcheck has moved to GitHub.
|
|
|
|
|
Remove obsolete link to DocBook Publishing Tools.
|
|
|
|
|
|
2017-02-03 19:59:05 +01:00
|
|
|
|
2017-02-03 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-02-03 20:26:51 +01:00
|
|
|
|
PR libstdc++/66145
|
|
|
|
|
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
|
|
|
|
|
so new ios::failure can be caught even when old ABI is the default.
|
|
|
|
|
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
|
|
|
|
|
|
2017-02-03 19:59:05 +01:00
|
|
|
|
PR libstdc++/60936
|
|
|
|
|
* src/c++11/Makefile.am: Add new files.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerate.
|
|
|
|
|
* src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(operator<<, operator>>, getline): Move explicit instantiations to ...
|
|
|
|
|
* src/c++11/cow-string-io-inst.cc: ... new file.
|
|
|
|
|
* src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(operator<<, operator>>, getline): Move explicit instantiations to ...
|
|
|
|
|
* src/c++11/cow-wstring-io-inst.cc: ... new file.
|
|
|
|
|
* src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
|
|
|
|
|
(__throw_future_error, __throw_bad_function_call):
|
|
|
|
|
(__throw_regex_error): Move functions for C++11 exceptions to the
|
|
|
|
|
files that define the exception types.
|
|
|
|
|
* src/c++11/functional.cc (__throw_bad_function_call): Move here.
|
|
|
|
|
* src/c++11/future.cc (__throw_future_error): Likewise.
|
|
|
|
|
* src/c++11/ios.cc (__throw_ios_failure): Likewise.
|
|
|
|
|
* src/c++11/regex.cc (__throw_regex_error): Likewise.
|
|
|
|
|
* src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
|
|
|
|
|
representation directly instead of calling __int_to_char.
|
|
|
|
|
* src/c++11/sso_string.cc (__sso_string): New file for definition
|
|
|
|
|
of __sso_string type.
|
|
|
|
|
* src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
|
|
|
|
|
explicit instantiations of narrow string I/O functions.
|
|
|
|
|
* src/c++11/system_error.cc (__throw_system_error): Move here.
|
|
|
|
|
(__sso_string): Move to new file.
|
|
|
|
|
* src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
|
|
|
|
|
explicit instantiations of wide string I/O functions.
|
|
|
|
|
* src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
|
|
|
|
|
(operator>>, getline): Remove explicit instantiations from here.
|
|
|
|
|
|
2017-02-02 21:18:43 +01:00
|
|
|
|
2017-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
|
|
|
|
|
|
2017-02-02 17:23:11 +01:00
|
|
|
|
2017-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
2017-02-02 17:24:03 +01:00
|
|
|
|
* configure.host: Separate Solaris/SPARC and x86 baselines.
|
|
|
|
|
* config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
|
|
|
|
|
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
|
|
|
|
|
... here.
|
|
|
|
|
* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
|
|
|
|
|
* config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
|
|
|
|
|
* config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
|
|
|
|
|
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
|
|
|
|
|
... here.
|
|
|
|
|
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
|
|
|
|
|
* config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
|
|
|
|
|
* config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
|
|
|
|
|
|
2017-02-02 17:23:11 +01:00
|
|
|
|
* 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/solaris2.11/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
|
|
|
|
|
* config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
|
|
|
|
|
|
2017-02-01 12:41:48 +01:00
|
|
|
|
2017-02-01 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-02-01 13:57:35 +01:00
|
|
|
|
PR libstdc++/78346
|
|
|
|
|
* include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
|
|
|
|
|
not its referent.
|
|
|
|
|
(_Iter_comp_to_iter): Likewise.
|
|
|
|
|
* testsuite/25_algorithms/search/78346.cc: New test.
|
|
|
|
|
|
2017-02-01 12:41:48 +01:00
|
|
|
|
PR libstdc++/79254
|
|
|
|
|
* config/abi/pre/gnu.ver: Remove recently added symbols.
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::_M_copy_assign): Remove.
|
|
|
|
|
(basic_string::operator=(const basic_string&)): Don't dispatch to
|
|
|
|
|
_M_copy_assign. If source object is small just deallocate, otherwise
|
|
|
|
|
perform new allocation before making any changes.
|
|
|
|
|
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::_M_copy_assign(const basic_string&, true_type)):
|
|
|
|
|
Remove.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
|
|
|
|
|
Test cases where the allocators are equal or the string is small.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
|
2017-01-30 14:37:16 +01:00
|
|
|
|
2017-01-30 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement LWG 2825, LWG 2756 breaks class template argument
|
|
|
|
|
deduction for optional.
|
|
|
|
|
* include/std/optional: Add a deduction guide.
|
|
|
|
|
* testsuite/20_util/optional/cons/deduction_guide.cc: New.
|
|
|
|
|
|
2017-01-27 17:17:04 +01:00
|
|
|
|
2017-01-27 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79254
|
|
|
|
|
* config/abi/pre/gnu.ver: Add new symbols.
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::_M_copy_assign): New overloaded functions to perform
|
|
|
|
|
copy assignment.
|
|
|
|
|
(basic_string::operator=(const basic_string&)): Dispatch to
|
|
|
|
|
_M_copy_assign.
|
|
|
|
|
* include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
|
|
|
|
|
(basic_string::_M_copy_assign(const basic_string&, true_type)):
|
|
|
|
|
Define, performing rollback on exception.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
|
|
|
|
|
Test exception-safety guarantee.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
|
|
|
|
|
std::swap visible.
|
|
|
|
|
|
2017-01-26 15:30:45 +01:00
|
|
|
|
2017-01-26 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-26 20:40:02 +01:00
|
|
|
|
PR libstdc++/70607
|
|
|
|
|
* include/tr1/complex (conj): Remove using-declaration and restore
|
|
|
|
|
overloads, reverting previous change.
|
|
|
|
|
|
2017-01-26 20:39:53 +01:00
|
|
|
|
* testsuite/23_containers/list/operations/78389.cc: Fix for C++11
|
|
|
|
|
mode.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
|
|
|
|
|
Mark as unsupported in C++98 mode.
|
|
|
|
|
* testsuite/23_containers/queue/requirements/constructible.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/stack/requirements/constructible.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
|
|
|
|
|
|
2017-01-26 19:32:55 +01:00
|
|
|
|
PR libstdc++/79243
|
|
|
|
|
* include/bits/c++config (literals::string_view_literals::__7): Add.
|
|
|
|
|
Only declare versioned namespaces for the relevant C++ dialects.
|
|
|
|
|
* include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
|
|
|
|
|
Add versioning macros.
|
|
|
|
|
* include/experimental/bits/lfts_config.h:
|
|
|
|
|
(fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
|
|
|
|
|
* include/experimental/string_view (fundamentals_v2::__detail):
|
|
|
|
|
Add versioning macros.
|
|
|
|
|
(fundamentals_v2::__detail::__identity): Remove.
|
|
|
|
|
(fundamentals_v2::__detail::__idt): Use common_type instead of
|
|
|
|
|
__detail::__identity.
|
|
|
|
|
* include/std/string_view (__detail::__identity, __detail::__idt):
|
|
|
|
|
Likewise.
|
|
|
|
|
(literals::string_view_literals): Fix nesting of versioning macros.
|
|
|
|
|
|
2017-01-26 15:30:45 +01:00
|
|
|
|
PR libstdc++/79190
|
|
|
|
|
* libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
|
|
|
|
|
[!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
|
|
|
|
|
&& !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
|
|
|
|
|
Retrieve original pointer value allocated by malloc.
|
|
|
|
|
* libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
|
|
|
|
|
&& !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
|
|
|
|
|
&& !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
|
|
|
|
|
Define, adjusting pointer value allocated by malloc and storing for
|
|
|
|
|
retrieval by operator delete.
|
|
|
|
|
|
2017-01-26 09:26:48 +01:00
|
|
|
|
2017-01-26 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
* libsupc++/eh_atomics.h: Update copyright years.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
|
|
|
|
|
|
2017-01-25 16:01:05 +01:00
|
|
|
|
2017-01-25 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/61791
|
|
|
|
|
PR libstdc++/70607
|
|
|
|
|
* include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
|
|
|
|
|
(proj(T), conj(T)): Change return types per DR 1522.
|
|
|
|
|
* include/tr1/complex (conj): Remove overloads and use std::conj.
|
|
|
|
|
* testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
|
|
|
|
|
* testsuite/26_numerics/complex/dr781.cc: ... this, and update.
|
|
|
|
|
* testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
|
|
|
|
|
real(T) and imag(T). Allow testing for C++11 too.
|
|
|
|
|
|
2017-01-24 13:00:47 +01:00
|
|
|
|
2017-01-24 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79206
|
|
|
|
|
* include/experimental/string_view (operator==): Check sizes first.
|
|
|
|
|
* include/std/string_view (operator==): Likewise.
|
|
|
|
|
|
2017-01-24 00:59:08 +01:00
|
|
|
|
2017-01-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/experimental/array/make_array.cc: Restore <functional>
|
|
|
|
|
inclusion.
|
|
|
|
|
|
2017-01-23 18:18:04 +01:00
|
|
|
|
2017-01-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
|
|
|
|
|
|
2017-01-23 16:56:05 +01:00
|
|
|
|
2017-01-23 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/79195
|
|
|
|
|
* include/experimental/array (__make_array_elem): New class template
|
|
|
|
|
and partial specialization.
|
|
|
|
|
(__is_reference_wrapper): Move into __make_array_elem specialization.
|
|
|
|
|
(make_array): Use __make_array_elem to determine element type and move
|
|
|
|
|
static assertion into specialization. Qualify std::forward call.
|
|
|
|
|
(to_array): Add exception specifiation.
|
|
|
|
|
* testsuite/experimental/array/make_array.cc: Test argument types
|
|
|
|
|
without a common type.
|
|
|
|
|
* testsuite/experimental/array/neg.cc: Adjust expected error message.
|
|
|
|
|
|
2017-01-22 21:39:06 +01:00
|
|
|
|
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
2017-01-23 08:18:42 +01:00
|
|
|
|
* doc/xml/manual/debug.xml: code.google.com uses https now.
|
|
|
|
|
|
|
|
|
|
2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-01-22 21:39:06 +01:00
|
|
|
|
* doc/xml/manual/test.xml: Fix link into gccint online manual.
|
|
|
|
|
|
2017-01-21 16:38:23 +01:00
|
|
|
|
2017-01-21 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Make poisoned hashes SFINAE away the call operator of the hash.
|
|
|
|
|
* include/bits/functional_hash.h
|
|
|
|
|
(__poison_hash::__enable_hash_call): New.
|
|
|
|
|
* include/std/optional (__optional_hash_call_base): New.
|
|
|
|
|
(hash<optional<_Tp>>): Derive from the new base,
|
|
|
|
|
move the hash function into that base.
|
|
|
|
|
* include/std/variant (__variant_hash_call_base_impl): New.
|
|
|
|
|
(__variant_hash_call_base): Likewise.
|
|
|
|
|
(hash<variant<_Types...>>): Derive from the new base,
|
|
|
|
|
move the hash function into that base.
|
|
|
|
|
* testsuite/20_util/optional/hash.cc: Add tests for is_callable.
|
|
|
|
|
* testsuite/20_util/variant/hash.cc: Likewise.
|
|
|
|
|
|
2017-01-20 18:46:36 +01:00
|
|
|
|
2017-01-20 Joe Seymour <joe.s@somniumtech.com>
|
|
|
|
|
|
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-01-20 01:33:25 +01:00
|
|
|
|
2017-01-20 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-20 16:28:48 +01:00
|
|
|
|
PR libstdc++/69240
|
|
|
|
|
* include/bits/random.h (uniform_real_distribution::param_type)
|
|
|
|
|
(normal_distribution::param_type, lognormal_distribution::param_type)
|
|
|
|
|
(gamma_distribution::param_type, chi_squared_distribution::param_type)
|
|
|
|
|
(cauchy_distribution::param_type, fisher_f_distribution::param_type)
|
|
|
|
|
(student_t_distribution::param_type)
|
|
|
|
|
(bernoulli_distribution::param_type, binomial_distribution::param_type)
|
|
|
|
|
(geometric_distribution::param_type)
|
|
|
|
|
(negative_binomial_distribution::param_type)
|
|
|
|
|
(poisson_distribution::param_type)
|
|
|
|
|
(exponential_distribution::param_type)
|
|
|
|
|
(weibull_distribution::param_type)
|
|
|
|
|
(extreme_value_distribution::param_type)
|
|
|
|
|
(discrete_distribution::param_type)
|
|
|
|
|
(piecewise_constant_distribution::param_type)
|
|
|
|
|
(piecewise_linear_distribution::param_type): Define operator!=.
|
|
|
|
|
* include/bits/uniform_int_dist.h
|
|
|
|
|
(uniform_int_distribution::param_type): Likewise.
|
|
|
|
|
* include/ext/random (beta_distribution::param_type)
|
|
|
|
|
(rice_distribution::param_type, nakagami_distribution::param_type)
|
|
|
|
|
(pareto_distribution::param_type, k_distribution::param_type)
|
|
|
|
|
(arcsine_distribution::param_type, hoyt_distribution::param_type)
|
|
|
|
|
(triangular_distribution::param_type)
|
|
|
|
|
(von_mises_distribution::param_type)
|
|
|
|
|
(hypergeometric_distribution::param_type)
|
|
|
|
|
(logistic_distribution::param_type)
|
|
|
|
|
(uniform_on_sphere_distribution::param_type)
|
|
|
|
|
(uniform_inside_sphere_distribution::param_type): Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
|
|
|
|
|
Test construction with param_type.
|
|
|
|
|
* testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/extreme_value_distribution/cons/
|
|
|
|
|
parms.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/negative_binomial_distribution/cons/
|
|
|
|
|
parms.cc: Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/triangular_distribution/cons/parms.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/ext/random/uniform_inside_sphere_distribution/cons/
|
|
|
|
|
parms.cc: Likewise.
|
|
|
|
|
* testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
|
|
|
|
|
|
2017-01-20 13:03:36 +01:00
|
|
|
|
PR libstdc++/72792
|
|
|
|
|
* include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
|
|
|
|
|
(__allocator_traits_base::__size_type): Remove.
|
|
|
|
|
(allocator_traits::_Ptr): New class template to detect const and void
|
|
|
|
|
pointer types without instantiating pointer_traits::rebind
|
|
|
|
|
unnecessarily.
|
|
|
|
|
(allocator_traits::_Diff): Likewise for detecting difference_type.
|
|
|
|
|
(allocator_traits::_Size): New class template to detect size_type
|
|
|
|
|
without instantiating make_unsigned unnecessarily.
|
|
|
|
|
* include/bits/ptr_traits.h (pointer_traits::element_type): Use
|
|
|
|
|
__detected_or_t instead of __detected_or_t_.
|
|
|
|
|
* include/std/type_traits (__detected_or_t_): Remove.
|
|
|
|
|
* testsuite/20_util/allocator_traits/members/pointers.cc: New test.
|
|
|
|
|
|
2017-01-20 03:36:16 +01:00
|
|
|
|
PR libstdc++/72792
|
|
|
|
|
PR libstdc++/72793
|
|
|
|
|
* include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
|
|
|
|
|
Replace with class template using void_t.
|
|
|
|
|
(__alloc_rebind): Define in terms of
|
|
|
|
|
__allocator_traits_base::__rebind.
|
|
|
|
|
(allocator_traits): Remove unconditional static_assert for
|
|
|
|
|
rebind_alloc.
|
|
|
|
|
* include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
|
|
|
|
|
(pointer_traits::__rebind): Replace with class template using void_t.
|
|
|
|
|
(pointer_traits::rebind): Define in terms of __rebind.
|
|
|
|
|
(pointer_traits): Remove unconditional static_assert for rebind.
|
|
|
|
|
* testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
|
|
|
|
|
* testsuite/20_util/pointer_traits/rebind.cc: New test.
|
|
|
|
|
|
2017-01-20 02:22:54 +01:00
|
|
|
|
PR libstdc++/69321
|
|
|
|
|
* include/experimental/any (__any_caster): Avoid instantiating
|
|
|
|
|
manager function for types that can't be stored in any.
|
|
|
|
|
* include/std/any (__any_caster): Likewise.
|
|
|
|
|
* testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
|
|
|
|
|
* testsuite/experimental/any/misc/any_cast.cc: Likewise.
|
|
|
|
|
|
2017-01-20 01:33:25 +01:00
|
|
|
|
PR libstdc++/64903
|
|
|
|
|
* include/bits/stl_algo.h (is_partitioned): Use increment instead of
|
|
|
|
|
std::advance.
|
|
|
|
|
|
2017-01-19 17:40:46 +01:00
|
|
|
|
2017-01-19 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-20 01:07:14 +01:00
|
|
|
|
PR libstdc++/79156
|
|
|
|
|
* include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
|
|
|
|
|
Fix return type.
|
|
|
|
|
(__enable_shared_from_this): Declare __shared_ptr as a friend.
|
|
|
|
|
* testsuite/ext/shared_ptr/1.cc: New test.
|
|
|
|
|
|
2017-01-20 00:30:18 +01:00
|
|
|
|
PR libstdc++/64903
|
2017-01-20 01:33:25 +01:00
|
|
|
|
* include/bits/stl_algo.h (is_partitioned): Don't retest the partition
|
2017-01-20 00:30:18 +01:00
|
|
|
|
point.
|
|
|
|
|
* testsuite/25_algorithms/is_partitioned/2.cc: New test.
|
|
|
|
|
|
2017-01-20 00:15:13 +01:00
|
|
|
|
* doc/xml/manual/abi.xml: Fix typo.
|
|
|
|
|
* doc/html/manual/abi.html: Likewise.
|
|
|
|
|
|
PR67085 pass comparison functions by reference in heap algorithms
PR libstdc++/67085
* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
converting constructors from _Iter_less_iter.
(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
_Iter_comp_iter.
(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
(__make_heap, __sort_heap): Change _Compare parameters to references.
(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
functions as lvalues.
(is_heap): Call __is_heap_until directly to avoid copying __comp.
* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
count copies during construction with empty sequence.
From-SVN: r244656
2017-01-20 00:07:52 +01:00
|
|
|
|
PR libstdc++/67085
|
|
|
|
|
* include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
|
|
|
|
|
converting constructors from _Iter_less_iter.
|
|
|
|
|
(_Iter_comp_val, _Val_comp_iter): Add converting constructors from
|
|
|
|
|
_Iter_comp_iter.
|
|
|
|
|
(__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
|
|
|
|
|
(__val_comp_iter(_Iter_comp_iter<C>): Likewise.
|
|
|
|
|
* include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
|
|
|
|
|
(__make_heap, __sort_heap): Change _Compare parameters to references.
|
|
|
|
|
(__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
|
|
|
|
|
(__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
|
|
|
|
|
functions as lvalues.
|
|
|
|
|
(is_heap): Call __is_heap_until directly to avoid copying __comp.
|
|
|
|
|
* testsuite/23_containers/priority_queue/67085.cc: Adjust test to
|
|
|
|
|
count copies during construction with empty sequence.
|
|
|
|
|
|
2017-01-19 21:29:07 +01:00
|
|
|
|
PR libstdc++/67085
|
|
|
|
|
* include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
|
|
|
|
|
(__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
|
|
|
|
|
* testsuite/23_containers/priority_queue/67085.cc: Adjust expected
|
|
|
|
|
number of copies.
|
|
|
|
|
* testsuite/25_algorithms/make_heap/movable.cc: New test.
|
|
|
|
|
|
2017-01-19 19:26:41 +01:00
|
|
|
|
PR libstdc++/67085
|
|
|
|
|
* include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
|
|
|
|
|
(pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
|
|
|
|
|
_GLIBCXX_MOVE when passing comparison function to other functions.
|
|
|
|
|
(is_heap_until, is_heap): Use std::move when passing comparison
|
|
|
|
|
function.
|
|
|
|
|
* testsuite/23_containers/priority_queue/67085.cc: New test.
|
|
|
|
|
|
2017-01-19 17:40:46 +01:00
|
|
|
|
PR libstdc++/78905
|
|
|
|
|
* doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
|
|
|
|
|
macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
|
|
|
|
|
Document that the deprecated _GLIBCXX_VERSION macro was removed for
|
|
|
|
|
the 4.0.0 release.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* include/Makefile.am (_GLIBCXX_RELEASE): Set value.
|
|
|
|
|
* include/Makefile.in: Regenerate.
|
|
|
|
|
* include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
|
|
|
|
|
* testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
|
|
|
|
|
dg-error.
|
|
|
|
|
|
2017-01-18 18:18:47 +01:00
|
|
|
|
2017-01-18 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-18 19:36:45 +01:00
|
|
|
|
PR libstdc++/69301
|
|
|
|
|
* include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
|
|
|
|
|
aligned buffer instead of default-initialized variable.
|
|
|
|
|
* testsuite/29_atomics/atomic/69301.cc: New test.
|
|
|
|
|
* include/experimental/memory (observer_ptr::release): Use reserved
|
|
|
|
|
name.
|
|
|
|
|
* include/ext/pointer.h (_Pointer_adapter::operator++(int))
|
|
|
|
|
(_Pointer_adapter::operator--(int)): Likewise.
|
|
|
|
|
|
2017-01-18 18:18:47 +01:00
|
|
|
|
PR libstdc++/68925
|
|
|
|
|
* include/experimental/random (randint): Use temporary instead of
|
|
|
|
|
thread_local static.
|
|
|
|
|
|
2017-01-18 00:36:12 +01:00
|
|
|
|
2017-01-17 Joshua Conner <joshconner@google.com>
|
|
|
|
|
|
|
|
|
|
* crossconfig.m4: Add fuchsia OS.
|
2017-03-20 21:51:40 +01:00
|
|
|
|
* configure: Regenerate.
|
2017-01-18 00:36:12 +01:00
|
|
|
|
|
2017-01-17 16:26:06 +01:00
|
|
|
|
2017-01-17 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-17 16:26:11 +01:00
|
|
|
|
PR libstdc++/69699
|
|
|
|
|
* doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
|
2017-01-19 17:40:46 +01:00
|
|
|
|
__GLIBCXX__ macro is not useful. Remove redundant date information
|
2017-01-17 16:26:11 +01:00
|
|
|
|
and link to the GCC release timeline.
|
|
|
|
|
(abi.versioning.active): Move partial sentence into the previous
|
|
|
|
|
paragraph.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-01-17 16:26:06 +01:00
|
|
|
|
PR libstdc++/79114
|
|
|
|
|
* libsupc++/nested_exception.h (throw_with_nested): Use decay instead
|
|
|
|
|
of remove_reference.
|
|
|
|
|
* testsuite/18_support/nested_exception/79114.cc: New test.
|
|
|
|
|
|
2017-01-17 10:38:48 +01:00
|
|
|
|
2017-01-17 Jakub Jelinek <jakub@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR other/79046
|
|
|
|
|
* configure.ac: Add GCC_BASE_VER.
|
|
|
|
|
* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
|
|
|
|
|
get version from BASE-VER file.
|
|
|
|
|
* po/Makefile.in: Regenerated.
|
|
|
|
|
* libsupc++/Makefile.in: Regenerated.
|
|
|
|
|
* testsuite/Makefile.in: Regenerated.
|
|
|
|
|
* src/Makefile.in: Regenerated.
|
|
|
|
|
* configure: Regenerated.
|
|
|
|
|
* Makefile.in: Regenerated.
|
|
|
|
|
* include/Makefile.in: Regenerated.
|
|
|
|
|
* doc/Makefile.in: Regenerated.
|
|
|
|
|
* python/Makefile.in: Regenerated.
|
|
|
|
|
* src/c++11/Makefile.in: Regenerated.
|
|
|
|
|
* src/c++98/Makefile.in: Regenerated.
|
|
|
|
|
* src/filesystem/Makefile.in: Regenerated.
|
|
|
|
|
|
2017-01-16 12:41:41 +01:00
|
|
|
|
2017-01-16 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-16 16:58:06 +01:00
|
|
|
|
PR libstdc++/66145
|
|
|
|
|
* src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
|
|
|
|
|
exceptions.
|
|
|
|
|
* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
|
|
|
|
|
for test, so new ios::failure can be caught.
|
|
|
|
|
* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/char/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
|
|
|
|
|
exceptions_failbit.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/extractors_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/char/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
|
|
|
|
|
exceptions_null.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/ios_base/storage/2.cc: Likewise.
|
|
|
|
|
|
2017-01-16 12:41:41 +01:00
|
|
|
|
PR libstdc++/78702
|
|
|
|
|
* include/bits/locale_classes.h (locale::facet::__shim): Change from
|
|
|
|
|
private to protected.
|
|
|
|
|
* src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
|
|
|
|
|
make locale::facet::__shim accessible.
|
|
|
|
|
|
2017-01-16 12:36:33 +01:00
|
|
|
|
2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78389
|
|
|
|
|
* include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
|
|
|
|
|
(merge(list&&, _StrictWeakOrdering)): Likewise.
|
|
|
|
|
* testsuite/23_containers/list/operations/78389.cc: Add
|
|
|
|
|
better test for the sizes.
|
|
|
|
|
|
2017-01-14 12:55:22 +01:00
|
|
|
|
2017-01-14 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
|
|
|
|
|
Skip test when -D_GLIBCXX_PROFILE mode is included in options.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/extract.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/set/modifiers/extract.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/unordered_map/modifiers/extract.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/unordered_set/modifiers/extract.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
|
|
|
|
|
* testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
|
|
|
|
|
|
2017-01-13 15:57:33 +01:00
|
|
|
|
2017-01-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-13 18:52:34 +01:00
|
|
|
|
PR libstdc++/65411
|
|
|
|
|
* config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
|
|
|
|
|
retry fclose on EINTR.
|
|
|
|
|
|
2017-01-13 18:20:23 +01:00
|
|
|
|
* include/profile/base.h: Remove unused header that leads to header
|
|
|
|
|
cycle in C++17 mode.
|
|
|
|
|
|
2017-01-13 16:53:07 +01:00
|
|
|
|
PR libstdc++/79075
|
|
|
|
|
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
|
|
|
|
|
Make _If_sv private.
|
|
|
|
|
[!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
|
|
|
|
|
basic_string_view arguments.
|
|
|
|
|
|
2017-01-13 15:57:33 +01:00
|
|
|
|
PR libstdc++/79075
|
|
|
|
|
* testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
|
|
|
|
|
redundant option from cxxflags.
|
|
|
|
|
(check_effective_target_cxx11-abi): Define.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
|
|
|
|
|
effective target.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/minimal.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
|
|
|
|
|
Likewise.
|
|
|
|
|
* testsuite/23_containers/list/61347.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
|
|
|
|
|
* testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
|
|
|
|
|
|
2017-01-13 15:46:25 +01:00
|
|
|
|
2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78389
|
|
|
|
|
* include/bits/list.tcc (merge(list&&)):
|
|
|
|
|
Adjust list sizes if the comparator throws.
|
|
|
|
|
(merge(list&&, _StrictWeakOrdering)): Likewise.
|
|
|
|
|
(sort()): Splice elements back from the scratch buffers
|
|
|
|
|
if the comparator throws.
|
|
|
|
|
(sort(_StrictWeakOrdering)): Likewise.
|
|
|
|
|
* testsuite/23_containers/list/operations/78389.cc: New.
|
|
|
|
|
|
2017-01-13 13:18:42 +01:00
|
|
|
|
2017-01-13 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-13 14:01:48 +01:00
|
|
|
|
* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
|
|
|
|
|
XFAIL for C++17 until node reinsertion supports fancy pointers.
|
|
|
|
|
|
2017-01-13 13:18:42 +01:00
|
|
|
|
PR libstdc++/78361
|
|
|
|
|
* testsuite/20_util/add_pointer/value.cc: Test forming function
|
|
|
|
|
pointers.
|
|
|
|
|
|
|
|
|
|
2017-01-13 Michael Brune <lucdanton@free.fr>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78361
|
|
|
|
|
* include/std/type_traits (__is_referenceable): Handle noexcept
|
|
|
|
|
function types.
|
|
|
|
|
|
2017-01-12 15:28:38 +01:00
|
|
|
|
2017-01-12 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-12 18:28:36 +01:00
|
|
|
|
PR libstdc++/77528
|
|
|
|
|
* include/bits/stl_queue.h (queue, priority_queue): Remove default
|
|
|
|
|
member-initializers and define default constructors as templates with
|
|
|
|
|
constraints.
|
|
|
|
|
* include/bits/stl_stack.h (stack): Likewise.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/constructible.cc:
|
|
|
|
|
New.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/
|
|
|
|
|
explicit_instantiation/1.cc: Test more instantiations.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/
|
|
|
|
|
explicit_instantiation/1_c++98.cc: Likewise.
|
|
|
|
|
* testsuite/23_containers/queue/requirements/constructible.cc: New.
|
|
|
|
|
* testsuite/23_containers/stack/requirements/constructible.cc: New.
|
|
|
|
|
|
2017-01-12 15:28:38 +01:00
|
|
|
|
PR libstdc++/66284
|
|
|
|
|
* doc/xml/manual/intro.xml: Document LWG 2781 change.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
* include/std/functional (_Function_base::_Ref_manager): Remove.
|
|
|
|
|
(_Function_handler): Remove partial specializations for
|
|
|
|
|
reference_wrapper.
|
|
|
|
|
(function::target): Remove special case for const qualification.
|
|
|
|
|
* testsuite/20_util/function/6.cc: Adjust tests for target type.
|
|
|
|
|
* testsuite/20_util/function/7.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/function/8.cc: Likewise.
|
|
|
|
|
|
2017-01-11 15:44:04 +01:00
|
|
|
|
2017-01-11 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-11 15:44:15 +01:00
|
|
|
|
PR libstdc++/78134
|
|
|
|
|
* include/bits/stl_map.h (map::lower_bound, map::upper_bound)
|
|
|
|
|
(map::equal_range): Fix return type of heterogeneous overloads.
|
|
|
|
|
* include/bits/stl_multimap.h (multimap::lower_bound)
|
|
|
|
|
(multimap::upper_bound, multimap::equal_range): Likewise.
|
|
|
|
|
* include/bits/stl_multiset.h (multiset::lower_bound)
|
|
|
|
|
(multiset::upper_bound, multiset::equal_range): Likewise.
|
|
|
|
|
* include/bits/stl_set.h (set::lower_bound, set::upper_bound)
|
|
|
|
|
(set::equal_range): Likewise.
|
|
|
|
|
* testsuite/23_containers/map/operations/2.cc
|
|
|
|
|
* testsuite/23_containers/multimap/operations/2.cc
|
|
|
|
|
* testsuite/23_containers/multiset/operations/2.cc
|
|
|
|
|
* testsuite/23_containers/set/operations/2.cc
|
|
|
|
|
|
2017-01-11 15:44:04 +01:00
|
|
|
|
PR libstdc++/78273
|
|
|
|
|
* include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
|
|
|
|
|
the heterogeneous comparison can only find one match.
|
|
|
|
|
* include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
|
|
|
|
|
* testsuite/23_containers/map/operations/2.cc: Test count works with
|
|
|
|
|
comparison function that just partitions rather than sorting.
|
|
|
|
|
* testsuite/23_containers/set/operations/2.cc: Likewise.
|
|
|
|
|
|
2017-01-11 12:23:43 +01:00
|
|
|
|
2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Reduce the size of variant, it doesn't need an index of
|
|
|
|
|
type size_t internally.
|
|
|
|
|
* include/std/variant (parse_numbers.h): New include.
|
|
|
|
|
(__select_index): New.
|
|
|
|
|
(_Variant_storage<false, _Types...>::_M_reset_impl): Use
|
|
|
|
|
_index_type for comparison with variant_npos.
|
|
|
|
|
(_Variant_storage<false, _Types...>::__index_type): New.
|
|
|
|
|
(_Variant_storage<false, _Types...>::_M_index): Change the
|
|
|
|
|
type from size_t to __index_type.
|
|
|
|
|
(_Variant_storage<true, _Types...>::__index_type): New.
|
|
|
|
|
(_Variant_storage<true, _Types...>::_M_index): Change the
|
|
|
|
|
type from size_t to __index_type.
|
|
|
|
|
(_Variant_base::_M_valid): Use _Storage::__index_type
|
|
|
|
|
for comparison with variant_npos.
|
|
|
|
|
(variant::index): Use _Base::_Storage::__index_type
|
|
|
|
|
for comparison with variant_npos.
|
|
|
|
|
* testsuite/20_util/variant/index_type.cc: New.
|
|
|
|
|
|
2017-01-10 18:30:20 +01:00
|
|
|
|
2017-01-10 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-10 18:44:42 +01:00
|
|
|
|
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
|
|
|
|
|
effective target selector to prevent running in C++17 mode.
|
|
|
|
|
|
2017-01-10 18:30:20 +01:00
|
|
|
|
PR libstdc++/77528
|
|
|
|
|
* include/bits/stl_queue.h (queue::c): Add default member initializer.
|
|
|
|
|
(queue::queue()): Add constructor and define as defaulted.
|
|
|
|
|
(queue::queue(_Sequence&&)): Remove default argument.
|
|
|
|
|
(priority_queue::c, priority_queue::comp): Add default member
|
|
|
|
|
initializers.
|
|
|
|
|
(priority_queue::priority_queue()): Add constructor and define as
|
|
|
|
|
defaulted.
|
|
|
|
|
(priority_queue::priority_queue(const _Compare&, _Sequence&&)):
|
|
|
|
|
Remove default argument for first parameter.
|
|
|
|
|
* include/bits/stl_stack.h (stack::c): Add default member initializer.
|
|
|
|
|
(stack::stack()): Add constructor and define as defaulted.
|
|
|
|
|
(stack::stack(const _Sequence&)): Remove default argument.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/
|
|
|
|
|
explicit_instantiation/1.cc: Test explicit instantiation with
|
|
|
|
|
non-DefaultConstructible sequence.
|
|
|
|
|
* testsuite/23_containers/priority_queue/77528.cc: New test.
|
|
|
|
|
* testsuite/23_containers/priority_queue/requirements/
|
|
|
|
|
explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
|
|
|
|
|
* testsuite/23_containers/queue/77528.cc: New test.
|
|
|
|
|
* testsuite/23_containers/queue/requirements/explicit_instantiation/
|
|
|
|
|
1.cc: Test explicit instantiation with non-DefaultConstructible
|
|
|
|
|
sequence.
|
|
|
|
|
* testsuite/23_containers/queue/requirements/explicit_instantiation/
|
|
|
|
|
1_c++0x.cc: Replace with 1_c++98.cc.
|
|
|
|
|
* testsuite/23_containers/stack/77528.cc: New test.
|
|
|
|
|
* testsuite/23_containers/stack/requirements/explicit_instantiation/
|
|
|
|
|
1.cc: Test explicit instantiation with non-DefaultConstructible
|
|
|
|
|
sequence.
|
|
|
|
|
* testsuite/23_containers/stack/requirements/explicit_instantiation/
|
|
|
|
|
1_c++0x.cc: Replace with 1_c++98.cc.
|
|
|
|
|
|
2017-01-10 15:15:59 +01:00
|
|
|
|
2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
|
|
|
|
|
|
|
|
|
|
* include/bits/locale_facets_nonio.tcc
|
|
|
|
|
(time_get::_M_extract_via_format): Avoid compilation errors with
|
|
|
|
|
non-standard struct tm.
|
|
|
|
|
|
2017-01-10 13:38:42 +01:00
|
|
|
|
2017-01-10 François Dumont <fdumont@gcc.gnu.org>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
|
|
|
|
|
(is_specialization, strip_versioned_namespace): New helpers functions
|
|
|
|
|
to work with symbols in the versioned namespace.
|
|
|
|
|
(Printer.add_version): Add second name using versioned namespace.
|
|
|
|
|
(add_one_template_type_printer, add_one_type_printer): Add second
|
|
|
|
|
type printers using versioned namespace.
|
|
|
|
|
(register_type_printers): Add template type printer for basic_string.
|
|
|
|
|
(build_libstdcxx_dictionary): Remove dead code.
|
|
|
|
|
* python/libstdcxx/v6/xmethods.py: Make all matchers look for
|
|
|
|
|
versioned namespace.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
|
|
|
|
|
results.
|
|
|
|
|
* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
|
|
|
|
|
|
2017-01-09 14:06:03 +01:00
|
|
|
|
2017-01-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-09 18:15:58 +01:00
|
|
|
|
PR libstdc++/79017
|
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
|
|
|
|
|
functions separately on darwin and if they're missing define
|
|
|
|
|
_GLIBCXX_NO_C99_ROUNDING_FUNCS.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
|
|
|
|
|
(llrintf, llrintl, llround, llroundf, llroundl): Do not define.
|
|
|
|
|
|
2017-01-09 14:06:03 +01:00
|
|
|
|
* testsuite/30_threads/condition_variable/members/3.cc: Use new macro
|
|
|
|
|
to detect correct thread_local destructors.
|
|
|
|
|
* testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
|
|
|
|
|
Define.
|
|
|
|
|
|
2017-01-09 14:05:58 +01:00
|
|
|
|
2017-01-09 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
Aditya Kumar <hiraditya@msn.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/66414
|
|
|
|
|
* include/bits/basic_string.tcc
|
|
|
|
|
(basic_string::find(const CharT*, size_type, size_type)): Optimize.
|
|
|
|
|
|
2017-01-06 18:06:24 +01:00
|
|
|
|
2017-01-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-06 22:22:40 +01:00
|
|
|
|
* testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
|
|
|
|
|
* testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
|
|
|
|
|
|
2017-01-06 18:51:24 +01:00
|
|
|
|
* testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
|
|
|
|
|
Include <cassert> header.
|
|
|
|
|
|
2017-01-06 18:06:24 +01:00
|
|
|
|
PR libstdc++/78968
|
|
|
|
|
* crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
|
2017-01-06 16:27:01 +01:00
|
|
|
|
2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/std/variant (variant, swap): Replace __and_ usage with fold
|
|
|
|
|
expressions.
|
|
|
|
|
|
Build libgo with -Wa,-nH if possible (PR go/78978) [non-libgo parts]
libstdc++-v3:
PR go/78978
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
GLIBCXX_CHECK_ASSEMBLER_HWCAP.
* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
HWCAP_FLAGS.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* Makefile.in, doc/Makefile.in, include/Makefile.in,
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
config:
PR go/78978
* hwcaps.m4 (GCC_CHECK_ASSEMBLER_HWCAP): New macro.
From-SVN: r244162
2017-01-06 15:33:47 +01:00
|
|
|
|
2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
|
|
|
|
|
|
|
|
|
PR go/78978
|
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
|
|
|
|
|
* configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
|
|
|
|
|
GLIBCXX_CHECK_ASSEMBLER_HWCAP.
|
|
|
|
|
* fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
|
|
|
|
|
HWCAP_FLAGS.
|
|
|
|
|
* aclocal.m4: Regenerate.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* Makefile.in, doc/Makefile.in, include/Makefile.in,
|
|
|
|
|
libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
|
|
|
|
|
src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
|
|
|
|
|
src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
|
|
|
|
|
|
PR78991 make __gnu_cxx::__ops constructors explicit
PR libstdc++/78991
* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
move function objects.
(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
* testsuite/25_algorithms/sort/78991.cc: New test.
From-SVN: r244150
2017-01-06 13:33:58 +01:00
|
|
|
|
2017-01-06 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-06 13:34:11 +01:00
|
|
|
|
* include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
|
|
|
|
|
|
PR78991 make __gnu_cxx::__ops constructors explicit
PR libstdc++/78991
* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
move function objects.
(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
* testsuite/25_algorithms/sort/78991.cc: New test.
From-SVN: r244150
2017-01-06 13:33:58 +01:00
|
|
|
|
PR libstdc++/78991
|
|
|
|
|
* include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
|
|
|
|
|
(_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
|
|
|
|
|
(_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
|
|
|
|
|
move function objects.
|
|
|
|
|
(__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
|
|
|
|
|
(__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
|
|
|
|
|
* testsuite/25_algorithms/sort/78991.cc: New test.
|
|
|
|
|
|
2017-01-05 18:35:49 +01:00
|
|
|
|
2017-01-05 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
* include/bits/std_function.h (function::_Signature_type): Remove.
|
|
|
|
|
(function::function(_Functor)): Adjust.
|
|
|
|
|
|
2017-01-05 04:18:17 +01:00
|
|
|
|
2017-01-05 Tim Shen <timshen@google.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78996
|
|
|
|
|
* include/std/variant (__gen_vtable_impl): rename __unused to
|
|
|
|
|
__dimensions to avoid naming conflict.
|
|
|
|
|
|
2017-01-04 16:41:19 +01:00
|
|
|
|
2017-01-04 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/78968
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* configure: Likewise.
|
|
|
|
|
* configure.ac: Check for __cxa_thread_atexit.
|
|
|
|
|
* libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
|
|
|
|
|
Don't define __cxa_thread_atexit if libc provides it.
|
|
|
|
|
|
2017-01-04 14:21:02 +01:00
|
|
|
|
2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
|
|
|
|
|
|
|
|
|
|
Implement 2801, Default-constructibility of unique_ptr.
|
|
|
|
|
* include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
|
|
|
|
|
(unique_ptr::_DeleterConstraint): Likewise.
|
|
|
|
|
(unique_ptr()): Constrain.
|
|
|
|
|
(unique_ptr(pointer)): Likewise.
|
|
|
|
|
(unique_ptr(nullptr_t)): Likewise.
|
|
|
|
|
(unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
|
|
|
|
|
(unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
|
|
|
|
|
(unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
|
|
|
|
|
(unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
|
|
|
|
|
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/default.cc: New.
|
|
|
|
|
* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
|
|
|
|
|
|
2017-01-04 11:54:59 +01:00
|
|
|
|
2017-01-04 Pauli Nieminen <suokkos@gmail.com>
|
|
|
|
|
Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR libstdc++/64735
|
|
|
|
|
* acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
|
|
|
|
|
* config.h.in: Regenerate.
|
|
|
|
|
* config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
|
|
|
|
|
(GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
|
|
|
|
|
exports for exception_ptr, nested_exception, and future conditional.
|
|
|
|
|
[HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
|
|
|
|
|
exports for exception_ptr, nested_exception, and future conditional.
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
|
|
|
|
|
* include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
|
|
|
|
|
* libsupc++/eh_atomics.h: New file for internal use only.
|
|
|
|
|
(__eh_atomic_inc, __eh_atomic_dec): New.
|
|
|
|
|
* libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
|
|
|
|
|
(exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
|
|
|
|
|
(rethrow_exception): Use eh_atomics.h reference counting helpers.
|
|
|
|
|
* libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
|
|
|
|
|
* libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
|
|
|
|
|
* libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
|
|
|
|
|
* libsupc++/exception_ptr.h: Likewise.
|
|
|
|
|
* libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
|
|
|
|
|
* libsupc++/nested_exception.cc: Remove check for
|
|
|
|
|
ATOMIC_INT_LOCK_FREE.
|
|
|
|
|
* libsupc++/nested_exception.h: Likewise.
|
|
|
|
|
* src/c++11/future.cc: Likewise.
|
|
|
|
|
* testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
|
|
|
|
|
* testsuite/18_support/nested_exception/*: Likewise.
|
|
|
|
|
* testsuite/30_threads/async/*: Likewise.
|
|
|
|
|
* testsuite/30_threads/future/*: Likewise.
|
|
|
|
|
* testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
|
|
|
|
|
* testsuite/30_threads/packaged_task/*: Likewise.
|
|
|
|
|
* testsuite/30_threads/promise/*: Likewise.
|
|
|
|
|
* testsuite/30_threads/shared_future/*: Likewise.
|
|
|
|
|
|
2017-01-04 03:33:08 +01:00
|
|
|
|
2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/manual/documentation_hacking.xml: sourceforge.net now
|
|
|
|
|
defaults to https; adjust reference.
|
|
|
|
|
|
2017-01-03 12:16:31 +01:00
|
|
|
|
2017-01-03 Jonathan Wakely <jwakely@redhat.com>
|
|
|
|
|
|
2017-01-03 14:31:26 +01:00
|
|
|
|
PR libstdc++/78956
|
|
|
|
|
* include/std/thread (thread(const thread&&)): Add deleted
|
|
|
|
|
constructor.
|
|
|
|
|
* testsuite/30_threads/thread/cons/lwg2097.cc: New test.
|
|
|
|
|
|
2017-01-03 12:16:31 +01:00
|
|
|
|
* doc/xml/manual/spine.xml: Update copyright years.
|
|
|
|
|
* doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
|
|
|
|
|
* doc/xml/manual/test.xml: Likewise.
|
|
|
|
|
* doc/html/*: Regenerate.
|
|
|
|
|
|
2017-01-02 01:33:17 +01:00
|
|
|
|
2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
|
|
|
|
|
|
|
|
|
|
* doc/xml/faq.xml: Update address of C++ ABI link.
|
|
|
|
|
* doc/xml/manual/abi.xml: Ditto.
|
2017-03-20 21:51:40 +01:00
|
|
|
|
|
2017-01-01 13:07:43 +01:00
|
|
|
|
2017-01-01 Jakub Jelinek <jakub@redhat.com>
|
2015-01-05 13:33:28 +01:00
|
|
|
|
|
|
|
|
|
Update copyright years.
|
2015-01-02 17:50:45 +01:00
|
|
|
|
|
2017-01-01 13:07:43 +01:00
|
|
|
|
Copyright (C) 2017 Free Software Foundation, Inc.
|
2015-01-02 17:50:45 +01:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|